diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000000..e69de29bb2d diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..57ad1bd3887 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +https://nuke-ops.github.io/Nostra-13/ diff --git a/area.html b/area.html new file mode 100644 index 00000000000..fe094431282 --- /dev/null +++ b/area.html @@ -0,0 +1,352 @@ + + + + + + + /area - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

area + + + +

+ +

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

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

Vars

always_unpoweredThis gets overridden to 1 for space in area/Initialize(mapload).
areasizeSize of the area in open turfs, only calculated for indoors areas.
atmosalmWhether there is an atmos alarm in this area
beautyBeauty average per open turf in the area
beauty_thresholdIf a room is too big it doesn't have beauty.
clockwork_warp_allowedwhether servants can warp into this area from Reebe
clockwork_warp_failMessage to display when the clockwork warp fails
considered_hull_exteriorConsidered space for hull shielding
dirt_buildup_allowedDirty flooring allowed
fireDo we have an active fire alarm?
flora_allowedIf flora are allowed to spawn in this area randomly through tunnel generation
hiddenHides area from player Teleport function.
map_generatorThis datum, if set, allows terrain generation behavior to be ran on Initialize()
map_nameCIT SPECIFIC VARS +Set in New(); preserves the name set by the map maker, even if renamed by the Blueprints.
megafauna_spawn_allowedIf megafauna can be spawned by natural random generation
minimap_colorColor on minimaps, if it's null (which is default) it makes one at random.
mob_spawn_allowedif mobs can be spawned by natural random generation
mood_bonusBonus mood for being in this area
mood_messageMood message for being here, only shows up if mood_bonus != 0
outdoorsFor space, the asteroid, lavaland, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room)
parallax_move_angleParallax move dir - degrees clockwise from north
parallax_move_speedParallax move speed - 0 to disable
parallax_movingParallax moving?
persistent_debris_allowedPersistent debris alowed
requires_powerWill objects this area be needing power?
safeIs the area teleport-safe: no space / radiation / aggresive mobs / other dangers
sound_environmentUsed to decide what kind of reverb the area makes sound have
sub_areasThese two vars allow for multiple unique areas to be linked to a master area +and share some functionalities such as APC powernet nodes, fire alarms etc, without sacrificing +their own flags, statuses, variables and more snowflakes. +Friendly reminder: no map edited areas.
totalbeautyAll beauty in this area combined, only includes indoor area.
triggered_firealarmsHow many fire alarm sources do we have?
tunnel_allowedIf mining tunnel generation is allowed in this area
valid_malf_hackmalf ais can hack this

Procs

DestroyDestroy an area and clean it up
EnteredCall back when an atom enters an area
ExitedCalled when an atom exits an area
InitializeInitalize this area
LateInitializeSets machine power levels in the area
NewCalled when an area loads
clear_cameraGet rid of any dangling camera refs
poweralertGenerate a power alert for this area
reg_in_areas_in_zRegister this area as belonging to a z level
update_beautyDivides total beauty in the room by roomsize to allow us to get an average beauty per tile.
update_icon_stateUpdate the icon state of the area
+

Var Details

always_unpowered + + + + +

+

This gets overridden to 1 for space in area/Initialize(mapload).

areasize + + + + +

+

Size of the area in open turfs, only calculated for indoors areas.

atmosalm + + + + +

+

Whether there is an atmos alarm in this area

beauty + + + + +

+

Beauty average per open turf in the area

beauty_threshold + + + + +

+

If a room is too big it doesn't have beauty.

clockwork_warp_allowed + + + + +

+

whether servants can warp into this area from Reebe

clockwork_warp_fail + + + + +

+

Message to display when the clockwork warp fails

considered_hull_exterior + + + + +

+

Considered space for hull shielding

dirt_buildup_allowed + + + + +

+

Dirty flooring allowed

fire + + + + +

+

Do we have an active fire alarm?

flora_allowed + + + + +

+

If flora are allowed to spawn in this area randomly through tunnel generation

hidden + + + + +

+

Hides area from player Teleport function.

map_generator + + + + +

+

This datum, if set, allows terrain generation behavior to be ran on Initialize()

map_name + + + + +

+

CIT SPECIFIC VARS +Set in New(); preserves the name set by the map maker, even if renamed by the Blueprints.

megafauna_spawn_allowed + + + + +

+

If megafauna can be spawned by natural random generation

minimap_color + + + + +

+

Color on minimaps, if it's null (which is default) it makes one at random.

mob_spawn_allowed + + + + +

+

if mobs can be spawned by natural random generation

mood_bonus + + + + +

+

Bonus mood for being in this area

mood_message + + + + +

+

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

outdoors + + + + +

+

For space, the asteroid, lavaland, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room)

parallax_move_angle + + + + +

+

Parallax move dir - degrees clockwise from north

parallax_move_speed + + + + +

+

Parallax move speed - 0 to disable

parallax_moving + + + + +

+

Parallax moving?

persistent_debris_allowed + + + + +

+

Persistent debris alowed

requires_power + + + + +

+

Will objects this area be needing power?

safe + + + + +

+

Is the area teleport-safe: no space / radiation / aggresive mobs / other dangers

sound_environment + + + + +

+

Used to decide what kind of reverb the area makes sound have

sub_areas + + + + +

+

These two vars allow for multiple unique areas to be linked to a master area +and share some functionalities such as APC powernet nodes, fire alarms etc, without sacrificing +their own flags, statuses, variables and more snowflakes. +Friendly reminder: no map edited areas.

totalbeauty + + + + +

+

All beauty in this area combined, only includes indoor area.

triggered_firealarms + + + + +

+

How many fire alarm sources do we have?

tunnel_allowed + + + + +

+

If mining tunnel generation is allowed in this area

valid_malf_hack + + + + +

+

malf ais can hack this

Proc Details

Destroy +

+

Destroy an area and clean it up

+

Removes the area from GLOB.areas_by_type and also stops it processing on SSobj

+

This is despite the fact that no code appears to put it on SSobj, but +who am I to argue with old coders

Entered +

+

Call back when an atom enters an area

+

Sends signals COMSIG_AREA_ENTERED and COMSIG_ENTER_AREA (to the atom)

+

If the area has ambience, then it plays some ambience music to the ambience channel

Exited +

+

Called when an atom exits an area

+

Sends signals COMSIG_AREA_EXITED and COMSIG_EXIT_AREA (to the atom)

Initialize +

+

Initalize this area

+

intializes the dynamic area lighting and also registers the area with the z level via +reg_in_areas_in_z

+

returns INITIALIZE_HINT_LATELOAD

LateInitialize +

+

Sets machine power levels in the area

New +

+

Called when an area loads

+

Adds the item to the GLOB.areas_by_type list based on area type

clear_camera +

+

Get rid of any dangling camera refs

poweralert +

+

Generate a power alert for this area

+

Sends to all ai players, alert consoles, drones and alarm monitor programs in the world

reg_in_areas_in_z +

+

Register this area as belonging to a z level

+

Ensures the item is added to the SSmapping.areas_in_z list for this z

update_beauty +

+

Divides total beauty in the room by roomsize to allow us to get an average beauty per tile.

update_icon_state +

+

Update the icon state of the area

+

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

+ + + diff --git a/area/space.html b/area/space.html new file mode 100644 index 00000000000..2b5a118f930 --- /dev/null +++ b/area/space.html @@ -0,0 +1,35 @@ + + + + + + + /area/space - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

space + + + +

+ + +

Procs

update_icon_stateUpdate the icon of the area (overridden to always be null for space

Proc Details

update_icon_state +

+

Update the icon of the area (overridden to always be null for space

+ + + diff --git a/atom.html b/atom.html new file mode 100644 index 00000000000..5b5ab31034c --- /dev/null +++ b/atom.html @@ -0,0 +1,738 @@ + + + + + + + /atom - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

atom + + + +

+ +

The base type for nearly all physical objects in SS13

+

Lots and lots of functionality lives here, although in general we are striving to move +as much as possible to the components/elements system

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

Vars

add_overlaysa very temporary list of overlays to add
articleIf non-null, overrides a/an/some in all cases
atom_coloursused to store the different colors on an atom
attack_hand_is_actionShould we set last action for attack hand? This implies that attack_hands to this atom should flush to clickdelay buffers instead of discarding.
attack_hand_speedAmount of time to check for from a mob's last attack to allow an attack_hand().
attack_hand_unwieldlynessAmount of time to hard stagger (no clicking at all) the mob post attack_hand(). Lower = better
base_icon_stateUsed for changing icon states for different base sprites.
base_pixel_xDefault pixel x shifting for the atom's icon.
base_pixel_yDefault pixel y shifting for the atom's icon.
chat_colorLast color calculated for the the chatmessage overlays
chat_color_darkenedA luminescence-shifted value of the last color calculated for chatmessage overlays
chat_color_nameLast name used to calculate a color for the chatmessage overlays
custom_materialsThe custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) +The list referenced by this var can be shared by multiple objects and should not be directly modified. Instead, use set_custom_materials.
custom_premium_pricePrice of an item in a vending machine, overriding the premium vending machine price. Define in terms of paycheck defines as opposed to raw numbers.
custom_pricePrice of an item in a vending machine, overriding the base vending machine price. Define in terms of paycheck defines as opposed to raw numbers.
explosion_blockValue used to increment ex_act() if reactionary_explosions is on
explosion_flagsFlags for explosions
fingerprintslastLast fingerprints to touch this atom
flags_1First atom flags var
hud_listThis atom's HUD (med/sec, etc) images. Associative list.
hud_possibleHUD images that this atom can provide.
interaction_flags_atomIntearaction flags
managed_overlaysoverlays managed by update_overlays to prevent removing overlays that weren't added by the same proc
managed_vis_overlaysvis overlays managed by SSvis_overlays to automaticaly turn them like other overlays
material_flagsBitfield for how the atom handles materials.
material_modifierModifier that raises/lowers the effect of the amount of a material, prevents small and easy to get items from being death machines.
orbit_targetReference to atom being orbited
pass_flags_selfpass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.
proximity_monitorProximity monitor associated with this atom
rad_insulationRadiation insulation types
reagentsReagents holder
remove_overlaysa very temporary list of overlays to remove
ricochet_chance_modWhen a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this
ricochet_damage_modWhen a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom
targeted_byMobs that are currently do_after'ing this atom, to be cleared from on Destroy()
wave_explosion_blockAmount to decrease wave explosions by
wave_explosion_multiplyAmount to multiply wave explosions by

Procs

AltClickNoInteractUse this instead of [/mob/proc/AltClickOn] where you only want turf content listing without additional atom alt-click interaction
CanAllowThroughReturns true or false to allow the mover to move through src
ComponentInitializePut your AddComponent calls here
DestroyTop level of the destroy chain for most atoms
InitializeThe primary method that objects are setup in SS13 with
LateInitializeSends a signal that the new atom src, has been created at loc +Late Intialization, for code that should run after all atoms have run Intialization
NewCalled when an atom is created in byond (built in engine proc)
_contentsWrapper to return a copy of contents, as SDQL2 can't tell an internal list from a normal list.
add_contextCreates a "Type-B" contextual screentip interaction. +When a user hovers over this, this proc will be called in order +to provide context for contextual screentips. +You must call register_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.
audible_messageShow a message to all mobs in earshot of this atom
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.
bullet_actReact to a hit by a projectile object
check_projectile_ricochetChecks if a projectile should ricochet off of us. Projectiles get final say. +[__DEFINES/projectiles.dm] for return values.
connect_to_shuttleCalled after a shuttle is loaded from map template initially.
examine_moreCalled when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_TIME (default 1.5 seconds)
get_examine_stringGenerate the full examine string of this atom (including icon for goonchat)
has_gravityReturns true if this atom has gravity for the passed in turf
mat_update_descThis proc is called when a material updates an object's description
mech_melee_attackCalled when a mech melee attacks an atom
ninjadrain_actAtom level proc for space ninja's glove interactions.
onAwayMissionIs the atom in an away mission
onCentComIs this atom currently located on centcom
onSyndieBaseIs the atom in any of the centcom syndicate areas
register_contextCreate a "Type-B" contextual screentip interaction, registering to add_context(). +This will run add_context() when the atom is hovered over by an item for context. +add_context() will not be called unless this is run. +This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself.
rust_heretic_actCauses effects when the atom gets hit by a rust effect from heretics
setClosedUsed to set something as 'closed' if it's being used as a supplypod
setOpenedUsed to set something as 'open' if it's being used as a supplypod
set_custom_materialsSets the custom materials for an item.
set_light_colorSetter for the light color of this atom.
set_light_rangeSetter for the light range of this atom.
shuttleRotateBase proc
update_appearanceUpdates the appearence of the icon
update_descUpdates the description of the atom
update_iconUpdates the icon of the atom
update_icon_stateUpdates the icon state of the atom
update_nameUpdates the name of the atom
update_overlaysBuilds a list of overlays for the atom, this will not apply them. +If you need to update overlays, use [update_icon(UPDATE_OVERLAYS)], +This proc is intended to be overridden.
visible_messageGenerate a visible message from this atom
wave_ex_actCalled when a wave explosion hits this atom.
wave_explodeCalled when a wave explosion hits this atom. Do not override this.
zap_actRespond to a electric bolt action on our item
+

Var Details

add_overlays + + + + +

+

a very temporary list of overlays to add

article + + + + +

+

If non-null, overrides a/an/some in all cases

atom_colours + + + + +

+

used to store the different colors on an atom

+

its inherent color, the colored paint applied on it, special color effect etc...

attack_hand_is_action + + + + +

+

Should we set last action for attack hand? This implies that attack_hands to this atom should flush to clickdelay buffers instead of discarding.

attack_hand_speed + + + + +

+

Amount of time to check for from a mob's last attack to allow an attack_hand().

attack_hand_unwieldlyness + + + + +

+

Amount of time to hard stagger (no clicking at all) the mob post attack_hand(). Lower = better

base_icon_state + + + + +

+

Used for changing icon states for different base sprites.

base_pixel_x + + + + +

+

Default pixel x shifting for the atom's icon.

base_pixel_y + + + + +

+

Default pixel y shifting for the atom's icon.

chat_color + + + + +

+

Last color calculated for the the chatmessage overlays

chat_color_darkened + + + + +

+

A luminescence-shifted value of the last color calculated for chatmessage overlays

chat_color_name + + + + +

+

Last name used to calculate a color for the chatmessage overlays

custom_materials + + + + +

+

The custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) +The list referenced by this var can be shared by multiple objects and should not be directly modified. Instead, use set_custom_materials.

custom_premium_price + + + + +

+

Price of an item in a vending machine, overriding the premium vending machine price. Define in terms of paycheck defines as opposed to raw numbers.

custom_price + + + + +

+

Price of an item in a vending machine, overriding the base vending machine price. Define in terms of paycheck defines as opposed to raw numbers.

explosion_block + + + + +

+

Value used to increment ex_act() if reactionary_explosions is on

explosion_flags + + + + +

+

Flags for explosions

fingerprintslast + + + + +

+

Last fingerprints to touch this atom

flags_1 + + + + +

+

First atom flags var

hud_list + + + + +

+

This atom's HUD (med/sec, etc) images. Associative list.

hud_possible + + + + +

+

HUD images that this atom can provide.

interaction_flags_atom + + + + +

+

Intearaction flags

managed_overlays + + + + +

+

overlays managed by update_overlays to prevent removing overlays that weren't added by the same proc

managed_vis_overlays + + + + +

+

vis overlays managed by SSvis_overlays to automaticaly turn them like other overlays

material_flags + + + + +

+

Bitfield for how the atom handles materials.

material_modifier + + + + +

+

Modifier that raises/lowers the effect of the amount of a material, prevents small and easy to get items from being death machines.

orbit_target + + + + +

+

Reference to atom being orbited

pass_flags_self + + + + +

+

pass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.

proximity_monitor + + + + +

+

Proximity monitor associated with this atom

rad_insulation + + + + +

+

Radiation insulation types

reagents + + + + +

+

Reagents holder

remove_overlays + + + + +

+

a very temporary list of overlays to remove

ricochet_chance_mod + + + + +

+

When a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this

ricochet_damage_mod + + + + +

+

When a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom

targeted_by + + + + +

+

Mobs that are currently do_after'ing this atom, to be cleared from on Destroy()

wave_explosion_block + + + + +

+

Amount to decrease wave explosions by

wave_explosion_multiply + + + + +

+

Amount to multiply wave explosions by

Proc Details

AltClickNoInteract +

+

Use this instead of [/mob/proc/AltClickOn] where you only want turf content listing without additional atom alt-click interaction

CanAllowThrough +

+

Returns true or false to allow the mover to move through src

ComponentInitialize +

+

Put your AddComponent calls here

Destroy +

+

Top level of the destroy chain for most atoms

+

Cleans up the following:

+

Initialize +

+

The primary method that objects are setup in SS13 with

+

we don't use New as we have better control over when this is called and we can choose +to delay calls or hook other logic in and so forth

+

During roundstart map parsing, atoms are queued for intialization in the base atom/New(), +After the map has loaded, then Initalize is called on all atoms one by one. NB: this +is also true for loading map templates as well, so they don't Initalize until all objects +in the map file are parsed and present in the world

+

If you're creating an object at any point after SSInit has run then this proc will be +immediately be called from New.

+

mapload: This parameter is true if the atom being loaded is either being intialized during +the Atom subsystem intialization, or if the atom is being loaded from the map template. +If the item is being created at runtime any time after the Atom subsystem is intialized then +it's false.

+

You must always call the parent of this proc, otherwise failures will occur as the item +will not be seen as initalized (this can lead to all sorts of strange behaviour, like +the item being completely unclickable)

+

You must not sleep in this proc, or any subprocs

+

Any parameters from new are passed through (excluding loc), naturally if you're loading from a map +there are no other arguments

+

Must return an initialization hint or a runtime will occur.

+

Note: the following functions don't call the base for optimization and must copypasta handling:

+

LateInitialize +

+

Sends a signal that the new atom src, has been created at loc +Late Intialization, for code that should run after all atoms have run Intialization

+

To have your LateIntialize proc be called, your atoms Initalization +proc must return the hint +INITIALIZE_HINT_LATELOAD otherwise you will never be called.

+

useful for doing things like finding other machines on GLOB.machines because you can guarantee +that all atoms will actually exist in the "WORLD" at this time and that all their Intialization +code has been run

New +

+

Called when an atom is created in byond (built in engine proc)

+

Not a lot happens here in SS13 code, as we offload most of the work to the +Intialization proc, mostly we run the preloader +if the preloader is being used and then call InitAtom of which the ultimate +result is that the Intialize proc is called.

+

We also generate a tag here if the DF_USE_TAG flag is set on the atom

_contents +

+

Wrapper to return a copy of contents, as SDQL2 can't tell an internal list from a normal list.

add_context +

+

Creates a "Type-B" contextual screentip interaction. +When a user hovers over this, this proc will be called in order +to provide context for contextual screentips. +You must call register_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.

audible_message +

+

Show a message to all mobs in earshot of this atom

+

Use for objects performing audible actions

+

vars:

+

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.

bullet_act +

+

React to a hit by a projectile object

+

Default behaviour is to send the COMSIG_ATOM_BULLET_ACT and then call [on_hit][/obj/item/projectile/proc/on_hit] on the projectile

+

@params +P - projectile +def_zone - zone hit +piercing_hit - is this hit piercing or normal?

check_projectile_ricochet +

+

Checks if a projectile should ricochet off of us. Projectiles get final say. +[__DEFINES/projectiles.dm] for return values.

connect_to_shuttle +

+

Called after a shuttle is loaded from map template initially.

+

@params

+

examine_more +

+

Called when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_TIME (default 1.5 seconds)

+

This is where you can put extra information on something that may be superfluous or not important in critical gameplay +moments, while allowing people to manually double-examine to take a closer look

+

Produces a signal COMSIG_PARENT_EXAMINE_MORE

get_examine_string +

+

Generate the full examine string of this atom (including icon for goonchat)

has_gravity +

+

Returns true if this atom has gravity for the passed in turf

+

Sends signals COMSIG_ATOM_HAS_GRAVITY and COMSIG_TURF_HAS_GRAVITY, both can force gravity with +the forced gravity var

+

Gravity situations:

+

mat_update_desc +

+

This proc is called when a material updates an object's description

mech_melee_attack +

+

Called when a mech melee attacks an atom

ninjadrain_act +

+

Atom level proc for space ninja's glove interactions.

+

Proc which only occurs when space ninja uses his gloves on an atom. +Does nothing by default, but effects will vary. +Arguments:

+

onAwayMission +

+

Is the atom in an away mission

+

Must be in the away mission z-level to return TRUE

+

Also used in gamemode code for win conditions

onCentCom +

+

Is this atom currently located on centcom

+

Specifically, is it on the z level and within the centcom areas

+

You can also be in a shuttleshuttle during endgame transit

+

Used in gamemode to identify mobs who have escaped and for some other areas of the code +who don't want atoms where they shouldn't be

onSyndieBase +

+

Is the atom in any of the centcom syndicate areas

+

Either in the syndie base on centcom, or any of their shuttles

+

Also used in gamemode code for win conditions

register_context +

+

Create a "Type-B" contextual screentip interaction, registering to add_context(). +This will run add_context() when the atom is hovered over by an item for context. +add_context() will not be called unless this is run. +This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself.

rust_heretic_act +

+

Causes effects when the atom gets hit by a rust effect from heretics

+

Override this if you want custom behaviour in whatever gets hit by the rust

setClosed +

+

Used to set something as 'closed' if it's being used as a supplypod

+

Override this if you want an atom to be usable as a supplypod.

setOpened +

+

Used to set something as 'open' if it's being used as a supplypod

+

Override this if you want an atom to be usable as a supplypod.

set_custom_materials +

+

Sets the custom materials for an item.

set_light_color +

+

Setter for the light color of this atom.

set_light_range +

+

Setter for the light range of this atom.

shuttleRotate +

+

Base proc

update_appearance +

+

Updates the appearence of the icon

+

Mostly delegates to update_name, update_desc, and update_icon

+

Arguments:

+

update_desc +

+

Updates the description of the atom

update_icon +

+

Updates the icon of the atom

update_icon_state +

+

Updates the icon state of the atom

update_name +

+

Updates the name of the atom

update_overlays +

+

Builds a list of overlays for the atom, this will not apply them. +If you need to update overlays, use [update_icon(UPDATE_OVERLAYS)], +This proc is intended to be overridden.

visible_message +

+

Generate a visible message from this atom

+

Show a message to all player mobs who sees this atom

+

Show a message to the src mob (if the src is a mob)

+

Use for atoms performing visible actions

+

message is output to anyone who can see, e.g. "The [src] does something!"

+

Vars:

+

wave_ex_act +

+

Called when a wave explosion hits this atom.

+

Returns explosion power to "allow through". Standard handling and flag overrides in [wave_explode()].

wave_explode +

+

Called when a wave explosion hits this atom. Do not override this.

+

Returns explosion power to "allow through".

zap_act +

+

Respond to a electric bolt action on our item

+

Default behaviour is to return, we define here to allow for cleaner code later on

+ + + diff --git a/atom/movable.html b/atom/movable.html new file mode 100644 index 00000000000..efa546fc37d --- /dev/null +++ b/atom/movable.html @@ -0,0 +1,354 @@ + + + + + + + /atom/movable - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

movable + + + +

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

Vars

blocks_emissiveEither FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE
can_be_z_movedUsed for space ztransit stuff
em_blockInternal holder for emissive blocker object, do not use directly use blocks_emissive
floating_need_updateIf we were without gravity and another animation happened, the bouncing will stop, and we need to restart it in next life().
generic_canpassIf false makes CanPass call CanPassThrough on this type instead of using default behaviour
last_yelllast time we yelled
movement_typeIn case you have multiple types, you automatically use the most useful one. +IE: Skating on ice, flippers on water, flying over chasm/space, etc. +I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.
pass_flagsThings we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through.
tooltipsShould we use tooltips, if the thing does not have the code implemented get_tooltip_data(), it will default to examine(src)
yell_powerHow loudly we yell

Procs

CanPassThroughReturns true or false to allow src to move through the blocker, mover has final say
Process_SpacemoveCalled whenever an object moves and by mobs when they attempt to move themselves through space +And when an object or action applies a force on src, see newtonian_move
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()
add_blocked_languageAdds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.
admin_teleportProc to hook user-enacted teleporting behavior and keep logging of the event.
can_speak_languageChecks if atom can speak the language.
copy_languagesCopies all languages into the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.
could_speak_languageReturns the result of tongue specific limitations on spoken languages.
forceMoveFORCED MOVEMENT
get_language_holderGets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.
get_tooltip_dataIf set, will return a list for the tooltip (that will also be put together in a Join()) +However, if returning null, the tooltip will not be shown as #14942 changed it.
grant_all_languagesGrants every language.
grant_languageGrants the supplied language and sets omnitongue true.
has_languageChecks if atom has the language. If spoken is true, only checks if atom can speak the language.
newtonian_moveOnly moves the object if it's under no gravity
on_enter_storagecalled when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.
on_exit_storagecalled when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.
quoteless_say_quoteQuirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when?
recursive_pulled_glidesize_updateRecursively set glide size for atom's pulled things
remove_all_languagesRemoves every language and sets omnitongue false.
remove_blocked_languageRemoves a language from the blocked language list.
remove_languageRemoves a single language.
say_emphasisConverts specific characters, like +, |, and _ to formatted output.
setGrabStateUpdates the grab state of the movable
setMovetypeProc to modify the movement_type and hook behavior associated with it changing.
set_anchoredSets the anchored var and returns if it was sucessfully changed or not.
set_barkSets the vocal bark for the atom, using the bark's ID
set_pulledbyReports the event of the change in value of the pulledby variable.
throw_atIf this returns FALSE then callback will not be called.
update_atom_languagesEmpties out the atom specific languages and updates them according to the current atoms language holder. +As a side effect, it also creates missing language holders in the process.
+

Var Details

blocks_emissive + + + + +

+

Either FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE

can_be_z_moved + + + + +

+

Used for space ztransit stuff

em_block + + + + +

+

Internal holder for emissive blocker object, do not use directly use blocks_emissive

floating_need_update + + + + +

+

If we were without gravity and another animation happened, the bouncing will stop, and we need to restart it in next life().

generic_canpass + + + + +

+

If false makes CanPass call CanPassThrough on this type instead of using default behaviour

last_yell + + + + +

+

last time we yelled

movement_type + + + + +

+

In case you have multiple types, you automatically use the most useful one. +IE: Skating on ice, flippers on water, flying over chasm/space, etc. +I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.

pass_flags + + + + +

+

Things we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through.

tooltips + + + + +

+

Should we use tooltips, if the thing does not have the code implemented get_tooltip_data(), it will default to examine(src)

yell_power + + + + +

+

How loudly we yell

Proc Details

CanPassThrough +

+

Returns true or false to allow src to move through the blocker, mover has final say

Process_Spacemove +

+

Called whenever an object moves and by mobs when they attempt to move themselves through space +And when an object or action applies a force on src, see newtonian_move

+

Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting

+

Mobs should return 1 if they should be able to move of their own volition, see [/client/proc/Move]

+

Arguments:

+

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()

add_blocked_language +

+

Adds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.

admin_teleport +

+

Proc to hook user-enacted teleporting behavior and keep logging of the event.

can_speak_language +

+

Checks if atom can speak the language.

copy_languages +

+

Copies all languages into the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.

could_speak_language +

+

Returns the result of tongue specific limitations on spoken languages.

forceMove +

+

FORCED MOVEMENT

get_language_holder +

+

Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.

get_random_spoken_language +

+

Gets a random spoken language, useful for forced speech and such.

get_random_understood_language +

+

Gets a random understood language, useful for hallucinations and such.

get_selected_language +

+

Returns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.

get_tooltip_data +

+

If set, will return a list for the tooltip (that will also be put together in a Join()) +However, if returning null, the tooltip will not be shown as #14942 changed it.

+

Though no tooltips will be created for atoms that have tooltips = FALSE

grant_all_languages +

+

Grants every language.

grant_language +

+

Grants the supplied language and sets omnitongue true.

has_language +

+

Checks if atom has the language. If spoken is true, only checks if atom can speak the language.

newtonian_move +

+

Only moves the object if it's under no gravity

on_enter_storage +

+

called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.

on_exit_storage +

+

called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.

quoteless_say_quote +

+

Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when?

recursive_pulled_glidesize_update +

+

Recursively set glide size for atom's pulled things

remove_all_languages +

+

Removes every language and sets omnitongue false.

remove_blocked_language +

+

Removes a language from the blocked language list.

remove_language +

+

Removes a single language.

say_emphasis +

+

Converts specific characters, like +, |, and _ to formatted output.

setGrabState +

+

Updates the grab state of the movable

+

This exists to act as a hook for behaviour

setMovetype +

+

Proc to modify the movement_type and hook behavior associated with it changing.

set_anchored +

+

Sets the anchored var and returns if it was sucessfully changed or not.

set_bark +

+

Sets the vocal bark for the atom, using the bark's ID

set_pulledby +

+

Reports the event of the change in value of the pulledby variable.

throw_at +

+

If this returns FALSE then callback will not be called.

update_atom_languages +

+

Empties out the atom specific languages and updates them according to the current atoms language holder. +As a side effect, it also creates missing language holders in the process.

+ + + diff --git a/atom/movable/emissive_blocker.html b/atom/movable/emissive_blocker.html new file mode 100644 index 00000000000..9d912f976ab --- /dev/null +++ b/atom/movable/emissive_blocker.html @@ -0,0 +1,32 @@ + + + + + + + /atom/movable/emissive_blocker - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

emissive_blocker + + + +

+ +

Internal atom that copies an appearance on to the blocker plane

+

Copies an appearance vis render_target and render_source on to the emissive blocking plane. +This means that the atom in question will block any emissive sprites. +This should only be used internally. If you are directly creating more of these, you're +almost guaranteed to be doing something wrong.

+ + + diff --git a/atom/movable/fov_holder.html b/atom/movable/fov_holder.html new file mode 100644 index 00000000000..9b65ce75e8c --- /dev/null +++ b/atom/movable/fov_holder.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/fov_holder - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

fov_holder + + + +

+ +

The shadow cone's mask and visual images holder which can't locate inside the mob, +lest they inherit the mob opacity and cause a lot of hindrance

+ +

Procs

DestroyLast but not least, these shouldn't be deleted by anything but the component itself
forceMovePrevents people from moving these after creation, because they shouldn't be.

Proc Details

Destroy +

+

Last but not least, these shouldn't be deleted by anything but the component itself

forceMove +

+

Prevents people from moving these after creation, because they shouldn't be.

+ + + diff --git a/atom/movable/lighting_object.html b/atom/movable/lighting_object.html new file mode 100644 index 00000000000..a04d056a2a8 --- /dev/null +++ b/atom/movable/lighting_object.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/lighting_object - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

lighting_object + + + +

+ + +

Procs

onShuttleMoveMisc move procs

Proc Details

onShuttleMove +

+

Misc move procs

+ + + diff --git a/atom/movable/screen.html b/atom/movable/screen.html new file mode 100644 index 00000000000..c1ddbb1c301 --- /dev/null +++ b/atom/movable/screen.html @@ -0,0 +1,81 @@ + + + + + + + /atom/movable/screen - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

screen + + + +

+ + + + + + + +

Vars

assigned_mapMap name assigned to this object. +Automatically set by /client/proc/add_obj_to_map.
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).
+

Var Details

assigned_map + + + + +

+

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

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.

+ + + diff --git a/atom/movable/screen/alert.html b/atom/movable/screen/alert.html new file mode 100644 index 00000000000..56ea6b64ee3 --- /dev/null +++ b/atom/movable/screen/alert.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/alert - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

alert + + + +

+ + +

Vars

click_masterBoolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.
+

Var Details

click_master + + + + +

+

Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.

+ + + diff --git a/atom/movable/screen/alert/give.html b/atom/movable/screen/alert/give.html new file mode 100644 index 00000000000..e13a876930b --- /dev/null +++ b/atom/movable/screen/alert/give.html @@ -0,0 +1,57 @@ + + + + + + + /atom/movable/screen/alert/give - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

give + + + +

+ + + + +

Procs

check_in_rangeSimply checks if the other person is still in range
handle_transferAn overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred
setupHandles assigning most of the variables for the alert that pops up when an item is offered

Proc Details

check_in_range +

+

Simply checks if the other person is still in range

handle_transfer +

+

An overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred

setup +

+

Handles assigning most of the variables for the alert that pops up when an item is offered

+

Handles setting the name, description and icon of the alert and tracking the person giving +and the item being offered, also registers a signal that removes the alert from anyone who moves away from the offerer +Arguments:

+
+ + + diff --git a/atom/movable/screen/alert/give/highfive.html b/atom/movable/screen/alert/give/highfive.html new file mode 100644 index 00000000000..579d5608505 --- /dev/null +++ b/atom/movable/screen/alert/give/highfive.html @@ -0,0 +1,49 @@ + + + + + + + /atom/movable/screen/alert/give/highfive - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

highfive + + + +

+ + + + +

Procs

check_fake_outIf someone examine_more's the offerer while they're trying to pull a too-slow, it'll tip them off to the offerer's trickster ways
too_slow_p1If the person who offered the high five no longer has it when we try to accept it, we get pranked hard
too_slow_p2Part two of the ultimate prank

Proc Details

check_fake_out +

+

If someone examine_more's the offerer while they're trying to pull a too-slow, it'll tip them off to the offerer's trickster ways

too_slow_p1 +

+

If the person who offered the high five no longer has it when we try to accept it, we get pranked hard

too_slow_p2 +

+

Part two of the ultimate prank

+ + + diff --git a/atom/movable/screen/combattoggle.html b/atom/movable/screen/combattoggle.html new file mode 100644 index 00000000000..90be77ffcb9 --- /dev/null +++ b/atom/movable/screen/combattoggle.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/combattoggle - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

combattoggle + + + +

+ +

The screen button.

+

Procs

ClickWheter combat mode is enabled or not, so we don't have to store a reference.

Proc Details

Click +

+

Wheter combat mode is enabled or not, so we don't have to store a reference.

+ + + diff --git a/atom/movable/screen/fullscreen.html b/atom/movable/screen/fullscreen.html new file mode 100644 index 00000000000..a79f9f2fdaf --- /dev/null +++ b/atom/movable/screen/fullscreen.html @@ -0,0 +1,64 @@ + + + + + + + /atom/movable/screen/fullscreen - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

fullscreen + + + +

+ + + + + + +

Vars

severitycurrent severity
severity_maxmax severity
severity_minmin severity
show_when_deadshow this while dead
view_currentcurrent view we're adapted to
+

Var Details

severity + + + + +

+

current severity

severity_max + + + + +

+

max severity

severity_min + + + + +

+

min severity

show_when_dead + + + + +

+

show this while dead

view_current + + + + +

+

current view we're adapted to

+ + + diff --git a/atom/movable/screen/fullscreen/scaled.html b/atom/movable/screen/fullscreen/scaled.html new file mode 100644 index 00000000000..bcf4b67f1da --- /dev/null +++ b/atom/movable/screen/fullscreen/scaled.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/fullscreen/scaled - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

scaled + + + +

+ + + +

Vars

size_xsize of sprite in tiles
size_ysize of sprite in tiles
+

Var Details

size_x + + + + +

+

size of sprite in tiles

size_y + + + + +

+

size of sprite in tiles

+ + + diff --git a/atom/movable/screen/inventory.html b/atom/movable/screen/inventory.html new file mode 100644 index 00000000000..9c2bdadfe71 --- /dev/null +++ b/atom/movable/screen/inventory.html @@ -0,0 +1,57 @@ + + + + + + + /atom/movable/screen/inventory - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

inventory + + + +

+ + + + + +

Vars

icon_emptyIcon when empty. For now used only by humans.
icon_fullIcon when contains an item. For now used only by humans.
object_overlayThe overlay when hovering over with an item in your hand
slot_idThe identifier for the slot. It has nothing to do with ID cards.
+

Var Details

icon_empty + + + + +

+

Icon when empty. For now used only by humans.

icon_full + + + + +

+

Icon when contains an item. For now used only by humans.

object_overlay + + + + +

+

The overlay when hovering over with an item in your hand

slot_id + + + + +

+

The identifier for the slot. It has nothing to do with ID cards.

+ + + diff --git a/atom/movable/screen/lobby.html b/atom/movable/screen/lobby.html new file mode 100644 index 00000000000..b8ca4de4ae9 --- /dev/null +++ b/atom/movable/screen/lobby.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/lobby - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

lobby + + + +

+ + +

Procs

SlowInitRun sleeping actions after initialize

Proc Details

SlowInit +

+

Run sleeping actions after initialize

+ + + diff --git a/atom/movable/screen/lobby/button.html b/atom/movable/screen/lobby/button.html new file mode 100644 index 00000000000..b484fb63083 --- /dev/null +++ b/atom/movable/screen/lobby/button.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/screen/lobby/button - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

button + + + +

+ + + + +

Vars

enabledIs the button currently enabled?
highlightedIs the button currently being hovered over with the mouse?
ownerThe ref of the mob that owns this button. Only the owner can click on it.
+

Var Details

enabled + + + + +

+

Is the button currently enabled?

highlighted + + + + +

+

Is the button currently being hovered over with the mouse?

owner + + + + +

+

The ref of the mob that owns this button. Only the owner can click on it.

+ + + diff --git a/atom/movable/screen/parallax_layer.html b/atom/movable/screen/parallax_layer.html new file mode 100644 index 00000000000..a364e3b58c8 --- /dev/null +++ b/atom/movable/screen/parallax_layer.html @@ -0,0 +1,113 @@ + + + + + + + /atom/movable/screen/parallax_layer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

parallax_layer + + + +

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

Vars

absoluteabsolute - always determine shift x/y as a function of real x/y instead of allowing for relative scroll.
center_xnormal centered x
center_ynormal centered y
dynamic_self_tiledynamic self tile - tile to our view size. set this to false for static parallax layers.
map_idmap id
offset_xcurrent cached offset x
offset_ycurrent cached offset y
parallax_intensityparallax level required to see this
queued_animationqueued animation timerid
speedpixel x/y shift per real x/y
view_currentcurrent view we're adapted to

Procs

GetOverlaysReturn "natural" overlays, as we're goin to do some fuckery to overlays above.
+

Var Details

absolute + + + + +

+

absolute - always determine shift x/y as a function of real x/y instead of allowing for relative scroll.

center_x + + + + +

+

normal centered x

center_y + + + + +

+

normal centered y

dynamic_self_tile + + + + +

+

dynamic self tile - tile to our view size. set this to false for static parallax layers.

map_id + + + + +

+

map id

offset_x + + + + +

+

current cached offset x

offset_y + + + + +

+

current cached offset y

parallax_intensity + + + + +

+

parallax level required to see this

queued_animation + + + + +

+

queued animation timerid

speed + + + + +

+

pixel x/y shift per real x/y

view_current + + + + +

+

current view we're adapted to

Proc Details

GetOverlays +

+

Return "natural" overlays, as we're goin to do some fuckery to overlays above.

+ + + diff --git a/atom/movable/screen/storage/volumetric_box/center.html b/atom/movable/screen/storage/volumetric_box/center.html new file mode 100644 index 00000000000..b237a153672 --- /dev/null +++ b/atom/movable/screen/storage/volumetric_box/center.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/storage/volumetric_box/center - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

center + + + +

+ + +

Procs

set_pixel_sizeSets the size of this box screen object and regenerates its left/right borders. This includes the actual border's size!

Proc Details

set_pixel_size +

+

Sets the size of this box screen object and regenerates its left/right borders. This includes the actual border's size!

+ + + diff --git a/atom/movable/screen/wanted.html b/atom/movable/screen/wanted.html new file mode 100644 index 00000000000..06740dcbf41 --- /dev/null +++ b/atom/movable/screen/wanted.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/wanted - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

wanted + + + +

+ + + +

Vars

cops_arrivedBoolean, have the cops arrived? If so, the icon stops changing and remains the same.
levelWanted level, affects the hud icon. Level 0 is default, and the level 0 icon is blank, so in case of no families gamemode (and thus no wanted level), this HUD element will never appear.
+

Var Details

cops_arrived + + + + +

+

Boolean, have the cops arrived? If so, the icon stops changing and remains the same.

level + + + + +

+

Wanted level, affects the hud icon. Level 0 is default, and the level 0 icon is blank, so in case of no families gamemode (and thus no wanted level), this HUD element will never appear.

+ + + diff --git a/atom/movable/summon_weapon_effect.html b/atom/movable/summon_weapon_effect.html new file mode 100644 index 00000000000..a592c3fd4da --- /dev/null +++ b/atom/movable/summon_weapon_effect.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/summon_weapon_effect - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

summon_weapon_effect + + + +

+ + +

Vars

lockedlocked atom
+

Var Details

locked + + + + +

+

locked atom

+ + + diff --git a/client.html b/client.html new file mode 100644 index 00000000000..89eaeaae470 --- /dev/null +++ b/client.html @@ -0,0 +1,599 @@ + + + + + + + /client - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

client + + + +

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

Vars

active_mousedown_itemAutoclick variable referencing the associated item.
admin_music_volumeAdmin music volume, from 0 to 1.
autobunker_last_trylast time they tried to do an autobunker auth
block_parry_hintedShould go in persistent round player data sometime. This tracks what items have already warned the user on pickup that they can block/parry.
click_catcherClick catcher
click_intercept_timeTime when the click was intercepted
clicklimiterUsed for limiting the rate of clicks sends by the client to avoid abuse
client_keysend_amountAmount of keydowns in the last keysend checking interval
completed_asset_jobsList of all completed blocking send jobs awaiting acknowledgement by send_asset
creditslazy list of all credit object bound to this client
cryo_warnedWhen was the last time we warned them about not cryoing without an ahelp, set to -5 minutes so that rounstart cryo still warns
holderContains admin info. Null if client is not an admin.
keys_heldKeys currently held
keysend_trippedWhen set to true, user will be autokicked if they trip the keysends in a second limit again
last_activityAFK tracking
last_asset_jobLast asset send job id.
last_clickLast time we Click()ed. No clicking twice in one tick!
last_macro_fixLast time they used fix macros
mouseLocationUsed in MouseDrag to preserve the last mouse-entered location.
mouseObjectUsed in MouseDrag to preserve the last mouse-entered object.
mouseParamsUsed in MouseDrag to preserve the original mouse click parameters
mouse_override_iconused to override the mouse cursor so it doesnt get reset
moused_over_objectsmoused over objects, currently capped at 7. this is awful, and should be replaced with a component to track it using signals for parrying at some point.
movement_keyscustom movement keys for this client
next_keysend_resetWorld tick time where client_keysend_amount will reset
next_keysend_trip_resetWorld tick time where keysend_tripped will reset back to false
next_move_dir_addThese next two vars are to apply movement for keypresses and releases made while move delayed. +Because discarding that input makes the game less responsive. +On 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
panel_tabslist of all tabs
parallax_holderParallax holder
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.
script!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
seen_messagesMessages currently seen by this client
selected_targetAutoclick list of two elements, first being the clicked thing, second being the parameters.
show_verb_panelhides the byond verb panel as we use our own custom version
spell_tabslist of tabs containing spells and abilities
stat_tabour current tab
statbrowser_readywhether our browser is ready or not yet
tgui_cache_reloadedglobal
tgui_windowsglobal
tip_timerTimers are now handled by clients, not by doing a mess on the item and multiple people overwriting a single timer on the object, have fun.
total_count_resetNext tick to reset the total message counter
total_message_countHow many messages sent in the last 10 seconds
verb_tabslist of tabs containing verbs
view_sizeviewsize datum for holding our view size

Procs

ForceAllKeysUpCheck if the key is short enough to even be a real key +Keyup's all keys held down.
NONSENSICAL_VERB_THAT_DOES_NOTHING*sigh
Process_GrabProcess_Grab(): checks for grab, attempts to break if so. Return TRUE to prevent movement.
Process_IncorpmoveProcess_Incorpmove +Called by client/Move() +Allows mobs to run though walls
admin_cmd_remove_ghost_respawn_timerAllows a ghost to bypass respawn delay without lifting respawn restrictions
admin_cmd_respawn_return_to_lobbyFully returns a player to lobby, allowing them to bypass all respawn restrictions +Works on ghosts or new players (lobby players) +If a lobby player is selected, their restrictions are removed.
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.
award_heartRedirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.
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.
close_popupCloses a popup.
create_popupCreates a popup window with a basic map element in it, without any +further initialization.
fix_tgui_paneltgui panel / chat troubleshooting verb
forceEventAllows an admin to force an event
get_award_statusRedirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.
give_awardRedirect proc that makes it easier to call the unlock achievement proc. Achievement type is the typepath to the award, user is the mob getting the award, and value is an optional variable used for leaderboard value increments
handle_popup_closeWhen the popup closes in any way (player or proc call) it calls this.
init_verbscompiles a full list of verbs and sends it to the browser
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.
send_resourcesSend resources to the client. +Sends both game resources and browser assets.
set_tabverbs that send information from the browser UI
setup_popupCreate the popup, and get it ready for generic use by giving +it a background.
uicloseverb
update_clickcatcherMakes a clickcatcher if necessary, and ensures it's fit to our size.
update_special_keybindsUpdates the keybinds for special keys
+

Var Details

active_mousedown_item + + + + +

+

Autoclick variable referencing the associated item.

admin_music_volume + + + + +

+

Admin music volume, from 0 to 1.

autobunker_last_try + + + + +

+

last time they tried to do an autobunker auth

block_parry_hinted + + + + +

+

Should go in persistent round player data sometime. This tracks what items have already warned the user on pickup that they can block/parry.

click_catcher + + + + +

+

Click catcher

click_intercept_time + + + + +

+

Time when the click was intercepted

clicklimiter + + + + +

+

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

client_keysend_amount + + + + +

+

Amount of keydowns in the last keysend checking interval

completed_asset_jobs + + + + +

+

List of all completed blocking send jobs awaiting acknowledgement by send_asset

credits + + + + +

+

lazy list of all credit object bound to this client

cryo_warned + + + + +

+

When was the last time we warned them about not cryoing without an ahelp, set to -5 minutes so that rounstart cryo still warns

holder + + + + +

+

Contains admin info. Null if client is not an admin.

keys_held + + + + +

+

Keys currently held

keysend_tripped + + + + +

+

When set to true, user will be autokicked if they trip the keysends in a second limit again

last_activity + + + + +

+

AFK tracking

last_asset_job + + + + +

+

Last asset send job id.

last_click + + + + +

+

Last time we Click()ed. No clicking twice in one tick!

last_macro_fix + + + + +

+

Last time they used fix macros

mouseLocation + + + + +

+

Used in MouseDrag to preserve the last mouse-entered location.

mouseObject + + + + +

+

Used in MouseDrag to preserve the last mouse-entered object.

mouseParams + + + + +

+

Used in MouseDrag to preserve the original mouse click parameters

mouse_override_icon + + + + +

+

used to override the mouse cursor so it doesnt get reset

moused_over_objects + + + + +

+

moused over objects, currently capped at 7. this is awful, and should be replaced with a component to track it using signals for parrying at some point.

movement_keys + + + + +

+

custom movement keys for this client

next_keysend_reset + + + + +

+

World tick time where client_keysend_amount will reset

next_keysend_trip_reset + + + + +

+

World tick time where keysend_tripped will reset back to false

next_move_dir_add + + + + +

+

These next two vars are to apply movement for keypresses and releases made while move delayed. +Because discarding that input makes the game less responsive. +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

panel_tabs + + + + +

+

list of all tabs

parallax_holder + + + + +

+

Parallax holder

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))

script + + + + +

+

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

seen_messages + + + + +

+

Messages currently seen by this client

selected_target + + + + +

+

Autoclick list of two elements, first being the clicked thing, second being the parameters.

show_verb_panel + + + + +

+

hides the byond verb panel as we use our own custom version

spell_tabs + + + + +

+

list of tabs containing spells and abilities

stat_tab + + + + +

+

our current tab

statbrowser_ready + + + + +

+

whether our browser is ready or not yet

tgui_cache_reloaded + + + + +

+

global

+

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

tgui_windows + + + + +

+

global

+

Tracks open windows for a user.

tip_timer + + + + +

+

Timers are now handled by clients, not by doing a mess on the item and multiple people overwriting a single timer on the object, have fun.

total_count_reset + + + + +

+

Next tick to reset the total message counter

total_message_count + + + + +

+

How many messages sent in the last 10 seconds

verb_tabs + + + + +

+

list of tabs containing verbs

view_size + + + + +

+

viewsize datum for holding our view size

Proc Details

ForceAllKeysUp +

+

Check if the key is short enough to even be a real key +Keyup's all keys held down.

NONSENSICAL_VERB_THAT_DOES_NOTHING +

+

*sigh

Process_Grab +

+

Process_Grab(): checks for grab, attempts to break if so. Return TRUE to prevent movement.

Process_Incorpmove +

+

Process_Incorpmove +Called by client/Move() +Allows mobs to run though walls

admin_cmd_remove_ghost_respawn_timer +

+

Allows a ghost to bypass respawn delay without lifting respawn restrictions

admin_cmd_respawn_return_to_lobby +

+

Fully returns a player to lobby, allowing them to bypass all respawn restrictions +Works on ghosts or new players (lobby players) +If a lobby player is selected, their restrictions are removed.

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.

award_heart +

+

Redirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.

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.

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.

fix_tgui_panel +

+

tgui panel / chat troubleshooting verb

forceEvent +

+

Allows an admin to force an event

get_award_status +

+

Redirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.

give_award +

+

Redirect proc that makes it easier to call the unlock achievement proc. Achievement type is the typepath to the award, user is the mob getting the award, and value is an optional variable used for leaderboard value increments

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 and sends it to the browser

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.

send_resources +

+

Send resources to the client. +Sends both game resources and browser assets.

set_tab +

+

verbs that send information from the browser UI

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.

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_clickcatcher +

+

Makes a clickcatcher if necessary, and ensures it's fit to our size.

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:

+ +

Returns list of special keybind in key = Mod1Mod2Mod3Key format, NOT Mod1+Mod2+Mod3+Key format.

+ + + diff --git a/code/__DEFINES/DNA.html b/code/__DEFINES/DNA.html new file mode 100644 index 00000000000..a995f514a1a --- /dev/null +++ b/code/__DEFINES/DNA.html @@ -0,0 +1,44 @@ + + + + + + + code/__DEFINES/DNA.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/DNA.dm + +

+ + + + +
HAS_FLESHUsed for determining which wounds are applicable to this species. +if we have flesh (can suffer slash/piercing/burn wounds, requires they don't have NOBLOOD)
HAS_BONEif we have bones (can suffer bone wounds)
STANDARD_ORGAN_THRESHOLDorgan defines

Define Details

+

HAS_BONE + + +

+

if we have bones (can suffer bone wounds)

HAS_FLESH + + +

+

Used for determining which wounds are applicable to this species. +if we have flesh (can suffer slash/piercing/burn wounds, requires they don't have NOBLOOD)

STANDARD_ORGAN_THRESHOLD + + +

+

organ defines

+ + + diff --git a/code/__DEFINES/MC.html b/code/__DEFINES/MC.html new file mode 100644 index 00000000000..37035ad1ea7 --- /dev/null +++ b/code/__DEFINES/MC.html @@ -0,0 +1,113 @@ + + + + + + + code/__DEFINES/MC.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/MC.dm + +

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

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_NO_TICK_CHECKsubsystem does not tick check, and should not run unless there is enough time (or its running behind (unless background))
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)) +(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

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

Define Details

+

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_NO_TICK_CHECK + + +

+

subsystem does not tick check, and should not run unless there is enough time (or its running behind (unless background))

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)) +(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/_flags/_flags.html b/code/__DEFINES/_flags/_flags.html new file mode 100644 index 00000000000..6f53649d71b --- /dev/null +++ b/code/__DEFINES/_flags/_flags.html @@ -0,0 +1,306 @@ + + + + + + + code/__DEFINES/_flags/_flags.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_flags/_flags.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HEAR_1This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not.
DEFAULT_RICOCHET_1Projectiles will use default chance-based ricochet handling on things with this.
CONDUCT_1Conducts electricity (metal etc.).
NODECONSTRUCT_1For machines and structures that should not break into parts, eg, holodeck stuff.
OVERLAY_QUEUED_1Atom queued to SSoverlay.
ON_BORDER_1Item has priority to check when entering or leaving.
NO_SCREENTIPS_1Whether or not this atom shows screentips when hovered over
PREVENT_CLICK_UNDER_1Prevent clicking things below it on the same turf eg. doors/ fulltile windows.
SHOCKED_1Prevents mobs from getting chainshocked by teslas and the supermatter.
INITIALIZED_1Whether /atom/Initialize() has already run for the object.
ADMIN_SPAWNED_1was this spawned by an admin? used for stat tracking stuff.
PREVENT_CONTENTS_EXPLOSION_1should not get harmed if this gets caught by an explosion?
BLOCK_FACE_ATOM_1Early returns mob.face_atom()
CAN_BE_DIRTY_1If a turf can be made dirty at roundstart. This is also used in areas.
NO_LAVA_GEN_1Blocks lava rivers being generated on the turf
NO_RUINS_1Blocks ruins spawning on the turf
EXCITED_CLEANUP_1Should this tile be cleaned up and reinserted into an excited group?
HAS_CONTEXTUAL_SCREENTIPS_1Whether or not this atom has contextual screentips when hovered OVER
VALID_TERRITORY/////////////Area flags\\\\\\\ +If it's a valid territory for cult summoning or the CRAB-17 phone to spawn
BLOBS_ALLOWEDIf blobs can spawn there and if it counts towards their score.
CAVES_ALLOWEDIf mining tunnel generation is allowed in this area
FLORA_ALLOWEDIf flora are allowed to spawn in this area randomly through tunnel generation
MOB_SPAWN_ALLOWEDIf mobs can be spawned by natural random generation
MEGAFAUNA_SPAWN_ALLOWEDIf megafauna can be spawned by natural random generation
NOTELEPORTAre you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)
HIDDEN_AREAHides area from player Teleport function.
UNIQUE_AREAIf false, loading multiple maps with this area type will create multiple instances.
BLOCK_SUICIDEIf people are allowed to suicide in it. Mostly for OOC stuff like minigames
XENOBIOLOGY_COMPATIBLECan the Xenobio management console transverse this area by default?
ABDUCTOR_PROOFIf Abductors are unable to teleport in with their observation console
NO_ALERTSIf an area should be hidden from power consoles, power/atmosphere alerts, etc.
CULT_PERMITTEDIf blood cultists can draw runes or build structures on this AREA.
LETPASSTHROWLet thrown things past us. ONLY MEANINGFUL ON pass_flags_self!
PHASINGWhen moving, will Bump()/Cross()/Uncross() everything, but won't stop or Bump() anything.
CRAWLINGApplied if you're crawling around on the ground/resting.
CHECK_MOBILITYany flag
MOBILITY_MOVEcan move
MOBILITY_STANDcan, and is, standing up.
MOBILITY_PICKUPcan pickup items
MOBILITY_USEcan use items and interact with world objects like opening closets/etc
MOBILITY_UIcan use interfaces like consoles
MOBILITY_STORAGEcan use storage item
MOBILITY_PULLcan pull things
MOBILITY_HOLDcan hold non-nodropped items voluntarily
MOBILITY_RESISTCan resist out of buckling, grabs, cuffs, etc, in the usual order (buckle --> cuffs --> grab)
RICOCHET_SHINYIf the thing can reflect light (lasers/energy)
RICOCHET_HARDIf the thing can reflect matter (bullets/bomb shrapnel)
ISDIAGONALDIRReturns true if the dir is diagonal, false otherwise
NSCOMPONENTTrue if the dir is north or south, false therwise
EWCOMPONENTTrue if the dir is east/west, false otherwise
NSDIRFLIPFlips the dir for north/south directions
EWDIRFLIPFlips the dir for east/west directions
DIRFLIPTurns the dir by 180 degrees
MAX_BITFLAG_DIGITS33554431 (2^24 - 1) is the maximum value our bitflags can reach.

Define Details

+

ABDUCTOR_PROOF + + +

+

If Abductors are unable to teleport in with their observation console

ADMIN_SPAWNED_1 + + +

+

was this spawned by an admin? used for stat tracking stuff.

BLOBS_ALLOWED + + +

+

If blobs can spawn there and if it counts towards their score.

BLOCK_FACE_ATOM_1 + + +

+

Early returns mob.face_atom()

BLOCK_SUICIDE + + +

+

If people are allowed to suicide in it. Mostly for OOC stuff like minigames

CAN_BE_DIRTY_1 + + +

+

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

CAVES_ALLOWED + + +

+

If mining tunnel generation is allowed in this area

CHECK_MOBILITY + + + +

+

any flag

CONDUCT_1 + + +

+

Conducts electricity (metal etc.).

CRAWLING + + +

+

Applied if you're crawling around on the ground/resting.

CULT_PERMITTED + + +

+

If blood cultists can draw runes or build structures on this AREA.

DEFAULT_RICOCHET_1 + + +

+

Projectiles will use default chance-based ricochet handling on things with this.

DIRFLIP + + + +

+

Turns the dir by 180 degrees

EWCOMPONENT + + + +

+

True if the dir is east/west, false otherwise

EWDIRFLIP + + + +

+

Flips the dir for east/west directions

EXCITED_CLEANUP_1 + + +

+

Should this tile be cleaned up and reinserted into an excited group?

FLORA_ALLOWED + + +

+

If flora are allowed to spawn in this area randomly through tunnel generation

HAS_CONTEXTUAL_SCREENTIPS_1 + + +

+

Whether or not this atom has contextual screentips when hovered OVER

HEAR_1 + + +

+

This flag is what recursive_hear_check() uses to determine wether to add an item to the hearer list or not.

HIDDEN_AREA + + +

+

Hides area from player Teleport function.

INITIALIZED_1 + + +

+

Whether /atom/Initialize() has already run for the object.

ISDIAGONALDIR + + + +

+

Returns true if the dir is diagonal, false otherwise

LETPASSTHROW + + +

+

Let thrown things past us. ONLY MEANINGFUL ON pass_flags_self!

MAX_BITFLAG_DIGITS + + +

+

33554431 (2^24 - 1) is the maximum value our bitflags can reach.

MEGAFAUNA_SPAWN_ALLOWED + + +

+

If megafauna can be spawned by natural random generation

MOBILITY_HOLD + + +

+

can hold non-nodropped items voluntarily

MOBILITY_MOVE + + +

+

can move

MOBILITY_PICKUP + + +

+

can pickup items

MOBILITY_PULL + + +

+

can pull things

MOBILITY_RESIST + + +

+

Can resist out of buckling, grabs, cuffs, etc, in the usual order (buckle --> cuffs --> grab)

MOBILITY_STAND + + +

+

can, and is, standing up.

MOBILITY_STORAGE + + +

+

can use storage item

MOBILITY_UI + + +

+

can use interfaces like consoles

MOBILITY_USE + + +

+

can use items and interact with world objects like opening closets/etc

MOB_SPAWN_ALLOWED + + +

+

If mobs can be spawned by natural random generation

NODECONSTRUCT_1 + + +

+

For machines and structures that should not break into parts, eg, holodeck stuff.

NOTELEPORT + + +

+

Are you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)

NO_ALERTS + + +

+

If an area should be hidden from power consoles, power/atmosphere alerts, etc.

NO_LAVA_GEN_1 + + +

+

Blocks lava rivers being generated on the turf

NO_RUINS_1 + + +

+

Blocks ruins spawning on the turf

NO_SCREENTIPS_1 + + +

+

Whether or not this atom shows screentips when hovered over

NSCOMPONENT + + + +

+

True if the dir is north or south, false therwise

NSDIRFLIP + + + +

+

Flips the dir for north/south directions

ON_BORDER_1 + + +

+

Item has priority to check when entering or leaving.

OVERLAY_QUEUED_1 + + +

+

Atom queued to SSoverlay.

PHASING + + +

+

When moving, will Bump()/Cross()/Uncross() everything, but won't stop or Bump() anything.

PREVENT_CLICK_UNDER_1 + + +

+

Prevent clicking things below it on the same turf eg. doors/ fulltile windows.

PREVENT_CONTENTS_EXPLOSION_1 + + +

+

should not get harmed if this gets caught by an explosion?

RICOCHET_HARD + + +

+

If the thing can reflect matter (bullets/bomb shrapnel)

RICOCHET_SHINY + + +

+

If the thing can reflect light (lasers/energy)

SHOCKED_1 + + +

+

Prevents mobs from getting chainshocked by teslas and the supermatter.

UNIQUE_AREA + + +

+

If false, loading multiple maps with this area type will create multiple instances.

VALID_TERRITORY + + +

+

/////////////Area flags\\\\\\\ +If it's a valid territory for cult summoning or the CRAB-17 phone to spawn

XENOBIOLOGY_COMPATIBLE + + +

+

Can the Xenobio management console transverse this area by default?

+ + + diff --git a/code/__DEFINES/_flags/do_after.html b/code/__DEFINES/_flags/do_after.html new file mode 100644 index 00000000000..5cd7c8fd2bf --- /dev/null +++ b/code/__DEFINES/_flags/do_after.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/_flags/do_after.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_flags/do_after.dm + +

+ + + + + + + + + + + + + + + + +
DO_AFTER_DISALLOW_MOVING_ABSOLUTE_USERRequires absolute stillness from the user
DO_AFTER_DISALLOW_MOVING_ABSOLUTE_TARGETRequires absolute stillness from the target
DO_AFTER_REQUIRES_USER_ON_TURFRequires that the user is on a turf.
DO_AFTER_DISALLOW_MOVING_RELATIVERequires relative stillness to our target via dx and dy coordinate difference but only if both are spacedrifting. Specify DO_AFTER_ALLOW_NONSPACEDRIFT_RELATIVITY to say otherwise.
DO_AFTER_DISALLOW_ACTIVE_ITEM_CHANGEBreaks if active hand item changes. Requires a tool be specified, otherwise defaults to active item
DO_AFTER_REQUIRE_FREE_HAND_OR_TOOLBreaks if the user has no free hands. If a tool is specified, allows that as well.
DO_AFTER_NO_PROGRESSBARDo not display progressbar.
DO_AFTER_NO_COEFFICIENTDo not check do_after_coefficient()
DO_AFTER_ALLOW_NONSPACEDRIFT_RELATIVITYFor relative stillness, allow non spacedrift relative movement
DO_AFTER_PROCEEDIgnores checks.
DO_AFTER_CONTINUEUses all other checks
DO_AFTER_STOPBreaks
DO_AFTER_STARTINGStage - initiating a do_after
DO_AFTER_PROGRESSINGStage - main loop of a do_after
DO_AFTER_FINISHINGStage - Last check of a do_after

Define Details

+

DO_AFTER_ALLOW_NONSPACEDRIFT_RELATIVITY + + +

+

For relative stillness, allow non spacedrift relative movement

DO_AFTER_CONTINUE + + +

+

Uses all other checks

DO_AFTER_DISALLOW_ACTIVE_ITEM_CHANGE + + +

+

Breaks if active hand item changes. Requires a tool be specified, otherwise defaults to active item

DO_AFTER_DISALLOW_MOVING_ABSOLUTE_TARGET + + +

+

Requires absolute stillness from the target

DO_AFTER_DISALLOW_MOVING_ABSOLUTE_USER + + +

+

Requires absolute stillness from the user

DO_AFTER_DISALLOW_MOVING_RELATIVE + + +

+

Requires relative stillness to our target via dx and dy coordinate difference but only if both are spacedrifting. Specify DO_AFTER_ALLOW_NONSPACEDRIFT_RELATIVITY to say otherwise.

DO_AFTER_FINISHING + + +

+

Stage - Last check of a do_after

DO_AFTER_NO_COEFFICIENT + + +

+

Do not check do_after_coefficient()

DO_AFTER_NO_PROGRESSBAR + + +

+

Do not display progressbar.

DO_AFTER_PROCEED + + +

+

Ignores checks.

DO_AFTER_PROGRESSING + + +

+

Stage - main loop of a do_after

DO_AFTER_REQUIRES_USER_ON_TURF + + +

+

Requires that the user is on a turf.

DO_AFTER_REQUIRE_FREE_HAND_OR_TOOL + + +

+

Breaks if the user has no free hands. If a tool is specified, allows that as well.

DO_AFTER_STARTING + + +

+

Stage - initiating a do_after

DO_AFTER_STOP + + +

+

Breaks

+ + + diff --git a/code/__DEFINES/_flags/item_flags.html b/code/__DEFINES/_flags/item_flags.html new file mode 100644 index 00000000000..3d47747e752 --- /dev/null +++ b/code/__DEFINES/_flags/item_flags.html @@ -0,0 +1,87 @@ + + + + + + + code/__DEFINES/_flags/item_flags.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_flags/item_flags.dm + +

+ + + + + + + + + + + + + +
IN_INVENTORYis this item equipped into an inventory slot or hand of a mob? used for tooltips
FORCE_STRING_OVERRIDEused for tooltips
NEEDS_PERMITUsed by security bots to determine if this item is safe for public use.
NO_MAT_REDEMPTIONStops you from putting things like an RCD or other items into an ORM or protolathe for materials.
DROPDELWhen dropped, it calls qdel on itself
NOBLUDGEONwhen an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
ABSTRACTfor all things that are technically items but used for various different stuff
IMMUTABLE_SLOWWhen players should not be able to change the slowdown of the item (Speed potions, ect)
SURGICAL_TOOLTool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes)
NO_UNIFORM_REQUIREDCan be worn on certain slots (currently belt and id) that would otherwise require an uniform.
ITEM_CAN_PARRYThis item can be used to parry. Only a basic check used to determine if we should proceed with parry chain at all.
ITEM_CAN_BLOCKThis item can be used in the directional blocking system. Only a basic check used to determine if we should proceed with directional block handling at all.

Define Details

+

ABSTRACT + + +

+

for all things that are technically items but used for various different stuff

DROPDEL + + +

+

When dropped, it calls qdel on itself

FORCE_STRING_OVERRIDE + + +

+

used for tooltips

IMMUTABLE_SLOW + + +

+

When players should not be able to change the slowdown of the item (Speed potions, ect)

IN_INVENTORY + + +

+

is this item equipped into an inventory slot or hand of a mob? used for tooltips

ITEM_CAN_BLOCK + + +

+

This item can be used in the directional blocking system. Only a basic check used to determine if we should proceed with directional block handling at all.

ITEM_CAN_PARRY + + +

+

This item can be used to parry. Only a basic check used to determine if we should proceed with parry chain at all.

NEEDS_PERMIT + + +

+

Used by security bots to determine if this item is safe for public use.

NOBLUDGEON + + +

+

when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()

NO_MAT_REDEMPTION + + +

+

Stops you from putting things like an RCD or other items into an ORM or protolathe for materials.

NO_UNIFORM_REQUIRED + + +

+

Can be worn on certain slots (currently belt and id) that would otherwise require an uniform.

SURGICAL_TOOL + + +

+

Tool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes)

+ + + diff --git a/code/__DEFINES/_flags/obj_flags.html b/code/__DEFINES/_flags/obj_flags.html new file mode 100644 index 00000000000..d8742f7d972 --- /dev/null +++ b/code/__DEFINES/_flags/obj_flags.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/_flags/obj_flags.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_flags/obj_flags.dm + +

+ + + + + +
EXAMINE_SKIPMakes the Examine proc not read out this item.
ITEM_HAS_CONTEXTUAL_SCREENTIPSHas contextual screentips when HOVERING OVER OTHER objects
CLOTHING_PRISTINEIntegrity defines for clothing (not flags but close enough)
FIRST_SOUNDSFlags for the pod_flags var on /obj/structure/closet/supplypod

Define Details

+

CLOTHING_PRISTINE + + +

+

Integrity defines for clothing (not flags but close enough)

EXAMINE_SKIP + + +

+

Makes the Examine proc not read out this item.

FIRST_SOUNDS + + +

+

Flags for the pod_flags var on /obj/structure/closet/supplypod

ITEM_HAS_CONTEXTUAL_SCREENTIPS + + +

+

Has contextual screentips when HOVERING OVER OTHER objects

+ + + diff --git a/code/__DEFINES/_flags/return_values.html b/code/__DEFINES/_flags/return_values.html new file mode 100644 index 00000000000..bd242f68405 --- /dev/null +++ b/code/__DEFINES/_flags/return_values.html @@ -0,0 +1,71 @@ + + + + + + + code/__DEFINES/_flags/return_values.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_flags/return_values.dm + +

+ + + + + + + + + +
STOP_ATTACK_PROC_CHAIN//////// ATTACKCHAIN_FLAGS //////////// +Stop the attack chain if still in melee_attack_chain()
DISCARD_LAST_ACTIONThis attack should discard last_action instead of flushing (storing) it). You should probably know what you're doing if you use this considering this is how clickdelay is enforced.
NO_AUTO_CLICKDELAY_HANDLINGThere are a number of "safety nets" intended to default-handle clickdelay. Return this flag to bypass ALL of them. Be sure +you know EXACTLY what you are doing!
INTERRUPT_UNARMED_ATTACKOnly used with UnarmedAttack(). Interrupts unarmed attack from progressing.
ATTACK_IGNORE_ACTIONAttack should not set next action even if the atom wants it to be an action
ATTACK_IGNORE_CLICKDELAYAttack should not at all check last_action/attack_hand_speed even if the atom wants to
ATTACK_IS_PARRY_COUNTERATTACKThis attack is from a parry counterattack
ITEM_RELOCATED_BY_DROPPEDdropped() relocated this item, return FALSE for doUnEquip.

Define Details

+

ATTACK_IGNORE_ACTION + + +

+

Attack should not set next action even if the atom wants it to be an action

ATTACK_IGNORE_CLICKDELAY + + +

+

Attack should not at all check last_action/attack_hand_speed even if the atom wants to

ATTACK_IS_PARRY_COUNTERATTACK + + +

+

This attack is from a parry counterattack

DISCARD_LAST_ACTION + + +

+

This attack should discard last_action instead of flushing (storing) it). You should probably know what you're doing if you use this considering this is how clickdelay is enforced.

INTERRUPT_UNARMED_ATTACK + + +

+

Only used with UnarmedAttack(). Interrupts unarmed attack from progressing.

ITEM_RELOCATED_BY_DROPPED + + +

+

dropped() relocated this item, return FALSE for doUnEquip.

NO_AUTO_CLICKDELAY_HANDLING + + +

+

There are a number of "safety nets" intended to default-handle clickdelay. Return this flag to bypass ALL of them. Be sure +you know EXACTLY what you are doing!

STOP_ATTACK_PROC_CHAIN + + +

+

//////// ATTACKCHAIN_FLAGS //////////// +Stop the attack chain if still in melee_attack_chain()

+ + + diff --git a/code/__DEFINES/_flags/shields.html b/code/__DEFINES/_flags/shields.html new file mode 100644 index 00000000000..538bc060088 --- /dev/null +++ b/code/__DEFINES/_flags/shields.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/_flags/shields.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_flags/shields.dm + +

+ + + + + + + + + + + + + + + + +
SHIELD_TRANSPARENTTransparent, let beams pass
SHIELD_ENERGY_WEAKFlammable, takes more damage from fire
SHIELD_KINETIC_WEAKFragile, takes more damage from brute
SHIELD_KINETIC_STRONGStrong against kinetic, weak against energy
SHIELD_ENERGY_STRONGStrong against energy, weak against kinetic
SHIELD_DISABLER_DISRUPTEDDisabler and other stamina based energy weapons boost the damage done to the sheld
SHIELD_NO_RANGEDDoesn't block ranged attacks whatsoever
SHIELD_NO_MELEEDoesn't block melee attacks whatsoever
SHIELD_CAN_BASHCan shield bash
SHIELD_BASH_WALL_KNOCKDOWNShield bash knockdown on wall hit
SHIELD_BASH_ALWAYS_KNOCKDOWNShield bash always knockdown
SHIELD_BASH_WALL_DISARMShield bash disarm on wall hit
SHIELD_BASH_ALWAYS_DISARMShield bash always disarm
SHIELD_BASH_GROUND_SLAMYou can shieldbash target someone on the ground for ground slam
SHIELD_BASH_GROUND_SLAM_DISARMShield bashing someone on the ground will disarm

Define Details

+

SHIELD_BASH_ALWAYS_DISARM + + +

+

Shield bash always disarm

SHIELD_BASH_ALWAYS_KNOCKDOWN + + +

+

Shield bash always knockdown

SHIELD_BASH_GROUND_SLAM + + +

+

You can shieldbash target someone on the ground for ground slam

SHIELD_BASH_GROUND_SLAM_DISARM + + +

+

Shield bashing someone on the ground will disarm

SHIELD_BASH_WALL_DISARM + + +

+

Shield bash disarm on wall hit

SHIELD_BASH_WALL_KNOCKDOWN + + +

+

Shield bash knockdown on wall hit

SHIELD_CAN_BASH + + +

+

Can shield bash

SHIELD_DISABLER_DISRUPTED + + +

+

Disabler and other stamina based energy weapons boost the damage done to the sheld

SHIELD_ENERGY_STRONG + + +

+

Strong against energy, weak against kinetic

SHIELD_ENERGY_WEAK + + +

+

Flammable, takes more damage from fire

SHIELD_KINETIC_STRONG + + +

+

Strong against kinetic, weak against energy

SHIELD_KINETIC_WEAK + + +

+

Fragile, takes more damage from brute

SHIELD_NO_MELEE + + +

+

Doesn't block melee attacks whatsoever

SHIELD_NO_RANGED + + +

+

Doesn't block ranged attacks whatsoever

SHIELD_TRANSPARENT + + +

+

Transparent, let beams pass

+ + + diff --git a/code/__DEFINES/_tick.html b/code/__DEFINES/_tick.html new file mode 100644 index 00000000000..07264110178 --- /dev/null +++ b/code/__DEFINES/_tick.html @@ -0,0 +1,82 @@ + + + + + + + code/__DEFINES/_tick.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_tick.dm + +

+ + + + + + + + + + + + +
MAPTICK_MC_MIN_RESERVEPercentage of tick to leave for master controller to run
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

MAPTICK_MC_MIN_RESERVE + + +

+

Percentage of tick to leave for master controller to run

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/admin.html b/code/__DEFINES/admin.html new file mode 100644 index 00000000000..c46bd0e7be4 --- /dev/null +++ b/code/__DEFINES/admin.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/admin.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/admin.dm + +

+ + +
ADMINSAY_PING_UNDERLINE_NAME_INDEXfor asay pings, this is the index in the return list for /proc/check_admin_pings that contains the message modified with underlines for the spotted names

Define Details

+

ADMINSAY_PING_UNDERLINE_NAME_INDEX + + +

+

for asay pings, this is the index in the return list for /proc/check_admin_pings that contains the message modified with underlines for the spotted names

+ + + diff --git a/code/__DEFINES/admin/keybindings.html b/code/__DEFINES/admin/keybindings.html new file mode 100644 index 00000000000..5793df114b2 --- /dev/null +++ b/code/__DEFINES/admin/keybindings.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/admin/keybindings.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/admin/keybindings.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
MAX_HELD_KEYSMax keys that can be held down at once by a client
SKIN_MACROSET_HOTKEYSMacroset name of hotkeys/keybind only/modern mode
SKIN_MACROSET_CLASSIC_HOTKEYSMacroset name of classic hotkey mode
SKIN_MACROSET_CLASSIC_INPUTMacroset name of classic input mode

Define Details

+

MAX_COMMANDS_PER_KEY + + +

+

Maximum keys that can be bound to one button

MAX_HELD_KEYS + + +

+

Max keys that can be held down at once by a client

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

SKIN_MACROSET_CLASSIC_HOTKEYS + + +

+

Macroset name of classic hotkey mode

SKIN_MACROSET_CLASSIC_INPUT + + +

+

Macroset name of classic input mode

SKIN_MACROSET_HOTKEYS + + +

+

Macroset name of hotkeys/keybind only/modern mode

+ + + diff --git a/code/__DEFINES/antagonists.html b/code/__DEFINES/antagonists.html new file mode 100644 index 00000000000..47f86567df7 --- /dev/null +++ b/code/__DEFINES/antagonists.html @@ -0,0 +1,51 @@ + + + + + + + code/__DEFINES/antagonists.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/antagonists.dm + +

+ + + + + +
TELECRYSTALS_DEFAULTHow many telecrystals a normal traitor starts with
TELECRYSTALS_PRELOADED_IMPLANTHow many telecrystals mapper/admin only "precharged" uplink implant
UPLINK_IMPLANT_TELECRYSTAL_COSTThe normal cost of an uplink implant; used for calcuating how many +TC to charge someone if they get a free implant through choice or +because they have nothing else that supports an implant.
ANTAGONIST_PREVIEW_ICON_SIZEThe dimensions of the antagonist preview icon. Will be scaled to this size.

Define Details

+

ANTAGONIST_PREVIEW_ICON_SIZE + + +

+

The dimensions of the antagonist preview icon. Will be scaled to this size.

TELECRYSTALS_DEFAULT + + +

+

How many telecrystals a normal traitor starts with

TELECRYSTALS_PRELOADED_IMPLANT + + +

+

How many telecrystals mapper/admin only "precharged" uplink implant

+

The normal cost of an uplink implant; used for calcuating how many +TC to charge someone if they get a free implant through choice or +because they have nothing else that supports an implant.

+ + + diff --git a/code/__DEFINES/callbacks.html b/code/__DEFINES/callbacks.html new file mode 100644 index 00000000000..38c98256952 --- /dev/null +++ b/code/__DEFINES/callbacks.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/callbacks.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/callbacks.dm + +

+ + +
CALLBACKA shorthand for the callback datum, documented here

Define Details

+

CALLBACK + + +

+

A shorthand for the callback datum, documented here

+ + + diff --git a/code/__DEFINES/cargo.html b/code/__DEFINES/cargo.html new file mode 100644 index 00000000000..c9afe11833b --- /dev/null +++ b/code/__DEFINES/cargo.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/cargo.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cargo.dm + +

+ + +
CARGO_CRATE_VALUEThe baseline unit for cargo crates. Adjusting this will change the cost of all in-game shuttles, crate export values, bounty rewards, and all supply pack import values, as they use this as their unit of measurement.

Define Details

+

CARGO_CRATE_VALUE + + +

+

The baseline unit for cargo crates. Adjusting this will change the cost of all in-game shuttles, crate export values, bounty rewards, and all supply pack import values, as they use this as their unit of measurement.

+ + + diff --git a/code/__DEFINES/color/colors.html b/code/__DEFINES/color/colors.html new file mode 100644 index 00000000000..d9196de9967 --- /dev/null +++ b/code/__DEFINES/color/colors.html @@ -0,0 +1,159 @@ + + + + + + + code/__DEFINES/color/colors.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/color/colors.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
COLOR_SAMPLE_YELLOWColors for xenobiology vatgrowing
COLOR_THEME_MIDNIGHTMain colors for UI themes
COLOR_PERIWINKLEEColors for eigenstates
LIGHT_COLOR_GREENSome defines to generalise colours used in lighting.
LIGHT_COLOR_ELECTRIC_GREENElectric green. rgb(0, 255, 0)
LIGHT_COLOR_BLUECold, diluted blue. rgb(100, 150, 250)
LIGHT_COLOR_BLUEGREENLight blueish green. rgb(125, 225, 175)
LIGHT_COLOR_CYANDiluted cyan. rgb(125, 225, 225)
LIGHT_COLOR_ELECTRIC_CYANElectric cyan rgb(0, 255, 255)
LIGHT_COLOR_LIGHT_CYANMore-saturated cyan. rgb(64, 206, 255)
LIGHT_COLOR_DARK_BLUESaturated blue. rgb(51, 117, 248)
LIGHT_COLOR_PINKDiluted, mid-warmth pink. rgb(225, 125, 225)
LIGHT_COLOR_YELLOWDimmed yellow, leaning kaki. rgb(225, 225, 125)
LIGHT_COLOR_BROWNClear brown, mostly dim. rgb(150, 100, 50)
LIGHT_COLOR_ORANGEMostly pure orange. rgb(250, 150, 50)
LIGHT_COLOR_PURPLELight Purple. rgb(149, 44, 244)
LIGHT_COLOR_LAVENDERLess-saturated light purple. rgb(155, 81, 255)
LIGHT_COLOR_HOLY_MAGICslightly desaturated bright yellow.
LIGHT_COLOR_BLOOD_MAGICdeep crimson
LIGHT_COLOR_FIREWarm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
LIGHT_COLOR_LAVAVery warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
LIGHT_COLOR_FLAREBright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
LIGHT_COLOR_SLIME_LAMPWeird color, between yellow and green, very slimy. rgb(175, 200, 75)
LIGHT_COLOR_TUNGSTENExtremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
LIGHT_COLOR_HALOGENBarely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
COLOR_PRIDE_REDColors for pride week

Define Details

+

COLOR_PERIWINKLEE + + +

+

Colors for eigenstates

COLOR_PRIDE_RED + + +

+

Colors for pride week

COLOR_SAMPLE_YELLOW + + +

+

Colors for xenobiology vatgrowing

COLOR_THEME_MIDNIGHT + + +

+

Main colors for UI themes

LIGHT_COLOR_BLOOD_MAGIC + + +

+

deep crimson

LIGHT_COLOR_BLUE + + +

+

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

LIGHT_COLOR_BLUEGREEN + + +

+

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

LIGHT_COLOR_BROWN + + +

+

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

LIGHT_COLOR_CYAN + + +

+

Diluted cyan. rgb(125, 225, 225)

LIGHT_COLOR_DARK_BLUE + + +

+

Saturated blue. rgb(51, 117, 248)

LIGHT_COLOR_ELECTRIC_CYAN + + +

+

Electric cyan rgb(0, 255, 255)

LIGHT_COLOR_ELECTRIC_GREEN + + +

+

Electric green. rgb(0, 255, 0)

LIGHT_COLOR_FIRE + + +

+

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

LIGHT_COLOR_FLARE + + +

+

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

LIGHT_COLOR_GREEN + + +

+

Some defines to generalise colours used in lighting.

+

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

LIGHT_COLOR_HALOGEN + + +

+

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

LIGHT_COLOR_HOLY_MAGIC + + +

+

slightly desaturated bright yellow.

LIGHT_COLOR_LAVA + + +

+

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

LIGHT_COLOR_LAVENDER + + +

+

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

LIGHT_COLOR_LIGHT_CYAN + + +

+

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

LIGHT_COLOR_ORANGE + + +

+

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

LIGHT_COLOR_PINK + + +

+

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

LIGHT_COLOR_PURPLE + + +

+

Light Purple. rgb(149, 44, 244)

LIGHT_COLOR_SLIME_LAMP + + +

+

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

LIGHT_COLOR_TUNGSTEN + + +

+

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

LIGHT_COLOR_YELLOW + + +

+

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

+ + + diff --git a/code/__DEFINES/combat.html b/code/__DEFINES/combat.html new file mode 100644 index 00000000000..e0708528bb7 --- /dev/null +++ b/code/__DEFINES/combat.html @@ -0,0 +1,169 @@ + + + + + + + code/__DEFINES/combat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/combat.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMBAT_FLAGS_DEFAULTDefault combat flags for those affected by sprinting (combat mode has been made into its own component)
COMBAT_FLAGS_SPRINT_EXEMPTDefault combat flags for everyone else (so literally everyone but humans).
COMBAT_FLAGS_STAMINA_COMBATDefault combat flags for those in stamina combat system
COMBAT_FLAG_SPRINT_TOGGLEDThe user wants sprint mode on
COMBAT_FLAG_SPRINT_ACTIVESprint is currently active
COMBAT_FLAG_ATTEMPTING_CRAWLCurrently attempting to crawl under someone
COMBAT_FLAG_HARD_STAMCRITCurrently stamcritted
COMBAT_FLAG_RESISTING_RESTCurrently attempting to resist up from the ground
COMBAT_FLAG_INTENTIONALLY_RESTINGIntentionally resting
COMBAT_FLAG_STAMINA_BUFFERThis mob requires stamina buffer to do things that require stamina buffer. Not having this exempts the mob from stamina combat.
COMBAT_FLAG_SPRINT_FORCEDForce sprint mode on at all times, overrides everything including sprint disable traits.
COMBAT_FLAG_PARRY_CAPABLEThis mob is capable of using the active parrying system.
COMBAT_FLAG_BLOCK_CAPABLEThis mob is capable of using the active blocking system.
COMBAT_FLAG_UNARMED_PARRYThis mob is capable of unarmed parrying
COMBAT_FLAG_ACTIVE_BLOCKINGThis mob is currently actively blocking
COMBAT_FLAG_ACTIVE_BLOCK_STARTINGThis mob is currently starting an active block
STAMINA_CRITcrit for stamina damage. forces a rest, and stops movement until stamina goes back to stamina softcrit
STAMINA_CRIT_REMOVAL_THRESHOLDThreshold for leaving stamina critical
STAMINA_NO_OVERDRAW_THRESHOLDThreshold under for which you are unable to draw from stamina health to replace stamina buffer
SHOVE_STAGGER_DURATIONhow long they're staggered for
SHOVE_OFFBALANCE_DURATIONhow long they're off balance for
SUPPRESSED_QUIETstandard suppressed
SUPPRESSED_VERYno message
GUN_AIMING_TIMETime to spend without clicking on other things required for your shots to become accurate.
AUTOFIRE_STAT_IDLECompatible firemode is in the gun. Wait until it's held in the user hands.
AUTOFIRE_STAT_ALERTGun is active and in the user hands. Wait until user does a valid click.
AUTOFIRE_STAT_FIRINGGun is shooting.
FEEBLE_ATTACK_MSG_THRESHOLDshould the current-attack-damage be lower than the item force multiplied by this value, +a "inefficiently" prefix will be added to the message.

Define Details

+

AUTOFIRE_STAT_ALERT + + +

+

Gun is active and in the user hands. Wait until user does a valid click.

AUTOFIRE_STAT_FIRING + + +

+

Gun is shooting.

AUTOFIRE_STAT_IDLE + + +

+

Compatible firemode is in the gun. Wait until it's held in the user hands.

COMBAT_FLAGS_DEFAULT + + +

+

Default combat flags for those affected by sprinting (combat mode has been made into its own component)

COMBAT_FLAGS_SPRINT_EXEMPT + + +

+

Default combat flags for everyone else (so literally everyone but humans).

COMBAT_FLAGS_STAMINA_COMBAT + + +

+

Default combat flags for those in stamina combat system

COMBAT_FLAG_ACTIVE_BLOCKING + + +

+

This mob is currently actively blocking

COMBAT_FLAG_ACTIVE_BLOCK_STARTING + + +

+

This mob is currently starting an active block

COMBAT_FLAG_ATTEMPTING_CRAWL + + +

+

Currently attempting to crawl under someone

COMBAT_FLAG_BLOCK_CAPABLE + + +

+

This mob is capable of using the active blocking system.

COMBAT_FLAG_HARD_STAMCRIT + + +

+

Currently stamcritted

COMBAT_FLAG_INTENTIONALLY_RESTING + + +

+

Intentionally resting

COMBAT_FLAG_PARRY_CAPABLE + + +

+

This mob is capable of using the active parrying system.

COMBAT_FLAG_RESISTING_REST + + +

+

Currently attempting to resist up from the ground

COMBAT_FLAG_SPRINT_ACTIVE + + +

+

Sprint is currently active

COMBAT_FLAG_SPRINT_FORCED + + +

+

Force sprint mode on at all times, overrides everything including sprint disable traits.

COMBAT_FLAG_SPRINT_TOGGLED + + +

+

The user wants sprint mode on

COMBAT_FLAG_STAMINA_BUFFER + + +

+

This mob requires stamina buffer to do things that require stamina buffer. Not having this exempts the mob from stamina combat.

COMBAT_FLAG_UNARMED_PARRY + + +

+

This mob is capable of unarmed parrying

FEEBLE_ATTACK_MSG_THRESHOLD + + +

+

should the current-attack-damage be lower than the item force multiplied by this value, +a "inefficiently" prefix will be added to the message.

GUN_AIMING_TIME + + +

+

Time to spend without clicking on other things required for your shots to become accurate.

SHOVE_OFFBALANCE_DURATION + + +

+

how long they're off balance for

SHOVE_STAGGER_DURATION + + +

+

how long they're staggered for

STAMINA_CRIT + + +

+

crit for stamina damage. forces a rest, and stops movement until stamina goes back to stamina softcrit

STAMINA_CRIT_REMOVAL_THRESHOLD + + +

+

Threshold for leaving stamina critical

STAMINA_NO_OVERDRAW_THRESHOLD + + +

+

Threshold under for which you are unable to draw from stamina health to replace stamina buffer

SUPPRESSED_QUIET + + +

+

standard suppressed

SUPPRESSED_VERY + + +

+

no message

+ + + diff --git a/code/__DEFINES/combat/attack_types.html b/code/__DEFINES/combat/attack_types.html new file mode 100644 index 00000000000..c8eb6451ba8 --- /dev/null +++ b/code/__DEFINES/combat/attack_types.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/combat/attack_types.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/combat/attack_types.dm + +

+ + + + + + + +
ATTACK_TYPE_MELEEAttack was melee, whether or not armed.
ATTACK_TYPE_PROJECTILEAttack was with a gun or something that should count as a gun (but not if a gun shouldn't count for a gun, crazy right?)
ATTACK_TYPE_UNARMEDAttack was unarmed.. this usually means hand to hand combat.
ATTACK_TYPE_THROWNAttack was a thrown atom hitting the victim.
ATTACK_TYPE_TACKLEAttack was a bodyslam/leap/tackle. See: Xenomorph leap tackles.
ATTACK_TYPE_PARRY_COUNTERATTACKAttack was from a parry counterattack. Do not attempt to parry-this!

Define Details

+

ATTACK_TYPE_MELEE + + +

+

Attack was melee, whether or not armed.

ATTACK_TYPE_PARRY_COUNTERATTACK + + +

+

Attack was from a parry counterattack. Do not attempt to parry-this!

ATTACK_TYPE_PROJECTILE + + +

+

Attack was with a gun or something that should count as a gun (but not if a gun shouldn't count for a gun, crazy right?)

ATTACK_TYPE_TACKLE + + +

+

Attack was a bodyslam/leap/tackle. See: Xenomorph leap tackles.

ATTACK_TYPE_THROWN + + +

+

Attack was a thrown atom hitting the victim.

ATTACK_TYPE_UNARMED + + +

+

Attack was unarmed.. this usually means hand to hand combat.

+ + + diff --git a/code/__DEFINES/combat/block.html b/code/__DEFINES/combat/block.html new file mode 100644 index 00000000000..b2dc9533bde --- /dev/null +++ b/code/__DEFINES/combat/block.html @@ -0,0 +1,184 @@ + + + + + + + code/__DEFINES/combat/block.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/combat/block.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
mob_check_blockCheck whether or not we can block, without "triggering" a block. Basically run checks without effects like depleting shields. +Wrapper for do_run_block(). The arguments on that means the same as for this.
mob_run_blockRuns a block "sequence", effectively checking and then doing effects if necessary. +Wrapper for do_run_block(). The arguments on that means the same as for this.
BLOCK_NONEBitflags for check_block() and handle_block(). Meant to be combined. You can be hit and still reflect, for example, if you do not use BLOCK_SUCCESS. +Attack was not blocked
BLOCK_SUCCESSAttack was blocked, do not do damage. THIS FLAG MUST BE THERE FOR DAMAGE/EFFECT PREVENTION!
BLOCK_SHOULD_REDIRECTThe below are for "metadata" on "how" the attack was blocked. +Attack was and should be redirected according to list argument REDIRECT_METHOD (NOTE: the SHOULD here is important, as it says "the thing blocking isn't handling the reflecting for you so do it yourself"!)
BLOCK_REDIRECTEDAttack was redirected (whether by us or by SHOULD_REDIRECT flagging for automatic handling)
BLOCK_PHYSICAL_EXTERNALAttack was blocked by something like a shield.
BLOCK_PHYSICAL_INTERNALAttack was blocked by something worn on you.
BLOCK_TARGET_DODGEDAttack outright missed because the target dodged. Should usually be combined with redirection passthrough or something (see martial arts)
BLOCK_CONTINUE_CHAINMeta-flag for run_block/do_run_block : By default, BLOCK_SUCCESS tells do_run_block() to assume the attack is completely blocked and not continue the block chain. If this is present, it will continue to check other items in the chain rather than stopping.
BLOCK_SHOULD_CHANGE_DAMAGEAttack should change the amount of damage incurred. This means something calling run_block() has to handle it!
BLOCK_SHOULD_PARTIAL_MITIGATEAttack should scale by this percent, 0 for no block and 100 for full blocked
BLOCK_RETURN_REDIRECT_METHODFor keys in associative list/block_return as we don't want to saturate our (somewhat) limited flags.
REDIRECT_METHOD_PASSTHROUGHPass through victim
REDIRECT_METHOD_DEFLECTDeflect at randomish angle
REDIRECT_METHOD_REFLECTreverse 180 angle, basically (as opposed to "realistic" wall reflections)
REDIRECT_METHOD_RETURN_TO_SENDER"do not taser the bad man with the desword" - actually aims at the firer/attacker rather than just reversing
BLOCK_RETURN_REFLECT_PROJECTILE_CHANCEThese keys are generally only applied to the list if real_attack is FALSE. Used incase we want to make "smarter" mob AI in the future or something. +Tells the caller how likely from 0 (none) to 100 (always) we are to reflect energy projectiles
BLOCK_RETURN_NORMAL_BLOCK_CHANCETells the caller how likely we are to block attacks from 0 to 100 in general
BLOCK_RETURN_BLOCK_CAPACITYTells the caller about how many hits we can soak on average before our blocking fails.
BLOCK_RETURN_ACTIVE_BLOCKTells the caller we got blocked by active directional block.
BLOCK_RETURN_ACTIVE_BLOCK_DAMAGE_MITIGATEDTells the caller our damage mitigation for their attack.
BLOCK_RETURN_SET_DAMAGE_TOFor [BLOCK_CHANGE_DAMAGE]. Set damage to this.
BLOCK_RETURN_MITIGATION_PERCENTFor BLOCK_SHOULD_PARTIAL_MITIGATE. Percentage mitigation.
BLOCK_RETURN_OVERRIDE_PARRY_EFFICIENCYUsed internally by run_parry proc, use on an on_active_parry() proc to override parrying efficiency.
BLOCK_RETURN_FORCE_NO_PARRY_COUNTERATTACKUsed internally by run_parry proc, use on an on_active_parry() proc to prevent counterattacks
BLOCK_RETURN_PROJECTILE_BLOCK_PERCENTAGEAlways set to 100 by run_block() if BLOCK_SUCCESS is in return value. Otherwise, defaults to mitigation percent if not set. Used by projectile/proc/on_hit().
DEFAULT_REDIRECT_METHOD_PROJECTILEDefault if the above isn't set in the list.
BLOCK_PRIORITY_ACTIVE_BLOCKBlock priorities. Higher means it's checked sooner.

Define Details

+

BLOCK_CONTINUE_CHAIN + + +

+

Meta-flag for run_block/do_run_block : By default, BLOCK_SUCCESS tells do_run_block() to assume the attack is completely blocked and not continue the block chain. If this is present, it will continue to check other items in the chain rather than stopping.

BLOCK_NONE + + +

+

Bitflags for check_block() and handle_block(). Meant to be combined. You can be hit and still reflect, for example, if you do not use BLOCK_SUCCESS. +Attack was not blocked

BLOCK_PHYSICAL_EXTERNAL + + +

+

Attack was blocked by something like a shield.

BLOCK_PHYSICAL_INTERNAL + + +

+

Attack was blocked by something worn on you.

BLOCK_PRIORITY_ACTIVE_BLOCK + + +

+

Block priorities. Higher means it's checked sooner.

BLOCK_REDIRECTED + + +

+

Attack was redirected (whether by us or by SHOULD_REDIRECT flagging for automatic handling)

BLOCK_RETURN_ACTIVE_BLOCK + + +

+

Tells the caller we got blocked by active directional block.

BLOCK_RETURN_ACTIVE_BLOCK_DAMAGE_MITIGATED + + +

+

Tells the caller our damage mitigation for their attack.

BLOCK_RETURN_BLOCK_CAPACITY + + +

+

Tells the caller about how many hits we can soak on average before our blocking fails.

BLOCK_RETURN_FORCE_NO_PARRY_COUNTERATTACK + + +

+

Used internally by run_parry proc, use on an on_active_parry() proc to prevent counterattacks

BLOCK_RETURN_MITIGATION_PERCENT + + +

+

For BLOCK_SHOULD_PARTIAL_MITIGATE. Percentage mitigation.

BLOCK_RETURN_NORMAL_BLOCK_CHANCE + + +

+

Tells the caller how likely we are to block attacks from 0 to 100 in general

BLOCK_RETURN_OVERRIDE_PARRY_EFFICIENCY + + +

+

Used internally by run_parry proc, use on an on_active_parry() proc to override parrying efficiency.

BLOCK_RETURN_PROJECTILE_BLOCK_PERCENTAGE + + +

+

Always set to 100 by run_block() if BLOCK_SUCCESS is in return value. Otherwise, defaults to mitigation percent if not set. Used by projectile/proc/on_hit().

BLOCK_RETURN_REDIRECT_METHOD + + +

+

For keys in associative list/block_return as we don't want to saturate our (somewhat) limited flags.

BLOCK_RETURN_REFLECT_PROJECTILE_CHANCE + + +

+

These keys are generally only applied to the list if real_attack is FALSE. Used incase we want to make "smarter" mob AI in the future or something. +Tells the caller how likely from 0 (none) to 100 (always) we are to reflect energy projectiles

BLOCK_RETURN_SET_DAMAGE_TO + + +

+

For [BLOCK_CHANGE_DAMAGE]. Set damage to this.

BLOCK_SHOULD_CHANGE_DAMAGE + + +

+

Attack should change the amount of damage incurred. This means something calling run_block() has to handle it!

BLOCK_SHOULD_PARTIAL_MITIGATE + + +

+

Attack should scale by this percent, 0 for no block and 100 for full blocked

BLOCK_SHOULD_REDIRECT + + +

+

The below are for "metadata" on "how" the attack was blocked. +Attack was and should be redirected according to list argument REDIRECT_METHOD (NOTE: the SHOULD here is important, as it says "the thing blocking isn't handling the reflecting for you so do it yourself"!)

BLOCK_SUCCESS + + +

+

Attack was blocked, do not do damage. THIS FLAG MUST BE THERE FOR DAMAGE/EFFECT PREVENTION!

BLOCK_TARGET_DODGED + + +

+

Attack outright missed because the target dodged. Should usually be combined with redirection passthrough or something (see martial arts)

DEFAULT_REDIRECT_METHOD_PROJECTILE + + +

+

Default if the above isn't set in the list.

REDIRECT_METHOD_DEFLECT + + +

+

Deflect at randomish angle

REDIRECT_METHOD_PASSTHROUGH + + +

+

Pass through victim

REDIRECT_METHOD_REFLECT + + +

+

reverse 180 angle, basically (as opposed to "realistic" wall reflections)

REDIRECT_METHOD_RETURN_TO_SENDER + + +

+

"do not taser the bad man with the desword" - actually aims at the firer/attacker rather than just reversing

mob_check_block + + + +

+

Check whether or not we can block, without "triggering" a block. Basically run checks without effects like depleting shields. +Wrapper for do_run_block(). The arguments on that means the same as for this.

mob_run_block + + + +

+

Runs a block "sequence", effectively checking and then doing effects if necessary. +Wrapper for do_run_block(). The arguments on that means the same as for this.

+ + + diff --git a/code/__DEFINES/combat/block_parry.html b/code/__DEFINES/combat/block_parry.html new file mode 100644 index 00000000000..7761cf74f76 --- /dev/null +++ b/code/__DEFINES/combat/block_parry.html @@ -0,0 +1,89 @@ + + + + + + + code/__DEFINES/combat/block_parry.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/combat/block_parry.dm + +

+ + + + + + + + + + + + + +
ACTIVE_BLOCK_STARTING_INTERRUPTIf this is the value of active_block_starting it signals we want to interrupt the start
UNARMED_PARRY""types"" of parry "items"
NOT_PARRYINGParry phase we're in
PARRY_DEFAULT_HANDLE_FEEDBACKDefault handling for audio/visual feedback
PARRY_LOCK_SPRINTINGLock sprinting while parrying
PARRY_LOCK_ATTACKINGLock attacking while parrying
PARRY_COUNTERATTACK_MELEE_ATTACK_CHAINParry effects. +Automatically melee attacks back normally, LMB equivalent action of an harm intent attack. List association should be defaulting to 1, being the attack damage multiplier for said counterattack
PARRY_DISARM_ATTACKERList association should be TRUE.
PARRY_KNOCKDOWN_ATTACKERList association should be duration or null for just plain knockdown.
PARRY_STAGGER_ATTACKERList association should be duration.
PARRY_DAZE_ATTACKERList association should be amount of time to daze attacker.
PARRY_COUNTERATTACK_IGNORE_ADJACENCYSet to TRUE in list association to ignore adjacency checks

Define Details

+

ACTIVE_BLOCK_STARTING_INTERRUPT + + +

+

If this is the value of active_block_starting it signals we want to interrupt the start

NOT_PARRYING + + +

+

Parry phase we're in

PARRY_COUNTERATTACK_IGNORE_ADJACENCY + + +

+

Set to TRUE in list association to ignore adjacency checks

PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN + + +

+

Parry effects. +Automatically melee attacks back normally, LMB equivalent action of an harm intent attack. List association should be defaulting to 1, being the attack damage multiplier for said counterattack

PARRY_DAZE_ATTACKER + + +

+

List association should be amount of time to daze attacker.

PARRY_DEFAULT_HANDLE_FEEDBACK + + +

+

Default handling for audio/visual feedback

PARRY_DISARM_ATTACKER + + +

+

List association should be TRUE.

PARRY_KNOCKDOWN_ATTACKER + + +

+

List association should be duration or null for just plain knockdown.

PARRY_LOCK_ATTACKING + + +

+

Lock attacking while parrying

PARRY_LOCK_SPRINTING + + +

+

Lock sprinting while parrying

PARRY_STAGGER_ATTACKER + + +

+

List association should be duration.

UNARMED_PARRY + + +

+

""types"" of parry "items"

+ + + diff --git a/code/__DEFINES/combat/stamina_combat.html b/code/__DEFINES/combat/stamina_combat.html new file mode 100644 index 00000000000..5bbe654e18b --- /dev/null +++ b/code/__DEFINES/combat/stamina_combat.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/combat/stamina_combat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/combat/stamina_combat.dm + +

+ + + + + +
STAM_COST_W_CLASS_MULTBase stamina cost for an item of a certain w_class without total_mass set.
STAMINA_COST_ITEM_EYESTABUsage for eyestabbing with a screwdriver
STAMINA_COST_SHOVE_UPUsage for shoving yourself off the ground instantly
LYING_DAMAGE_PENALTYDamage penalty when fighting prone.

Define Details

+

LYING_DAMAGE_PENALTY + + +

+

Damage penalty when fighting prone.

STAMINA_COST_ITEM_EYESTAB + + +

+

Usage for eyestabbing with a screwdriver

STAMINA_COST_SHOVE_UP + + +

+

Usage for shoving yourself off the ground instantly

STAM_COST_W_CLASS_MULT + + +

+

Base stamina cost for an item of a certain w_class without total_mass set.

+ + + diff --git a/code/__DEFINES/configuration.html b/code/__DEFINES/configuration.html new file mode 100644 index 00000000000..fc574f01ff4 --- /dev/null +++ b/code/__DEFINES/configuration.html @@ -0,0 +1,84 @@ + + + + + + + code/__DEFINES/configuration.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/configuration.dm + +

+ + + + + + + + + + + + +
CONFIG_GET_ENTRYGets the datum of the object, for when editing a const define.
CONFIG_CACHE_ENTRY_AND_FETCH_VALUECaches an entry in the proc
POLICYCONFIG_ON_CLONEDisplayed to cloned patients
POLICYCONFIG_ON_DEFIB_INTACTDisplayed to defibbed/revival surgery'd patients before the memory loss time threshold
POLICYCONFIG_ON_DEFIB_LATEDisplayed to defibbed/revival surgery'd patients after the memory loss time threshold
POLICYCONFIG_ON_PYROCLASTIC_SENTIENTDisplayed to pyroclastic slimes on spawn
POLICYCONFIG_PAIDisplayed to pAIs on spawn
POLICYCONFIG_ELITE_SPAWNdisplayed to lavaland elites on spawn, overriding the default if set
POLICYCONFIG_ELITE_SENTIENCEdisplayed to lavaland elites on sentience potion, overriding the default if set
POLICYCONFIG_ELITE_WINdisplayed to lavaland elites on winning the fight, overriding the default if set
POLICYCONFIG_JOB_PRISONERdisplayed to prisoners on spawn, overriding the default if set

Define Details

+

CONFIG_CACHE_ENTRY_AND_FETCH_VALUE + + + +

+

Caches an entry in the proc

CONFIG_GET_ENTRY + + + +

+

Gets the datum of the object, for when editing a const define.

POLICYCONFIG_ELITE_SENTIENCE + + +

+

displayed to lavaland elites on sentience potion, overriding the default if set

POLICYCONFIG_ELITE_SPAWN + + +

+

displayed to lavaland elites on spawn, overriding the default if set

POLICYCONFIG_ELITE_WIN + + +

+

displayed to lavaland elites on winning the fight, overriding the default if set

POLICYCONFIG_JOB_PRISONER + + +

+

displayed to prisoners on spawn, overriding the default if set

POLICYCONFIG_ON_CLONE + + +

+

Displayed to cloned patients

POLICYCONFIG_ON_DEFIB_INTACT + + +

+

Displayed to defibbed/revival surgery'd patients before the memory loss time threshold

POLICYCONFIG_ON_DEFIB_LATE + + +

+

Displayed to defibbed/revival surgery'd patients after the memory loss time threshold

POLICYCONFIG_ON_PYROCLASTIC_SENTIENT + + +

+

Displayed to pyroclastic slimes on spawn

POLICYCONFIG_PAI + + +

+

Displayed to pAIs on spawn

+ + + diff --git a/code/__DEFINES/cooldowns.html b/code/__DEFINES/cooldowns.html new file mode 100644 index 00000000000..9dfe6019fd2 --- /dev/null +++ b/code/__DEFINES/cooldowns.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/cooldowns.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cooldowns.dm + +

+ + +
COOLDOWN_EMPLOYMENT_CABINETCOOLDOWN SYSTEMS

Define Details

+

COOLDOWN_EMPLOYMENT_CABINET + + +

+

COOLDOWN SYSTEMS

+ + + diff --git a/code/__DEFINES/dcs/flags.html b/code/__DEFINES/dcs/flags.html new file mode 100644 index 00000000000..1717528fcfe --- /dev/null +++ b/code/__DEFINES/dcs/flags.html @@ -0,0 +1,165 @@ + + + + + + + code/__DEFINES/dcs/flags.dm - Nostra-13 + + +
+ Nostra-13 - + 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
ID_COMPONENT_DEL_ON_IDENTIFY/ Identification //// +Delete on successful broad identification (so the main way we "uncover" how an object works, since this won't be on it to obfuscate it)
ID_COMPONENT_DECONSTRUCTOR_DEEPSCANNEDWe've already been successfully deepscanned by a deconstructive analyzer
ID_COMPONENT_EFFECT_NO_ACTIONSBlock user from getting actions if they don't know how to use this. Triggered on equip.
ID_COMPONENT_IDENTIFY_WITH_DECONSTRUCTORCan be identified in a deconstructive analyzer
ID_COMPONENT_KNOWLEDGE_NONEHas no knowledge, default
ID_COMPONENT_KNOWLEDGE_FULLHas full knowledge
COMBAT_MODE_TOGGLEDThe user wants combat mode on
COMBAT_MODE_ACTIVEcombat mode is active.
COMBAT_MODE_INACTIVEcombat mode is not active
UPDATE_NAMEUpdate the atom's name
UPDATE_DESCUpdate the atom's desc
UPDATE_ICON_STATEUpdate the atom's icon state
UPDATE_OVERLAYSUpdate the atom's overlays
UPDATE_GREYSCALEUpdate the atom's greyscaling
UPDATE_SMOOTHINGUpdate the atom's smoothing. (More accurately, queue it for an update)
UPDATE_ICONUpdate the atom's icon

Define Details

+

COMBAT_MODE_ACTIVE + + +

+

combat mode is active.

COMBAT_MODE_INACTIVE + + +

+

combat mode is not active

COMBAT_MODE_TOGGLED + + +

+

The user wants combat mode on

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

ID_COMPONENT_DECONSTRUCTOR_DEEPSCANNED + + +

+

We've already been successfully deepscanned by a deconstructive analyzer

ID_COMPONENT_DEL_ON_IDENTIFY + + +

+

/ Identification //// +Delete on successful broad identification (so the main way we "uncover" how an object works, since this won't be on it to obfuscate it)

ID_COMPONENT_EFFECT_NO_ACTIONS + + +

+

Block user from getting actions if they don't know how to use this. Triggered on equip.

ID_COMPONENT_IDENTIFY_WITH_DECONSTRUCTOR + + +

+

Can be identified in a deconstructive analyzer

ID_COMPONENT_KNOWLEDGE_FULL + + +

+

Has full knowledge

ID_COMPONENT_KNOWLEDGE_NONE + + +

+

Has no knowledge, default

UPDATE_DESC + + +

+

Update the atom's desc

UPDATE_GREYSCALE + + +

+

Update the atom's greyscaling

UPDATE_ICON + + +

+

Update the atom's icon

UPDATE_ICON_STATE + + +

+

Update the atom's icon state

UPDATE_NAME + + +

+

Update the atom's name

UPDATE_OVERLAYS + + +

+

Update the atom's overlays

UPDATE_SMOOTHING + + +

+

Update the atom's smoothing. (More accurately, queue it for an update)

+ + + diff --git a/code/__DEFINES/dcs/helpers.html b/code/__DEFINES/dcs/helpers.html new file mode 100644 index 00000000000..fda217a76e0 --- /dev/null +++ b/code/__DEFINES/dcs/helpers.html @@ -0,0 +1,71 @@ + + + + + + + code/__DEFINES/dcs/helpers.dm - Nostra-13 + + +
+ Nostra-13 - + 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.html b/code/__DEFINES/dcs/signals.html new file mode 100644 index 00000000000..a580d546e6e --- /dev/null +++ b/code/__DEFINES/dcs/signals.html @@ -0,0 +1,618 @@ + + + + + + + code/__DEFINES/dcs/signals.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_GLOB_NEW_Zfrom base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
COMSIG_GLOB_VAR_EDITcalled after a successful var edit somewhere in the world: (list/args)
COMSIG_GLOB_EXPLOSIONcalled after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)
COMSIG_GLOB_MOB_CREATEDmob was created somewhere : (mob)
COMSIG_GLOB_MOB_DEATHmob died somewhere : (mob , gibbed)
COMSIG_GLOB_LIVING_SAY_SPECIALglobal living say plug - use sparingly: (mob/speaker , message)
COMSIG_GLOB_PLAY_CINEMATICcalled by datum/cinematic/play() : (datum/cinematic/new_cinematic)
COMSIG_GLOB_JOB_AFTER_SPAWNjob subsystem has spawned and equipped a new mob
COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWNjob datum has been called to deal with the aftermath of a latejoin spawn
CANCEL_PRE_RANDOM_EVENTDo not allow this random event to continue.
COMSIG_WEATHER_TELEGRAPHa weather event of some kind occured
COMSIG_GLOB_NEW_GAScalled by auxgm add_gas: (gas_id)
COMSIG_SUN_MOVEDfrom SSsun when the sun changes position : (primary_sun, suns)
COMSIG_SECURITY_LEVEL_CHANGEDfrom SSsecurity_level when the security level changes : (new_level)
COMSIG_THREAT_CALCfrom SSactivity for things that add threat but aren't "global" (e.g. phylacteries)
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 nonzero 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_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_COMPONENT_UNREGISTER_PARENTsent to the component itself when unregistered from a parent
COMSIG_COMPONENT_REGISTER_PARENTsent to the component itself when registered to a parent
COMPONENT_ADD_TRAITTrait signals
COMSIG_ATOM_GET_EXAMINE_NAMEfrom base of atom/get_examine_name(): (/mob, list/overrides)
COMSIG_PARENT_EXAMINE_MOREfrom base of atom/examine_more(): (/mob)
COMSIG_ATOM_UPDATE_APPEARANCEfrom base of /atom/proc/update_appearance: (updates)
COMSIG_ATOM_NO_UPDATE_NAMEIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its name.
COMSIG_ATOM_NO_UPDATE_DESCIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its desc.
COMSIG_ATOM_NO_UPDATE_ICONIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its icon.
COMSIG_ATOM_UPDATE_NAMEfrom base of /atom/proc/update_name: (updates)
COMSIG_ATOM_UPDATE_DESCfrom base of /atom/proc/update_desc: (updates)
COMSIG_ATOM_UPDATE_ICONfrom base of /atom/update_icon: ()
COMSIG_ATOM_NO_UPDATE_ICON_STATEIf returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its icon state.
COMSIG_ATOM_NO_UPDATE_OVERLAYSIf returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its overlays.
COMSIG_ATOM_UPDATE_ICON_STATEfrom base of atom/update_icon_state: ()
COMSIG_ATOM_UPDATE_OVERLAYSfrom base of /atom/update_overlays: (list/new_overlays)
COMSIG_ATOM_UPDATED_ICONfrom base of /atom/update_icon: (signalOut, did_anything)
COMSIG_ATOM_WAVE_EX_ACTFrom base of atom/wave_ex_act(): (datum/wave_explosion/explosion, args)
COMSIG_ATOM_EX_ACTfrom base of atom/ex_act(): (severity, target)
COMSIG_ATOM_EMP_ACTfrom base of atom/emp_act(): (severity)
COMSIG_ATOM_FIRE_ACTfrom base of atom/fire_act(): (exposed_temperature, exposed_volume)
COMSIG_ATOM_BULLET_ACTfrom base of atom/bullet_act(): (/obj/item/projectile, def_zone)
COMSIG_ATOM_BLOB_ACTfrom base of atom/blob_act(): (/obj/structure/blob)
COMSIG_ATOM_ACID_ACTfrom base of atom/acid_act(): (acidpwr, acid_volume)
COMSIG_ATOM_EMAG_ACTfrom base of atom/emag_act(): (/mob/user)
COMSIG_ATOM_RAD_ACTfrom base of atom/rad_act(intensity)
COMSIG_ATOM_NARSIE_ACTfrom base of atom/narsie_act(): ()
COMSIG_ATOM_RATVAR_ACTfrom base of atom/ratvar_act(): ()
COMSIG_ATOM_RCD_ACTfrom base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)
COMSIG_ATOM_SING_PULLfrom base of atom/singularity_pull(): (S, current_size)
COMSIG_ATOM_BSA_BEAMfrom obj/machinery/bsa/full/proc/fire(): ()
COMSIG_ATOM_DIR_CHANGEfrom base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.
COMSIG_ATOM_CONTENTS_DELfrom base of atom/handle_atom_del(): (atom/deleted)
COMSIG_ATOM_HAS_GRAVITYfrom base of atom/has_gravity(): (turf/location, list/forced_gravities)
COMSIG_ATOM_RAD_PROBEfrom proc/get_rad_contents(): ()
COMSIG_ATOM_RAD_CONTAMINATINGfrom base of datum/radiation_wave/radiate(): (strength)
COMSIG_ATOM_RAD_WAVE_PASSINGfrom base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width)
COMSIG_ATOM_CANREACHfrom internal loop in atom/movable/proc/CanReach(): (list/next)
COMSIG_ATOM_ORBIT_BEGINCalled from orbit component: (atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation)
COMSIG_ATOM_ORBIT_ENDCalled from orbit component: (atom/movable/orbiter, refreshing)
COMSIG_TURF_CHANGEfrom base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps)
COMSIG_TURF_HAS_GRAVITYfrom base of atom/has_gravity(): (atom/asker, list/forced_gravities)
COMSIG_TURF_MULTIZ_DELfrom base of turf/multiz_turf_del(): (turf/source, direction)
COMSIG_TURF_MULTIZ_NEWfrom base of turf/multiz_turf_new: (turf/source, direction)
COMSIG_MOVABLE_PRE_MOVEfrom base of atom/movable/Moved(): (/atom)
COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSHif true, flip if the impact will push what it hits
COMPONENT_MOVABLE_IMPACT_NEVERMINDreturn true if you destroyed whatever it was you're impacting and there won't be anything for hitby() to run on
COMSIG_MOB_EYECONTACTfrom /mob/living/handle_eye_contact(): (mob/living/other_mob)
COMSIG_BLOCK_EYECONTACTreturn this if you want to block printing this message to this person, if you want to print your own (does not affect the other person's message)
COMSIG_MOB_ALTCLICKONfrom base of mob/AltClickOn(): (atom/A)
COMSIG_GUN_AUTOFIRE_SELECTEDWhen a gun is switched to automatic fire mode
COMSIG_GUN_AUTOFIRE_DESELECTEDWhen a gun is switched off of automatic fire mode
COMSIG_ATOM_SET_LIGHTfrom base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on)
COMPONENT_BLOCK_LIGHT_UPDATEBlocks [/atom/proc/set_light], [/atom/proc/set_light_power], /atom/proc/set_light_range, /atom/proc/set_light_color, [/atom/proc/set_light_on], and [/atom/proc/set_light_flags].
COMSIG_ATOM_SET_LIGHT_POWERCalled right before the atom changes the value of light_power to a different one, from base [atom/proc/set_light_power]: (new_power)
COMSIG_ATOM_UPDATE_LIGHT_POWERCalled right after the atom changes the value of light_power to a different one, from base of [/atom/proc/set_light_power]: (old_power)
COMSIG_ATOM_SET_LIGHT_RANGECalled right before the atom changes the value of light_range to a different one, from base atom/proc/set_light_range: (new_range)
COMSIG_ATOM_UPDATE_LIGHT_RANGECalled right after the atom changes the value of light_range to a different one, from base of /atom/proc/set_light_range: (old_range)
COMSIG_ATOM_SET_LIGHT_COLORCalled right before the atom changes the value of light_color to a different one, from base atom/proc/set_light_color: (new_color)
COMSIG_ATOM_UPDATE_LIGHT_COLORCalled right after the atom changes the value of light_color to a different one, from base of /atom/proc/set_light_color: (old_color)
COMSIG_ATOM_SET_LIGHT_ONCalled right before the atom changes the value of light_on to a different one, from base [atom/proc/set_light_on]: (new_value)
COMSIG_ATOM_UPDATE_LIGHT_ONCalled right after the atom changes the value of light_on to a different one, from base of [/atom/proc/set_light_on]: (old_value)
COMSIG_ATOM_SET_LIGHT_FLAGSCalled right before the atom changes the value of light_flags to a different one, from base [atom/proc/set_light_flags]: (new_flags)
COMSIG_ATOM_UPDATE_LIGHT_FLAGSCalled right after the atom changes the value of light_flags to a different one, from base of [/atom/proc/set_light_flags]: (old_flags)
COMSIG_MOB_CLIENT_LOGINsent when a mob/login() finishes: (client)
COMSIG_CARBON_ATTACH_LIMBfrom base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment
COMSIG_MACHINERY_POWER_LOSTfrom base power_change() when power is lost
COMSIG_MACHINERY_POWER_RESTOREDfrom base power_change() when power is restored
COMSIG_MACHINERY_BROKENfrom /obj/machinery/obj_break(damage_flag): (damage_flag)
COMSIG_SUPERMATTER_DELAM_START_ALARMfrom /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM delam reaches the point of sounding alarms
COMSIG_SUPERMATTER_DELAM_ALARMfrom /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm
COMSIG_MOB_UNEQUIPPED_ITEMA mob has just unequipped an item.
COMSIG_ITEM_DISABLE_EMBEDfrom /obj/item/proc/disableEmbedding:
COMSIG_MINE_TRIGGEREDfrom [/obj/effect/mine/proc/triggermine]:
COMSIG_ITEM_OFFERINGCalled when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)]
COMPONENT_OFFER_INTERRUPTInterrupts the offer proc
COMSIG_ITEM_OFFER_TAKENCalled when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offer, mob/living/carbon/taker)]
COMPONENT_OFFER_TAKE_INTERRUPTInterrupts the offer acceptance
COMSIG_SUPPLYPOD_LANDEDfrom [/obj/structure/closet/supplypod/proc/endlaunch]:
COMSIG_PROJECTILE_SELF_ON_HITfrom base of /obj/item/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle, hit_limb)
COMSIG_PROJECTILE_ON_HITfrom base of /obj/item/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle, hit_limb)
COMSIG_PROJECTILE_FIREfrom the base of /obj/item/projectile/proc/fire(): ()
COMSIG_PROJECTILE_PREHITsent to targets during the process_hit proc of projectiles
COMSIG_MECHA_MELEE_CLICKsent from clicking while you have no equipment selected. Sent before cooldown and adjacency checks, so you can use this for infinite range things if you want.
COMPONENT_CANCEL_MELEE_CLICKPrevents click from happening.
COMSIG_MECHA_EQUIPMENT_CLICKsent from clicking while you have equipment selected.
COMPONENT_CANCEL_EQUIPMENT_CLICKPrevents click from happening.
COMSIG_LIVING_PREDEATHfrom base of mob/living/death(): (gibbed)
COMSIG_TURF_IS_WETComponent Specific Signals
COMSIG_VOID_MASK_ACTMask of Madness
COMSIG_NANITE_CHECK_CONSOLE_LOCKChecks if a nanite component is able to be controlled by console
COMSIG_NANITE_CHECK_HOST_LOCKChecks if a nanite component is able to be interfaced with by a host with innate nanite control
COMSIG_NANITE_CHECK_VIRAL_PREVENTIONChecks if a nanite component is able to be overwritten by viral replica
COMSIG_TWITCH_PLAYS_MOVEMENT_DATAReturns direction: (wipe_votes)
COMSIG_ON_MULTIPLE_LIVES_RESPAWNfrom base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left)

Define Details

+

CANCEL_PRE_RANDOM_EVENT + + +

+

Do not allow this random event to continue.

COMPONENT_ADD_TRAIT + + +

+

Trait signals

COMPONENT_BLOCK_LIGHT_UPDATE + + +

+

Blocks [/atom/proc/set_light], [/atom/proc/set_light_power], /atom/proc/set_light_range, /atom/proc/set_light_color, [/atom/proc/set_light_on], and [/atom/proc/set_light_flags].

COMPONENT_CANCEL_EQUIPMENT_CLICK + + +

+

Prevents click from happening.

COMPONENT_CANCEL_MELEE_CLICK + + +

+

Prevents click from happening.

COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH + + +

+

if true, flip if the impact will push what it hits

COMPONENT_MOVABLE_IMPACT_NEVERMIND + + +

+

return true if you destroyed whatever it was you're impacting and there won't be anything for hitby() to run on

COMPONENT_OFFER_INTERRUPT + + +

+

Interrupts the offer proc

COMPONENT_OFFER_TAKE_INTERRUPT + + +

+

Interrupts the offer acceptance

COMSIG_ATOM_ACID_ACT + + +

+

from base of atom/acid_act(): (acidpwr, acid_volume)

COMSIG_ATOM_BLOB_ACT + + +

+

from base of atom/blob_act(): (/obj/structure/blob)

COMSIG_ATOM_BSA_BEAM + + +

+

from obj/machinery/bsa/full/proc/fire(): ()

COMSIG_ATOM_BULLET_ACT + + +

+

from base of atom/bullet_act(): (/obj/item/projectile, def_zone)

COMSIG_ATOM_CANREACH + + +

+

from internal loop in atom/movable/proc/CanReach(): (list/next)

COMSIG_ATOM_CONTENTS_DEL + + +

+

from base of atom/handle_atom_del(): (atom/deleted)

COMSIG_ATOM_DIR_CHANGE + + +

+

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

COMSIG_ATOM_EMAG_ACT + + +

+

from base of atom/emag_act(): (/mob/user)

COMSIG_ATOM_EMP_ACT + + +

+

from base of atom/emp_act(): (severity)

COMSIG_ATOM_EX_ACT + + +

+

from base of atom/ex_act(): (severity, target)

COMSIG_ATOM_FIRE_ACT + + +

+

from base of atom/fire_act(): (exposed_temperature, exposed_volume)

COMSIG_ATOM_GET_EXAMINE_NAME + + +

+

from base of atom/get_examine_name(): (/mob, list/overrides)

COMSIG_ATOM_HAS_GRAVITY + + +

+

from base of atom/has_gravity(): (turf/location, list/forced_gravities)

COMSIG_ATOM_NARSIE_ACT + + +

+

from base of atom/narsie_act(): ()

COMSIG_ATOM_NO_UPDATE_DESC + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its desc.

COMSIG_ATOM_NO_UPDATE_ICON + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its icon.

COMSIG_ATOM_NO_UPDATE_ICON_STATE + + +

+

If returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its icon state.

COMSIG_ATOM_NO_UPDATE_NAME + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its name.

COMSIG_ATOM_NO_UPDATE_OVERLAYS + + +

+

If returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its overlays.

COMSIG_ATOM_ORBIT_BEGIN + + +

+

Called from orbit component: (atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation)

COMSIG_ATOM_ORBIT_END + + +

+

Called from orbit component: (atom/movable/orbiter, refreshing)

COMSIG_ATOM_RAD_ACT + + +

+

from base of atom/rad_act(intensity)

COMSIG_ATOM_RAD_CONTAMINATING + + +

+

from base of datum/radiation_wave/radiate(): (strength)

COMSIG_ATOM_RAD_PROBE + + +

+

from proc/get_rad_contents(): ()

COMSIG_ATOM_RAD_WAVE_PASSING + + +

+

from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width)

COMSIG_ATOM_RATVAR_ACT + + +

+

from base of atom/ratvar_act(): ()

COMSIG_ATOM_RCD_ACT + + +

+

from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)

COMSIG_ATOM_SET_LIGHT + + +

+

from base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on)

COMSIG_ATOM_SET_LIGHT_COLOR + + +

+

Called right before the atom changes the value of light_color to a different one, from base atom/proc/set_light_color: (new_color)

COMSIG_ATOM_SET_LIGHT_FLAGS + + +

+

Called right before the atom changes the value of light_flags to a different one, from base [atom/proc/set_light_flags]: (new_flags)

COMSIG_ATOM_SET_LIGHT_ON + + +

+

Called right before the atom changes the value of light_on to a different one, from base [atom/proc/set_light_on]: (new_value)

COMSIG_ATOM_SET_LIGHT_POWER + + +

+

Called right before the atom changes the value of light_power to a different one, from base [atom/proc/set_light_power]: (new_power)

COMSIG_ATOM_SET_LIGHT_RANGE + + +

+

Called right before the atom changes the value of light_range to a different one, from base atom/proc/set_light_range: (new_range)

COMSIG_ATOM_SING_PULL + + +

+

from base of atom/singularity_pull(): (S, current_size)

COMSIG_ATOM_UPDATED_ICON + + +

+

from base of /atom/update_icon: (signalOut, did_anything)

COMSIG_ATOM_UPDATE_APPEARANCE + + +

+

from base of /atom/proc/update_appearance: (updates)

COMSIG_ATOM_UPDATE_DESC + + +

+

from base of /atom/proc/update_desc: (updates)

COMSIG_ATOM_UPDATE_ICON + + +

+

from base of /atom/update_icon: ()

COMSIG_ATOM_UPDATE_ICON_STATE + + +

+

from base of atom/update_icon_state: ()

COMSIG_ATOM_UPDATE_LIGHT_COLOR + + +

+

Called right after the atom changes the value of light_color to a different one, from base of /atom/proc/set_light_color: (old_color)

COMSIG_ATOM_UPDATE_LIGHT_FLAGS + + +

+

Called right after the atom changes the value of light_flags to a different one, from base of [/atom/proc/set_light_flags]: (old_flags)

COMSIG_ATOM_UPDATE_LIGHT_ON + + +

+

Called right after the atom changes the value of light_on to a different one, from base of [/atom/proc/set_light_on]: (old_value)

COMSIG_ATOM_UPDATE_LIGHT_POWER + + +

+

Called right after the atom changes the value of light_power to a different one, from base of [/atom/proc/set_light_power]: (old_power)

COMSIG_ATOM_UPDATE_LIGHT_RANGE + + +

+

Called right after the atom changes the value of light_range to a different one, from base of /atom/proc/set_light_range: (old_range)

COMSIG_ATOM_UPDATE_NAME + + +

+

from base of /atom/proc/update_name: (updates)

COMSIG_ATOM_UPDATE_OVERLAYS + + +

+

from base of /atom/update_overlays: (list/new_overlays)

COMSIG_ATOM_WAVE_EX_ACT + + +

+

From base of atom/wave_ex_act(): (datum/wave_explosion/explosion, args)

COMSIG_BLOCK_EYECONTACT + + +

+

return this if you want to block printing this message to this person, if you want to print your own (does not affect the other person's message)

COMSIG_CARBON_ATTACH_LIMB + + +

+

from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment

COMSIG_COMPONENT_ADDED + + +

+

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

COMSIG_COMPONENT_REGISTER_PARENT + + +

+

sent to the component itself when registered to a parent

COMSIG_COMPONENT_REMOVING + + +

+

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

COMSIG_COMPONENT_UNREGISTER_PARENT + + +

+

sent to the component itself when unregistered from a parent

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_GLOB_EXPLOSION + + +

+

called after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)

COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWN + + +

+

job datum has been called to deal with the aftermath of a latejoin spawn

COMSIG_GLOB_JOB_AFTER_SPAWN + + +

+

job subsystem has spawned and equipped a new mob

COMSIG_GLOB_LIVING_SAY_SPECIAL + + +

+

global living say plug - use sparingly: (mob/speaker , message)

COMSIG_GLOB_MOB_CREATED + + +

+

mob was created somewhere : (mob)

COMSIG_GLOB_MOB_DEATH + + +

+

mob died somewhere : (mob , gibbed)

COMSIG_GLOB_NEW_GAS + + +

+

called by auxgm add_gas: (gas_id)

COMSIG_GLOB_NEW_Z + + +

+

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

COMSIG_GLOB_PLAY_CINEMATIC + + +

+

called by datum/cinematic/play() : (datum/cinematic/new_cinematic)

COMSIG_GLOB_VAR_EDIT + + +

+

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

COMSIG_GUN_AUTOFIRE_DESELECTED + + +

+

When a gun is switched off of automatic fire mode

COMSIG_GUN_AUTOFIRE_SELECTED + + +

+

When a gun is switched to automatic fire mode

COMSIG_ITEM_DISABLE_EMBED + + +

+

from /obj/item/proc/disableEmbedding:

COMSIG_ITEM_OFFERING + + +

+

Called when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)]

COMSIG_ITEM_OFFER_TAKEN + + +

+

Called when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offer, mob/living/carbon/taker)]

COMSIG_LIVING_PREDEATH + + +

+

from base of mob/living/death(): (gibbed)

COMSIG_MACHINERY_BROKEN + + +

+

from /obj/machinery/obj_break(damage_flag): (damage_flag)

COMSIG_MACHINERY_POWER_LOST + + +

+

from base power_change() when power is lost

COMSIG_MACHINERY_POWER_RESTORED + + +

+

from base power_change() when power is restored

COMSIG_MECHA_EQUIPMENT_CLICK + + +

+

sent from clicking while you have equipment selected.

COMSIG_MECHA_MELEE_CLICK + + +

+

sent from clicking while you have no equipment selected. Sent before cooldown and adjacency checks, so you can use this for infinite range things if you want.

COMSIG_MINE_TRIGGERED + + +

+

from [/obj/effect/mine/proc/triggermine]:

COMSIG_MOB_ALTCLICKON + + +

+

from base of mob/AltClickOn(): (atom/A)

COMSIG_MOB_CLIENT_LOGIN + + +

+

sent when a mob/login() finishes: (client)

COMSIG_MOB_EYECONTACT + + +

+

from /mob/living/handle_eye_contact(): (mob/living/other_mob)

COMSIG_MOB_UNEQUIPPED_ITEM + + +

+

A mob has just unequipped an item.

COMSIG_MOVABLE_PRE_MOVE + + +

+

from base of atom/movable/Moved(): (/atom)

COMSIG_NANITE_CHECK_CONSOLE_LOCK + + +

+

Checks if a nanite component is able to be controlled by console

COMSIG_NANITE_CHECK_HOST_LOCK + + +

+

Checks if a nanite component is able to be interfaced with by a host with innate nanite control

COMSIG_NANITE_CHECK_VIRAL_PREVENTION + + +

+

Checks if a nanite component is able to be overwritten by viral replica

COMSIG_ON_MULTIPLE_LIVES_RESPAWN + + +

+

from base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left)

COMSIG_PARENT_EXAMINE_MORE + + +

+

from base of atom/examine_more(): (/mob)

COMSIG_PARENT_PREQDELETED + + +

+

before a datum's Destroy() is called: (force), returning a nonzero 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_PROJECTILE_FIRE + + +

+

from the base of /obj/item/projectile/proc/fire(): ()

COMSIG_PROJECTILE_ON_HIT + + +

+

from base of /obj/item/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle, hit_limb)

COMSIG_PROJECTILE_PREHIT + + +

+

sent to targets during the process_hit proc of projectiles

COMSIG_PROJECTILE_SELF_ON_HIT + + +

+

from base of /obj/item/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle, hit_limb)

COMSIG_SECURITY_LEVEL_CHANGED + + +

+

from SSsecurity_level when the security level changes : (new_level)

COMSIG_SUN_MOVED + + +

+

from SSsun when the sun changes position : (primary_sun, suns)

COMSIG_SUPERMATTER_DELAM_ALARM + + +

+

from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm

COMSIG_SUPERMATTER_DELAM_START_ALARM + + +

+

from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM delam reaches the point of sounding alarms

COMSIG_SUPPLYPOD_LANDED + + +

+

from [/obj/structure/closet/supplypod/proc/endlaunch]:

COMSIG_THREAT_CALC + + +

+

from SSactivity for things that add threat but aren't "global" (e.g. phylacteries)

COMSIG_TOPIC + + +

+

generic topic handler (usr, href_list)

COMSIG_TURF_CHANGE + + +

+

from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps)

COMSIG_TURF_HAS_GRAVITY + + +

+

from base of atom/has_gravity(): (atom/asker, list/forced_gravities)

COMSIG_TURF_IS_WET + + +

+

Component Specific Signals

COMSIG_TURF_MULTIZ_DEL + + +

+

from base of turf/multiz_turf_del(): (turf/source, direction)

COMSIG_TURF_MULTIZ_NEW + + +

+

from base of turf/multiz_turf_new: (turf/source, direction)

COMSIG_TWITCH_PLAYS_MOVEMENT_DATA + + +

+

Returns direction: (wipe_votes)

COMSIG_UI_ACT + + +

+

from datum ui_act (usr, action)

COMSIG_VOID_MASK_ACT + + +

+

Mask of Madness

COMSIG_WEATHER_TELEGRAPH + + + +

+

a weather event of some kind occured

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html new file mode 100644 index 00000000000..08b09f12699 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html @@ -0,0 +1,34 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + +
COMSIG_LIVING_PUSHING_MOVABLECalled from /mob/living/PushAM -- Called when this mob is about to push a movable, but before it moves +(aotm/movable/being_pushed)

Define Details

+

COMSIG_LIVING_PUSHING_MOVABLE + + +

+

Called from /mob/living/PushAM -- Called when this mob is about to push a movable, but before it moves +(aotm/movable/being_pushed)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_medical.html b/code/__DEFINES/dcs/signals/signals_medical.html new file mode 100644 index 00000000000..182fee6361b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_medical.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_medical.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + + + + +
COMSIG_MOB_SURGERY_STARTEDFrom /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb)
COMSIG_MOB_SURGERY_STEP_SUCCESSFrom /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
COMSIG_DEFIBRILLATOR_SUCCESSFrom /obj/item/shockpaddles/proc/do_success(): (obj/item/shockpaddles/source)
COMSIG_SURGERY_STARTINGFrom /datum/surgery/can_start(): (mob/source, datum/surgery/surgery, mob/living/patient)

Define Details

+

COMSIG_DEFIBRILLATOR_SUCCESS + + +

+

From /obj/item/shockpaddles/proc/do_success(): (obj/item/shockpaddles/source)

COMSIG_MOB_SURGERY_STARTED + + +

+

From /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb)

COMSIG_MOB_SURGERY_STEP_SUCCESS + + +

+

From /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)

COMSIG_SURGERY_STARTING + + +

+

From /datum/surgery/can_start(): (mob/source, datum/surgery/surgery, mob/living/patient)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html new file mode 100644 index 00000000000..3f02358595b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm + +

+ + +
COMSIG_LIVING_MOB_BUMPFrom base of mob/living/MobBump() (mob/living)

Define Details

+

COMSIG_LIVING_MOB_BUMP + + +

+

From base of mob/living/MobBump() (mob/living)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mod.html b/code/__DEFINES/dcs/signals/signals_mod.html new file mode 100644 index 00000000000..896f9d6030a --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mod.html @@ -0,0 +1,112 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mod.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + + + + + + + + + + + + + + + + + +
COMSIG_MOD_MODULE_SELECTEDCalled when a module is selected to be the active one from on_select(obj/item/mod/module/module)
COMSIG_MOD_DEPLOYEDCalled when a MOD deploys one or more of its parts.
COMSIG_MOD_RETRACTEDCalled when a MOD retracts one or more of its parts.
COMSIG_MOD_TOGGLEDCalled when a MOD is finished toggling itself.
COMSIG_MOD_ACTIVATECalled when a MOD activation is called from toggle_activate(mob/user)
MOD_CANCEL_ACTIVATECancels the suit's activation
COMSIG_MOD_MODULE_REMOVEDCalled when a MOD finishes having a module removed from it.
COMSIG_MOD_MODULE_ADDEDCalled when a MOD finishes having a module added to it.
COMSIG_MOD_MODULE_REMOVALCalled when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar)
MOD_CANCEL_REMOVALCancels the removal of modules
COMSIG_MODULE_TRIGGEREDCalled when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user)
MOD_ABORT_USECancels activation, with no message. Include feedback on your cancel.
COMSIG_MODULE_ACTIVATEDCalled when a module activates, after all checks have passed and cooldown started.
COMSIG_MODULE_DEACTIVATEDCalled when a module deactivates, after all checks have passed.
COMSIG_MODULE_USEDCalled when a module is used, after all checks have passed and cooldown started.
COMSIG_MOD_WEARER_SETCalled when the MODsuit wearer is set.
COMSIG_MOD_WEARER_UNSETCalled when the MODsuit wearer is unset.

Define Details

+

COMSIG_MODULE_ACTIVATED + + +

+

Called when a module activates, after all checks have passed and cooldown started.

COMSIG_MODULE_DEACTIVATED + + +

+

Called when a module deactivates, after all checks have passed.

COMSIG_MODULE_TRIGGERED + + +

+

Called when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user)

COMSIG_MODULE_USED + + +

+

Called when a module is used, after all checks have passed and cooldown started.

COMSIG_MOD_ACTIVATE + + +

+

Called when a MOD activation is called from toggle_activate(mob/user)

COMSIG_MOD_DEPLOYED + + +

+

Called when a MOD deploys one or more of its parts.

COMSIG_MOD_MODULE_ADDED + + +

+

Called when a MOD finishes having a module added to it.

COMSIG_MOD_MODULE_REMOVAL + + +

+

Called when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar)

COMSIG_MOD_MODULE_REMOVED + + +

+

Called when a MOD finishes having a module removed from it.

COMSIG_MOD_MODULE_SELECTED + + +

+

Called when a module is selected to be the active one from on_select(obj/item/mod/module/module)

COMSIG_MOD_RETRACTED + + +

+

Called when a MOD retracts one or more of its parts.

COMSIG_MOD_TOGGLED + + +

+

Called when a MOD is finished toggling itself.

COMSIG_MOD_WEARER_SET + + +

+

Called when the MODsuit wearer is set.

COMSIG_MOD_WEARER_UNSET + + +

+

Called when the MODsuit wearer is unset.

MOD_ABORT_USE + + +

+

Cancels activation, with no message. Include feedback on your cancel.

MOD_CANCEL_ACTIVATE + + +

+

Cancels the suit's activation

MOD_CANCEL_REMOVAL + + +

+

Cancels the removal of modules

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_movable.html b/code/__DEFINES/dcs/signals/signals_movable.html new file mode 100644 index 00000000000..cd3cefacbd0 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_movable.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_movable.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + + +
COMSIG_MOVABLE_PRE_PRESSURE_PUSHfrom base of atom/experience_pressure_difference(): (pressure_difference, direction, pressure_resistance_prob_delta)
COMSIG_MOVABLE_BLOCKS_PRESSUREprevents pressure movement

Define Details

+

COMSIG_MOVABLE_BLOCKS_PRESSURE + + +

+

prevents pressure movement

COMSIG_MOVABLE_PRE_PRESSURE_PUSH + + +

+

from base of atom/experience_pressure_difference(): (pressure_difference, direction, pressure_resistance_prob_delta)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_painting.html b/code/__DEFINES/dcs/signals/signals_painting.html new file mode 100644 index 00000000000..f3950b4eaea --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_painting.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_painting.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + + +
COMSIG_PAINTING_TOOL_SET_COLORfrom base of /item/proc/set_painting_tool_color(): (chosen_color)
COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATAfrom base of /item/canvas/ui_data(): (data)

Define Details

+

COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATA + + +

+

from base of /item/canvas/ui_data(): (data)

COMSIG_PAINTING_TOOL_SET_COLOR + + +

+

from base of /item/proc/set_painting_tool_color(): (chosen_color)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_reagent.html b/code/__DEFINES/dcs/signals/signals_reagent.html new file mode 100644 index 00000000000..7536de09f48 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_reagent.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_reagent.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + +
COMSIG_ATOM_EXPOSE_REAGENTSSent by /datum/reagents/proc/reaction, used for /obj/item/mod/module/springlock

Define Details

+

COMSIG_ATOM_EXPOSE_REAGENTS + + +

+

Sent by /datum/reagents/proc/reaction, used for /obj/item/mod/module/springlock

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_screentips.html b/code/__DEFINES/dcs/signals/signals_screentips.html new file mode 100644 index 00000000000..6768e87ea50 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_screentips.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_screentips.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + + + +
COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGETA "Type-A" contextual screentip interaction. +These are used for items that are defined by their behavior. They define their contextual text within themselves, +not in their targets. +Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +Items can override add_item_context(), and call register_item_context() in order to easily connect to this. +Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEMA "Type-B" contextual screentip interaction. +These are atoms that are defined by what happens to them. These should define contextual text within themselves, and +not in their operating tools. +Examples include construction objects (LMB with glass to put in screen for computers). +Called on /atom with a mutable screentip context list, the item being used, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
CONTEXTUAL_SCREENTIP_SETTells the contextual screentips system that the list context was mutated.

Define Details

+

COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM + + +

+

A "Type-B" contextual screentip interaction. +These are atoms that are defined by what happens to them. These should define contextual text within themselves, and +not in their operating tools. +Examples include construction objects (LMB with glass to put in screen for computers). +Called on /atom with a mutable screentip context list, the item being used, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.

COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET + + +

+

A "Type-A" contextual screentip interaction. +These are used for items that are defined by their behavior. They define their contextual text within themselves, +not in their targets. +Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +Items can override add_item_context(), and call register_item_context() in order to easily connect to this. +Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.

CONTEXTUAL_SCREENTIP_SET + + +

+

Tells the contextual screentips system that the list context was mutated.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_subsystem.html b/code/__DEFINES/dcs/signals/signals_subsystem.html new file mode 100644 index 00000000000..5a7ed9cff89 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_subsystem.html @@ -0,0 +1,64 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_subsystem.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

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

+ + + + + + + + +
COMSIG_SUBSYSTEM_POST_INITIALIZESubsystem signals +From base of datum/controller/subsystem/Initialize: (start_timeofday)
COMSIG_TICKER_ENTER_PREGAMECalled when the ticker enters the pre-game phase
COMSIG_TICKER_ENTER_SETTING_UPCalled when the ticker sets up the game for start
COMSIG_TICKER_ERROR_SETTING_UPCalled when the ticker fails to set up the game for start
COMSIG_TICKER_ROUND_STARTINGCalled when the round has started, but before GAME_STATE_PLAYING
COMSIG_ADDED_POINT_OF_INTERESTSent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_added : (atom/new_poi)
COMSIG_REMOVED_POINT_OF_INTERESTSent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed : (atom/old_poi)

Define Details

+

COMSIG_ADDED_POINT_OF_INTEREST + + +

+

Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_added : (atom/new_poi)

COMSIG_REMOVED_POINT_OF_INTEREST + + +

+

Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed : (atom/old_poi)

COMSIG_SUBSYSTEM_POST_INITIALIZE + + +

+

Subsystem signals +From base of datum/controller/subsystem/Initialize: (start_timeofday)

COMSIG_TICKER_ENTER_PREGAME + + +

+

Called when the ticker enters the pre-game phase

COMSIG_TICKER_ENTER_SETTING_UP + + +

+

Called when the ticker sets up the game for start

COMSIG_TICKER_ERROR_SETTING_UP + + +

+

Called when the ticker fails to set up the game for start

COMSIG_TICKER_ROUND_STARTING + + +

+

Called when the round has started, but before GAME_STATE_PLAYING

+ + + diff --git a/code/__DEFINES/dynamic.html b/code/__DEFINES/dynamic.html new file mode 100644 index 00000000000..50c47276c35 --- /dev/null +++ b/code/__DEFINES/dynamic.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/dynamic.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dynamic.dm + +

+ + + + + + + +
ONLY_RULESETThis is the only ruleset that should be picked this round, used by admins and should not be on rulesets in code.
HIGH_IMPACT_RULESETOnly one ruleset with this flag will be picked.
LONE_RULESETThis ruleset can only be picked once. Anything that does not have a scaling_cost MUST have this.
HIJACKED_NOTHINGNo round event was hijacked this cycle
HIJACKED_TOO_RECENTThis cycle, a round event was hijacked when the last midround event was too recent.
HIJACKED_TOO_SOONThis cycle, a round event was hijacked when the next midround event is too soon.

Define Details

+

HIGH_IMPACT_RULESET + + +

+

Only one ruleset with this flag will be picked.

HIJACKED_NOTHING + + +

+

No round event was hijacked this cycle

HIJACKED_TOO_RECENT + + +

+

This cycle, a round event was hijacked when the last midround event was too recent.

HIJACKED_TOO_SOON + + +

+

This cycle, a round event was hijacked when the next midround event is too soon.

LONE_RULESET + + +

+

This ruleset can only be picked once. Anything that does not have a scaling_cost MUST have this.

ONLY_RULESET + + +

+

This is the only ruleset that should be picked this round, used by admins and should not be on rulesets in code.

+ + + diff --git a/code/__DEFINES/events.html b/code/__DEFINES/events.html new file mode 100644 index 00000000000..fbb7f113a41 --- /dev/null +++ b/code/__DEFINES/events.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/events.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/events.dm + +

+ + + + + + + + + + + + + + +
EVENT_CATEGORY_AIEvents that mess with or create artificial intelligences, such as vending machines and the AI itself
EVENT_CATEGORY_ANOMALIESEvents that spawn anomalies, which might be the source of anomaly cores
EVENT_CATEGORY_BUREAUCRATICEvents pertaining cargo, messages incoming to the station and job slots
EVENT_CATEGORY_ENGINEERINGEvents that cause breakages and malfunctions that could be fixed by engineers
EVENT_CATEGORY_ENTITIESEvents that spawn creatures with simple desires, such as to hunt
EVENT_CATEGORY_FRIENDLYEvents that should have no harmful effects, and might be useful to the crew
EVENT_CATEGORY_HEALTHEvents that affect the body and mind
EVENT_CATEGORY_HOLIDAYEvents reserved for special occassions
EVENT_CATEGORY_INVASIONEvents with enemy groups with a more complex plan
EVENT_CATEGORY_JANITORIALEvents that make a mess
EVENT_CATEGORY_SPACEEvents that summon meteors and other debris, and stationwide waves of harmful space weather
EVENT_CATEGORY_WIZARDEvents summoned by a wizard
ADMIN_CANCEL_EVENTReturn from admin setup to stop the event from triggering entirely.

Define Details

+

ADMIN_CANCEL_EVENT + + +

+

Return from admin setup to stop the event from triggering entirely.

EVENT_CATEGORY_AI + + +

+

Events that mess with or create artificial intelligences, such as vending machines and the AI itself

EVENT_CATEGORY_ANOMALIES + + +

+

Events that spawn anomalies, which might be the source of anomaly cores

EVENT_CATEGORY_BUREAUCRATIC + + +

+

Events pertaining cargo, messages incoming to the station and job slots

EVENT_CATEGORY_ENGINEERING + + +

+

Events that cause breakages and malfunctions that could be fixed by engineers

EVENT_CATEGORY_ENTITIES + + +

+

Events that spawn creatures with simple desires, such as to hunt

EVENT_CATEGORY_FRIENDLY + + +

+

Events that should have no harmful effects, and might be useful to the crew

EVENT_CATEGORY_HEALTH + + +

+

Events that affect the body and mind

EVENT_CATEGORY_HOLIDAY + + +

+

Events reserved for special occassions

EVENT_CATEGORY_INVASION + + +

+

Events with enemy groups with a more complex plan

EVENT_CATEGORY_JANITORIAL + + +

+

Events that make a mess

EVENT_CATEGORY_SPACE + + +

+

Events that summon meteors and other debris, and stationwide waves of harmful space weather

EVENT_CATEGORY_WIZARD + + +

+

Events summoned by a wizard

+ + + diff --git a/code/__DEFINES/exosuit_fabs.html b/code/__DEFINES/exosuit_fabs.html new file mode 100644 index 00000000000..a4cdde0c67c --- /dev/null +++ b/code/__DEFINES/exosuit_fabs.html @@ -0,0 +1,107 @@ + + + + + + + code/__DEFINES/exosuit_fabs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/exosuit_fabs.dm + +

+ + + + + + + + + + + + + + + + + +
BORG_MODULE_SECURITYModule is compatible with Security Cyborg models
BORG_MODULE_MINERModule is compatible with Miner Cyborg models
BORG_MODULE_JANITORModule is compatible with Janitor Cyborg models
BORG_MODULE_MEDICALModule is compatible with Medical Cyborg models
BORG_MODULE_ENGINEERINGModule is compatible with Engineering Cyborg models
EXOSUIT_MODULE_RIPLEYModule is compatible with Ripley Exosuit models
EXOSUIT_MODULE_ODYSSEUSModule is compatible with Odyseeus Exosuit models
EXOSUIT_MODULE_FIREFIGHTERModule is compatible with Clarke Exosuit models. Rebranded to firefighter because tg nerfed it to this.
EXOSUIT_MODULE_GYGAXModule is compatible with Gygax Exosuit models
EXOSUIT_MODULE_DURANDModule is compatible with Durand Exosuit models
EXOSUIT_MODULE_HONKModule is compatible with H.O.N.K Exosuit models
EXOSUIT_MODULE_PHAZONModule is compatible with Phazon Exosuit models
EXOSUIT_MODULE_GYGAX_MEDModule is compatable with N models
EXOSUIT_MODULE_WORKINGModule is compatible with "Working" Exosuit models - Ripley and Clarke
EXOSUIT_MODULE_COMBATModule is compatible with "Combat" Exosuit models - Gygax, H.O.N.K, Durand and Phazon
EXOSUIT_MODULE_MEDICALModule is compatible with "Medical" Exosuit modelsm - Odysseus

Define Details

+

BORG_MODULE_ENGINEERING + + +

+

Module is compatible with Engineering Cyborg models

BORG_MODULE_JANITOR + + +

+

Module is compatible with Janitor Cyborg models

BORG_MODULE_MEDICAL + + +

+

Module is compatible with Medical Cyborg models

BORG_MODULE_MINER + + +

+

Module is compatible with Miner Cyborg models

BORG_MODULE_SECURITY + + +

+

Module is compatible with Security Cyborg models

EXOSUIT_MODULE_COMBAT + + +

+

Module is compatible with "Combat" Exosuit models - Gygax, H.O.N.K, Durand and Phazon

EXOSUIT_MODULE_DURAND + + +

+

Module is compatible with Durand Exosuit models

EXOSUIT_MODULE_FIREFIGHTER + + +

+

Module is compatible with Clarke Exosuit models. Rebranded to firefighter because tg nerfed it to this.

EXOSUIT_MODULE_GYGAX + + +

+

Module is compatible with Gygax Exosuit models

EXOSUIT_MODULE_GYGAX_MED + + +

+

Module is compatable with N models

EXOSUIT_MODULE_HONK + + +

+

Module is compatible with H.O.N.K Exosuit models

EXOSUIT_MODULE_MEDICAL + + +

+

Module is compatible with "Medical" Exosuit modelsm - Odysseus

EXOSUIT_MODULE_ODYSSEUS + + +

+

Module is compatible with Odyseeus Exosuit models

EXOSUIT_MODULE_PHAZON + + +

+

Module is compatible with Phazon Exosuit models

EXOSUIT_MODULE_RIPLEY + + +

+

Module is compatible with Ripley Exosuit models

EXOSUIT_MODULE_WORKING + + +

+

Module is compatible with "Working" Exosuit models - Ripley and Clarke

+ + + diff --git a/code/__DEFINES/explosion.html b/code/__DEFINES/explosion.html new file mode 100644 index 00000000000..fff1672ac0e --- /dev/null +++ b/code/__DEFINES/explosion.html @@ -0,0 +1,106 @@ + + + + + + + code/__DEFINES/explosion.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/explosion.dm + +

+ + + + + + + + + + + + + + + + +
EXPLOSION_POWER_DEADDefault explosion power to consider an explosion over
EXPLOSION_DEFAULT_FALLOFF_MULTIPLYDefault explosion falloff
EXPLOSION_DEFAULT_FALLOFF_SUBTRACTDefault explosion constant falloff
EXPLOSION_POWER_NO_RESIST_THRESHOLDBlock amount at which point having 0 block resistance will result in a full block
EXPLOSION_POWER_QUANTIZATION_ACCURACYExplosion power quantization
EXPLOSION_FLAG_DENSITY_DEPENDENTNo blocking if we're not dense
EXPLOSION_FLAG_HARD_OBSTACLEIf we survive the explosion, we block ALL the power and ignore the results of wave_ex_act().
EXPLOSION_POWER_MAXCAPMaxcap
EXPLOSION_POWER_ERASE_SHREDSerases shreds from explosions/item damage
EXPLOSION_POWER_NORMAL_MOB_GIBGibs most mobs
EXPLOSION_POWER_STANDARD_SCALE_OBJECT_DAMAGEExplosion power to object damage (without taking into consideration armor)
EXPLOSION_POWER_STANDARD_SCALE_HARD_OBSTACLE_DAMAGEExplosion power to object damage for hard obstacles
EXPLOSION_POWER_STANDARD_SCALE_WINDOW_DAMAGEExplosion power to object damage for windows
EXPLOSION_POWER_STANDARD_SCALE_MOB_DAMAGEDefault brute damage to do to living things
EXPLOSION_DAMAGE_OPEN_DOOR_FACTORFactor to multiply damage to a door by if it's open (and therefore not blocking the explosion)

Define Details

+

EXPLOSION_DAMAGE_OPEN_DOOR_FACTOR + + +

+

Factor to multiply damage to a door by if it's open (and therefore not blocking the explosion)

EXPLOSION_DEFAULT_FALLOFF_MULTIPLY + + +

+

Default explosion falloff

EXPLOSION_DEFAULT_FALLOFF_SUBTRACT + + +

+

Default explosion constant falloff

EXPLOSION_FLAG_DENSITY_DEPENDENT + + +

+

No blocking if we're not dense

EXPLOSION_FLAG_HARD_OBSTACLE + + +

+

If we survive the explosion, we block ALL the power and ignore the results of wave_ex_act().

EXPLOSION_POWER_DEAD + + +

+

Default explosion power to consider an explosion over

EXPLOSION_POWER_ERASE_SHREDS + + +

+

erases shreds from explosions/item damage

EXPLOSION_POWER_MAXCAP + + +

+

Maxcap

EXPLOSION_POWER_NORMAL_MOB_GIB + + +

+

Gibs most mobs

EXPLOSION_POWER_NO_RESIST_THRESHOLD + + +

+

Block amount at which point having 0 block resistance will result in a full block

EXPLOSION_POWER_QUANTIZATION_ACCURACY + + +

+

Explosion power quantization

EXPLOSION_POWER_STANDARD_SCALE_HARD_OBSTACLE_DAMAGE + + + +

+

Explosion power to object damage for hard obstacles

EXPLOSION_POWER_STANDARD_SCALE_MOB_DAMAGE + + + +

+

Default brute damage to do to living things

EXPLOSION_POWER_STANDARD_SCALE_OBJECT_DAMAGE + + + +

+

Explosion power to object damage (without taking into consideration armor)

EXPLOSION_POWER_STANDARD_SCALE_WINDOW_DAMAGE + + + +

+

Explosion power to object damage for windows

+ + + diff --git a/code/__DEFINES/instruments.html b/code/__DEFINES/instruments.html new file mode 100644 index 00000000000..7defdc39988 --- /dev/null +++ b/code/__DEFINES/instruments.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/instruments.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/instruments.dm + +

+ + + + + + + +
CHANNELS_PER_INSTRUMENTMax number of playing notes per instrument.
INSTRUMENT_DISTANCE_FALLOFF_BUFFDistance multiplier that makes us not be impacted by 3d sound as much. This is a multiplier so lower it is the closer we will pretend to be to people.
INSTRUMENT_DISTANCE_NO_FALLOFFHow many tiles instruments have no falloff for
INSTRUMENT_MAX_TOTAL_SUSTAINMaximum length a note should ever go for
INSTRUMENT_EXP_FALLOFF_MINThese are per decisecond.
INSTRUMENT_MIN_SUSTAIN_DROPOFFMinimum volume for when the sound is considered dead.

Define Details

+

CHANNELS_PER_INSTRUMENT + + +

+

Max number of playing notes per instrument.

INSTRUMENT_DISTANCE_FALLOFF_BUFF + + +

+

Distance multiplier that makes us not be impacted by 3d sound as much. This is a multiplier so lower it is the closer we will pretend to be to people.

INSTRUMENT_DISTANCE_NO_FALLOFF + + +

+

How many tiles instruments have no falloff for

INSTRUMENT_EXP_FALLOFF_MIN + + +

+

These are per decisecond.

INSTRUMENT_MAX_TOTAL_SUSTAIN + + +

+

Maximum length a note should ever go for

INSTRUMENT_MIN_SUSTAIN_DROPOFF + + +

+

Minimum volume for when the sound is considered dead.

+ + + diff --git a/code/__DEFINES/inventory.html b/code/__DEFINES/inventory.html new file mode 100644 index 00000000000..6deaaf06e27 --- /dev/null +++ b/code/__DEFINES/inventory.html @@ -0,0 +1,187 @@ + + + + + + + code/__DEFINES/inventory.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/inventory.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ITEM_SLOT_OCLOTHINGSuit slot (armors, costumes, space suits, etc.)
ITEM_SLOT_ICLOTHINGJumpsuit slot
ITEM_SLOT_GLOVESGlove slot
ITEM_SLOT_EYESGlasses slot
ITEM_SLOT_EARS_LEFTEar slot (radios, earmuffs)
ITEM_SLOT_MASKMask slot
ITEM_SLOT_HEADHead slot (helmets, hats, etc.)
ITEM_SLOT_FEETShoe slot
ITEM_SLOT_IDID slot
ITEM_SLOT_BELTBelt slot
ITEM_SLOT_BACKBack slot
ITEM_SLOT_DEX_STORAGEDextrous simplemob "hands" (used for Drones and Dextrous Guardians)
ITEM_SLOT_NECKNeck slot (ties, bedsheets, scarves)
ITEM_SLOT_HANDSA character's hand slots
ITEM_SLOT_BACKPACKInside of a character's backpack
ITEM_SLOT_SUITSTORESuit Storage slot
ITEM_SLOT_LPOCKETLeft Pocket slot
ITEM_SLOT_RPOCKETRight Pocket slot
ITEM_SLOT_UNDERWEARUnderwear slot
ITEM_SLOT_SOCKSSocks slot
ITEM_SLOT_SHIRTShirt slot
ITEM_SLOT_EARS_RIGHTRight ear slot
ITEM_SLOT_WRISTSWrist slot
ITEM_SLOT_HANDCUFFEDHandcuff slot
ITEM_SLOT_LEGCUFFEDLegcuff slot (bolas, beartraps)
ITEM_SLOT_ACCESSORYTo attach to a jumpsuit
SLOTS_AMTTotal amount of slots
AFK_THEFT_MAX_MESSAGESHow many messages you can remember while logged out before you stop remembering new ones
AFK_THEFT_FORGET_DETAILS_TIMEIf someone logs back in and there are entries older than this, just tell them they can't remember who it was or when
AFK_THEFT_NAMEThe index of the entry in 'afk_thefts' with the person's visible name at the time
AFK_THEFT_MESSAGEThe index of the entry in 'afk_thefts' with the text
AFK_THEFT_TIMEThe index of the entry in 'afk_thefts' with the time it happened

Define Details

+

AFK_THEFT_FORGET_DETAILS_TIME + + +

+

If someone logs back in and there are entries older than this, just tell them they can't remember who it was or when

AFK_THEFT_MAX_MESSAGES + + +

+

How many messages you can remember while logged out before you stop remembering new ones

AFK_THEFT_MESSAGE + + +

+

The index of the entry in 'afk_thefts' with the text

AFK_THEFT_NAME + + +

+

The index of the entry in 'afk_thefts' with the person's visible name at the time

AFK_THEFT_TIME + + +

+

The index of the entry in 'afk_thefts' with the time it happened

ITEM_SLOT_ACCESSORY + + +

+

To attach to a jumpsuit

ITEM_SLOT_BACK + + +

+

Back slot

ITEM_SLOT_BACKPACK + + +

+

Inside of a character's backpack

ITEM_SLOT_BELT + + +

+

Belt slot

ITEM_SLOT_DEX_STORAGE + + +

+

Dextrous simplemob "hands" (used for Drones and Dextrous Guardians)

ITEM_SLOT_EARS_LEFT + + +

+

Ear slot (radios, earmuffs)

ITEM_SLOT_EARS_RIGHT + + +

+

Right ear slot

ITEM_SLOT_EYES + + +

+

Glasses slot

ITEM_SLOT_FEET + + +

+

Shoe slot

ITEM_SLOT_GLOVES + + +

+

Glove slot

ITEM_SLOT_HANDCUFFED + + +

+

Handcuff slot

ITEM_SLOT_HANDS + + +

+

A character's hand slots

ITEM_SLOT_HEAD + + +

+

Head slot (helmets, hats, etc.)

ITEM_SLOT_ICLOTHING + + +

+

Jumpsuit slot

ITEM_SLOT_ID + + +

+

ID slot

ITEM_SLOT_LEGCUFFED + + +

+

Legcuff slot (bolas, beartraps)

ITEM_SLOT_LPOCKET + + +

+

Left Pocket slot

ITEM_SLOT_MASK + + +

+

Mask slot

ITEM_SLOT_NECK + + +

+

Neck slot (ties, bedsheets, scarves)

ITEM_SLOT_OCLOTHING + + +

+

Suit slot (armors, costumes, space suits, etc.)

ITEM_SLOT_RPOCKET + + +

+

Right Pocket slot

ITEM_SLOT_SHIRT + + +

+

Shirt slot

ITEM_SLOT_SOCKS + + +

+

Socks slot

ITEM_SLOT_SUITSTORE + + +

+

Suit Storage slot

ITEM_SLOT_UNDERWEAR + + +

+

Underwear slot

ITEM_SLOT_WRISTS + + +

+

Wrist slot

SLOTS_AMT + + +

+

Total amount of slots

+ + + diff --git a/code/__DEFINES/is_helpers.html b/code/__DEFINES/is_helpers.html new file mode 100644 index 00000000000..d2eec867d43 --- /dev/null +++ b/code/__DEFINES/is_helpers.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/is_helpers.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/is_helpers.dm + +

+ + +
is_object_datatypeChecks if something is a BYOND object datatype rather than a primitive, or whatever's closest to one.

Define Details

+

is_object_datatype + + + +

+

Checks if something is a BYOND object datatype rather than a primitive, or whatever's closest to one.

+ + + diff --git a/code/__DEFINES/layers_planes.html b/code/__DEFINES/layers_planes.html new file mode 100644 index 00000000000..81a468db531 --- /dev/null +++ b/code/__DEFINES/layers_planes.html @@ -0,0 +1,54 @@ + + + + + + + code/__DEFINES/layers_planes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/layers_planes.dm + +

+ + + + + + +
SPACE_LAYERLayers most often used by atoms of plane lower than GAME_PLANE
CATWALK_LAYERcatwalk overlay of /turf/open/floor/plating/plating_catwalk
BELOW_OPEN_DOOR_LAYERLayers most often used by atoms of plane equal or higher than GAME_PLANE
BALLOON_CHAT_PLANEPlane for balloon text (text that fades up) +It's over lighting and every other crap because this is nearly as important as hud content and only visible to the user.
SCREENTIP_LAYERLayer for screentips

Define Details

+

BALLOON_CHAT_PLANE + + +

+

Plane for balloon text (text that fades up) +It's over lighting and every other crap because this is nearly as important as hud content and only visible to the user.

BELOW_OPEN_DOOR_LAYER + + +

+

Layers most often used by atoms of plane equal or higher than GAME_PLANE

CATWALK_LAYER + + +

+

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

SCREENTIP_LAYER + + +

+

Layer for screentips

SPACE_LAYER + + +

+

Layers most often used by atoms of plane lower than GAME_PLANE

+ + + diff --git a/code/__DEFINES/lighting.html b/code/__DEFINES/lighting.html new file mode 100644 index 00000000000..92dc7ad61ba --- /dev/null +++ b/code/__DEFINES/lighting.html @@ -0,0 +1,76 @@ + + + + + + + code/__DEFINES/lighting.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/lighting.dm + +

+ + + + + + + + + + +
EMISSIVE_BLOCK_GENERICUses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.
EMISSIVE_BLOCK_UNIQUEUses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.
EMISSIVE_COLORThe color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.
EM_BLOCK_COLORThe color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.
EM_MASK_MATRIXThe color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.
GETREDPARTReturns the red part of a #RRGGBB hex sequence as number
GETGREENPARTReturns the green part of a #RRGGBB hex sequence as number
GETBLUEPARTReturns the blue part of a #RRGGBB hex sequence as number
PARSE_LIGHT_COLORParse the hexadecimal color into lumcounts of each perspective.

Define Details

+

EMISSIVE_BLOCK_GENERIC + + +

+

Uses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.

EMISSIVE_BLOCK_UNIQUE + + +

+

Uses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.

EMISSIVE_COLOR + + +

+

The color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.

EM_BLOCK_COLOR + + +

+

The color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.

EM_MASK_MATRIX + + +

+

The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.

GETBLUEPART + + + +

+

Returns the blue part of a #RRGGBB hex sequence as number

GETGREENPART + + + +

+

Returns the green part of a #RRGGBB hex sequence as number

GETREDPART + + + +

+

Returns the red part of a #RRGGBB hex sequence as number

PARSE_LIGHT_COLOR + + + +

+

Parse the hexadecimal color into lumcounts of each perspective.

+ + + diff --git a/code/__DEFINES/maps.html b/code/__DEFINES/maps.html new file mode 100644 index 00000000000..c0dc8a24419 --- /dev/null +++ b/code/__DEFINES/maps.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/maps.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/maps.dm + +

+ + +
PERLIN_LAYER_HEIGHTMap generation defines

Define Details

+

PERLIN_LAYER_HEIGHT + + +

+

Map generation defines

+ + + diff --git a/code/__DEFINES/material/worth.html b/code/__DEFINES/material/worth.html new file mode 100644 index 00000000000..ac9c7311d36 --- /dev/null +++ b/code/__DEFINES/material/worth.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/material/worth.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/material/worth.dm + +

+ + +
MINERAL_MATERIAL_AMOUNTcm3 of material matter per sheet

Define Details

+

MINERAL_MATERIAL_AMOUNT + + +

+

cm3 of material matter per sheet

+ + + diff --git a/code/__DEFINES/materials.html b/code/__DEFINES/materials.html new file mode 100644 index 00000000000..875099be2a9 --- /dev/null +++ b/code/__DEFINES/materials.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/materials.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/materials.dm + +

+ + + + + +
MAT_CATEGORY_OREIs the material from an ore? currently unused but exists atm for categorizations sake
MAT_CATEGORY_RIGIDHard materials, such as iron or metal
MAT_CATEGORY_BASE_RECIPESUse this flag on TRUE if you want the basic recipes
MATERIAL_COLORFlag for atoms, this flag ensures it isn't re-colored by materials. Useful for snowflake icons such as default toolboxes.

Define Details

+

MATERIAL_COLOR + + +

+

Flag for atoms, this flag ensures it isn't re-colored by materials. Useful for snowflake icons such as default toolboxes.

MAT_CATEGORY_BASE_RECIPES + + +

+

Use this flag on TRUE if you want the basic recipes

MAT_CATEGORY_ORE + + +

+

Is the material from an ore? currently unused but exists atm for categorizations sake

MAT_CATEGORY_RIGID + + +

+

Hard materials, such as iron or metal

+ + + diff --git a/code/__DEFINES/maths.html b/code/__DEFINES/maths.html new file mode 100644 index 00000000000..e217ddf0799 --- /dev/null +++ b/code/__DEFINES/maths.html @@ -0,0 +1,73 @@ + + + + + + + code/__DEFINES/maths.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/maths.dm + +

+ + + + + + + + +
TOBITSHIFTGets shift x that would be required the bitflag (1<<x)
DT_PROB_RATEConverts a probability/second chance to probability/delta_time chance +For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do if(prob(100*DT_PROB_RATE(0.1, 5)))
DT_PROBLike DT_PROB_RATE but easier to use, simply put if(DT_PROB(10, 5))
MANHATTAN_DISTANCETaxicab distance--gets you the actual time it takes to get from one turf to another due to how we calculate diagonal movement
LOGISTIC_FUNCTIONA function that exponentially approaches a maximum value of L +k is the rate at which is approaches L, x_0 is the point where the function = 0
FORCE_BOOLEANMake sure something is a boolean TRUE/FALSE 1/0 value, since things like bitfield & bitflag doesn't always give 1s and 0s.
TILES_TO_PIXELSGives the number of pixels in an orthogonal line of tiles.

Define Details

+

DT_PROB + + + +

+

Like DT_PROB_RATE but easier to use, simply put if(DT_PROB(10, 5))

DT_PROB_RATE + + + +

+

Converts a probability/second chance to probability/delta_time chance +For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do if(prob(100*DT_PROB_RATE(0.1, 5)))

FORCE_BOOLEAN + + + +

+

Make sure something is a boolean TRUE/FALSE 1/0 value, since things like bitfield & bitflag doesn't always give 1s and 0s.

LOGISTIC_FUNCTION + + + +

+

A function that exponentially approaches a maximum value of L +k is the rate at which is approaches L, x_0 is the point where the function = 0

MANHATTAN_DISTANCE + + + +

+

Taxicab distance--gets you the actual time it takes to get from one turf to another due to how we calculate diagonal movement

TILES_TO_PIXELS + + + +

+

Gives the number of pixels in an orthogonal line of tiles.

TOBITSHIFT + + + +

+

Gets shift x that would be required the bitflag (1<<x)

+ + + diff --git a/code/__DEFINES/mecha.html b/code/__DEFINES/mecha.html new file mode 100644 index 00000000000..b2f834ce89f --- /dev/null +++ b/code/__DEFINES/mecha.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/mecha.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mecha.dm + +

+ + + +
CANNOT_INTERACTblocks using equipment and melee attacking.
MMI_COMPATIBLEposibrains can drive this mecha

Define Details

+

CANNOT_INTERACT + + +

+

blocks using equipment and melee attacking.

MMI_COMPATIBLE + + +

+

posibrains can drive this mecha

+ + + diff --git a/code/__DEFINES/misc.html b/code/__DEFINES/misc.html new file mode 100644 index 00000000000..eddee31f4ab --- /dev/null +++ b/code/__DEFINES/misc.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/misc.dm + +

+ + + +
DEBUG_LINEyeah yeah i'm a lazy asshole who can't debug yeah yeah
PIXELSworld.icon_size

Define Details

+

DEBUG_LINE + + +

+

yeah yeah i'm a lazy asshole who can't debug yeah yeah

PIXELS + + +

+

world.icon_size

+ + + diff --git a/code/__DEFINES/mobs.html b/code/__DEFINES/mobs.html new file mode 100644 index 00000000000..70b13dad967 --- /dev/null +++ b/code/__DEFINES/mobs.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/mobs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mobs.dm + +

+ + + +
MOB_NANITESMobs that otherwise support nanites
SPAWN_MEGAFAUNADefine for spawning megafauna instead of a mob for cave gen

Define Details

+

MOB_NANITES + + +

+

Mobs that otherwise support nanites

SPAWN_MEGAFAUNA + + +

+

Define for spawning megafauna instead of a mob for cave gen

+ + + diff --git a/code/__DEFINES/mobs/innate_abilities.html b/code/__DEFINES/mobs/innate_abilities.html new file mode 100644 index 00000000000..0724db5fc07 --- /dev/null +++ b/code/__DEFINES/mobs/innate_abilities.html @@ -0,0 +1,74 @@ + + + + + + + code/__DEFINES/mobs/innate_abilities.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mobs/innate_abilities.dm + +

+ + + + + + + + + + +
ABILITY_SOURCE_SPECIESSpecies
ABILITY_SOURCE_CHANGELINGChangeling
INNATE_ABILITY_HUMANOID_CUSTOMIZATIONFull customization and transformation of mutantparts/hair/sprite accessories/etc - excludes name by default
INNATE_ABILITY_SLIME_BLOBFORMSlime blobform
INNATE_ABILITY_LIMB_REGROWTHlimb regrowth
PROPERTY_CUSTOMIZATION_SILENTability properties +is this silent?
PROPERTY_BLOBFORM_COLORBlobform color
PROPERTY_LIMB_REGROWTH_USAGE_TYPElimb regrowth usage type
REGROWTH_USES_BLOODblood

Define Details

+

ABILITY_SOURCE_CHANGELING + + +

+

Changeling

ABILITY_SOURCE_SPECIES + + +

+

Species

INNATE_ABILITY_HUMANOID_CUSTOMIZATION + + +

+

Full customization and transformation of mutantparts/hair/sprite accessories/etc - excludes name by default

INNATE_ABILITY_LIMB_REGROWTH + + +

+

limb regrowth

INNATE_ABILITY_SLIME_BLOBFORM + + +

+

Slime blobform

PROPERTY_BLOBFORM_COLOR + + +

+

Blobform color

PROPERTY_CUSTOMIZATION_SILENT + + +

+

ability properties +is this silent?

PROPERTY_LIMB_REGROWTH_USAGE_TYPE + + +

+

limb regrowth usage type

REGROWTH_USES_BLOOD + + +

+

blood

+ + + diff --git a/code/__DEFINES/mobs/slowdowns.html b/code/__DEFINES/mobs/slowdowns.html new file mode 100644 index 00000000000..6542b0841a7 --- /dev/null +++ b/code/__DEFINES/mobs/slowdowns.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/mobs/slowdowns.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mobs/slowdowns.dm + +

+ + + + + + +
PULL_PRONE_SLOWDOWNHow much someone is slowed from pulling a prone human
FIREMAN_CARRY_SLOWDOWNHow much someone is slowed from fireman carrying a human
PIGGYBACK_CARRY_SLOWDOWNHow much someone is slowed by piggybacking a human
SOFTCRIT_ADD_SLOWDOWNslowdown when in softcrit. Note that crawling slowdown will also apply at the same time!
CRAWLING_ADD_SLOWDOWNslowdown when crawling

Define Details

+

CRAWLING_ADD_SLOWDOWN + + +

+

slowdown when crawling

FIREMAN_CARRY_SLOWDOWN + + +

+

How much someone is slowed from fireman carrying a human

PIGGYBACK_CARRY_SLOWDOWN + + +

+

How much someone is slowed by piggybacking a human

PULL_PRONE_SLOWDOWN + + +

+

How much someone is slowed from pulling a prone human

SOFTCRIT_ADD_SLOWDOWN + + +

+

slowdown when in softcrit. Note that crawling slowdown will also apply at the same time!

+ + + diff --git a/code/__DEFINES/mod.html b/code/__DEFINES/mod.html new file mode 100644 index 00000000000..223878a2332 --- /dev/null +++ b/code/__DEFINES/mod.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/mod.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mod.dm + +

+ + + + + + + + +
DEFAULT_MAX_COMPLEXITYDefault value for the max_complexity var on MODsuits
DEFAULT_CHARGE_DRAINDefault cell drain per process on MODsuits
MOD_ACTIVATION_STEP_TIMEDefault time for a part to seal
MODULE_PASSIVEPassive module, just acts when put in naturally.
MODULE_USABLEUsable module, does something when you press a button.
MODULE_TOGGLEToggle module, you turn it on/off and it does stuff.
MODULE_ACTIVEActively usable module, you may only have one selected at a time.

Define Details

+

DEFAULT_CHARGE_DRAIN + + +

+

Default cell drain per process on MODsuits

DEFAULT_MAX_COMPLEXITY + + +

+

Default value for the max_complexity var on MODsuits

MODULE_ACTIVE + + +

+

Actively usable module, you may only have one selected at a time.

MODULE_PASSIVE + + +

+

Passive module, just acts when put in naturally.

MODULE_TOGGLE + + +

+

Toggle module, you turn it on/off and it does stuff.

MODULE_USABLE + + +

+

Usable module, does something when you press a button.

MOD_ACTIVATION_STEP_TIME + + +

+

Default time for a part to seal

+ + + diff --git a/code/__DEFINES/movement.html b/code/__DEFINES/movement.html new file mode 100644 index 00000000000..df9daeef379 --- /dev/null +++ b/code/__DEFINES/movement.html @@ -0,0 +1,63 @@ + + + + + + + code/__DEFINES/movement.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/movement.dm + +

+ + + + + +
MIN_GLIDE_SIZEThe minimum for glide_size to be clamped to.
MAX_GLIDE_SIZEThe maximum for glide_size to be clamped to. +This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case.
DELAY_TO_GLIDE_SIZEBroken down, here's what this does: +divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick. +The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set +Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. +The whole result is then clamped to within the range above. +Not very readable but it works
SET_APPEARANCE_FLAGSEnables smooth movement +Set appearance flags in vars

Define Details

+

DELAY_TO_GLIDE_SIZE + + + +

+

Broken down, here's what this does: +divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick. +The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set +Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. +The whole result is then clamped to within the range above. +Not very readable but it works

MAX_GLIDE_SIZE + + +

+

The maximum for glide_size to be clamped to. +This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case.

MIN_GLIDE_SIZE + + +

+

The minimum for glide_size to be clamped to.

SET_APPEARANCE_FLAGS + + + +

+

Enables smooth movement +Set appearance flags in vars

+ + + diff --git a/code/__DEFINES/nanites.html b/code/__DEFINES/nanites.html new file mode 100644 index 00000000000..58d616d6029 --- /dev/null +++ b/code/__DEFINES/nanites.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/nanites.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/nanites.dm + +

+ + + + +
NANITE_PROTOCOL_REPLICATIONNanite Protocol types
NESTYPE_TEXTNanite extra settings types: used to help uis know what type an extra setting is
NES_SENT_CODENanite Extra Settings - Note that these will also be the names displayed in the UI

Define Details

+

NANITE_PROTOCOL_REPLICATION + + +

+

Nanite Protocol types

NESTYPE_TEXT + + +

+

Nanite extra settings types: used to help uis know what type an extra setting is

NES_SENT_CODE + + +

+

Nanite Extra Settings - Note that these will also be the names displayed in the UI

+ + + diff --git a/code/__DEFINES/power.html b/code/__DEFINES/power.html new file mode 100644 index 00000000000..6dd3e06cd28 --- /dev/null +++ b/code/__DEFINES/power.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/power.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/power.dm + +

+ + + +
WATTSconversion ratio from joules to watts
JOULESconversion ratio from watts to joules

Define Details

+

JOULES + + +

+

conversion ratio from watts to joules

WATTS + + +

+

conversion ratio from joules to watts

+ + + diff --git a/code/__DEFINES/procpath.html b/code/__DEFINES/procpath.html new file mode 100644 index 00000000000..4fc4b2d38f6 --- /dev/null +++ b/code/__DEFINES/procpath.html @@ -0,0 +1,27 @@ + + + + + + + code/__DEFINES/procpath.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__DEFINES/procpath.dm + +

+ + +
/procpathRepresents a proc or verb path.
+ + + diff --git a/code/__DEFINES/projectiles.html b/code/__DEFINES/projectiles.html new file mode 100644 index 00000000000..113c1d85a5a --- /dev/null +++ b/code/__DEFINES/projectiles.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/projectiles.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/projectiles.dm + +

+ + + + + + + + +
PROJECTILE_PIERCE_NONEDefault behavior: hit and delete self
PROJECTILE_PIERCE_HITHit the thing but go through without deleting. Causes on_hit to be called with pierced = TRUE
PROJECTILE_PIERCE_PHASEEntirely phase through the thing without ever hitting.
PROJECTILE_RICOCHET_YESThis atom should be ricocheted off of from its inherent properties using standard % chance handling.
PROJECTILE_RICOCHET_NOThis atom should not be ricocheted off of from its inherent properties.
PROJECTILE_RICOCHET_PREVENTThis atom should prevent any kind of projectile ricochet from its inherent properties.
PROJECTILE_RICOCHET_FORCEThis atom should force a projectile ricochet from its inherent properties.

Define Details

+

PROJECTILE_PIERCE_HIT + + +

+

Hit the thing but go through without deleting. Causes on_hit to be called with pierced = TRUE

PROJECTILE_PIERCE_NONE + + +

+

Default behavior: hit and delete self

PROJECTILE_PIERCE_PHASE + + +

+

Entirely phase through the thing without ever hitting.

PROJECTILE_RICOCHET_FORCE + + +

+

This atom should force a projectile ricochet from its inherent properties.

PROJECTILE_RICOCHET_NO + + +

+

This atom should not be ricocheted off of from its inherent properties.

PROJECTILE_RICOCHET_PREVENT + + +

+

This atom should prevent any kind of projectile ricochet from its inherent properties.

PROJECTILE_RICOCHET_YES + + +

+

This atom should be ricocheted off of from its inherent properties using standard % chance handling.

+ + + diff --git a/code/__DEFINES/qdel.html b/code/__DEFINES/qdel.html new file mode 100644 index 00000000000..40e8891101a --- /dev/null +++ b/code/__DEFINES/qdel.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/qdel.dm - Nostra-13 + + +
+ Nostra-13 - + 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.
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

+

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/reagents.html b/code/__DEFINES/reagents.html new file mode 100644 index 00000000000..f930c314e3f --- /dev/null +++ b/code/__DEFINES/reagents.html @@ -0,0 +1,36 @@ + + + + + + + code/__DEFINES/reagents.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/reagents.dm + +

+ + +
REAGENT_VALUE_NONEStandard reagents value defines. +Take a grain of salt, only "rare" reagents should have a decent value here, for balance reasons. +TL;DR Think of it also like general market request price more than rarity.

Define Details

+

REAGENT_VALUE_NONE + + +

+

Standard reagents value defines. +Take a grain of salt, only "rare" reagents should have a decent value here, for balance reasons. +TL;DR Think of it also like general market request price more than rarity.

+ + + diff --git a/code/__DEFINES/research/anomalies.html b/code/__DEFINES/research/anomalies.html new file mode 100644 index 00000000000..d7fa4c610e2 --- /dev/null +++ b/code/__DEFINES/research/anomalies.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/research/anomalies.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/research/anomalies.dm + +

+ + + + + + + +
ANOMALY_CORE_BLUESPACEBluespace cores
ANOMALY_CORE_GRAVITATIONALGravitational cores
ANOMALY_CORE_FLUXFlux
ANOMALY_CORE_VORTEXVortex
ANOMALY_CORE_PYROPyro
SUPERMATTER_ANOMALY_DROP_CHANCEchance supermatter anomalies drop real cores

Define Details

+

ANOMALY_CORE_BLUESPACE + + +

+

Bluespace cores

ANOMALY_CORE_FLUX + + +

+

Flux

ANOMALY_CORE_GRAVITATIONAL + + +

+

Gravitational cores

ANOMALY_CORE_PYRO + + +

+

Pyro

ANOMALY_CORE_VORTEX + + +

+

Vortex

SUPERMATTER_ANOMALY_DROP_CHANCE + + +

+

chance supermatter anomalies drop real cores

+ + + diff --git a/code/__DEFINES/research/stock_parts.html b/code/__DEFINES/research/stock_parts.html new file mode 100644 index 00000000000..876fb1ac5a6 --- /dev/null +++ b/code/__DEFINES/research/stock_parts.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/research/stock_parts.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/research/stock_parts.dm + +

+ + + +
STANDARD_PART_LEVEL_LATHE_COEFFICIENTEfficiency scaling for stock part level to material usage. All code concerning lathing and production from raw material sheet should be using this.
STANDARD_PART_LEVEL_ORE_COEFFICIENTEfficiency scaling for stock part level to ore factor. All code concerning lathing and production from raw ores to raw material sheets should be using this.

Define Details

+

STANDARD_PART_LEVEL_LATHE_COEFFICIENT + + + +

+

Efficiency scaling for stock part level to material usage. All code concerning lathing and production from raw material sheet should be using this.

STANDARD_PART_LEVEL_ORE_COEFFICIENT + + + +

+

Efficiency scaling for stock part level to ore factor. All code concerning lathing and production from raw ores to raw material sheets should be using this.

+ + + diff --git a/code/__DEFINES/robots.html b/code/__DEFINES/robots.html new file mode 100644 index 00000000000..6dfa433d615 --- /dev/null +++ b/code/__DEFINES/robots.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/robots.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/robots.dm + +

+ + +
BORG_MODULE_ALL_DISABLEDDefines for whether or not module slots are broken.

Define Details

+

BORG_MODULE_ALL_DISABLED + + +

+

Defines for whether or not module slots are broken.

+ + + diff --git a/code/__DEFINES/rust_g.html b/code/__DEFINES/rust_g.html new file mode 100644 index 00000000000..70a38da702a --- /dev/null +++ b/code/__DEFINES/rust_g.html @@ -0,0 +1,45 @@ + + + + + + + code/__DEFINES/rust_g.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/rust_g.dm + +

+ + + + +
/proc/rustg_get_versionGets the version of rust_g
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/screentips.html b/code/__DEFINES/screentips.html new file mode 100644 index 00000000000..b2d47591272 --- /dev/null +++ b/code/__DEFINES/screentips.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/screentips.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/screentips.dm + +

+ + + + + + + + + + + + + + +
SCREENTIP_CONTEXT_LMBContext applied to LMB actions
SCREENTIP_CONTEXT_RMBContext applied to RMB actions
SCREENTIP_CONTEXT_SHIFT_LMBContext applied to Shift-LMB actions
SCREENTIP_CONTEXT_CTRL_LMBContext applied to Ctrl-LMB actions
SCREENTIP_CONTEXT_CTRL_RMBContext applied to Ctrl-RMB actions
SCREENTIP_CONTEXT_ALT_LMBContext applied to Alt-LMB actions
SCREENTIP_CONTEXT_ALT_RMBContext applied to Alt-RMB actions
SCREENTIP_CONTEXT_CTRL_SHIFT_LMBContext applied to Ctrl-Shift-LMB actions
SCREENTIP_PREFERENCE_DISABLEDScreentips are always disabled
SCREENTIP_PREFERENCE_ENABLEDScreentips are always enabled
SCREENTIP_PREFERENCE_CONTEXT_ONLYScreentips are only enabled when they have context
SCREENTIP_PREFERENCE_NO_CONTEXTScreentips enabled, no context
INTENT_ANYRegardless of intent

Define Details

+

INTENT_ANY + + +

+

Regardless of intent

SCREENTIP_CONTEXT_ALT_LMB + + +

+

Context applied to Alt-LMB actions

SCREENTIP_CONTEXT_ALT_RMB + + +

+

Context applied to Alt-RMB actions

SCREENTIP_CONTEXT_CTRL_LMB + + +

+

Context applied to Ctrl-LMB actions

SCREENTIP_CONTEXT_CTRL_RMB + + +

+

Context applied to Ctrl-RMB actions

SCREENTIP_CONTEXT_CTRL_SHIFT_LMB + + +

+

Context applied to Ctrl-Shift-LMB actions

SCREENTIP_CONTEXT_LMB + + +

+

Context applied to LMB actions

SCREENTIP_CONTEXT_RMB + + +

+

Context applied to RMB actions

SCREENTIP_CONTEXT_SHIFT_LMB + + +

+

Context applied to Shift-LMB actions

SCREENTIP_PREFERENCE_CONTEXT_ONLY + + +

+

Screentips are only enabled when they have context

SCREENTIP_PREFERENCE_DISABLED + + +

+

Screentips are always disabled

SCREENTIP_PREFERENCE_ENABLED + + +

+

Screentips are always enabled

SCREENTIP_PREFERENCE_NO_CONTEXT + + +

+

Screentips enabled, no context

+ + + diff --git a/code/__DEFINES/skills/defines.html b/code/__DEFINES/skills/defines.html new file mode 100644 index 00000000000..c2ad9e1dd33 --- /dev/null +++ b/code/__DEFINES/skills/defines.html @@ -0,0 +1,107 @@ + + + + + + + code/__DEFINES/skills/defines.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/skills/defines.dm + +

+ + + + + + + + + + + + + + + + + +
SKILL_PROGRESSION_BINARYtrue/false
SKILL_PROGRESSION_NUMERICALnumerical
SKILL_PROGRESSION_ENUMEnum
SKILL_PROGRESSION_LEVELLevels
SKILL_USE_TOOLItems skill_traits and other defines
THRESHOLD_UNTRAINEDcompetency_threshold defines
STD_XP_LVL_UPLevel/Experience skills defines.
MODIFIER_SKILL_VALUESkill modifier defines and flags.
MODIFIER_SKILL_MULTmakes the skill modifier a multiplier, not an addendum.
MODIFIER_SKILL_VIRTUESets the skill to the defined value if lower than that. Highly reccomended you don't use it with MODIFIER_SKILL_MULT.
MODIFIER_SKILL_HANDICAPDoes the opposite of the above. combining both effectively results in the skill being locked to the specified value.
MODIFIER_SKILL_BODYBOUNDMakes it untransferred by mind.transfer_to()
MODIFIER_SKILL_ORIGIN_DIFFAdds the difference of the current value and the value stored at the time the modifier was added to the result.
MODIFIER_USE_THRESHOLDSWill this skill use competency thresholds instead of preset values
MODIFIER_SKILL_PRIORITY_LOWAscending priority defines.
SKILL_UI_CAT_ENGCategories of skills, these will be displayed alphabetically.

Define Details

+

MODIFIER_SKILL_BODYBOUND + + +

+

Makes it untransferred by mind.transfer_to()

MODIFIER_SKILL_HANDICAP + + +

+

Does the opposite of the above. combining both effectively results in the skill being locked to the specified value.

MODIFIER_SKILL_MULT + + +

+

makes the skill modifier a multiplier, not an addendum.

MODIFIER_SKILL_ORIGIN_DIFF + + +

+

Adds the difference of the current value and the value stored at the time the modifier was added to the result.

MODIFIER_SKILL_PRIORITY_LOW + + +

+

Ascending priority defines.

MODIFIER_SKILL_VALUE + + +

+

Skill modifier defines and flags.

MODIFIER_SKILL_VIRTUE + + +

+

Sets the skill to the defined value if lower than that. Highly reccomended you don't use it with MODIFIER_SKILL_MULT.

MODIFIER_USE_THRESHOLDS + + +

+

Will this skill use competency thresholds instead of preset values

SKILL_PROGRESSION_BINARY + + +

+

true/false

SKILL_PROGRESSION_ENUM + + +

+

Enum

SKILL_PROGRESSION_LEVEL + + +

+

Levels

SKILL_PROGRESSION_NUMERICAL + + +

+

numerical

SKILL_UI_CAT_ENG + + +

+

Categories of skills, these will be displayed alphabetically.

SKILL_USE_TOOL + + +

+

Items skill_traits and other defines

STD_XP_LVL_UP + + +

+

Level/Experience skills defines.

THRESHOLD_UNTRAINED + + +

+

competency_threshold defines

+ + + diff --git a/code/__DEFINES/skills/helpers.html b/code/__DEFINES/skills/helpers.html new file mode 100644 index 00000000000..d6159210a74 --- /dev/null +++ b/code/__DEFINES/skills/helpers.html @@ -0,0 +1,61 @@ + + + + + + + code/__DEFINES/skills/helpers.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/skills/helpers.dm + +

+ + + + + + +
SANITIZE_SKILL_LEVELDoesn't automatically round the value.
GET_SKILL_MOD_IDSimple generic identifier macro.
ADD_SKILL_MODIFIER_BODYA simple universal comsig for body bound skill modifiers. +Technically they are still bound to the mind, but other signal procs will take care of adding and removing the modifier +from/to new/old minds.
REMOVE_SKILL_MODIFIER_BODYSame as above but to remove the skill modifier.
ADD_SINGLETON_SKILL_MODIFIERMacro used when adding generic singleton skill modifiers.

Define Details

+

ADD_SINGLETON_SKILL_MODIFIER + + + +

+

Macro used when adding generic singleton skill modifiers.

ADD_SKILL_MODIFIER_BODY + + + +

+

A simple universal comsig for body bound skill modifiers. +Technically they are still bound to the mind, but other signal procs will take care of adding and removing the modifier +from/to new/old minds.

GET_SKILL_MOD_ID + + + +

+

Simple generic identifier macro.

REMOVE_SKILL_MODIFIER_BODY + + + +

+

Same as above but to remove the skill modifier.

SANITIZE_SKILL_LEVEL + + + +

+

Doesn't automatically round the value.

+ + + diff --git a/code/__DEFINES/sound.html b/code/__DEFINES/sound.html new file mode 100644 index 00000000000..22290007d82 --- /dev/null +++ b/code/__DEFINES/sound.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/sound.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/sound.dm + +

+ + + + + + + + + + +
SOUND_RANGEDefault range of a sound.
SHORT_RANGE_SOUND_EXTRARANGEdefault extra range for sounds considered to be quieter
SILENCED_SOUND_EXTRARANGEThe range deducted from sound range for things that are considered silent / sneaky
SOUND_DEFAULT_FALLOFF_DISTANCEPercentage of sound's range where no falloff is applied
SOUND_FALLOFF_EXPONENTThe default exponent of sound falloff
SOUND_DEFAULT_DISTANCE_MULTIPLIERDefault distance multiplier for sounds
SOUND_DEFAULT_MULTIPLIER_EFFECT_RANGEDefault range at which sound distance multiplier applies
FALLOFF_SOUNDSremove
ANNOUNCER_AIMALFAnnouncer audio keys

Define Details

+

ANNOUNCER_AIMALF + + +

+

Announcer audio keys

FALLOFF_SOUNDS + + +

+

remove

SHORT_RANGE_SOUND_EXTRARANGE + + +

+

default extra range for sounds considered to be quieter

SILENCED_SOUND_EXTRARANGE + + +

+

The range deducted from sound range for things that are considered silent / sneaky

SOUND_DEFAULT_DISTANCE_MULTIPLIER + + +

+

Default distance multiplier for sounds

SOUND_DEFAULT_FALLOFF_DISTANCE + + +

+

Percentage of sound's range where no falloff is applied

SOUND_DEFAULT_MULTIPLIER_EFFECT_RANGE + + +

+

Default range at which sound distance multiplier applies

SOUND_FALLOFF_EXPONENT + + +

+

The default exponent of sound falloff

SOUND_RANGE + + +

+

Default range of a sound.

+ + + diff --git a/code/__DEFINES/station.html b/code/__DEFINES/station.html new file mode 100644 index 00000000000..f3530a171b0 --- /dev/null +++ b/code/__DEFINES/station.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/station.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/station.dm + +

+ + +
FUTURE_STATION_TRAITS_FILEThe data file that future station traits are stored in

Define Details

+

FUTURE_STATION_TRAITS_FILE + + +

+

The data file that future station traits are stored in

+ + + diff --git a/code/__DEFINES/status_effects.html b/code/__DEFINES/status_effects.html new file mode 100644 index 00000000000..e410a25523b --- /dev/null +++ b/code/__DEFINES/status_effects.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/status_effects.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/status_effects.dm + +

+ + + + + + +
STATUS_EFFECT_STUNThe affected is unable to move, or to use, hold, or pickup items.
STATUS_EFFECT_DAZEDThe affected is unable to use or pickup items
STATUS_EFFECT_STAGGEREDBlocks sprint
STATUS_EFFECT_OFF_BALANCEshoves inflict this to indicate the next shove while this is in effect should disarm guns
IGNORE_STASISIf the incapacitated status effect will ignore a mob in stasis (stasis beds)

Define Details

+

IGNORE_STASIS + + +

+

If the incapacitated status effect will ignore a mob in stasis (stasis beds)

STATUS_EFFECT_DAZED + + +

+

The affected is unable to use or pickup items

STATUS_EFFECT_OFF_BALANCE + + +

+

shoves inflict this to indicate the next shove while this is in effect should disarm guns

STATUS_EFFECT_STAGGERED + + +

+

Blocks sprint

STATUS_EFFECT_STUN + + +

+

The affected is unable to move, or to use, hold, or pickup items.

+ + + diff --git a/code/__DEFINES/storage/_storage.html b/code/__DEFINES/storage/_storage.html new file mode 100644 index 00000000000..6231fe3c88d --- /dev/null +++ b/code/__DEFINES/storage/_storage.html @@ -0,0 +1,107 @@ + + + + + + + code/__DEFINES/storage/_storage.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/storage/_storage.dm + +

+ + + + + + + + + + + + + + + + + +
STORAGE_LIMIT_MAX_ITEMSCheck max_items and contents.len when trying to insert
STORAGE_LIMIT_COMBINED_W_CLASSCheck max_combined_w_class.
STORAGE_LIMIT_VOLUMEUse the new volume system. Will automatically force rendering to use the new volume/baystation scaling UI so this is kind of incompatible with stuff like stack storage etc etc.
STORAGE_LIMIT_MAX_W_CLASSUse max_w_class
VOLUMETRIC_STORAGE_BOX_ICON_SIZESize of volumetric box icon
VOLUMETRIC_STORAGE_BOX_BORDER_SIZESize of EACH left/right border icon for volumetric boxes
MINIMUM_PIXELS_PER_ITEMMinimum pixels an item must have in volumetric scaled storage UI
MAXIMUM_VOLUMETRIC_ITEMSMaximum number of objects that will be allowed to be displayed using the volumetric display system. Arbitrary number to prevent server lockups.
VOLUMETRIC_STORAGE_ITEM_PADDINGHow much padding to give between items
VOLUMETRIC_STORAGE_EDGE_PADDINGHow much padding to give to edges
WEIGHT_CLASS_TINYUsually items smaller then a human hand, ex: Playing Cards, Lighter, Scalpel, Coins/Money
WEIGHT_CLASS_SMALLPockets can hold small and tiny items, ex: Flashlight, Multitool, Grenades, GPS Device
WEIGHT_CLASS_NORMALStandard backpacks can carry tiny, small & normal items, ex: Fire extinguisher, Stunbaton, Gas Mask, Metal Sheets
WEIGHT_CLASS_BULKYItems that can be weilded or equipped but not stored in a normal bag, ex: Defibrillator, Backpack, Space Suits
WEIGHT_CLASS_HUGEUsually represents objects that require two hands to operate, ex: Shotgun, Two Handed Melee Weapons - Can not fit in Boh
WEIGHT_CLASS_GIGANTICEssentially means it cannot be picked up or placed in an inventory, ex: Mech Parts, Safe - Can not fit in Boh

Define Details

+

MAXIMUM_VOLUMETRIC_ITEMS + + +

+

Maximum number of objects that will be allowed to be displayed using the volumetric display system. Arbitrary number to prevent server lockups.

MINIMUM_PIXELS_PER_ITEM + + +

+

Minimum pixels an item must have in volumetric scaled storage UI

STORAGE_LIMIT_COMBINED_W_CLASS + + +

+

Check max_combined_w_class.

STORAGE_LIMIT_MAX_ITEMS + + +

+

Check max_items and contents.len when trying to insert

STORAGE_LIMIT_MAX_W_CLASS + + +

+

Use max_w_class

STORAGE_LIMIT_VOLUME + + +

+

Use the new volume system. Will automatically force rendering to use the new volume/baystation scaling UI so this is kind of incompatible with stuff like stack storage etc etc.

VOLUMETRIC_STORAGE_BOX_BORDER_SIZE + + +

+

Size of EACH left/right border icon for volumetric boxes

VOLUMETRIC_STORAGE_BOX_ICON_SIZE + + +

+

Size of volumetric box icon

VOLUMETRIC_STORAGE_EDGE_PADDING + + +

+

How much padding to give to edges

VOLUMETRIC_STORAGE_ITEM_PADDING + + +

+

How much padding to give between items

WEIGHT_CLASS_BULKY + + +

+

Items that can be weilded or equipped but not stored in a normal bag, ex: Defibrillator, Backpack, Space Suits

WEIGHT_CLASS_GIGANTIC + + +

+

Essentially means it cannot be picked up or placed in an inventory, ex: Mech Parts, Safe - Can not fit in Boh

WEIGHT_CLASS_HUGE + + +

+

Usually represents objects that require two hands to operate, ex: Shotgun, Two Handed Melee Weapons - Can not fit in Boh

WEIGHT_CLASS_NORMAL + + +

+

Standard backpacks can carry tiny, small & normal items, ex: Fire extinguisher, Stunbaton, Gas Mask, Metal Sheets

WEIGHT_CLASS_SMALL + + +

+

Pockets can hold small and tiny items, ex: Flashlight, Multitool, Grenades, GPS Device

WEIGHT_CLASS_TINY + + +

+

Usually items smaller then a human hand, ex: Playing Cards, Lighter, Scalpel, Coins/Money

+ + + diff --git a/code/__DEFINES/storage/volumetrics.html b/code/__DEFINES/storage/volumetrics.html new file mode 100644 index 00000000000..a38c417674a --- /dev/null +++ b/code/__DEFINES/storage/volumetrics.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/storage/volumetrics.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/storage/volumetrics.dm + +

+ + + + + +
AUTO_SCALE_VOLUMEMacro for automatically getting the volume of an item from its w_class.
AUTO_SCALE_STORAGE_VOLUMEMacro for automatically getting the volume of a storage item from its max_w_class and max_combined_w_class.
ITEM_VOLUME_DISKvolume for a data disk
ITEM_VOLUME_STRIPPER_CLIPvolume for a shotgun stripper clip holding 4 shells

Define Details

+

AUTO_SCALE_STORAGE_VOLUME + + + +

+

Macro for automatically getting the volume of a storage item from its max_w_class and max_combined_w_class.

AUTO_SCALE_VOLUME + + + +

+

Macro for automatically getting the volume of an item from its w_class.

ITEM_VOLUME_DISK + + +

+

volume for a data disk

ITEM_VOLUME_STRIPPER_CLIP + + +

+

volume for a shotgun stripper clip holding 4 shells

+ + + diff --git a/code/__DEFINES/strippable.html b/code/__DEFINES/strippable.html new file mode 100644 index 00000000000..5440ff45eeb --- /dev/null +++ b/code/__DEFINES/strippable.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/strippable.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/strippable.dm + +

+ + + + +
STRIPPABLE_OBSCURING_NONEThis slot is not obscured.
STRIPPABLE_OBSCURING_COMPLETELYThis slot is completely obscured, and cannot be accessed.
STRIPPABLE_OBSCURING_HIDDENThis slot can't be seen, but can be accessed.

Define Details

+

STRIPPABLE_OBSCURING_COMPLETELY + + +

+

This slot is completely obscured, and cannot be accessed.

STRIPPABLE_OBSCURING_HIDDEN + + +

+

This slot can't be seen, but can be accessed.

STRIPPABLE_OBSCURING_NONE + + +

+

This slot is not obscured.

+ + + diff --git a/code/__DEFINES/subsystems.html b/code/__DEFINES/subsystems.html new file mode 100644 index 00000000000..9e701b17962 --- /dev/null +++ b/code/__DEFINES/subsystems.html @@ -0,0 +1,165 @@ + + + + + + + code/__DEFINES/subsystems.dm - Nostra-13 + + +
+ Nostra-13 - + 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

+

DB defines

DB_MAJOR_VERSIONDB major schema version
DB_MINOR_VERSIONDB minor schema version

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

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_IMMEDIATEtype and all subtypes should always immediately call Initialize in New()

Overlays subsystem

COMPILE_OVERLAYSCompile all the overlays for an atom from the cache lists
addtimerCreate a new timer and add it to the queue.

Define Details

+

COMPILE_OVERLAYS + + + +

+

Compile all the overlays for an atom from the cache lists

DB_MAJOR_VERSION + + +

+

DB major schema version

+

Update this whenever the db schema changes

+

make sure you add an update to the schema_version stable in the db changelog

DB_MINOR_VERSION + + +

+

DB minor schema version

+

Update this whenever the db schema changes

+

make sure you add an update to the schema_version stable in the db changelog

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_IMMEDIATE + + + +

+

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

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/text.html b/code/__DEFINES/text.html new file mode 100644 index 00000000000..0dcce8c4a7d --- /dev/null +++ b/code/__DEFINES/text.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/text.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/text.dm + +

+ + + +
MAPTEXTPrepares a text to be used for maptext. Use this so it doesn't look hideous.
WXH_TO_HEIGHTMacro from Lummox used to get height from a MeasureText proc

Define Details

+

MAPTEXT + + + +

+

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

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 00000000000..997f2eb7a78 --- /dev/null +++ b/code/__DEFINES/tgs.html @@ -0,0 +1,179 @@ + + + + + + + code/__DEFINES/tgs.dm - Nostra-13 + + +
+ Nostra-13 - + 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_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_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_chat_commandUser definable chat command

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_COMPLETE + + +

+

When a deployment completes. 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_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_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 00000000000..90028c4d101 --- /dev/null +++ b/code/__DEFINES/tgui.html @@ -0,0 +1,95 @@ + + + + + + + code/__DEFINES/tgui.dm - Nostra-13 + + +
+ Nostra-13 - + 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_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_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 00000000000..f9a945b8596 --- /dev/null +++ b/code/__DEFINES/traits.html @@ -0,0 +1,169 @@ + + + + + + + code/__DEFINES/traits.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/traits.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TRAIT_IMMOBILIZEDPrevents voluntary movement.
TRAIT_HANDS_BLOCKEDPrevents usage of manipulation appendages (picking, holding or using items, manipulating storage).
TRAIT_ANTIMAGIC_NO_SELFBLOCKLike antimagic, but doesn't block the user from casting
TRAIT_XRAY_VISIONGives us turf, mob and object vision through walls
TRAIT_THERMAL_VISIONGives us mob vision through walls and slight night vision
TRAIT_MESON_VISIONGives us turf vision through walls and slight night vision
TRAIT_TRUE_NIGHT_VISIONGives us Night vision
TRAIT_REAGENT_SCANNERLets us scan reagents
TRAIT_NO_STAMINA_BUFFER_REGENERATIONPrevents stamina buffer regeneration
TRAIT_NO_STAMINA_REGENERATIONPrevents stamina regeneration
TRAIT_LIVING_NO_DENSITYforces update_density to make us not dense
TRAIT_HUMAN_NO_RENDERforces us to not render our overlays
TRAIT_BEING_CARRIEDUsed for fireman carry to have mobe not be dropped when passing by a prone individual.
TRAIT_MOBILITY_NOMOVEDisallow movement
TRAIT_MOBILITY_NOPICKUPDisallow pickup
TRAIT_MOBILITY_NOUSEDisallow item use
TRAIT_MOBILITY_NORESTDisallow resting/unresting
TRAIT_COMBAT_MODE_LOCKEDCOMBAT MODE/SPRINT MODE TRAITS +Prevents combat mode from being active.
TRAIT_SPRINT_LOCKEDPrevents sprinting from being active.
TRAIT_LAVA_IMMUNEWeather immunities, also protect mobs inside them.
TRAIT_KEEP_TOGETHERUsed for managing KEEP_TOGETHER in [appearance_flags]
TURF_Z_TRANSPARENT_TRAITTurf trait for when a turf is transparent
ACTIVE_BLOCK_TRAITThis trait is added by the active directional block system.
ACTIVE_PARRY_TRAITThis trait is added by the parry system.
MAPPING_HELPER_TRAITobtained from mapping helper
MAFIA_TRAITTrait associated with mafia
STATION_TRAIT_BANANIUM_SHIPMENTSTraits given by station traits
MOD_TRAITTrait applied by MODsuits.

Define Details

+

ACTIVE_BLOCK_TRAIT + + +

+

This trait is added by the active directional block system.

ACTIVE_PARRY_TRAIT + + +

+

This trait is added by the parry system.

MAFIA_TRAIT + + +

+

Trait associated with mafia

MAPPING_HELPER_TRAIT + + +

+

obtained from mapping helper

MOD_TRAIT + + +

+

Trait applied by MODsuits.

STATION_TRAIT_BANANIUM_SHIPMENTS + + +

+

Traits given by station traits

TRAIT_ANTIMAGIC_NO_SELFBLOCK + + +

+

Like antimagic, but doesn't block the user from casting

TRAIT_BEING_CARRIED + + +

+

Used for fireman carry to have mobe not be dropped when passing by a prone individual.

TRAIT_COMBAT_MODE_LOCKED + + +

+

COMBAT MODE/SPRINT MODE TRAITS +Prevents combat mode from being active.

TRAIT_HANDS_BLOCKED + + +

+

Prevents usage of manipulation appendages (picking, holding or using items, manipulating storage).

TRAIT_HUMAN_NO_RENDER + + +

+

forces us to not render our overlays

TRAIT_IMMOBILIZED + + +

+

Prevents voluntary movement.

TRAIT_KEEP_TOGETHER + + +

+

Used for managing KEEP_TOGETHER in [appearance_flags]

TRAIT_LAVA_IMMUNE + + +

+

Weather immunities, also protect mobs inside them.

TRAIT_LIVING_NO_DENSITY + + +

+

forces update_density to make us not dense

TRAIT_MESON_VISION + + +

+

Gives us turf vision through walls and slight night vision

TRAIT_MOBILITY_NOMOVE + + +

+

Disallow movement

TRAIT_MOBILITY_NOPICKUP + + +

+

Disallow pickup

TRAIT_MOBILITY_NOREST + + +

+

Disallow resting/unresting

TRAIT_MOBILITY_NOUSE + + +

+

Disallow item use

TRAIT_NO_STAMINA_BUFFER_REGENERATION + + +

+

Prevents stamina buffer regeneration

TRAIT_NO_STAMINA_REGENERATION + + +

+

Prevents stamina regeneration

TRAIT_REAGENT_SCANNER + + +

+

Lets us scan reagents

TRAIT_SPRINT_LOCKED + + +

+

Prevents sprinting from being active.

TRAIT_THERMAL_VISION + + +

+

Gives us mob vision through walls and slight night vision

TRAIT_TRUE_NIGHT_VISION + + +

+

Gives us Night vision

TRAIT_XRAY_VISION + + +

+

Gives us turf, mob and object vision through walls

TURF_Z_TRANSPARENT_TRAIT + + +

+

Turf trait for when a turf is transparent

+ + + diff --git a/code/__DEFINES/uplink.html b/code/__DEFINES/uplink.html new file mode 100644 index 00000000000..c5f29898f5f --- /dev/null +++ b/code/__DEFINES/uplink.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/uplink.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/uplink.dm + +

+ + + + +
UPLINK_TRAITORSThis item is purchasable to traitors
UPLINK_NUKE_OPSThis item is purchasable to nuke ops
UPLINK_CLOWN_OPSThis item is purchasable to clown ops

Define Details

+ +

This item is purchasable to clown ops

+

This item is purchasable to nuke ops

+

This item is purchasable to traitors

+ + + diff --git a/code/__DEFINES/vehicles.html b/code/__DEFINES/vehicles.html new file mode 100644 index 00000000000..f1925653b10 --- /dev/null +++ b/code/__DEFINES/vehicles.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/vehicles.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/vehicles.dm + +

+ + + + + + + + +
VEHICLE_CONTROL_DRIVEcontrols the vehicles movement
VEHICLE_CONTROL_KIDNAPPEDCan't leave vehicle voluntarily, has to resist.
VEHICLE_CONTROL_MELEEmelee attacks/shoves a vehicle may have
VEHICLE_CONTROL_EQUIPMENTusing equipment/weapons on the vehicle
VEHICLE_CONTROL_SETTINGSchanging around settings and the like.
FULL_MECHA_CONTROLez define for giving a single pilot mech all the flags it needs.
CAN_KIDNAPWill this car kidnap people by ramming into them?

Define Details

+

CAN_KIDNAP + + +

+

Will this car kidnap people by ramming into them?

FULL_MECHA_CONTROL + + +

+

ez define for giving a single pilot mech all the flags it needs.

VEHICLE_CONTROL_DRIVE + + +

+

controls the vehicles movement

VEHICLE_CONTROL_EQUIPMENT + + +

+

using equipment/weapons on the vehicle

VEHICLE_CONTROL_KIDNAPPED + + +

+

Can't leave vehicle voluntarily, has to resist.

VEHICLE_CONTROL_MELEE + + +

+

melee attacks/shoves a vehicle may have

VEHICLE_CONTROL_SETTINGS + + +

+

changing around settings and the like.

+ + + diff --git a/code/__DEFINES/voreconstants.html b/code/__DEFINES/voreconstants.html new file mode 100644 index 00000000000..7c385de7325 --- /dev/null +++ b/code/__DEFINES/voreconstants.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/voreconstants.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/voreconstants.dm + +

+ + + + + +
SMELLABLECan be smelled?
ABSORBABLECan get absorbed?
MOBVORECan get simplemob vored?
MAX_VORE_FLAGChange this whenever you add a vore flag, must be largest vore flag*2-1

Define Details

+

ABSORBABLE + + +

+

Can get absorbed?

MAX_VORE_FLAG + + +

+

Change this whenever you add a vore flag, must be largest vore flag*2-1

MOBVORE + + +

+

Can get simplemob vored?

SMELLABLE + + +

+

Can be smelled?

+ + + diff --git a/code/__DEFINES/wounds.html b/code/__DEFINES/wounds.html new file mode 100644 index 00000000000..c309c35e8a4 --- /dev/null +++ b/code/__DEFINES/wounds.html @@ -0,0 +1,192 @@ + + + + + + + code/__DEFINES/wounds.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/wounds.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
WOUND_MINIMUM_DAMAGEan attack must do this much damage after armor in order to roll for being a wound (incremental pressure damage need not apply)
DISMEMBER_MINIMUM_DAMAGEan attack must do this much damage after armor in order to be eliigible to dismember a suitably mushed bodypart
WOUND_MAX_CONSIDERED_DAMAGEany damage dealt over this is ignored for damage rolls unless the target has the frail quirk (35^1.4=145)
WOUND_BLUNTany brute weapon/attack that doesn't have sharpness. rolls for blunt bone wounds
WOUND_SLASHany brute weapon/attack with sharpness = SHARP_EDGED. rolls for slash wounds
WOUND_PIERCEany brute weapon/attack with sharpness = SHARP_POINTY. rolls for piercing wounds
WOUND_BURNany concentrated burn attack (lasers really). rolls for burning wounds
WOUND_DETERMINATION_MAXthe max amount of determination you can have
CANT_WOUNDset wound_bonus on an item or attack to this to disable checking wounding for the attack
WOUND_INFECTION_MODERATEbelow this has no ill effects from infection
WOUND_INFECTION_SEVEREthen below here, you ooze some pus and suffer minor tox damage, but nothing serious
WOUND_INFECTION_CRITICALthen below here, your limb occasionally locks up from damage and infection and briefly becomes disabled. Things are getting really bad
WOUND_INFECTION_SEPTICbelow here, your skin is almost entirely falling off and your limb locks up more frequently. You are within a stone's throw of septic paralysis and losing the limb
WOUND_BURN_SANITIZATION_RATEhow quickly sanitization removes infestation and decays per tick
WOUND_SLASH_MAX_BLOODFLOWhow much blood you can lose per tick per slash max. 8 is a LOT of blood for one cut so don't worry about hitting it easily
WOUND_SLASH_DEAD_CLOT_MINdead people don't bleed, but they can clot! this is the minimum amount of clotting per tick on dead people, so even critical cuts will slowly clot in dead people
WOUND_BONE_HEAD_TIME_VARIANCEif we suffer a bone wound to the head that creates brain traumas, the timer for the trauma cycle is +/- by this percent (0-100)
SCAR_SAVE_VERSThe version number of the scar we're saving
SCAR_SAVE_ZONEThe body_zone we're applying to on granting
SCAR_SAVE_DESCThe description we're loading
SCAR_SAVE_PRECISE_LOCATIONThe precise location we're loading
SCAR_SAVE_SEVERITYThe severity the scar had
SCAR_SAVE_LENGTHhow many fields there are above (NOT INCLUDING THIS OBVIOUSLY)
SCAR_CURRENT_VERSIONsaved scars with a version lower than this will be discarded
BIO_INORGANICgolems and androids, cannot suffer any wounds
BIO_JUST_BONEskeletons and plasmemes, can only suffer bone wounds, only needs mangled bone to be able to dismember
BIO_JUST_FLESHnothing right now, maybe slimepeople in the future, can only suffer slashing, piercing, and burn wounds
BIO_FLESH_BONEstandard humanoids, can suffer all wounds, needs mangled bone and flesh to dismember
FLESH_WOUNDIf this wound requires having the HAS_FLESH flag for humanoids
BONE_WOUNDIf this wound requires having the HAS_BONE flag for humanaoids
MANGLES_FLESHIf having this wound counts as mangled flesh for dismemberment
MANGLES_BONEIf having this wound counts as mangled bone for dismemberment
ACCEPTS_GAUZEIf this wound marks the limb as being allowed to have gauze applied

Define Details

+

ACCEPTS_GAUZE + + +

+

If this wound marks the limb as being allowed to have gauze applied

BIO_FLESH_BONE + + +

+

standard humanoids, can suffer all wounds, needs mangled bone and flesh to dismember

BIO_INORGANIC + + +

+

golems and androids, cannot suffer any wounds

BIO_JUST_BONE + + +

+

skeletons and plasmemes, can only suffer bone wounds, only needs mangled bone to be able to dismember

BIO_JUST_FLESH + + +

+

nothing right now, maybe slimepeople in the future, can only suffer slashing, piercing, and burn wounds

BONE_WOUND + + +

+

If this wound requires having the HAS_BONE flag for humanaoids

CANT_WOUND + + +

+

set wound_bonus on an item or attack to this to disable checking wounding for the attack

DISMEMBER_MINIMUM_DAMAGE + + +

+

an attack must do this much damage after armor in order to be eliigible to dismember a suitably mushed bodypart

FLESH_WOUND + + +

+

If this wound requires having the HAS_FLESH flag for humanoids

MANGLES_BONE + + +

+

If having this wound counts as mangled bone for dismemberment

MANGLES_FLESH + + +

+

If having this wound counts as mangled flesh for dismemberment

SCAR_CURRENT_VERSION + + +

+

saved scars with a version lower than this will be discarded

SCAR_SAVE_DESC + + +

+

The description we're loading

SCAR_SAVE_LENGTH + + +

+

how many fields there are above (NOT INCLUDING THIS OBVIOUSLY)

SCAR_SAVE_PRECISE_LOCATION + + +

+

The precise location we're loading

SCAR_SAVE_SEVERITY + + +

+

The severity the scar had

SCAR_SAVE_VERS + + +

+

The version number of the scar we're saving

SCAR_SAVE_ZONE + + +

+

The body_zone we're applying to on granting

WOUND_BLUNT + + +

+

any brute weapon/attack that doesn't have sharpness. rolls for blunt bone wounds

WOUND_BONE_HEAD_TIME_VARIANCE + + +

+

if we suffer a bone wound to the head that creates brain traumas, the timer for the trauma cycle is +/- by this percent (0-100)

WOUND_BURN + + +

+

any concentrated burn attack (lasers really). rolls for burning wounds

WOUND_BURN_SANITIZATION_RATE + + +

+

how quickly sanitization removes infestation and decays per tick

WOUND_DETERMINATION_MAX + + +

+

the max amount of determination you can have

WOUND_INFECTION_CRITICAL + + +

+

then below here, your limb occasionally locks up from damage and infection and briefly becomes disabled. Things are getting really bad

WOUND_INFECTION_MODERATE + + +

+

below this has no ill effects from infection

WOUND_INFECTION_SEPTIC + + +

+

below here, your skin is almost entirely falling off and your limb locks up more frequently. You are within a stone's throw of septic paralysis and losing the limb

WOUND_INFECTION_SEVERE + + +

+

then below here, you ooze some pus and suffer minor tox damage, but nothing serious

WOUND_MAX_CONSIDERED_DAMAGE + + +

+

any damage dealt over this is ignored for damage rolls unless the target has the frail quirk (35^1.4=145)

WOUND_MINIMUM_DAMAGE + + +

+

an attack must do this much damage after armor in order to roll for being a wound (incremental pressure damage need not apply)

WOUND_PIERCE + + +

+

any brute weapon/attack with sharpness = SHARP_POINTY. rolls for piercing wounds

WOUND_SLASH + + +

+

any brute weapon/attack with sharpness = SHARP_EDGED. rolls for slash wounds

WOUND_SLASH_DEAD_CLOT_MIN + + +

+

dead people don't bleed, but they can clot! this is the minimum amount of clotting per tick on dead people, so even critical cuts will slowly clot in dead people

WOUND_SLASH_MAX_BLOODFLOW + + +

+

how much blood you can lose per tick per slash max. 8 is a LOT of blood for one cut so don't worry about hitting it easily

+ + + diff --git a/code/__HELPERS/_lists.html b/code/__HELPERS/_lists.html new file mode 100644 index 00000000000..b75402538ee --- /dev/null +++ b/code/__HELPERS/_lists.html @@ -0,0 +1,118 @@ + + + + + + + code/__HELPERS/_lists.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/_lists.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
LIST_VALUE_WRAP_LISTSIf value is a list, wrap it in a list so it can be used with list add/remove operations
UNTYPED_LIST_ADDAdd an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun
UNTYPED_LIST_REMOVERemove an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun
LAZYLISTDUPLICATELike LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled
LAZYACCESSreturns L[I] if L exists and I is a valid index of L, runtimes if L is not a list
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)
LAZYADDASSOCThis 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)
LAZYORASSOCLISTPerforms an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.
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/english_list_assocEnglish_list but associative supporting. Higher overhead. +@depricated
/proc/listgetindex@depricated
/proc/safepick@depricated
/proc/isemptylist@depricated
/proc/typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list
/proc/pick_n_takePick a random element from the list and remove it from the list.
/proc/find_recordReturns datum/data/record

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

LAZYACCESS + + + +

+

returns L[I] if L exists and I is a valid index of L, runtimes if L is not a list

LAZYADDASSOC + + + +

+

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)

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)

LAZYLISTDUPLICATE + + + +

+

Like LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled

LAZYORASSOCLIST + + + +

+

Performs an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.

LIST_VALUE_WRAP_LISTS + + + +

+

If value is a list, wrap it in a list so it can be used with list add/remove operations

UNTYPED_LIST_ADD + + + +

+

Add an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun

UNTYPED_LIST_REMOVE + + + +

+

Remove an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun

+ + + diff --git a/code/__HELPERS/_logging.html b/code/__HELPERS/_logging.html new file mode 100644 index 00000000000..abe4841ac8b --- /dev/null +++ b/code/__HELPERS/_logging.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/_logging.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/_logging.dm + +

+ + + + + +
/proc/log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
/proc/log_tguiAppends a tgui-related log entry. All arguments are optional.
+ + + diff --git a/code/__HELPERS/areas.html b/code/__HELPERS/areas.html new file mode 100644 index 00000000000..08b6b29c485 --- /dev/null +++ b/code/__HELPERS/areas.html @@ -0,0 +1,40 @@ + + + + + + + code/__HELPERS/areas.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/areas.dm + +

+ + + + + + + + + +
/proc/get_base_areaReturns the base area the target is located in if there is one. +Alternatively, returns the area as is.
/proc/get_sub_areasReturns either null, or a list containing every sub area associated with our base area. +If include_base is TRUE, the base area will also be added to the return list.
/proc/get_sub_areas_turfsProc used for purposes similar to get_areas_turfs(), but aimed to include associated areas. +Only accepts area instances and paths for the first arg, no text strings. +Returns a list of all turfs found in the sub areas (including the base's if include_base is TRUE) +and located in a z level matching target_z, or anywhere if target_z is 0
/proc/get_sub_areas_contentsSimple proc that returns a sum of all contents from every sub area, +Think of the above but for all contents, not just turfs, and without target z.
+ + + diff --git a/code/__HELPERS/chat.html b/code/__HELPERS/chat.html new file mode 100644 index 00000000000..5e4eef17d13 --- /dev/null +++ b/code/__HELPERS/chat.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/chat.dm - Nostra-13 + + +
+ Nostra-13 - + 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/clients.html b/code/__HELPERS/clients.html new file mode 100644 index 00000000000..efeb6c628d0 --- /dev/null +++ b/code/__HELPERS/clients.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/clients.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/clients.dm + +

+ + + +
/proc/is_guest_keyReturns whether or not a player is a guest using their ckey as an input
+ + + diff --git a/code/__HELPERS/do_after.html b/code/__HELPERS/do_after.html new file mode 100644 index 00000000000..2e86bb88f1a --- /dev/null +++ b/code/__HELPERS/do_after.html @@ -0,0 +1,50 @@ + + + + + + + code/__HELPERS/do_after.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/do_after.dm + +

+ + +
INVOKE_CALLBACKHigher overhead "advanced" version of do_after. +@params

Define Details

+

INVOKE_CALLBACK + + +

+

Higher overhead "advanced" version of do_after. +@params

+
+ + + diff --git a/code/__HELPERS/files.html b/code/__HELPERS/files.html new file mode 100644 index 00000000000..5475dcf2e6c --- /dev/null +++ b/code/__HELPERS/files.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/files.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/files.dm + +

+ + + + + +
/proc/md5filepathReturns the md5 of a file at a given path.
/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 00000000000..d3a7cc9b638 --- /dev/null +++ b/code/__HELPERS/game.html @@ -0,0 +1,40 @@ + + + + + + + code/__HELPERS/game.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/game.dm + +

+ + + + + + + + + + +
GET_ERROR_ROOMReturns either the error landmark or the location of the room. Needless to say, if this is used, it means things have gone awry.
/proc/get_bbox_of_atomsGet a bounding box of a list of atoms.
/proc/recursive_organ_check
/proc/remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
/proc/announce_arrivalSend a message in common radio when a player arrives

Define Details

+

GET_ERROR_ROOM + + +

+

Returns either the error landmark or the location of the room. Needless to say, if this is used, it means things have gone awry.

+ + + diff --git a/code/__HELPERS/global_lists.html b/code/__HELPERS/global_lists.html new file mode 100644 index 00000000000..9b6bceb1b3b --- /dev/null +++ b/code/__HELPERS/global_lists.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/global_lists.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/global_lists.dm + +

+ + + +
/proc/make_datum_references_listsInitial Building
+ + + diff --git a/code/__HELPERS/icons.html b/code/__HELPERS/icons.html new file mode 100644 index 00000000000..2b9af6d2c56 --- /dev/null +++ b/code/__HELPERS/icons.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/icons.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/icons.dm + +

+ + + + + +
/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/icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
+ + + diff --git a/code/__HELPERS/lighting.html b/code/__HELPERS/lighting.html new file mode 100644 index 00000000000..464af09023d --- /dev/null +++ b/code/__HELPERS/lighting.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/lighting.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/lighting.dm + +

+ + + +
/proc/emissive_appearanceProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.
+ + + diff --git a/code/__HELPERS/matrices/color_matrix.html b/code/__HELPERS/matrices/color_matrix.html new file mode 100644 index 00000000000..7dcc35e712c --- /dev/null +++ b/code/__HELPERS/matrices/color_matrix.html @@ -0,0 +1,39 @@ + + + + + + + code/__HELPERS/matrices/color_matrix.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/matrices/color_matrix.dm + +

+ + + + + + + + + + + + + +
/proc/color_matrix_saturation_percentExxagerates or removes colors
/proc/color_matrix_contrast_percentExxagerates or removes brightness
/proc/color_matrix_rotationMoves all colors angle degrees around the color wheel while maintaining intensity of the color and not affecting whites +TODO: Need a version that only affects one color (ie shift red to blue but leave greens and blues alone)
/proc/color_matrix_hsvBuilds a color matrix that transforms the hue, saturation, and value, all in one operation.
/proc/rgb_construct_color_matrixAssembles a color matrix, defaulting to identity
/proc/rgba_construct_color_matrixAssembles a color matrix, defaulting to identity
+ + + diff --git a/code/__HELPERS/matrices/transform_matrix.html b/code/__HELPERS/matrices/transform_matrix.html new file mode 100644 index 00000000000..12f4ab1ae31 --- /dev/null +++ b/code/__HELPERS/matrices/transform_matrix.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/matrices/transform_matrix.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/matrices/transform_matrix.dm + +

+ + + +
/proc/transform_matrix_constructconstructs a transform matrix, defaulting to identity
+ + + diff --git a/code/__HELPERS/mobs.html b/code/__HELPERS/mobs.html new file mode 100644 index 00000000000..c1f4269e80a --- /dev/null +++ b/code/__HELPERS/mobs.html @@ -0,0 +1,35 @@ + + + + + + + code/__HELPERS/mobs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/mobs.dm + +

+ + +
GET_CLIENTGets the client of the mob, allowing for mocking of the client. +You only need to use this if you know you're going to be mocking clients somewhere else.

Define Details

+

GET_CLIENT + + + +

+

Gets the client of the mob, allowing for mocking of the client. +You only need to use this if you know you're going to be mocking clients somewhere else.

+ + + diff --git a/code/__HELPERS/path.html b/code/__HELPERS/path.html new file mode 100644 index 00000000000..81d6ba9618a --- /dev/null +++ b/code/__HELPERS/path.html @@ -0,0 +1,51 @@ + + + + + + + code/__HELPERS/path.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/path.dm + +

+ + + + + + + + + +
/proc/get_path_toThis file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.
CAN_STEPA helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. +Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum. +If you really want to optimize things, optimize this, cuz this gets called a lot.
STEP_NOT_HERE_BUT_THEREAnother helper macro for JPS, for telling when a node has forced neighbors that need expanding
/datum/jps_nodeThe JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from
/proc/HeapPathWeightCompareTODO: Macro this to reduce proc overhead
/datum/pathfindThe datum used to handle the JPS pathfinding, completely self-contained

Define Details

+

CAN_STEP + + + +

+

A helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. +Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum. +If you really want to optimize things, optimize this, cuz this gets called a lot.

STEP_NOT_HERE_BUT_THERE + + + +

+

Another helper macro for JPS, for telling when a node has forced neighbors that need expanding

+ + + diff --git a/code/__HELPERS/priority_announce.html b/code/__HELPERS/priority_announce.html new file mode 100644 index 00000000000..25ef83cae70 --- /dev/null +++ b/code/__HELPERS/priority_announce.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/priority_announce.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/priority_announce.dm + +

+ + + +
/proc/call_emergency_meetingIf the announcer overrides alert messages, use that message. +Summon the crew for an emergency meeting
+ + + diff --git a/code/__HELPERS/radio.html b/code/__HELPERS/radio.html new file mode 100644 index 00000000000..194508ba38c --- /dev/null +++ b/code/__HELPERS/radio.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/radio.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/radio.dm + +

+ + + + + + + + + +
/proc/sanitize_frequencyEnsure the frequency is within bounds of what it should be sending/receiving at
/proc/format_frequencyFormat frequency by moving the decimal.
/proc/unformat_frequencyOpposite of format, returns as a number
/proc/return_unused_frequencyreturns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
+ + + diff --git a/code/__HELPERS/sanitize_values.html b/code/__HELPERS/sanitize_values.html new file mode 100644 index 00000000000..75bfed9663f --- /dev/null +++ b/code/__HELPERS/sanitize_values.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/sanitize_values.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/sanitize_values.dm + +

+ + + + + +
/proc/sanitize_hexcolorSanitizes a hexadecimal color. Always outputs lowercase.
/proc/sanitize_ooccolorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
+ + + diff --git a/code/__HELPERS/string_lists.html b/code/__HELPERS/string_lists.html new file mode 100644 index 00000000000..fcfbe578242 --- /dev/null +++ b/code/__HELPERS/string_lists.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/string_lists.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/string_lists.dm + +

+ + + + + +
/proc/string_listCaches lists with non-numeric stringify-able values (text or typepath).
/proc/baseturfs_string_listA wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues
+ + + diff --git a/code/__HELPERS/text.html b/code/__HELPERS/text.html new file mode 100644 index 00000000000..4cbcef4602c --- /dev/null +++ b/code/__HELPERS/text.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/text.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/text.dm + +

+ + + + + +
/proc/stripped_multiline_input_or_reflectstripped_multiline_input but reflects to the user instead if it's too big and returns null.
/proc/scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
+ + + diff --git a/code/__HELPERS/type2type.html b/code/__HELPERS/type2type.html new file mode 100644 index 00000000000..95b2a46b9e9 --- /dev/null +++ b/code/__HELPERS/type2type.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/type2type.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/type2type.dm + +

+ + + + + +
/proc/zone2body_parts_coveredFor finding out what body parts a body zone covers, the inverse of the below basically
/proc/url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
+ + + diff --git a/code/__HELPERS/unsorted.html b/code/__HELPERS/unsorted.html new file mode 100644 index 00000000000..b6eca4ca3e7 --- /dev/null +++ b/code/__HELPERS/unsorted.html @@ -0,0 +1,41 @@ + + + + + + + code/__HELPERS/unsorted.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/unsorted.dm + +

+ + + + + + + + + + + + + +
/proc/get_atom_on_turfReturns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.
/proc/get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
/proc/parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
/proc/valid_window_locationChecks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.
/proc/___TraitAddDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
/proc/___TraitRemoveDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
+ + + diff --git a/code/__HELPERS/verbs.html b/code/__HELPERS/verbs.html new file mode 100644 index 00000000000..b5dca0edc92 --- /dev/null +++ b/code/__HELPERS/verbs.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/verbs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/__HELPERS/verbs.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/__HELPERS/weakref.html b/code/__HELPERS/weakref.html new file mode 100644 index 00000000000..6b4a96fe37f --- /dev/null +++ b/code/__HELPERS/weakref.html @@ -0,0 +1,33 @@ + + + + + + + code/__HELPERS/weakref.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/weakref.dm + +

+ + +
IS_WEAKREF_OFChecks if potential_weakref is a weakref of thing.

Define Details

+

IS_WEAKREF_OF + + + +

+

Checks if potential_weakref is a weakref of thing.

+ + + diff --git a/code/__SANDCODE/DEFINES/chat.html b/code/__SANDCODE/DEFINES/chat.html new file mode 100644 index 00000000000..c6707f81d35 --- /dev/null +++ b/code/__SANDCODE/DEFINES/chat.html @@ -0,0 +1,33 @@ + + + + + + + code/__SANDCODE/DEFINES/chat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/chat.dm + +

+ + +
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/__SANDCODE/DEFINES/loadout.html b/code/__SANDCODE/DEFINES/loadout.html new file mode 100644 index 00000000000..0ccc89fea37 --- /dev/null +++ b/code/__SANDCODE/DEFINES/loadout.html @@ -0,0 +1,59 @@ + + + + + + + code/__SANDCODE/DEFINES/loadout.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/loadout.dm + +

+ + + + + + + +
LOADOUT_CATEGORY_GENERAL_UNDERLOADOUT STUFF +The category for all underwear, includes underwear, shirt and socks
LOADOUT_SUBCATEGORY_UNDERWEARSubcategory for underwear
LOADOUT_SUBCATEGORY_SHIRTSubcategory for shirts
LOADOUT_SUBCATEGORY_SOCKSSubcategory for socks
LOADOUT_CATEGORY_WRISTSCategory for wrist items
LOADOUT_SUBCATEGORY_WATCHESSubcategory for watches

Define Details

+

LOADOUT_CATEGORY_GENERAL_UNDER + + +

+

LOADOUT STUFF +The category for all underwear, includes underwear, shirt and socks

LOADOUT_CATEGORY_WRISTS + + +

+

Category for wrist items

LOADOUT_SUBCATEGORY_SHIRT + + +

+

Subcategory for shirts

LOADOUT_SUBCATEGORY_SOCKS + + +

+

Subcategory for socks

LOADOUT_SUBCATEGORY_UNDERWEAR + + +

+

Subcategory for underwear

LOADOUT_SUBCATEGORY_WATCHES + + +

+

Subcategory for watches

+ + + diff --git a/code/__SANDCODE/DEFINES/medical_defines.html b/code/__SANDCODE/DEFINES/medical_defines.html new file mode 100644 index 00000000000..f8c4d782908 --- /dev/null +++ b/code/__SANDCODE/DEFINES/medical_defines.html @@ -0,0 +1,37 @@ + + + + + + + code/__SANDCODE/DEFINES/medical_defines.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/medical_defines.dm + +

+ + + +
PAINKILLER_MINERSSALVEPainkiller trait - Miner's salve version
PAINKILLER_MORPHINEPainkiller trait - Morphine version

Define Details

+

PAINKILLER_MINERSSALVE + + +

+

Painkiller trait - Miner's salve version

PAINKILLER_MORPHINE + + +

+

Painkiller trait - Morphine version

+ + + diff --git a/code/__SANDCODE/DEFINES/misc.html b/code/__SANDCODE/DEFINES/misc.html new file mode 100644 index 00000000000..a2bad06e369 --- /dev/null +++ b/code/__SANDCODE/DEFINES/misc.html @@ -0,0 +1,32 @@ + + + + + + + code/__SANDCODE/DEFINES/misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/misc.dm + +

+ + +
UTF8HEADERAdds an utf-8 header...? only ever used on circuitry so when wiremod arrives...

Define Details

+

UTF8HEADER + + +

+

Adds an utf-8 header...? only ever used on circuitry so when wiremod arrives...

+ + + diff --git a/code/__SANDCODE/DEFINES/mobs.html b/code/__SANDCODE/DEFINES/mobs.html new file mode 100644 index 00000000000..aab5c60d508 --- /dev/null +++ b/code/__SANDCODE/DEFINES/mobs.html @@ -0,0 +1,32 @@ + + + + + + + code/__SANDCODE/DEFINES/mobs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/mobs.dm + +

+ + +
THIRST_LEVEL_THRESHOLDMaximum amount of hydration the player can have

Define Details

+

THIRST_LEVEL_THRESHOLD + + +

+

Maximum amount of hydration the player can have

+ + + diff --git a/code/__SANDCODE/DEFINES/signals.html b/code/__SANDCODE/DEFINES/signals.html new file mode 100644 index 00000000000..494fa2f74be --- /dev/null +++ b/code/__SANDCODE/DEFINES/signals.html @@ -0,0 +1,32 @@ + + + + + + + code/__SANDCODE/DEFINES/signals.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/signals.dm + +

+ + +
COMSIG_CONTAINER_TRY_ATTACH(atom/container, mob/user) - returns bool

Define Details

+

COMSIG_CONTAINER_TRY_ATTACH + + +

+

(atom/container, mob/user) - returns bool

+ + + diff --git a/code/__SANDCODE/DEFINES/status_effects.html b/code/__SANDCODE/DEFINES/status_effects.html new file mode 100644 index 00000000000..f05845cba0b --- /dev/null +++ b/code/__SANDCODE/DEFINES/status_effects.html @@ -0,0 +1,32 @@ + + + + + + + code/__SANDCODE/DEFINES/status_effects.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/status_effects.dm + +

+ + +
STATUS_EFFECT_CRUSHERMARK_HARMSpecial crusher mark, hurts more.

Define Details

+

STATUS_EFFECT_CRUSHERMARK_HARM + + +

+

Special crusher mark, hurts more.

+ + + diff --git a/code/__SANDCODE/DEFINES/strippable.html b/code/__SANDCODE/DEFINES/strippable.html new file mode 100644 index 00000000000..723a2960384 --- /dev/null +++ b/code/__SANDCODE/DEFINES/strippable.html @@ -0,0 +1,54 @@ + + + + + + + code/__SANDCODE/DEFINES/strippable.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/strippable.dm + +

+ + + + + + +
STRIPPABLE_ITEM_EARS_EXTRAModular file strippable items, we do have extra slots only here. +Right ear strippable slot
STRIPPABLE_ITEM_WRISTSWrists strippable slot
STRIPPABLE_ITEM_SOCKSSocks strippable slot
STRIPPABLE_ITEM_UNDERSHIRTUndershirt strippable slot
STRIPPABLE_ITEM_UNDERWEARUnderwear strippable slot

Define Details

+

STRIPPABLE_ITEM_EARS_EXTRA + + +

+

Modular file strippable items, we do have extra slots only here. +Right ear strippable slot

STRIPPABLE_ITEM_SOCKS + + +

+

Socks strippable slot

STRIPPABLE_ITEM_UNDERSHIRT + + +

+

Undershirt strippable slot

STRIPPABLE_ITEM_UNDERWEAR + + +

+

Underwear strippable slot

STRIPPABLE_ITEM_WRISTS + + +

+

Wrists strippable slot

+ + + diff --git a/code/__SANDCODE/DEFINES/traits.html b/code/__SANDCODE/DEFINES/traits.html new file mode 100644 index 00000000000..dd37cdd43d5 --- /dev/null +++ b/code/__SANDCODE/DEFINES/traits.html @@ -0,0 +1,57 @@ + + + + + + + code/__SANDCODE/DEFINES/traits.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/traits.dm + +

+ + + + + + + +
TRAIT_PAINKILLERPainkiller trait, used for self-surgeries.
TRAIT_NOTHIRSTPrevents the player from getting thirsty at all, usually paired with TRAIT_NOHUNGER.
TRAIT_SHELTEREDDefine for the quirk "sheltered", the player does not start with Galactic Common language.
TRAIT_INFERTILEDefine for the quirk "infertile", self explanatory. Please make this a preference on the Content Preferences Tab.
TRAIT_DNC_ORDERDNC trait, used to prevent cloning
TRAIT_ESTROUS_ACTIVEEstrous traits, used for mammalian seasonal arousal systems

Define Details

+

TRAIT_DNC_ORDER + + +

+

DNC trait, used to prevent cloning

TRAIT_ESTROUS_ACTIVE + + +

+

Estrous traits, used for mammalian seasonal arousal systems

TRAIT_INFERTILE + + +

+

Define for the quirk "infertile", self explanatory. Please make this a preference on the Content Preferences Tab.

TRAIT_NOTHIRST + + +

+

Prevents the player from getting thirsty at all, usually paired with TRAIT_NOHUNGER.

TRAIT_PAINKILLER + + +

+

Painkiller trait, used for self-surgeries.

TRAIT_SHELTERED + + +

+

Define for the quirk "sheltered", the player does not start with Galactic Common language.

+ + + diff --git a/code/__SANDCODE/DEFINES/wires.html b/code/__SANDCODE/DEFINES/wires.html new file mode 100644 index 00000000000..f7799f2735c --- /dev/null +++ b/code/__SANDCODE/DEFINES/wires.html @@ -0,0 +1,44 @@ + + + + + + + code/__SANDCODE/DEFINES/wires.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/__SANDCODE/DEFINES/wires.dm + +

+ + + + +
WIRE_FIRE_TOGGLEFire alarms have wires now. +Toggles the fire alarm's alarm on/off.
WIRE_FIRE_DETECTToggles whether the fire alarm will trigger if there is a fire or is hit.
WIRE_FIRE_TRIGGERImmediately triggers the alarm on the fire alarm, only used for pulsing.

Define Details

+

WIRE_FIRE_DETECT + + +

+

Toggles whether the fire alarm will trigger if there is a fire or is hit.

WIRE_FIRE_TOGGLE + + +

+

Fire alarms have wires now. +Toggles the fire alarm's alarm on/off.

WIRE_FIRE_TRIGGER + + +

+

Immediately triggers the alarm on the fire alarm, only used for pulsing.

+ + + diff --git a/code/_globalvars/bitfields.html b/code/_globalvars/bitfields.html new file mode 100644 index 00000000000..c53b8e98f3e --- /dev/null +++ b/code/_globalvars/bitfields.html @@ -0,0 +1,29 @@ + + + + + + + code/_globalvars/bitfields.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..e73327f4030 --- /dev/null +++ b/code/_globalvars/lists/keybindings.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/lists/keybindings.dm - Nostra-13 + + +
+ Nostra-13 - + 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/lists/typecache.html b/code/_globalvars/lists/typecache.html new file mode 100644 index 00000000000..5b0d5f510d2 --- /dev/null +++ b/code/_globalvars/lists/typecache.html @@ -0,0 +1,28 @@ + + + + + + + code/_globalvars/lists/typecache.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_globalvars/lists/typecache.dm + +

+ + + +
/proc/single_path_typecache_immutableMakes a typecache of a single typecache
+ + + diff --git a/code/_onclick/hud/alert.html b/code/_onclick/hud/alert.html new file mode 100644 index 00000000000..3e2c62043aa --- /dev/null +++ b/code/_onclick/hud/alert.html @@ -0,0 +1,27 @@ + + + + + + + code/_onclick/hud/alert.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_onclick/hud/alert.dm + +

+ + +
/atom/movable/screen/alert/give/secret_handshakeFamilies handshakes
+ + + diff --git a/code/_onclick/hud/map_popups.html b/code/_onclick/hud/map_popups.html new file mode 100644 index 00000000000..341aab37f55 --- /dev/null +++ b/code/_onclick/hud/map_popups.html @@ -0,0 +1,31 @@ + + + + + + + code/_onclick/hud/map_popups.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_onclick/hud/map_popups.dm + +

+ + + +
/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/new_player.html b/code/_onclick/hud/new_player.html new file mode 100644 index 00000000000..d9e9c58e1a6 --- /dev/null +++ b/code/_onclick/hud/new_player.html @@ -0,0 +1,29 @@ + + + + + + + code/_onclick/hud/new_player.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_onclick/hud/new_player.dm + +

+ + + + +
/atom/movable/screen/lobby/button/character_setupPrefs menu
/atom/movable/screen/lobby/button/readyButton that appears before the game has started
/atom/movable/screen/lobby/button/joinShown when the game has started
+ + + diff --git a/code/_onclick/hud/plane_master.html b/code/_onclick/hud/plane_master.html new file mode 100644 index 00000000000..f8d929546c7 --- /dev/null +++ b/code/_onclick/hud/plane_master.html @@ -0,0 +1,42 @@ + + + + + + + code/_onclick/hud/plane_master.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_onclick/hud/plane_master.dm + +

+ + + + + + + + + + + +
/atom/movable/screen/plane_master/openspaceThings rendered on "openspace"; holes in multi-z
/atom/movable/screen/plane_master/floorContains just the floor
/atom/movable/screen/plane_master/game_worldContains most things in the game world
/atom/movable/screen/plane_master/field_of_visionContains all shadow cone masks, whose image overrides are displayed only to their respective owners.
/atom/movable/screen/plane_master/field_of_vision_blockerUsed to display the owner and its adjacent surroundings through the FoV plane mask.
/atom/movable/screen/plane_master/field_of_vision_visualStores the visible portion of the FoV shadow cone.
/atom/movable/screen/plane_master/lightingContains all lighting objects

This system works by exploiting BYONDs color matrix filter to use layers to handle emissive blockers.

+

Emissive overlays are pasted with an atom color that converts them to be entirely some specific color. +Emissive blockers are pasted with an atom color that converts them to be entirely some different color. +Emissive overlays and emissive blockers are put onto the same plane. +The layers for the emissive overlays and emissive blockers cause them to mask eachother similar to normal BYOND objects. +A color matrix filter is applied to the emissive plane to mask out anything that isn't whatever the emissive color is. +This is then used to alpha mask the lighting plane.

/atom/movable/screen/plane_master/emissiveHandles emissive overlays and emissive blockers.
/atom/movable/screen/plane_master/parallaxContains space parallax
+ + + diff --git a/code/_rendering/atom_huds/alternate_appearance.html b/code/_rendering/atom_huds/alternate_appearance.html new file mode 100644 index 00000000000..55e1d4594c0 --- /dev/null +++ b/code/_rendering/atom_huds/alternate_appearance.html @@ -0,0 +1,27 @@ + + + + + + + code/_rendering/atom_huds/alternate_appearance.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_rendering/atom_huds/alternate_appearance.dm + +

+ + +
/atomThe base type for nearly all physical objects in SS13
+ + + diff --git a/code/_rendering/parallax/parallax.html b/code/_rendering/parallax/parallax.html new file mode 100644 index 00000000000..8cc746efe67 --- /dev/null +++ b/code/_rendering/parallax/parallax.html @@ -0,0 +1,27 @@ + + + + + + + code/_rendering/parallax/parallax.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_rendering/parallax/parallax.dm + +

+ + +
/datum/parallaxHolds parallax information.
+ + + diff --git a/code/_rendering/parallax/parallax_holder.html b/code/_rendering/parallax/parallax_holder.html new file mode 100644 index 00000000000..7bc7a4c4792 --- /dev/null +++ b/code/_rendering/parallax/parallax_holder.html @@ -0,0 +1,27 @@ + + + + + + + code/_rendering/parallax/parallax_holder.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/_rendering/parallax/parallax_holder.dm + +

+ + +
/datum/parallax_holderHolds all the information about a client's parallax
+ + + diff --git a/code/controllers/configuration/entries/comms.html b/code/controllers/configuration/entries/comms.html new file mode 100644 index 00000000000..3bf6e8b882d --- /dev/null +++ b/code/controllers/configuration/entries/comms.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/configuration/entries/comms.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + +
/datum/config_entry/keyed_list/cross_server_bunker_overridecit config
+ + + diff --git a/code/controllers/configuration/entries/debris.html b/code/controllers/configuration/entries/debris.html new file mode 100644 index 00000000000..6d788cf79f0 --- /dev/null +++ b/code/controllers/configuration/entries/debris.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/configuration/entries/debris.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + + + +
/datum/config_entry/number/turf_dirt_thresholdAmount of dirtyness tiles need to spawn dirt.
/datum/config_entry/number/dirt_alpha_startingAlpha dirt starts at
/datum/config_entry/number/turf_dirty_multiplierDirtyness multiplier for making turfs dirty
+ + + diff --git a/code/controllers/configuration/entries/general.html b/code/controllers/configuration/entries/general.html new file mode 100644 index 00000000000..94396a1cf92 --- /dev/null +++ b/code/controllers/configuration/entries/general.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/configuration/entries/general.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + + +
/datum/config_entry/number/initial_gear_pointsInitial loadout points
/datum/config_entry/flag/use_field_of_visionEnables the FoV component, which hides objects and mobs behind the parent from their sight, unless they turn around, duh. +Camera mobs, AIs, ghosts and some other are of course exempt from this. This also doesn't influence simplemob AI, for the best.
+ + + diff --git a/code/controllers/configuration/entries/logging.html b/code/controllers/configuration/entries/logging.html new file mode 100644 index 00000000000..15b13450342 --- /dev/null +++ b/code/controllers/configuration/entries/logging.html @@ -0,0 +1,58 @@ + + + + + + + code/controllers/configuration/entries/logging.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/config_entry/flag/log_ooclog OOC channel
/datum/config_entry/flag/log_accesslog login/logout
/datum/config_entry/flag/log_suspicious_loginConfig entry which special logging of failed logins under suspicious circumstances.
/datum/config_entry/flag/log_saylog client say
/datum/config_entry/flag/log_adminlog admin actions
/datum/config_entry/flag/log_prayerlog prayers
/datum/config_entry/flag/log_lawlog lawchanges
/datum/config_entry/flag/log_gamelog game events
/datum/config_entry/flag/log_mechalog mech data
/datum/config_entry/flag/log_viruslog virology data
/datum/config_entry/flag/log_votelog voting
/datum/config_entry/flag/log_craftlog crafting
/datum/config_entry/flag/log_whisperlog client whisper
/datum/config_entry/flag/log_attacklog attack messages
/datum/config_entry/flag/log_victimlog attack messages
/datum/config_entry/flag/log_emotelog emotes
/datum/config_entry/flag/log_adminchatlog admin chat messages
/datum/config_entry/flag/log_shuttlelog shuttle related actions, ie shuttle computers, shuttle manipulator, emergency console
/datum/config_entry/flag/log_pdalog pda messages
/datum/config_entry/flag/log_telecommslog telecomms messages
/datum/config_entry/flag/log_econlog economy
/datum/config_entry/flag/log_twitterlog certain expliotable parrots and other such fun things in a JSON file of twitter valid phrases.
/datum/config_entry/flag/log_world_topiclog all world.Topic() calls
/datum/config_entry/flag/log_manifestlog crew manifest to seperate file
/datum/config_entry/flag/log_job_debuglog roundstart divide occupations debug information to a file
/datum/config_entry/flag/log_pictureslog photos taken by players with a camera
/datum/config_entry/flag/picture_logging_cameraThis is... shitcode, literally same as above, if one of them is inactive, won't log at all, PLEASE FUCKING REMOVE THIS.
/datum/config_entry/flag/emergency_tgui_loggingforces log_href for tgui
/datum/config_entry/number/error_cooldownThe "cooldown" time for each occurrence of a unique error
/datum/config_entry/number/error_limitHow many occurrences before the next will silence them
/datum/config_entry/number/error_silence_timeHow long a unique error will be silenced for
/datum/config_entry/number/error_msg_delayHow long to wait between messaging admins about occurrences of a unique error
+ + + diff --git a/code/controllers/configuration/entries/movespeed.html b/code/controllers/configuration/entries/movespeed.html new file mode 100644 index 00000000000..72a8824b610 --- /dev/null +++ b/code/controllers/configuration/entries/movespeed.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/configuration/entries/movespeed.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + +
/datum/config_entry/number/outdated_movedelayOutdated move delay
+ + + diff --git a/code/controllers/configuration/entries/persistence.html b/code/controllers/configuration/entries/persistence.html new file mode 100644 index 00000000000..2320f8353bc --- /dev/null +++ b/code/controllers/configuration/entries/persistence.html @@ -0,0 +1,31 @@ + + + + + + + code/controllers/configuration/entries/persistence.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + + + + + +
/datum/config_entry/flag/persistent_debrisWhether or not to use the persistence system for cleanable objects
/datum/config_entry/flag/persistent_debris_onlyWhether or not to nuke all roundstart debris that isn't due to persistence if the above is true
/datum/config_entry/number/persistent_debris_global_maxMax amount of objects to store, total
/datum/config_entry/number/persistent_debris_type_maxMax amount of objects to store per type
/datum/config_entry/flag/persistent_debris_wipe_on_nukeWipe dirty stuff on nuke
+ + + diff --git a/code/controllers/configuration/entries/policy.html b/code/controllers/configuration/entries/policy.html new file mode 100644 index 00000000000..1632c2383c0 --- /dev/null +++ b/code/controllers/configuration/entries/policy.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/configuration/entries/policy.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + +
/datum/config_entry/number/defib_cmd_time_limitSeconds for CMD on defib-with-memory-loss policy config to display instead of defib-intact config
+ + + diff --git a/code/controllers/configuration/entries/respawns.html b/code/controllers/configuration/entries/respawns.html new file mode 100644 index 00000000000..5ee41574cce --- /dev/null +++ b/code/controllers/configuration/entries/respawns.html @@ -0,0 +1,35 @@ + + + + + + + code/controllers/configuration/entries/respawns.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + + + + + + + + + +
/datum/config_entry/flag/respawns_enabledAllows usage of respawn system
/datum/config_entry/number/respawn_delayMinutes before allowing respawns.
/datum/config_entry/number/respawn_delay_cryoMinutes before allowing respawn, if user cryo'd.
/datum/config_entry/flag/allow_non_assistant_respawnAllows respawning as non-assistant. Overrides all others of this type.
/datum/config_entry/flag/allow_combat_role_respawnAllows respawning as a combat role, defined as security/head.
/datum/config_entry/flag/allow_same_character_respawnAllows respawning as the same character as a previous life
/datum/config_entry/flag/respawn_penalty_includes_observeObserving penalizes for respawns, not just joining.
/datum/config_entry/number/respawn_minimum_delay_roundstartMinutes from roundstart before someone can respawn
/datum/config_entry/keyed_list/respawn_chaos_gamemodesGamemode config tags that are banned from respawning
+ + + diff --git a/code/controllers/configuration/entries/stamina_combat.html b/code/controllers/configuration/entries/stamina_combat.html new file mode 100644 index 00000000000..3c59ea761bc --- /dev/null +++ b/code/controllers/configuration/entries/stamina_combat.html @@ -0,0 +1,33 @@ + + + + + + + code/controllers/configuration/entries/stamina_combat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + + + + + + + +
/datum/config_entry/number/stamina_combat/buffer_maxMaximum stamina buffer
/datum/config_entry/number/stamina_combat/out_of_combat_timerSeconds until percent_regeneration_out_of_combat kicks in
/datum/config_entry/number/stamina_combat/base_regenerationBase regeneration per second
/datum/config_entry/number/stamina_combat/percent_regeneration_out_of_combatAfter out_of_combat_timer elapses, additionally regenerate this percent of total stamina per second. Unaffected by combat mode.
/datum/config_entry/number/stamina_combat/post_action_penalty_delaySeconds after an action for which your regeneration is penalized
/datum/config_entry/number/stamina_combat/post_action_penalty_factorFactor to multiply by for penalizing post-action-stamina-regen
/datum/config_entry/number/stamina_combat/overdraw_penalty_factorFactor to multiply by for stamina usage past buffer into health
+ + + diff --git a/code/controllers/configuration/entries/vote.html b/code/controllers/configuration/entries/vote.html new file mode 100644 index 00000000000..de740e54fcc --- /dev/null +++ b/code/controllers/configuration/entries/vote.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/configuration/entries/vote.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

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

+ + + + +
/datum/config_entry/number/vote_autotransfer_initialLength of time before the first autotransfer vote is called (deciseconds, default 2 hours) +Set to 0 to disable the subsystem altogether.
/datum/config_entry/number/vote_autotransfer_intervallength of time to wait before subsequent autotransfer votes (deciseconds, default 30 minutes)
/datum/config_entry/number/vote_autotransfer_maximummaximum extensions until the round autoends. +Set to 0 to force automatic crew transfer after the 'vote_autotransfer_initial' elapsed. +Set to -1 to disable the maximum extensions cap.
+ + + diff --git a/code/controllers/failsafe.html b/code/controllers/failsafe.html new file mode 100644 index 00000000000..442a888e45a --- /dev/null +++ b/code/controllers/failsafe.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/failsafe.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/controllers/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/hooks.html b/code/controllers/hooks.html new file mode 100644 index 00000000000..af126db5a20 --- /dev/null +++ b/code/controllers/hooks.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/hooks.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/controllers/hooks.dm + +

+ + + +
/proc/callHook@file hooks.dm +Implements hooks, a simple way to run code on pre-defined events.
+ + + diff --git a/code/controllers/master.html b/code/controllers/master.html new file mode 100644 index 00000000000..39965f8cca2 --- /dev/null +++ b/code/controllers/master.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/master.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/controllers/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/subsystem.html b/code/controllers/subsystem.html new file mode 100644 index 00000000000..44cd551a66e --- /dev/null +++ b/code/controllers/subsystem.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/controllers/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 00000000000..0e1097227cd --- /dev/null +++ b/code/controllers/subsystem/chat.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/chat.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..2d1768ee688 --- /dev/null +++ b/code/controllers/subsystem/garbage.html @@ -0,0 +1,56 @@ + + + + + + + code/controllers/subsystem/garbage.dm - Nostra-13 + + +
+ Nostra-13 - + 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/materials.html b/code/controllers/subsystem/materials.html new file mode 100644 index 00000000000..4fd1855536f --- /dev/null +++ b/code/controllers/subsystem/materials.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/materials.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/controllers/subsystem/materials.dm + +

+ + +

How material datums work +Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything.

+

These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area

+ + + diff --git a/code/controllers/subsystem/persistence/_persistence.html b/code/controllers/subsystem/persistence/_persistence.html new file mode 100644 index 00000000000..ec850c547c9 --- /dev/null +++ b/code/controllers/subsystem/persistence/_persistence.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/persistence/_persistence.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/controllers/subsystem/persistence/_persistence.dm + +

+ + +
/datum/controller/subsystem/persistencePersistence for cleanable debris.
+ + + diff --git a/code/controllers/subsystem/processing/fastprocess.html b/code/controllers/subsystem/processing/fastprocess.html new file mode 100644 index 00000000000..a31dc630fa7 --- /dev/null +++ b/code/controllers/subsystem/processing/fastprocess.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/fastprocess.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/fastprocess.dm + +

+ + + +
/var/SSfastprocessobj/item/weapon/implant/integrated_circuit
+ + + diff --git a/code/controllers/subsystem/runechat.html b/code/controllers/subsystem/runechat.html new file mode 100644 index 00000000000..c30583f6fcd --- /dev/null +++ b/code/controllers/subsystem/runechat.html @@ -0,0 +1,45 @@ + + + + + + + code/controllers/subsystem/runechat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/runechat.dm + +

+ + + + + + +
BUCKET_LENControls how many buckets should be kept, each representing a tick. (30 seconds worth)
BUCKET_POSHelper for getting the correct bucket for a given chatmessage
BUCKET_LIMITGets the maximum time at which messages will be handled in buckets, used for deferring to secondary queue
/var/SSrunechat

Define Details

+

BUCKET_LEN + + +

+

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

BUCKET_LIMIT + + +

+

Gets the maximum time at which messages will be handled in buckets, used for deferring to secondary queue

BUCKET_POS + + + +

+

Helper for getting the correct bucket for a given chatmessage

+ + + diff --git a/code/controllers/subsystem/tgui.html b/code/controllers/subsystem/tgui.html new file mode 100644 index 00000000000..234a65b3e3b --- /dev/null +++ b/code/controllers/subsystem/tgui.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/tgui.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..eb3e6a4271b --- /dev/null +++ b/code/controllers/subsystem/timer.html @@ -0,0 +1,59 @@ + + + + + + + code/controllers/subsystem/timer.dm - Nostra-13 + + +
+ Nostra-13 - + 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

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/achievements/_achievement_data.html b/code/datums/achievements/_achievement_data.html new file mode 100644 index 00000000000..c1f2df461f8 --- /dev/null +++ b/code/datums/achievements/_achievement_data.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/achievements/_achievement_data.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/achievements/_achievement_data.dm + +

+ + +
/datum/achievement_dataDatum that handles
+ + + diff --git a/code/datums/achievements/_awards.html b/code/datums/achievements/_awards.html new file mode 100644 index 00000000000..1429e76a1f4 --- /dev/null +++ b/code/datums/achievements/_awards.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/achievements/_awards.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/achievements/_awards.dm + +

+ + + +
/datum/award/achievementAchievements are one-off awards for usually doing cool things.
/datum/award/scoreScores are for leaderboarded things, such as killcount of a specific boss
+ + + diff --git a/code/datums/achievements/mafia_achievements.html b/code/datums/achievements/mafia_achievements.html new file mode 100644 index 00000000000..b95ee15cc26 --- /dev/null +++ b/code/datums/achievements/mafia_achievements.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/achievements/mafia_achievements.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/achievements/mafia_achievements.dm + +

+ + + +
/datum/award/achievement/mafia/assistantALL THE ACHIEVEMENTS FOR WINNING A ROUND AS A ROLE
/datum/award/achievement/mafia/universally_hatedALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES
+ + + diff --git a/code/datums/achievements/misc_scores.html b/code/datums/achievements/misc_scores.html new file mode 100644 index 00000000000..bf10f613e3c --- /dev/null +++ b/code/datums/achievements/misc_scores.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/achievements/misc_scores.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/achievements/misc_scores.dm + +

+ + + + +
/datum/award/score/hardcore_randomHow many times did we survive being a cripple?
/datum/award/score/maintenance_pillHow many maintenance pills did you eat?
/datum/award/score/intento_scoreHow high of a score on the Intento did we get?
+ + + diff --git a/code/datums/announcers/_announcer.html b/code/datums/announcers/_announcer.html new file mode 100644 index 00000000000..b08c06c195e --- /dev/null +++ b/code/datums/announcers/_announcer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/announcers/_announcer.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/announcers/_announcer.dm + +

+ + +
/datum/centcom_announcerData holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern
+ + + diff --git a/code/datums/brain_damage/split_personality.html b/code/datums/brain_damage/split_personality.html new file mode 100644 index 00000000000..6ac61ab77de --- /dev/null +++ b/code/datums/brain_damage/split_personality.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/brain_damage/split_personality.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/brain_damage/split_personality.dm + +

+ + +
/datum/brain_trauma/severe/split_personality/brainwashingBRAINWASHING
+ + + diff --git a/code/datums/browser.html b/code/datums/browser.html new file mode 100644 index 00000000000..7df61591be4 --- /dev/null +++ b/code/datums/browser.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/browser.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/browser.dm + +

+ + + +
/proc/tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
+ + + diff --git a/code/datums/callback.html b/code/datums/callback.html new file mode 100644 index 00000000000..9453e200741 --- /dev/null +++ b/code/datums/callback.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/callback.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/callback.dm + +

+ + + + + +
/datum/callbackA datum that holds a proc to be called on another object, used to track proccalls to other objects
/datum/callback_selectHelper datum for the select callbacks proc
/proc/callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
+ + + diff --git a/code/datums/chatmessage.html b/code/datums/chatmessage.html new file mode 100644 index 00000000000..00ad6ed33fb --- /dev/null +++ b/code/datums/chatmessage.html @@ -0,0 +1,83 @@ + + + + + + + code/datums/chatmessage.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/datums/chatmessage.dm + +

+ + + + + + + + + + + + + +
CHAT_MESSAGE_SPAWN_TIMEHow long the chat message's spawn-in animation will occur for
CHAT_MESSAGE_LIFESPANHow long the chat message will exist prior to any exponential decay
CHAT_MESSAGE_EOL_FADEHow long the chat message's end of life fading animation will occur for
CHAT_MESSAGE_EXP_DECAYFactor of how much the message index (number of messages) will account to exponential decay
CHAT_MESSAGE_HEIGHT_DECAYFactor of how much height will account to exponential decay
CHAT_MESSAGE_APPROX_LHEIGHTApproximate height in pixels of an 'average' line, used for height decay
CHAT_MESSAGE_WIDTHMax width of chat message in pixels
CHAT_MESSAGE_MAX_LENGTHMax length of chat message in characters
CHAT_MESSAGE_ICON_SIZEThe dimensions of the chat message icons
CHAT_LAYER_Z_STEPMaximum precision of float before rounding errors occur (in this context)
CHAT_LAYER_MAX_ZThe number of z-layer 'slices' usable by the chat message layering
/datum/chatmessageDatum for generating a message overlay on the map

Define Details

+

CHAT_LAYER_MAX_Z + + +

+

The number of z-layer 'slices' usable by the chat message layering

CHAT_LAYER_Z_STEP + + +

+

Maximum precision of float before rounding errors occur (in this context)

CHAT_MESSAGE_APPROX_LHEIGHT + + +

+

Approximate height in pixels of an 'average' line, used for height decay

CHAT_MESSAGE_EOL_FADE + + +

+

How long the chat message's end of life fading animation will occur for

CHAT_MESSAGE_EXP_DECAY + + +

+

Factor of how much the message index (number of messages) will account to exponential decay

CHAT_MESSAGE_HEIGHT_DECAY + + +

+

Factor of how much height will account to exponential decay

CHAT_MESSAGE_ICON_SIZE + + +

+

The dimensions of the chat message icons

CHAT_MESSAGE_LIFESPAN + + +

+

How long the chat message will exist prior to any exponential decay

CHAT_MESSAGE_MAX_LENGTH + + +

+

Max length of chat message in characters

CHAT_MESSAGE_SPAWN_TIME + + +

+

How long the chat message's spawn-in animation will occur for

CHAT_MESSAGE_WIDTH + + +

+

Max width of chat message in pixels

+ + + diff --git a/code/datums/components.html b/code/datums/components.html new file mode 100644 index 00000000000..639bd4d07b6 --- /dev/null +++ b/code/datums/components.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Datum Component System (DCS) + +

+ + +

Concept

+

Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.

+

See this thread for an introduction to the system as a whole.

+

See/Define signals and their arguments in __DEFINES\components.dm

+ + + diff --git a/code/datums/components/_component.html b/code/datums/components/_component.html new file mode 100644 index 00000000000..d33e8e1db5e --- /dev/null +++ b/code/datums/components/_component.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/_component.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/_component.dm + +

+ + +
/datum/componentThe component datum
+ + + diff --git a/code/datums/components/area_sound_manager.html b/code/datums/components/area_sound_manager.html new file mode 100644 index 00000000000..629131d35e6 --- /dev/null +++ b/code/datums/components/area_sound_manager.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/area_sound_manager.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/area_sound_manager.dm + +

+ + +
/datum/component/area_sound_managerAllows you to set a theme for a set of areas without tying them to looping sounds explicitly
+ + + diff --git a/code/datums/components/butchering.html b/code/datums/components/butchering.html new file mode 100644 index 00000000000..7bef68f0df9 --- /dev/null +++ b/code/datums/components/butchering.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/butchering.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/butchering.dm + +

+ + +
/datum/component/butchering/recyclerSpecial snowflake component only used for the recycler.
+ + + diff --git a/code/datums/components/combat_mode.html b/code/datums/components/combat_mode.html new file mode 100644 index 00000000000..c1e18a525e5 --- /dev/null +++ b/code/datums/components/combat_mode.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/combat_mode.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/combat_mode.dm + +

+ + + +
/datum/component/combat_modeCombat mode component. It makes the user face whichever atom the mouse pointer is hovering, +amongst other things designed outside of this file, namely PvP and PvE stuff, hence the name. +Can be toggled on and off by clicking the screen hud object or by pressing the assigned hotkey (default 'C')
/atom/movable/screen/combattoggleThe screen button.
+ + + diff --git a/code/datums/components/crafting/glassware/glassware.html b/code/datums/components/crafting/glassware/glassware.html new file mode 100644 index 00000000000..d8e6838a34f --- /dev/null +++ b/code/datums/components/crafting/glassware/glassware.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/crafting/glassware/glassware.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/crafting/glassware/glassware.dm + +

+ + + + + + + + +
/obj/item/glasswork/glass_base/dishChem Disk
/obj/item/glasswork/glass_base/glass_lensLens
/obj/item/glasswork/glass_base/spoutySpouty Flask
/obj/item/glasswork/glass_base/flask_smallSmall Bulb Flask
/obj/item/glasswork/glass_base/flask_largeLarge Bulb Flask
/obj/item/glasswork/glass_base/tea_plateTea Plates
/obj/item/glasswork/glass_base/tea_cupTea Cup
+ + + diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.html b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.html new file mode 100644 index 00000000000..16ff914bc1f --- /dev/null +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm + +

+ + + + +
/datum/crafting_recipe/chemical_payloadBOMB CRAFTING
/datum/crafting_recipe/pipebowGUNS CRAFTING
/datum/crafting_recipe/arrowAMMO CRAFTING
+ + + diff --git a/code/datums/components/dejavu.html b/code/datums/components/dejavu.html new file mode 100644 index 00000000000..4a2fd819cb0 --- /dev/null +++ b/code/datums/components/dejavu.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/dejavu.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/dejavu.dm + +

+ + +
/datum/component/dejavuA component to reset the parent to its previous state after some time passes
+ + + diff --git a/code/datums/components/edible.html b/code/datums/components/edible.html new file mode 100644 index 00000000000..a2b19a7cc64 --- /dev/null +++ b/code/datums/components/edible.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/components/edible.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/edible.dm + +

+ + +

This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could. +Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: +Components: +Drying component (jerky etc) +Customizable component (custom pizzas etc) +Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) +Dunkable component (Dunking things into reagent containers to absorb a specific amount of reagents) +Misc: +Something for cakes (You can store things inside)

+ + + diff --git a/code/datums/components/explodable.html b/code/datums/components/explodable.html new file mode 100644 index 00000000000..13200a24c44 --- /dev/null +++ b/code/datums/components/explodable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/explodable.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/explodable.dm + +

+ + +
/datum/component/explodableComponent specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.
+ + + diff --git a/code/datums/components/fantasy/suffixes.html b/code/datums/components/fantasy/suffixes.html new file mode 100644 index 00000000000..21231b1280a --- /dev/null +++ b/code/datums/components/fantasy/suffixes.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/fantasy/suffixes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/fantasy/suffixes.dm + +

+ + + +
/datum/fantasy_affix/baneGood suffixes
/datum/fantasy_affix/foolBad suffixes
+ + + diff --git a/code/datums/components/field_of_vision.html b/code/datums/components/field_of_vision.html new file mode 100644 index 00000000000..bf358fe110e --- /dev/null +++ b/code/datums/components/field_of_vision.html @@ -0,0 +1,42 @@ + + + + + + + code/datums/components/field_of_vision.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/datums/components/field_of_vision.dm + +

+ + + + +
/datum/component/field_of_visionField of Vision component. Does totally what you probably think it does, +ergo preventing players from seeing what's behind them.
FOV_ANGLE_CHECKByond doc is not entirely correct on the integrated arctan() proc. +When both x and y are negative, the output is also negative, cycling clockwise instead of counter-clockwise. +That's also why I am extensively using the SIMPLIFY_DEGREES macro here.
/atom/movable/fov_holderThe shadow cone's mask and visual images holder which can't locate inside the mob, +lest they inherit the mob opacity and cause a lot of hindrance

Define Details

+

FOV_ANGLE_CHECK + + + +

+

Byond doc is not entirely correct on the integrated arctan() proc. +When both x and y are negative, the output is also negative, cycling clockwise instead of counter-clockwise. +That's also why I am extensively using the SIMPLIFY_DEGREES macro here.

+

Overall this is the main macro that calculates wheter a target is within the shadow cone angle or not.

+ + + diff --git a/code/datums/components/footstep.html b/code/datums/components/footstep.html new file mode 100644 index 00000000000..efdda42c085 --- /dev/null +++ b/code/datums/components/footstep.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/footstep.dm - Nostra-13 + + +
+ Nostra-13 - + 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/fried.html b/code/datums/components/fried.html new file mode 100644 index 00000000000..fac98d7b74e --- /dev/null +++ b/code/datums/components/fried.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/fried.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/fried.dm + +

+ + +

This component essentially encapsulates frying and utilizes the edible component +This means fried items can work like regular ones, and generally the code is far less messy

+ + + diff --git a/code/datums/components/gps.html b/code/datums/components/gps.html new file mode 100644 index 00000000000..00596212a9e --- /dev/null +++ b/code/datums/components/gps.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/gps.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/gps.dm + +

+ + + +
/datum/component/gpsGPS component. Atoms that have this show up on gps. Pretty simple stuff.
/datum/component/gps/itemGPS component subtype. Only gps/item's can be used to open the UI.
+ + + diff --git a/code/datums/components/identification.html b/code/datums/components/identification.html new file mode 100644 index 00000000000..31b8183847b --- /dev/null +++ b/code/datums/components/identification.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/identification.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/identification.dm + +

+ + + +
/datum/component/identificationIdentification components
/datum/component/identification/syndicateIdentification component subtype - Syndicate
+ + + diff --git a/code/datums/components/killerqueen.html b/code/datums/components/killerqueen.html new file mode 100644 index 00000000000..9b17a100be6 --- /dev/null +++ b/code/datums/components/killerqueen.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/killerqueen.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/killerqueen.dm + +

+ + +
/datum/component/killerqueenKILLER QUEEN
+ + + diff --git a/code/datums/components/label.html b/code/datums/components/label.html new file mode 100644 index 00000000000..9cfa4dc8d85 --- /dev/null +++ b/code/datums/components/label.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/label.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/label.dm + +

+ + +
/datum/component/labelThe label component.
+ + + diff --git a/code/datums/components/material_container.html b/code/datums/components/material_container.html new file mode 100644 index 00000000000..49b9e19e7ea --- /dev/null +++ b/code/datums/components/material_container.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/material_container.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/material_container.dm + +

+ + +

This datum should be used for handling mineral contents of machines and whatever else is supposed to hold minerals and make use of them.

+

Variables: +amount - raw amount of the mineral this container is holding, calculated by the defined value MINERAL_MATERIAL_AMOUNT=2000. +max_amount - max raw amount of mineral this container can hold. +sheet_type - type of the mineral sheet the container handles, used for output. +parent - object that this container is being used by, used for output. +MAX_STACK_SIZE - size of a stack of mineral sheets. Constant.

+ + + diff --git a/code/datums/components/multiple_lives.html b/code/datums/components/multiple_lives.html new file mode 100644 index 00000000000..d0949859af8 --- /dev/null +++ b/code/datums/components/multiple_lives.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/multiple_lives.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/multiple_lives.dm + +

+ + +
/datum/component/multiple_livesA simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.
+ + + diff --git a/code/datums/components/nanites.html b/code/datums/components/nanites.html new file mode 100644 index 00000000000..518ddf7b145 --- /dev/null +++ b/code/datums/components/nanites.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/nanites.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/nanites.dm + +

+ + +
/datum/component/nanites/permanentSubtype that doesn't erase itself from running out
+ + + diff --git a/code/datums/components/omen.html b/code/datums/components/omen.html new file mode 100644 index 00000000000..4a6aaa52995 --- /dev/null +++ b/code/datums/components/omen.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/omen.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/omen.dm + +

+ + +
/datum/component/omenomen.dm: For when you want someone to have a really bad day
+ + + diff --git a/code/datums/components/plumbing/_plumbing.html b/code/datums/components/plumbing/_plumbing.html new file mode 100644 index 00000000000..42a5e43939c --- /dev/null +++ b/code/datums/components/plumbing/_plumbing.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/plumbing/_plumbing.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/plumbing/_plumbing.dm + +

+ + + + +
/datum/component/plumbing/simple_demandhas one pipe input that only takes, example is manual output pipe
/datum/component/plumbing/simple_supplyhas one pipe output that only supplies. example is liquid pump and manual input pipe
/datum/component/plumbing/tankinput and output, like a holding tank
+ + + diff --git a/code/datums/components/plumbing/filter.html b/code/datums/components/plumbing/filter.html new file mode 100644 index 00000000000..8d7676115fd --- /dev/null +++ b/code/datums/components/plumbing/filter.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/plumbing/filter.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/plumbing/filter.dm + +

+ + +
/datum/component/plumbing/filterThe magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter
+ + + diff --git a/code/datums/components/riding.html b/code/datums/components/riding.html new file mode 100644 index 00000000000..9b4573f7efe --- /dev/null +++ b/code/datums/components/riding.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/riding.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/riding.dm + +

+ + +
/datum/component/riding/humanYes, I said humans. No, this won't end well...
+ + + diff --git a/code/datums/components/storage/concrete/tcg.html b/code/datums/components/storage/concrete/tcg.html new file mode 100644 index 00000000000..2023dea00a9 --- /dev/null +++ b/code/datums/components/storage/concrete/tcg.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/storage/concrete/tcg.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/storage/concrete/tcg.dm + +

+ + +
/datum/component/storage/concrete/tcgA storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!
+ + + diff --git a/code/datums/components/tackle.html b/code/datums/components/tackle.html new file mode 100644 index 00000000000..205e0b132d4 --- /dev/null +++ b/code/datums/components/tackle.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/tackle.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/tackle.dm + +

+ + +
/datum/component/tackler#tackle.dm
+ + + diff --git a/code/datums/components/thermite.html b/code/datums/components/thermite.html new file mode 100644 index 00000000000..6edba7234fc --- /dev/null +++ b/code/datums/components/thermite.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/thermite.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/thermite.dm + +

+ + +
/datum/component/thermitefor telling HOW big of a mess we just made
+ + + diff --git a/code/datums/components/twitch_plays.html b/code/datums/components/twitch_plays.html new file mode 100644 index 00000000000..f57637e0b76 --- /dev/null +++ b/code/datums/components/twitch_plays.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/twitch_plays.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/twitch_plays.dm + +

+ + + +
/datum/component/twitch_playsObservers voting on things through orbiting
/datum/component/twitch_plays/simple_movementSimple movement one
+ + + diff --git a/code/datums/components/twohanded.html b/code/datums/components/twohanded.html new file mode 100644 index 00000000000..5fe248623d9 --- /dev/null +++ b/code/datums/components/twohanded.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/twohanded.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/twohanded.dm + +

+ + + +
/datum/component/two_handedTwo Handed Component
/obj/item/offhandThe offhand dummy item for two handed items
+ + + diff --git a/code/datums/components/uplink.html b/code/datums/components/uplink.html new file mode 100644 index 00000000000..c04f64a4b03 --- /dev/null +++ b/code/datums/components/uplink.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/uplink.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/uplink.dm + +

+ + +
/datum/component/uplinkUplinks
+ + + diff --git a/code/datums/components/virtual_reality.html b/code/datums/components/virtual_reality.html new file mode 100644 index 00000000000..68b1b745463 --- /dev/null +++ b/code/datums/components/virtual_reality.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/components/virtual_reality.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/components/virtual_reality.dm + +

+ + +
/datum/component/virtual_realityThe virtual reality turned component. +Originally created to overcome issues of mob polymorphing locking the player inside virtual reality +and allow for a more "immersive" virtual reality in a virtual reality experience. +It relies on comically complex order of logic, expect things to break if procs such as mind/transfer_to() are revamped. +In short, a barebone not so hardcoded VR framework. +If you plan to add more devices that make use of this component, remember to isolate their code outta here where possible.
+ + + diff --git a/code/datums/datum.html b/code/datums/datum.html new file mode 100644 index 00000000000..daf6380631b --- /dev/null +++ b/code/datums/datum.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/datum.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/datum.dm + +

+ + + + + + + + + + +
/datumThe absolute base class for everything
/proc/json_serialize_datumConvert a datum into a json blob
/proc/json_deserialize_datumConvert a list of json to datum
/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/dna.html b/code/datums/dna.html new file mode 100644 index 00000000000..03a79b462ee --- /dev/null +++ b/code/datums/dna.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/dna.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/dna.dm + +

+ + + + +
/datum/dnaDNA DATUM
/proc/getleftblocksDNA HELPER-PROCS
+ + + diff --git a/code/datums/ductnet.html b/code/datums/ductnet.html new file mode 100644 index 00000000000..5270a5a74b8 --- /dev/null +++ b/code/datums/ductnet.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ductnet.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/ductnet.dm + +

+ + +
/datum/ductnetWe handle the unity part of plumbing. We track who is connected to who.
+ + + diff --git a/code/datums/elements/_element.html b/code/datums/elements/_element.html new file mode 100644 index 00000000000..5876fe5ed90 --- /dev/null +++ b/code/datums/elements/_element.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/_element.dm - Nostra-13 + + +
+ Nostra-13 - + 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/bed_tucking.html b/code/datums/elements/bed_tucking.html new file mode 100644 index 00000000000..4d481b9b91d --- /dev/null +++ b/code/datums/elements/bed_tucking.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/bed_tucking.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/bed_tucking.dm + +

+ + +
/datum/element/bed_tuckableTucking element, for things that can be tucked into bed.
+ + + diff --git a/code/datums/elements/connect_loc.html b/code/datums/elements/connect_loc.html new file mode 100644 index 00000000000..42dc5c7e22e --- /dev/null +++ b/code/datums/elements/connect_loc.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/connect_loc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/connect_loc.dm + +

+ + +
/datum/element/connect_locThis element hooks a signal onto the loc the current object is on. +When the object moves, it will unhook the signal and rehook it to the new object.
+ + + diff --git a/code/datums/elements/dwarfism.html b/code/datums/elements/dwarfism.html new file mode 100644 index 00000000000..2e2d103a5e2 --- /dev/null +++ b/code/datums/elements/dwarfism.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/dwarfism.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/dwarfism.dm + +

+ + +
/datum/element/dwarfismVery similar to squish, but for dwarves and shorties
+ + + diff --git a/code/datums/elements/firestacker.html b/code/datums/elements/firestacker.html new file mode 100644 index 00000000000..e008a8d2101 --- /dev/null +++ b/code/datums/elements/firestacker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/firestacker.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/firestacker.dm + +

+ + +
/datum/element/firestackerCan be applied to /atom/movable subtypes to make them apply fire stacks to things they hit
+ + + diff --git a/code/datums/elements/screentips.html b/code/datums/elements/screentips.html new file mode 100644 index 00000000000..8d55a7215cc --- /dev/null +++ b/code/datums/elements/screentips.html @@ -0,0 +1,118 @@ + + + + + + + code/datums/elements/screentips/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Contextual screentips (and when to not use this folder) + +

+ + +

Contextual screentips provide information in the form of text at the top of your screen to inform you of the possibilities of an item. The "contextual" here refers to this being handled entirely through code, what it displays and when is completely up to you.

+

The elements (and this folder)

+

This folder provides several useful shortcuts to be able to handle 95% of situations.

+

/datum/element/contextual_screentip_bare_hands

+

This element is used to display screentips when the user hovers over the object with nothing in their active hand.

+

It takes parameters in the form of both non-combat mode and, optionally, combat mode.

+

Example:

+
/obj/machinery/firealarm/Initialize(mapload)
+	. = ..()
+
+	AddElement( \
+		/datum/element/contextual_screentip_bare_hands, \
+		lmb_text = list(INTENT_HELP = "Turn on"), \
+		rmb_text = list(INTENT_HELP = "Turn off"), \
+	)
+
+

This will display "LMB: Turn on | RMB: Turn off" when the user hovers over a fire alarm with an empty active hand.

+

/datum/element/contextual_screentip_tools

+

This element takes a map of tool behaviors to context lists. These will be displayed when the user hovers over the object with an item that has the tool behavior.

+

Example:

+
/obj/structure/table/Initialize(mapload)
+	if (!(flags_1 & NODECONSTRUCT_1))
+		var/static/list/tool_behaviors = list(
+			TOOL_SCREWDRIVER = list(
+				SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Disassemble"),
+			),
+
+			TOOL_WRENCH = list(
+				SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Deconstruct"),
+			),
+		)
+
+		AddElement(/datum/element/contextual_screentip_tools, tool_behaviors)
+
+

This will display "LMB: Deconstruct" when the user hovers over a table with a wrench.

+

/datum/element/contextual_screentip_item_typechecks

+

This element takes a map of item typepaths to context lists. These will be displayed when the user hovers over the object with the selected item.

+

Example:

+
/obj/item/restraints/handcuffs/cable/Initialize(mapload)
+	. = ..()
+
+	var/static/list/hovering_item_typechecks = list(
+		/obj/item/stack/rods = list(
+			SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft wired rod"),
+		),
+
+		/obj/item/stack/sheet/iron = list(
+			SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft bola"),
+		),
+	)
+
+	AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks)
+
+

This will display "LMB: Craft bola" when the user hovers over cable restraints with metal in their hand.

+

The basic system (and when to not use this folder)

+

The basic system acknowledges the following two interactions:

+

Self-defining items (Type A)

+

These are items that are defined by their behavior. These should define their contextual text within themselves, and not in their targets.

+
    +
  • Stun batons (LMB to stun, RMB to harm)
  • +
  • Syringes (LMB to inject, RMB to draw)
  • +
  • Health analyzers (LMB to scan for health/wounds [another piece of context], RMB to scans for chemicals)
  • +
+

Receiving action defining objects (Type B)

+

These are objects (not necessarily items) that are defined by what happens to them. These should define their contextual text within themselves, and not in their operating tools.

+
    +
  • Tables (RMB with wrench to deconstruct)
  • +
  • Construction objects (LMB with glass to put in screen for computers)
  • +
  • Carbon copies (RMB to take a copy)
  • +
+
+

Both of these are supported, and can be hooked to through several means.

+

Note that you must return CONTEXTUAL_SCREENTIP_SET if you change the contextual screentip at all, otherwise you may not see it.

+

COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET

+

This signal is registered on items, and receives the hovering object, provided in the form of obj/item/source, list/context, atom/target, mob/living/user.

+

/atom/proc/register_item_context(), and /atom/proc/add_item_context()

+

/atom/proc/add_item_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET: obj/item/source, list/context, atom/target, mob/living/user.

+

In order for your add_item_context() method to be run, you must call register_item_context().

+

COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM

+

This signal is registered on atoms, and receives what the user is hovering with, provided in the form of atom/source, list/context, obj/item/held_item, mob/living/user.

+

/atom/proc/register_context(), and /atom/proc/add_context()

+

/atom/proc/add_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM: atom/source, list/context, obj/item/held_item, mob/living/user.

+

In order for your add_context() method to be run, you must call register_context().

+
+

When using any of these methods, you will receive a mutable context list.

+

Context lists

+

Context lists are lists with keys mapping from SCREENTIP_CONTEXT_* to a string. You can find these keys in code/__DEFINES/screentips.dm.

+

The signals and add_context() variants mutate the list directly, while shortcut elements will just have you pass them in directly.

+

For example:

+
context[SCREENTIP_CONTEXT_LMB] = "Open"
+context[SCREENTIP_CONTEXT_RMB] = "Destroy"
+
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.html b/code/datums/elements/screentips/contextual_screentip_bare_hands.html new file mode 100644 index 00000000000..530c09d44c1 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_bare_hands.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_bare_hands.dm + +

+ + +
/datum/element/contextual_screentip_bare_handsApply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_item_typechecks.html b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html new file mode 100644 index 00000000000..00119fafbef --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_item_typechecks.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_item_typechecks.dm + +

+ + +
/datum/element/contextual_screentip_item_typechecksApply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_sharpness.html b/code/datums/elements/screentips/contextual_screentip_sharpness.html new file mode 100644 index 00000000000..2e994cd65b3 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_sharpness.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_sharpness.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_sharpness.dm + +

+ + +
/datum/element/contextual_screentip_sharpnessApply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_tools.html b/code/datums/elements/screentips/contextual_screentip_tools.html new file mode 100644 index 00000000000..226390db440 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_tools.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_tools.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_tools.dm + +

+ + +
/datum/element/contextual_screentip_toolsApply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/strippable.html b/code/datums/elements/strippable.html new file mode 100644 index 00000000000..eff4f88613d --- /dev/null +++ b/code/datums/elements/strippable.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/elements/strippable.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/strippable.dm + +

+ + + + + + + + + + + +
/datum/element/strippableAn element for atoms that, when dragged and dropped onto a mob, opens a strip panel.
/datum/strippable_itemA representation of an item that can be stripped down
/datum/strippable_item/mob_item_slotA preset for equipping items onto mob slots
/proc/start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
/proc/finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
/datum/strip_menuA representation of the stripping UI
/proc/create_strippable_listCreates an assoc list of keys to /datum/strippable_item
+ + + diff --git a/code/datums/elements/swimming.html b/code/datums/elements/swimming.html new file mode 100644 index 00000000000..c7db00f7269 --- /dev/null +++ b/code/datums/elements/swimming.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/swimming.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/swimming.dm + +

+ + +
/datum/element/swimmingJust for marking when someone's swimming.
+ + + diff --git a/code/datums/elements/weather_listener.html b/code/datums/elements/weather_listener.html new file mode 100644 index 00000000000..cf25d267626 --- /dev/null +++ b/code/datums/elements/weather_listener.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/weather_listener.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/elements/weather_listener.dm + +

+ + +
/datum/element/weather_listenerThis element just handles creating and destroying an area sound manager that's hooked into weather stuff
+ + + diff --git a/code/datums/explosion2.html b/code/datums/explosion2.html new file mode 100644 index 00000000000..44b472798d8 --- /dev/null +++ b/code/datums/explosion2.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/explosion2.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/explosion2.dm + +

+ + + + +
/proc/wave_explosionCreates a wave explosion at a certain place
/datum/wave_explosionNew force-blastwave explosion system
+ + + diff --git a/code/datums/forced_movement.html b/code/datums/forced_movement.html new file mode 100644 index 00000000000..0de89aaa68d --- /dev/null +++ b/code/datums/forced_movement.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/forced_movement.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/forced_movement.dm + +

+ + +
/datum/forced_movementEach tick goes through one full cycle.
+ + + 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 00000000000..554009bf741 --- /dev/null +++ b/code/datums/helper_datums/stack_end_detector.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/helper_datums/stack_end_detector.dm - Nostra-13 + + +
+ Nostra-13 - + 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/mapgen/JungleGenerator.html b/code/datums/mapgen/JungleGenerator.html new file mode 100644 index 00000000000..8df4c9288a7 --- /dev/null +++ b/code/datums/mapgen/JungleGenerator.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/JungleGenerator.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/mapgen/JungleGenerator.dm + +

+ + +
/datum/map_generator/jungle_generatorSpawning isn't done in procs to save on overhead on the 60k turfs we're going through.
+ + + diff --git a/code/datums/mapgen/_MapGenerator.html b/code/datums/mapgen/_MapGenerator.html new file mode 100644 index 00000000000..7c92068bfc3 --- /dev/null +++ b/code/datums/mapgen/_MapGenerator.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/_MapGenerator.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/mapgen/_MapGenerator.dm + +

+ + +
/datum/map_generatorThis type is responsible for any map generation behavior that is done in areas, override this to allow for area-specific map generation. This generation is ran by areas in initialize.
+ + + diff --git a/code/datums/mapgen/biomes/_biome.html b/code/datums/mapgen/biomes/_biome.html new file mode 100644 index 00000000000..6e2975ed8d1 --- /dev/null +++ b/code/datums/mapgen/biomes/_biome.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/biomes/_biome.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/mapgen/biomes/_biome.dm + +

+ + +
/datum/biomeThis datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.
+ + + diff --git a/code/datums/martial/cqc.html b/code/datums/martial/cqc.html new file mode 100644 index 00000000000..a6bd3af04b1 --- /dev/null +++ b/code/datums/martial/cqc.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/martial/cqc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/martial/cqc.dm + +

+ + +
/datum/martial_art/cqc/under_siegeSubtype of CQC. Only used for the chef.
+ + + diff --git a/code/datums/materials/_material.html b/code/datums/materials/_material.html new file mode 100644 index 00000000000..b2de58b4934 --- /dev/null +++ b/code/datums/materials/_material.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/materials/_material.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/materials/_material.dm + +

+ + +

Material datum

+

Simple datum which is instanced once per type and is used for every object of said material. It has a variety of variables that define behavior. Subtyping from this makes it easier to create your own materials.

+ + + diff --git a/code/datums/materials/basemats.html b/code/datums/materials/basemats.html new file mode 100644 index 00000000000..bd962b50a38 --- /dev/null +++ b/code/datums/materials/basemats.html @@ -0,0 +1,40 @@ + + + + + + + code/datums/materials/basemats.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/materials/basemats.dm + +

+ + + + + + + + + + + + + + + +
/datum/material/ironHas no special properties.
/datum/material/glassBreaks extremely easily but is transparent.
/datum/material/silverHas no special properties. Could be good against vampires in the future perhaps.
/datum/material/goldSlight force decrease. It's gold, it's soft as fuck.
/datum/material/diamondSmall force increase, for diamond swords
/datum/material/uraniumIs slightly radioactive
/datum/material/plasmaAdds firestacks on hit (Still needs support to turn into gas on destruction)
/datum/material/bluespaceCan cause bluespace effects on use. (Teleportation) (Not yet implemented)
/datum/material/bananiumHonks and slips
/datum/material/titaniumMediocre force increase
/datum/material/plasticForce decrease
/datum/material/biomassForce decrease and mushy sound effect. (Not yet implemented)
/datum/material/adamantineStronk force increase
/datum/material/mythrilRPG Magic. (Admin only)
+ + + diff --git a/code/datums/materials/meat.html b/code/datums/materials/meat.html new file mode 100644 index 00000000000..1b719feae1f --- /dev/null +++ b/code/datums/materials/meat.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/materials/meat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/materials/meat.dm + +

+ + +
/datum/material/meatIt's gross, gets the name of it's owner, and is all kinds of fucked up
+ + + diff --git a/code/datums/mocking/client.html b/code/datums/mocking/client.html new file mode 100644 index 00000000000..bc33f9754be --- /dev/null +++ b/code/datums/mocking/client.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mocking/client.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/mocking/client.dm + +

+ + +
/datum/client_interfaceThis should match the interface of /client wherever necessary.
+ + + diff --git a/code/datums/mutations/sight.html b/code/datums/mutations/sight.html new file mode 100644 index 00000000000..97b6077bcb8 --- /dev/null +++ b/code/datums/mutations/sight.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/mutations/sight.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/mutations/sight.dm + +

+ + + +
/datum/mutation/human/thermalThermal Vision lets you see mobs through walls
/datum/mutation/human/thermal/x_rayX-ray Vision lets you see through walls.
+ + + diff --git a/code/datums/outfit.html b/code/datums/outfit.html new file mode 100644 index 00000000000..64793240bf5 --- /dev/null +++ b/code/datums/outfit.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/outfit.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/outfit.dm + +

+ + +
/datum/outfitThis is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.
+ + + diff --git a/code/datums/skills/_skill.html b/code/datums/skills/_skill.html new file mode 100644 index 00000000000..f9b3148d074 --- /dev/null +++ b/code/datums/skills/_skill.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/skills/_skill.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/skills/_skill.dm + +

+ + + +
/datum/skillSkill datums
/datum/skill/levelClassing r p g styled skills, tiered by lvl, and current/nextlvl experience.
+ + + diff --git a/code/datums/skills/_skill_holder.html b/code/datums/skills/_skill_holder.html new file mode 100644 index 00000000000..55b8c53858a --- /dev/null +++ b/code/datums/skills/_skill_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/skills/_skill_holder.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/skills/_skill_holder.dm + +

+ + +
/datum/skill_holderSkill holder datums +All procs are tied to the mind, since they are always expected to have a skill holder anyway.
+ + + diff --git a/code/datums/skills/_skill_modifier.html b/code/datums/skills/_skill_modifier.html new file mode 100644 index 00000000000..ae2fb72083b --- /dev/null +++ b/code/datums/skills/_skill_modifier.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/skills/_skill_modifier.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/skills/_skill_modifier.dm + +

+ + +
/datum/skill_modifierBase skill modifier datum, used to modify a player skills without directly touching their values, levels and affinity +and cause lots of edge cases. These are fairly simple overall... make a subtype though, don't use this one.
+ + + diff --git a/code/datums/skills/modifiers/job.html b/code/datums/skills/modifiers/job.html new file mode 100644 index 00000000000..1d4afe0107a --- /dev/null +++ b/code/datums/skills/modifiers/job.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/skills/modifiers/job.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/skills/modifiers/job.dm + +

+ + + +
/datum/skill_modifier/jobJobbie skill modifiers.
/datum/skill_modifier/job/levelLevel skill modifiers below.
+ + + diff --git a/code/datums/soullink.html b/code/datums/soullink.html new file mode 100644 index 00000000000..426b4e5e564 --- /dev/null +++ b/code/datums/soullink.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/soullink.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/soullink.dm + +

+ + +
/mob/livingMob Living
+ + + diff --git a/code/datums/station_traits/_station_trait.html b/code/datums/station_traits/_station_trait.html new file mode 100644 index 00000000000..307ed147b9d --- /dev/null +++ b/code/datums/station_traits/_station_trait.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_traits/_station_trait.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/station_traits/_station_trait.dm + +

+ + +
/datum/station_traitBase class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.
+ + + diff --git a/code/datums/station_traits/negative_traits.html b/code/datums/station_traits/negative_traits.html new file mode 100644 index 00000000000..55e63a109bc --- /dev/null +++ b/code/datums/station_traits/negative_traits.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_traits/negative_traits.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/station_traits/negative_traits.dm + +

+ + +
/datum/station_trait/revenge_of_pun_punThe bot's language holder - so we can randomize and change their language
+ + + diff --git a/code/datums/status_effects/status_effect.html b/code/datums/status_effects/status_effect.html new file mode 100644 index 00000000000..13465f28cc9 --- /dev/null +++ b/code/datums/status_effects/status_effect.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/status_effect.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/status_effects/status_effect.dm + +

+ + +
/datum/status_effect/groupedStatus effect from multiple sources, when all sources are removed, so is the effect +Adds itself to sources and destroys itself if one exists already, there are never multiple
+ + + diff --git a/code/datums/status_effects/wound_effects.html b/code/datums/status_effects/wound_effects.html new file mode 100644 index 00000000000..d2448e6a853 --- /dev/null +++ b/code/datums/status_effects/wound_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/wound_effects.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/status_effects/wound_effects.dm + +

+ + +
/atom/movable/screen/alert/status_effect/woundWOUNDS
+ + + diff --git a/code/datums/view.html b/code/datums/view.html new file mode 100644 index 00000000000..19bee8228fe --- /dev/null +++ b/code/datums/view.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/view.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/view.dm + +

+ + +
/datum/viewDataContainer for client viewsize
+ + + diff --git a/code/datums/weather/weather.html b/code/datums/weather/weather.html new file mode 100644 index 00000000000..c9539997f14 --- /dev/null +++ b/code/datums/weather/weather.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/weather/weather.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/weather/weather.dm + +

+ + +
/datum/weatherCauses weather to occur on a z level in certain area types
+ + + diff --git a/code/datums/wounds/_scars.html b/code/datums/wounds/_scars.html new file mode 100644 index 00000000000..ca0aecd8ec7 --- /dev/null +++ b/code/datums/wounds/_scars.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/wounds/_scars.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/datums/wounds/_scars.dm + +

+ + +
/datum/scarscars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars +look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"
+ + + diff --git a/code/game/area/areas.html b/code/game/area/areas.html new file mode 100644 index 00000000000..71c0f962d69 --- /dev/null +++ b/code/game/area/areas.html @@ -0,0 +1,29 @@ + + + + + + + code/game/area/areas.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/area/areas.dm + +

+ + + + +
/areaA grouping of tiles into a logical space, mostly used by map editors
/proc/process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
+ + + diff --git a/code/game/area/areas/edina.html b/code/game/area/areas/edina.html new file mode 100644 index 00000000000..010ecbe2b8d --- /dev/null +++ b/code/game/area/areas/edina.html @@ -0,0 +1,29 @@ + + + + + + + code/game/area/areas/edina.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/area/areas/edina.dm + +

+ + + + +
/area/edina/streetNova Edina Streets
/area/edina/crew_quartersEdina specific derivitives
/obj/effect/mapping_helpers/planet_zMapping helper
+ + + diff --git a/code/game/area/areas/mining.html b/code/game/area/areas/mining.html new file mode 100644 index 00000000000..05cb608eca1 --- /dev/null +++ b/code/game/area/areas/mining.html @@ -0,0 +1,29 @@ + + + + + + + code/game/area/areas/mining.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/area/areas/mining.dm + +

+ + + + +
/area/mineMine areas
/area/lavalandLavaland Areas
/area/icemoonIce Moon Areas
+ + + diff --git a/code/game/area/areas/shuttles.html b/code/game/area/areas/shuttles.html new file mode 100644 index 00000000000..c55723d43c9 --- /dev/null +++ b/code/game/area/areas/shuttles.html @@ -0,0 +1,32 @@ + + + + + + + code/game/area/areas/shuttles.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/area/areas/shuttles.dm + +

+ + + + + + +
/area/shuttle/syndicateMulti-area shuttles +Syndicate infiltrator
/area/shuttle/piratePirate Shuttle
/area/shuttle/hunterBounty Hunter Shuttles
/area/shuttle/abandonedWhite Ship
/area/shuttle/transitSingle-area shuttles
+ + + diff --git a/code/game/atoms.html b/code/game/atoms.html new file mode 100644 index 00000000000..8352826dffb --- /dev/null +++ b/code/game/atoms.html @@ -0,0 +1,30 @@ + + + + + + + code/game/atoms.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/atoms.dm + +

+ + + + + +
/proc/log_combatLog a combat message in the attack log
/proc/log_woundlog_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over
+ + + diff --git a/code/game/gamemodes/dynamic.html b/code/game/gamemodes/dynamic.html new file mode 100644 index 00000000000..8cad8d71da4 --- /dev/null +++ b/code/game/gamemodes/dynamic.html @@ -0,0 +1,212 @@ + + + + + + + code/game/gamemodes/dynamic/readme.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Dynamic Mode + +

+ + +

Roundstart

+

Dynamic rolls threat based on a special sauce formula:

+
+

[dynamic_curve_width][/datum/controller/global_vars/var/dynamic_curve_width] * tan((3.1416 * (rand() - 0.5) * 57.2957795)) + [dynamic_curve_centre][/datum/controller/global_vars/var/dynamic_curve_centre]

+
+

This threat is split into two separate budgets--round_start_budget and mid_round_budget. For example, a round with 50 threat might be split into a 30 roundstart budget, and a 20 midround budget. The roundstart budget is used to apply antagonists applied on readied players when the roundstarts (/datum/dynamic_ruleset/roundstart). The midround budget is used for two types of rulesets:

+
    +
  • /datum/dynamic_ruleset/midround - Rulesets that apply to either existing alive players, or to ghosts. Think Blob or Space Ninja, which poll ghosts asking if they want to play as these roles.
  • +
  • /datum/dynamic_ruleset/latejoin - Rulesets that apply to the next player that joins. Think Syndicate Infiltrator, which converts a player just joining an existing round into traitor.
  • +
+

This split is done with a similar method, known as the "lorentz distribution", exists to create a bell curve that ensures that while most rounds will have a threat level around ~50, chaotic and tame rounds still exist for variety.

+

The process of creating these numbers occurs in /datum/game_mode/dynamic/proc/generate_threat (for creating the threat level) and /datum/game_mode/dynamic/proc/generate_budgets (for splitting the threat level into budgets).

+

Deciding roundstart threats

+

In /datum/game_mode/dynamic/proc/roundstart() (called when no admin chooses the rulesets explicitly), Dynamic uses the available roundstart budget to pick threats. This is done through the following system:

+
    +
  • All roundstart rulesets (remember, /datum/dynamic_ruleset/roundstart) are put into an associative list with their weight as the values (drafted_rules).
  • +
  • Until there is either no roundstart budget left, or until there is no ruleset we can choose from with the available threat, a pickweight is done based on the drafted_rules. If the same threat is picked twice, it will "scale up". The meaning of this depends on the ruleset itself, using the scaled_times variable; traitors for instance will create more the higher they scale. +
      +
    • If a ruleset is chosen with the HIGH_IMPACT_RULESET in its flags, then all other HIGH_IMPACT_RULESETs will be removed from drafted_rules. This is so that only one can ever be chosen.
    • +
    • If a ruleset has LONE_RULESET in its flags, then it will be removed from drafted_rules. This is to ensure it will only ever be picked once. An example of this in use is Wizard, to avoid creating multiple wizards.
    • +
    +
  • +
  • After all roundstart threats are chosen, /datum/dynamic_ruleset/proc/picking_roundstart_rule is called for each, passing in the ruleset and the number of times it is scaled. +
      +
    • In this stage, pre_execute is called, which is the function that will determine what players get what antagonists. If this function returns FALSE for whatever reason (in the case of an error), then its threat is refunded.
    • +
    +
  • +
+

After this process is done, any leftover roundstart threat will be given to the existing midround budget (done in /datum/game_mode/dynamic/pre_setup()).

+

Deciding midround threats

+

Latejoin and midround injection cooldowns are set using exponential distribution between

+
    +
  • 5 minutes and 25 for latejoin (configurable as latejoin_delay_min and latejoin_delay_max)
  • +
  • 15 minutes and 35 for midround (configurable as midround_delay_min and midround_delay_max)
  • +
+

this value is then added to world.time and assigned to the injection cooldown variables.

+

rigged_roundstart is called instead if there are forced rules (an admin set the mode)

+
    +
  1. [setup_parameters][/datum/game_mode/proc/setup_parameters]()
  2. +
  3. pre_setup()
  4. +
  5. [roundstart][/datum/game_mode/dynamic/proc/roundstart]() OR rigged_roundstart()
  6. +
  7. picking_roundstart_rule(drafted_rules)
  8. +
  9. post_setup()
  10. +
+

Rule Processing

+

Calls rule_process on every rule which is in the current_rules list. +Every sixty seconds, update_playercounts() +Midround injection time is checked against world.time to see if an injection should happen. +If midround injection time is lower than world.time, it updates playercounts again, then tries to inject and generates a new cooldown regardless of whether a rule is picked.

+

Latejoin

+

make_antag_chance(newPlayer) -> (For each latespawn rule...) +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +**If true, add to drafted rules +**NOTE that acceptable uses threat_level not threat! +**NOTE Latejoin timer is ONLY reset if at least one rule was drafted. +**NOTE the new_player.dm AttemptLateSpawn() calls OnPostSetup for all roles (unless assigned role is MODE)

+

(After collecting all draftble rules...) +-> picking_latejoin_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+

Midround

+

process() -> (For each midround rule... +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +(After collecting all draftble rules...) +-> picking_midround_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+

Forced

+

For latejoin, it simply sets forced_latejoin_rule +make_antag_chance(newPlayer) -> trim_candidates() -> ready(forced=TRUE) **NOTE no acceptable() call

+

For midround, calls the below proc with forced = TRUE +picking_specific_rule(ruletype,forced) -> forced OR acceptable(living_players, threat_level) -> trim_candidates() -> ready(forced) -> spend threat -> execute() +**NOTE specific rule can be called by RS traitor->MR autotraitor w/ forced=FALSE +**NOTE that due to short circuiting acceptable() need not be called if forced.

+

Ruleset

+

acceptable(population,threat) just checks if enough threat_level for population indice. +**NOTE that we currently only send threat_level as the second arg, not threat. +ready(forced) checks if enough candidates and calls the map's map_ruleset(dynamic_ruleset) at the parent level

+

trim_candidates() varies significantly according to the ruleset type +Roundstart: All candidates are new_player mobs. Check them for standard stuff: connected, desire role, not banned, etc. +**NOTE Roundstart deals with both candidates (trimmed list of valid players) and mode.candidates (everyone readied up). Don't confuse them! +Latejoin: Only one candidate, the latejoiner. Standard checks. +Midround: Instead of building a single list candidates, candidates contains four lists: living, dead, observing, and living antags. Standard checks in trim_list(list).

+

Midround - Rulesets have additional types +/from_ghosts: execute() -> send_applications() -> review_applications() -> finish_setup(mob/newcharacter, index) -> setup_role(role) +**NOTE: execute() here adds dead players and observers to candidates list

+

Configuration and variables

Configuration

+

Configuration can be done through a config/dynamic.json file. One is provided as example in the codebase. This config file, loaded in /datum/game_mode/dynamic/pre_setup(), directly overrides the values in the codebase, and so is perfect for making some rulesets harder/easier to get, turning them off completely, changing how much they cost, etc.

+

The format of this file is:

+
{
+	"Dynamic": {
+		/* Configuration in here will directly override `/datum/game_mode/dynamic` itself. */
+		/* Keys are variable names, values are their new values. */
+	},
+
+	"Roundstart": {
+		/* Configuration in here will apply to `/datum/dynamic_ruleset/roundstart` instances. */
+		/* Keys are the ruleset names, values are another associative list with keys being variable names and values being new values. */
+		"Wizard": {
+			/* I, a head admin, have died to wizard, and so I made it cost a lot more threat than it does in the codebase. */
+			"cost": 80
+		}
+	},
+
+	"Midround": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/midround` instead. */
+	},
+
+	"Latejoin": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/latejoin` instead. */
+	}
+}
+
+

Note: Comments are not possible in this format, and are just in this document for the sake of readability.

+

Rulesets

+

Rulesets have the following variables notable to developers and those interested in tuning.

+
    +
  • required_candidates - The number of people that must be willing (in their preferences) to be an antagonist with this ruleset. If the candidates do not meet this requirement, then the ruleset will not bother to be drafted.
  • +
  • antag_cap - Judges the amount of antagonists to apply, for both solo and teams. Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. If written as a linear equation, will be in the form of list("denominator" = denominator, "offset" = offset). +
      +
    • Examples include: +
        +
      • Traitor: antag_cap = list("denominator" = 24). This means that for every 24 players, 1 traitor will be added (assuming no scaling).
      • +
      • Nuclear Emergency: antag_cap = list("denominator" = 18, "offset" = 1). For every 18 players, 1 nuke op will be added. Starts at 1, meaning at 30 players, 3 nuke ops will be created, rather than 2.
      • +
      • Revolution: antag_cap = 3. There will always be 3 rev-heads, no matter what.
      • +
      +
    • +
    +
  • +
  • minimum_required_age - The minimum age in order to apply for the ruleset.
  • +
  • weight - How likely this ruleset is to be picked. A higher weight results in a higher chance of drafting.
  • +
  • cost - The initial cost of the ruleset. This cost is taken from either the roundstart or midround budget, depending on the ruleset.
  • +
  • scaling_cost - Cost for every additional application of this ruleset. +
      +
    • Suppose traitors has a cost of 8, and a scaling_cost of 5. This means that buying 1 application of the traitor ruleset costs 8 threat, but buying two costs 13 (8 + 5). Buying it a third time is 18 (8 + 5 + 5), etc.
    • +
    +
  • +
  • pop_per_requirement - The range of population each value in requirements represents. By default, this is 6. +
      +
    • If the value is five the range is 0-4, 5-9, 10-14, 15-19, 20-24, 25-29, 30-34, 35-39, 40-54, 45+.
    • +
    • If it is six the range is 0-5, 6-11, 12-17, 18-23, 24-29, 30-35, 36-41, 42-47, 48-53, 54+.
    • +
    • If it is seven the range is 0-6, 7-13, 14-20, 21-27, 28-34, 35-41, 42-48, 49-55, 56-62, 63+.
    • +
    +
  • +
  • requirements - A list that represents, per population range (see: pop_per_requirement), how much threat is required to consider this ruleset. This is independent of how much it'll actually cost. This uses threat level, not the budget--meaning if a round has 50 threat level, but only 10 points of round start threat, a ruleset with a requirement of 40 can still be picked if it can be bought. +
      +
    • Suppose wizard has a requirements of list(90,90,70,40,30,20,10,10,10,10). This means that, at 0-5 and 6-11 players, A station must have 90 threat in order for a wizard to be possible. At 12-17, 70 threat is required instead, etc.
    • +
    +
  • +
  • restricted_roles - A list of jobs that can't be drafted by this ruleset. For example, cyborgs cannot be changelings, and so are in the restricted_roles.
  • +
  • protected_roles - Serves the same purpose of restricted_roles, except it can be turned off through configuration (protect_roles_from_antagonist). For example, security officers shouldn't be made traitor, so they are in Traitor's protected_roles. +
      +
    • When considering putting a role in protected_roles or restricted_roles, the rule of thumb is if it is technically infeasible to support that job in that role. There's no technical reason a security officer can't be a traitor, and so they are simply in protected_roles. There are technical reasons a cyborg can't be a changeling, so they are in restricted_roles instead.
    • +
    +
  • +
+

Dynamic

+

The "Dynamic" key has the following configurable values:

+
    +
  • pop_per_requirement - The default value of pop_per_requirement for any ruleset that does not explicitly set it. Defaults to 6.
  • +
  • latejoin_delay_min, latejoin_delay_max - The time range, in deciseconds (take your seconds, and multiply by 10), for a latejoin to attempt rolling. Once this timer is finished, a new one will be created within the same range. +
      +
    • Suppose you have a latejoin_delay_min of 600 (60 seconds, 1 minute) and a latejoin_delay_max of 1800 (180 seconds, 3 minutes). Once the round starts, a random number in this range will be picked--let's suppose 1.5 minutes. After 1.5 minutes, Dynamic will decide if a latejoin threat should be created (a probability of /datum/game_mode/dynamic/proc/get_injection_chance()). Regardless of its decision, a new timer will be started within the range of 1 to 3 minutes, repeatedly.
    • +
    +
  • +
  • midround_delay_min, midround_delay_max - Same as latejoin_delay_min and latejoin_delay_max, except for midround threats instead of latejoin ones.
  • +
  • higher_injection_chance, higher_injection_chance_minimum_threat - Manipulates the injection chance (/datum/game_mode/dynamic/proc/get_injection_chance()). If the current midround budget is above higher_injection_chance_minimum_threat, then this chance will be increased by higher_injection_chance. +
      +
    • For example: suppose you have a higher_injection_chance_minimum_threat of 70, and a higher_injection_chance of 15. This means that, if when a midround threat is trying to roll, there is 75 midround budget left, then the injection chance will go up 15%.
    • +
    +
  • +
  • lower_injection_chance, lower_injection_chance_minimum_threat - The inverse of the higher_injection_chance variables. If the current midround budget is below lower_injection_chance, then the chance is lowered by lower_injection_chance_minimum_threat. +
      +
    • For example: suppose you have a lower_injection_chance_minimum_threat of 30, and a lower_injection_chance of 15. This means if there is 20 midround budget left, then the chance will lower by 15%.
    • +
    +
  • +
  • threat_curve_centre - A number between -5 and +5. A negative value will give a more peaceful round and a positive value will give a round with higher threat.
  • +
  • threat_curve_width - A number between 0.5 and 4. Higher value will favour extreme rounds and lower value rounds closer to the average.
  • +
  • roundstart_split_curve_centre - A number between -5 and +5. Equivalent to threat_curve_centre, but for the budget split. A negative value will weigh towards midround rulesets, and a positive value will weight towards roundstart ones.
  • +
  • roundstart_split_curve_width - A number between 0.5 and 4. Equivalent to threat_curve_width, but for the budget split. Higher value will favour more variance in splits and lower value rounds closer to the average.
  • +
  • random_event_hijack_minimum - The minimum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • random_event_hijack_maximum - The maximum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • hijacked_random_event_injection_chance - The amount of injection chance to give to Dynamic when a random event is hijacked. (See Random Event Hijacking)
  • +
+

Random Event "Hijacking"

+

Random events have the potential to be hijacked by Dynamic to keep the pace of midround injections, while also allowing greenshifts to contain some antagonists.

+

/datum/round_event_control/dynamic_should_hijack is a variable to random events to allow Dynamic to hijack them, and defaults to FALSE. This is set to TRUE for random events that spawn antagonists.

+

In /datum/game_mode/dynamic/on_pre_random_event (in dynamic_hijacking.dm), Dynamic hooks to random events. If the dynamic_should_hijack variable is TRUE, the following sequence of events occurs:

+

Flow chart to describe the chain of events for Dynamic 2021 to take

+

n is a random value between random_event_hijack_minimum and random_event_hijack_maximum. Injection chance, should it need to be raised, is increased by hijacked_random_event_injection_chance.

+ + + diff --git a/code/game/gamemodes/dynamic/dynamic_logging.html b/code/game/gamemodes/dynamic/dynamic_logging.html new file mode 100644 index 00000000000..a52d1ff6bf6 --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_logging.html @@ -0,0 +1,29 @@ + + + + + + + code/game/gamemodes/dynamic/dynamic_logging.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/gamemodes/dynamic/dynamic_logging.dm + +

+ + + +
/datum/dynamic_snapshotA "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.
/datum/dynamic_snapshot_rulesetA ruleset chosen during a snapshot
+ + + diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html new file mode 100644 index 00000000000..21f960cc394 --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html @@ -0,0 +1,41 @@ + + + + + + + code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm + +

+ + + + + + + +
MALF_ION_PROBProbability the AI going malf will be accompanied by an ion storm announcement and some ion laws.
REPLACE_LAW_WITH_ION_PROBThe probability to replace an existing law with an ion law instead of adding a new ion law.
/datum/dynamic_ruleset/midround/blob_infectionInfects a random player, making them explode into a blob.
/datum/dynamic_ruleset/midround/from_ghosts/revenantRevenant ruleset
/datum/dynamic_ruleset/midround/from_ghosts/sentient_diseaseSentient Disease ruleset
/datum/dynamic_ruleset/midround/piratesSpace Pirates ruleset

Define Details

+

MALF_ION_PROB + + +

+

Probability the AI going malf will be accompanied by an ion storm announcement and some ion laws.

REPLACE_LAW_WITH_ION_PROB + + +

+

The probability to replace an existing law with an ion law instead of adding a new ion law.

+ + + diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html new file mode 100644 index 00000000000..285dd834647 --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html @@ -0,0 +1,28 @@ + + + + + + + code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm + +

+ + +
/datum/dynamic_ruleset/roundstart/traitorProbability the AI going malf will be accompanied by an ion storm announcement and some ion laws. +The probability to replace an existing law with an ion law instead of adding a new ion law.
+ + + diff --git a/code/game/machinery/civilian_bountys.html b/code/game/machinery/civilian_bountys.html new file mode 100644 index 00000000000..42f76c348a6 --- /dev/null +++ b/code/game/machinery/civilian_bountys.html @@ -0,0 +1,30 @@ + + + + + + + code/game/machinery/civilian_bountys.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/civilian_bountys.dm + +

+ + + + + +
/obj/machinery/piratepad/civilianPad for the Civilian Bounty Control.
/obj/machinery/computer/piratepad_control/civilianComputer for assigning new civilian bounties, and sending bounties for collection.
/obj/item/bounty_cubeUpon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.
/obj/item/civ_bounty_beaconBeacon to launch a new bounty setup when activated.
+ + + diff --git a/code/game/machinery/computer/dna_console.html b/code/game/machinery/computer/dna_console.html new file mode 100644 index 00000000000..91bf01e5702 --- /dev/null +++ b/code/game/machinery/computer/dna_console.html @@ -0,0 +1,102 @@ + + + + + + + code/game/machinery/computer/dna_console.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/dna_console.dm + +

+ + + + + + + + + + + + + + + + +
INJECTOR_TIMEOUTBase timeout for creating mutation activators and other injectors
NUMBER_OF_BUFFERSMaximum number of genetic makeup storage slots in DNA Console
SCRAMBLE_TIMEOUTTimeout for DNA Scramble in DNA Consoles
JOKER_TIMEOUTTimeout for using the Joker feature to solve a gene in DNA Console
JOKER_UPGRADEHow much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT
RADIATION_STRENGTH_MAXMaximum value for radiaton strength when pulsing enzymes
RADIATION_STRENGTH_MULTIPLIERLarger multipliers will affect the range of values when pulsing enzymes
RADIATION_DURATION_MAXMaximum value for the radiation pulse duration when pulsing enzymes
RADIATION_ACCURACY_MULTIPLIERLarge values reduce pulse accuracy and may pulse other enzymes than selected
STATUS_TRANSFORMINGSpecial status indicating a scanner occupant is transforming eg. from monkey to human
RADIATION_IRRADIATION_MULTIPLIERMultiplier for how much radiation received from DNA Console functionality
SEARCH_OCCUPANTFlag for the mutation ref search system. Search will include scanner occupant
SEARCH_STOREDFlag for the mutation ref search system. Search will include console storage
SEARCH_DISKETTEFlag for the mutation ref search system. Search will include diskette storage
SEARCH_ADV_INJFlag for the mutation ref search system. Search will include advanced injector mutations

Define Details

+

INJECTOR_TIMEOUT + + +

+

Base timeout for creating mutation activators and other injectors

JOKER_TIMEOUT + + +

+

Timeout for using the Joker feature to solve a gene in DNA Console

JOKER_UPGRADE + + +

+

How much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT

NUMBER_OF_BUFFERS + + +

+

Maximum number of genetic makeup storage slots in DNA Console

RADIATION_ACCURACY_MULTIPLIER + + +

+

Large values reduce pulse accuracy and may pulse other enzymes than selected

RADIATION_DURATION_MAX + + +

+

Maximum value for the radiation pulse duration when pulsing enzymes

RADIATION_IRRADIATION_MULTIPLIER + + +

+

Multiplier for how much radiation received from DNA Console functionality

RADIATION_STRENGTH_MAX + + +

+

Maximum value for radiaton strength when pulsing enzymes

RADIATION_STRENGTH_MULTIPLIER + + +

+

Larger multipliers will affect the range of values when pulsing enzymes

SCRAMBLE_TIMEOUT + + +

+

Timeout for DNA Scramble in DNA Consoles

SEARCH_ADV_INJ + + +

+

Flag for the mutation ref search system. Search will include advanced injector mutations

SEARCH_DISKETTE + + +

+

Flag for the mutation ref search system. Search will include diskette storage

SEARCH_OCCUPANT + + +

+

Flag for the mutation ref search system. Search will include scanner occupant

SEARCH_STORED + + +

+

Flag for the mutation ref search system. Search will include console storage

STATUS_TRANSFORMING + + +

+

Special status indicating a scanner occupant is transforming eg. from monkey to human

+ + + diff --git a/code/game/machinery/cryopod.html b/code/game/machinery/cryopod.html new file mode 100644 index 00000000000..131b83687b6 --- /dev/null +++ b/code/game/machinery/cryopod.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/cryopod.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/cryopod.dm + +

+ + +
/obj/item/storage/box/blue/cryostorage_itemsThe box
+ + + diff --git a/code/game/machinery/deployable.html b/code/game/machinery/deployable.html new file mode 100644 index 00000000000..356bcbfffb8 --- /dev/null +++ b/code/game/machinery/deployable.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/deployable.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/deployable.dm + +

+ + +
/obj/structure/barricade/woodenBARRICADE TYPES
+ + + diff --git a/code/game/machinery/lightswitch.html b/code/game/machinery/lightswitch.html new file mode 100644 index 00000000000..6ff8d9ae4e9 --- /dev/null +++ b/code/game/machinery/lightswitch.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/lightswitch.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/lightswitch.dm + +

+ + +
/obj/machinery/light_switchThe light switch. Can have multiple per area.
+ + + diff --git a/code/game/machinery/limbgrower.html b/code/game/machinery/limbgrower.html new file mode 100644 index 00000000000..783625de74b --- /dev/null +++ b/code/game/machinery/limbgrower.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/limbgrower.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/limbgrower.dm + +

+ + +
/obj/machinery/limbgrowerThe limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.
+ + + diff --git a/code/game/machinery/porta_turret/portable_turret_cover.html b/code/game/machinery/porta_turret/portable_turret_cover.html new file mode 100644 index 00000000000..6d901339e6d --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_cover.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/porta_turret/portable_turret_cover.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/porta_turret/portable_turret_cover.dm + +

+ + +
/obj/machinery/porta_turret_coverPORTABLE TURRET COVER
+ + + diff --git a/code/game/machinery/shieldgen.html b/code/game/machinery/shieldgen.html new file mode 100644 index 00000000000..63c874fed2b --- /dev/null +++ b/code/game/machinery/shieldgen.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/shieldgen.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/shieldgen.dm + +

+ + +
/obj/machinery/shieldwallContainment Field START
+ + + diff --git a/code/game/machinery/slotmachine.html b/code/game/machinery/slotmachine.html new file mode 100644 index 00000000000..3bb6f151f94 --- /dev/null +++ b/code/game/machinery/slotmachine.html @@ -0,0 +1,40 @@ + + + + + + + code/game/machinery/slotmachine.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/slotmachine.dm + +

+ + +
SPIN_PRICE*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

Define Details

+

SPIN_PRICE + + +

+

*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

+ + + diff --git a/code/game/machinery/status_display.html b/code/game/machinery/status_display.html new file mode 100644 index 00000000000..79787724b36 --- /dev/null +++ b/code/game/machinery/status_display.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/status_display.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/status_display.dm + +

+ + + + + + + +
/obj/machinery/status_displayStatus display which can show images and scrolling text.
/obj/effect/overlay/status_display_textNice overlay to make text smoothly scroll with no client updates after setup.
/obj/machinery/status_display/evacEvac display which shows shuttle timer or message set by Command.
/obj/machinery/status_display/supplySupply display which shows the status of the supply shuttle.
/obj/machinery/status_display/shuttleGeneral-purpose shuttle status display.
/obj/machinery/status_display/aiPictograph display which the AI can use to emote.
+ + + diff --git a/code/game/machinery/syndicatebomb.html b/code/game/machinery/syndicatebomb.html new file mode 100644 index 00000000000..fd00cdc44f9 --- /dev/null +++ b/code/game/machinery/syndicatebomb.html @@ -0,0 +1,30 @@ + + + + + + + code/game/machinery/syndicatebomb.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/syndicatebomb.dm + +

+ + + + + +
/obj/machinery/syndicatebomb/trainingBomb Subtypes
/obj/item/bombcoreBomb Cores
/obj/item/bombcore/trainingBomb Core Subtypes
/obj/item/syndicatedetonatorSyndicate Detonator (aka the big red button)
+ + + diff --git a/code/game/machinery/telecomms/broadcasting.html b/code/game/machinery/telecomms/broadcasting.html new file mode 100644 index 00000000000..59cded9be6f --- /dev/null +++ b/code/game/machinery/telecomms/broadcasting.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/telecomms/broadcasting.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/broadcasting.dm + +

+ + +
/datum/signal/subspaceHere is the big, bad function that broadcasts a message given the appropriate +parameters.
+ + + diff --git a/code/game/objects/effects/effect_system/effects_other.html b/code/game/objects/effects/effect_system/effects_other.html new file mode 100644 index 00000000000..e8b031615af --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_other.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/effect_system/effects_other.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/effects_other.dm + +

+ + +
/datum/effect_system/trail_follow///// Attach a 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!
+ + + diff --git a/code/game/objects/effects/effect_system/effects_smoke.html b/code/game/objects/effects/effect_system/effects_smoke.html new file mode 100644 index 00000000000..85870d738d0 --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_smoke.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/effect_system/effects_smoke.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/effects_smoke.dm + +

+ + +
/obj/effect/particle_effect/smokeSMOKE SYSTEMS
+ + + diff --git a/code/game/objects/effects/forcefields.html b/code/game/objects/effects/forcefields.html new file mode 100644 index 00000000000..607ee15fd50 --- /dev/null +++ b/code/game/objects/effects/forcefields.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/forcefields.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/effects/forcefields.dm + +

+ + +
/obj/effect/forcefield/mimeMimewalls
+ + + diff --git a/code/game/objects/items/AI_modules.html b/code/game/objects/items/AI_modules.html new file mode 100644 index 00000000000..aa494c9b22e --- /dev/null +++ b/code/game/objects/items/AI_modules.html @@ -0,0 +1,57 @@ + + + + + + + code/game/objects/items/AI_modules.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/AI_modules.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/obj/item/aiModule/suppliedModules
/obj/item/aiModule/supplied/safeguardSafeguard
/obj/item/aiModule/zeroth/oneHumanOneCrew
/obj/item/aiModule/supplied/protectStationProtectStation
/obj/item/aiModule/supplied/quarantineQuarantine
/obj/item/aiModule/supplied/oxygenOxygenIsToxicToHumans
/obj/item/aiModule/supplied/freeformNew Freeform
/obj/item/aiModule/removeLaw Removal
/obj/item/aiModule/resetReset
/obj/item/aiModule/reset/purgePurge
/obj/item/aiModule/coreFull Core Boards
/obj/item/aiModule/core/full/asimovAsimov
/obj/item/aiModule/core/full/asimovppAsimov++
/obj/item/aiModule/core/full/corpCorporate
/obj/item/aiModule/core/full/paladinP.A.L.A.D.I.N. 3.5e
/obj/item/aiModule/core/full/paladin_devotionP.A.L.A.D.I.N. 5e
/obj/item/aiModule/core/full/customCustom
/obj/item/aiModule/core/full/tyrantT.Y.R.A.N.T.
/obj/item/aiModule/core/full/robocopRobocop
/obj/item/aiModule/core/full/antimovAntimov
/obj/item/aiModule/core/freeformcoreFreeform Core
/obj/item/aiModule/core/full/overthrowOverthrow
/obj/item/aiModule/syndicateHacked AI Module
/obj/item/aiModule/toyAIIon Module
/obj/item/aiModule/core/full/droneMother Drone
/obj/item/aiModule/core/full/hippocraticRobodoctor
/obj/item/aiModule/core/full/reporterReporter
/obj/item/aiModule/core/full/thermurderdynamicThermodynamic
/obj/item/aiModule/core/full/liveandletliveLive And Let Live
/obj/item/aiModule/core/full/balanceGuardian of Balance
/obj/item/aiModule/core/full/hulkamaniaH.O.G.A.N.
+ + + diff --git a/code/game/objects/items/cigs_lighters.html b/code/game/objects/items/cigs_lighters.html new file mode 100644 index 00000000000..990881833d2 --- /dev/null +++ b/code/game/objects/items/cigs_lighters.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/cigs_lighters.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/cigs_lighters.dm + +

+ + +
/obj/item/bongBONGS
+ + + diff --git a/code/game/objects/items/crayons.html b/code/game/objects/items/crayons.html new file mode 100644 index 00000000000..533b73c2988 --- /dev/null +++ b/code/game/objects/items/crayons.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/crayons.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/crayons.dm + +

+ + +
/obj/item/toy/crayon/redGang end
+ + + diff --git a/code/game/objects/items/defib.html b/code/game/objects/items/defib.html new file mode 100644 index 00000000000..fb4a8959fbc --- /dev/null +++ b/code/game/objects/items/defib.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/defib.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/defib.dm + +

+ + +
/obj/item/disk/medicalDefibrillator Disks
+ + + diff --git a/code/game/objects/items/devices/multitool.html b/code/game/objects/items/devices/multitool.html new file mode 100644 index 00000000000..1445d25b52a --- /dev/null +++ b/code/game/objects/items/devices/multitool.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/multitool.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/devices/multitool.dm + +

+ + +
/obj/item/multitoolMultitool -- A multitool is used for hacking electronic devices.
+ + + 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 00000000000..60486f59687 --- /dev/null +++ b/code/game/objects/items/devices/radio/radio.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/radio/radio.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/devices/radio/radio.dm + +

+ + +
/obj/item/radio/borgBorg Radios
+ + + diff --git a/code/game/objects/items/devices/scanners.html b/code/game/objects/items/devices/scanners.html new file mode 100644 index 00000000000..f64a9de582e --- /dev/null +++ b/code/game/objects/items/devices/scanners.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/scanners.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/devices/scanners.dm + +

+ + + +
/proc/woundscanDisplays wounds with extended information on their status vs medscanners
+ + + diff --git a/code/game/objects/items/dice.html b/code/game/objects/items/dice.html new file mode 100644 index 00000000000..8e6bfb70089 --- /dev/null +++ b/code/game/objects/items/dice.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/dice.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/dice.dm + +

+ + + +
/obj/item/storage/diceDice Bags
/obj/item/diceDice
+ + + diff --git a/code/game/objects/items/granters.html b/code/game/objects/items/granters.html new file mode 100644 index 00000000000..9746f021f96 --- /dev/null +++ b/code/game/objects/items/granters.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/granters.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/granters.dm + +

+ + + + + + +
/obj/item/book/granterbooks that teach things (intrinsic actions like bar flinging, spells like fireball or smoke, or martial arts)
/obj/item/book/granter/traitTRAITS
/obj/item/book/granter/actionACTION BUTTONS
/obj/item/book/granter/spellSPELLS
/obj/item/book/granter/martialMARTIAL ARTS
+ + + diff --git a/code/game/objects/items/grenades/chem_grenade.html b/code/game/objects/items/grenades/chem_grenade.html new file mode 100644 index 00000000000..e76640e2519 --- /dev/null +++ b/code/game/objects/items/grenades/chem_grenade.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/grenades/chem_grenade.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/grenades/chem_grenade.dm + +

+ + +
/obj/item/grenade/chem_grenade/metalfoamPREMADE GRENADES
+ + + diff --git a/code/game/objects/items/grenades/plastic.html b/code/game/objects/items/grenades/plastic.html new file mode 100644 index 00000000000..11673303d85 --- /dev/null +++ b/code/game/objects/items/grenades/plastic.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/grenades/plastic.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/grenades/plastic.dm + +

+ + +
/obj/item/grenade/plastic/c4The Explosives
+ + + diff --git a/code/game/objects/items/manuals.html b/code/game/objects/items/manuals.html new file mode 100644 index 00000000000..f97c4f50630 --- /dev/null +++ b/code/game/objects/items/manuals.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/manuals.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/manuals.dm + +

+ + +
/obj/item/book/manualMANUALS (BOOKS)
+ + + diff --git a/code/game/objects/items/melee/energy.html b/code/game/objects/items/melee/energy.html new file mode 100644 index 00000000000..f432ce6b3ac --- /dev/null +++ b/code/game/objects/items/melee/energy.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/melee/energy.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/melee/energy.dm + +

+ + +
/obj/item/melee/transforming/energy/sword/cx/traitorTatortot NEB /////////////// (same stats as regular esword)
+ + + diff --git a/code/game/objects/items/plushes.html b/code/game/objects/items/plushes.html new file mode 100644 index 00000000000..dcfd96c3c5e --- /dev/null +++ b/code/game/objects/items/plushes.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/plushes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/plushes.dm + +

+ + +
/obj/item/toy/plush/carpplushieIf there are no snowflake plushies we'll default to base plush, so we grab from the valid list
+ + + diff --git a/code/game/objects/items/robot/ai_upgrades.html b/code/game/objects/items/robot/ai_upgrades.html new file mode 100644 index 00000000000..fa7ecdfa791 --- /dev/null +++ b/code/game/objects/items/robot/ai_upgrades.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/robot/ai_upgrades.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/robot/ai_upgrades.dm + +

+ + +
/obj/item/malf_upgradeAI Upgrades
+ + + diff --git a/code/game/objects/items/robot/robot_items.html b/code/game/objects/items/robot/robot_items.html new file mode 100644 index 00000000000..5f9b336a3cd --- /dev/null +++ b/code/game/objects/items/robot/robot_items.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/robot/robot_items.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/robot/robot_items.dm + +

+ + + + + +
/obj/item/borgCyborg Spec Items
/obj/item/borg/sightHUD/SIGHT things
/obj/item/gripperGrippers oh god oh fuck
/obj/item/dogborg_tongueDogborg stuff +Mere cosmetic dogborg items, remnants of what were once the most annoying cyborg modules.
+ + + diff --git a/code/game/objects/items/stacks/sheets/leather.html b/code/game/objects/items/stacks/sheets/leather.html new file mode 100644 index 00000000000..521f84968c6 --- /dev/null +++ b/code/game/objects/items/stacks/sheets/leather.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/stacks/sheets/leather.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/stacks/sheets/leather.dm + +

+ + +
/obj/item/stack/sheet/animalhide/goliath_hideGoliath Hide
+ + + diff --git a/code/game/objects/items/storage/boxes.html b/code/game/objects/items/storage/boxes.html new file mode 100644 index 00000000000..89cf4c3a8d6 --- /dev/null +++ b/code/game/objects/items/storage/boxes.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/boxes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/storage/boxes.dm + +

+ + +
/obj/item/storage/box/clownclown box & honkbot assembly
+ + + diff --git a/code/game/objects/items/summon.html b/code/game/objects/items/summon.html new file mode 100644 index 00000000000..377bc3b5d33 --- /dev/null +++ b/code/game/objects/items/summon.html @@ -0,0 +1,50 @@ + + + + + + + code/game/objects/items/summon.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/summon.dm + +

+ + + + + + + + +
STATE_IDLEdoing nothing/orbiting idly
STATE_RESETperforming reset animation
STATE_ATTACKperforming attack animation
STATE_RECOVERperforming animation between attacks
/obj/item/summonSimple summon weapon code in this file
/datum/summon_weapon_hostServes as the master datum for summon weapons
/datum/summon_weaponA singular summoned object

Define Details

+

STATE_ATTACK + + +

+

performing attack animation

STATE_IDLE + + +

+

doing nothing/orbiting idly

STATE_RECOVER + + +

+

performing animation between attacks

STATE_RESET + + +

+

performing reset animation

+ + + diff --git a/code/game/objects/items/weaponry.html b/code/game/objects/items/weaponry.html new file mode 100644 index 00000000000..1e3b7390157 --- /dev/null +++ b/code/game/objects/items/weaponry.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/weaponry.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/items/weaponry.dm + +

+ + + +
/obj/item/bokken_bladeBOKKEN CRAFTNG PIECES
/obj/item/slapper/secret_handshakeGangster secret handshakes.
+ + + diff --git a/code/game/objects/structures/beds_chairs/chair.html b/code/game/objects/structures/beds_chairs/chair.html new file mode 100644 index 00000000000..34213ea26f3 --- /dev/null +++ b/code/game/objects/structures/beds_chairs/chair.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/beds_chairs/chair.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/structures/beds_chairs/chair.dm + +

+ + +
/obj/structure/chair/greyscaleMaterial chair
+ + + diff --git a/code/game/objects/structures/girders.html b/code/game/objects/structures/girders.html new file mode 100644 index 00000000000..bf2fb48d47c --- /dev/null +++ b/code/game/objects/structures/girders.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/girders.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/structures/girders.dm + +

+ + +
/obj/structure/girder/cultcult girder
+ + + diff --git a/code/game/objects/structures/kitchen_spike.html b/code/game/objects/structures/kitchen_spike.html new file mode 100644 index 00000000000..35ef0ef784e --- /dev/null +++ b/code/game/objects/structures/kitchen_spike.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/structures/kitchen_spike.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/kitchen_spike.dm + +

+ + +
VIABLE_MOB_CHECKKitchen Spike

Define Details

+

VIABLE_MOB_CHECK + + + +

+

Kitchen Spike

+ + + diff --git a/code/game/objects/structures/loom.html b/code/game/objects/structures/loom.html new file mode 100644 index 00000000000..7371a68f2eb --- /dev/null +++ b/code/game/objects/structures/loom.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/loom.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/structures/loom.dm + +

+ + +
/obj/structure/loomThis is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.
+ + + diff --git a/code/game/objects/structures/manned_turret.html b/code/game/objects/structures/manned_turret.html new file mode 100644 index 00000000000..c4b8424c457 --- /dev/null +++ b/code/game/objects/structures/manned_turret.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/manned_turret.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/structures/manned_turret.dm + +

+ + +
/obj/machinery/manned_turretMANNED TURRET
+ + + diff --git a/code/game/objects/structures/safe.html b/code/game/objects/structures/safe.html new file mode 100644 index 00000000000..4ac73347dc8 --- /dev/null +++ b/code/game/objects/structures/safe.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/safe.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/safe.dm + +

+ + + +
SOUND_CHANCEChance for a sound clue
BROKEN_THRESHOLDExplosion number threshold for opening safe

Define Details

+

BROKEN_THRESHOLD + + +

+

Explosion number threshold for opening safe

SOUND_CHANCE + + +

+

Chance for a sound clue

+ + + diff --git a/code/game/objects/structures/statues.html b/code/game/objects/structures/statues.html new file mode 100644 index 00000000000..775da8ae74c --- /dev/null +++ b/code/game/objects/structures/statues.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/statues.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/structures/statues.dm + +

+ + + + + + + + + + + +
/obj/structure/statue/uranium//////////////STATUES////////////////////////// +uranium
/obj/structure/statue/plasmaplasma
/obj/structure/statue/goldgold
/obj/structure/statue/silversilver
/obj/structure/statue/diamonddiamond
/obj/structure/statue/bananiumbananium
/obj/structure/statue/sandstonesandstone
/obj/structure/statue/snowsnow
/obj/structure/statue/bronzebronze
/obj/item/chiselElder Atmosian
+ + + diff --git a/code/game/objects/structures/tables_racks.html b/code/game/objects/structures/tables_racks.html new file mode 100644 index 00000000000..38710288e32 --- /dev/null +++ b/code/game/objects/structures/tables_racks.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/tables_racks.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/objects/structures/tables_racks.dm + +

+ + +
/obj/structure/table/rollingTable on wheels
+ + + diff --git a/code/game/sound.html b/code/game/sound.html new file mode 100644 index 00000000000..1ee532c030b --- /dev/null +++ b/code/game/sound.html @@ -0,0 +1,56 @@ + + + + + + + code/game/sound.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/sound.dm + +

+ + + + +

playsound

+

playsound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.

+

source - Origin of sound +soundin - Either a file, or a string that can be used to get an SFX +vol - The volume of the sound, excluding falloff and pressure affection. +vary - bool that determines if the sound changes pitch every time it plays +extrarange - modifier for sound range. This gets added on top of SOUND_RANGE +falloff_exponent - Rate of falloff for the audio. Higher means quicker drop to low volume. Should generally be over 1 to indicate a quick dive to 0 rather than a slow dive. +frequency - playback speed of audio +channel - The channel the sound is played at +pressure_affected - Whether or not difference in pressure affects the sound (E.g. if you can hear in space) +ignore_walls - Whether or not the sound can pass through walls. +falloff_distance - Distance at which falloff begins. Sound is at peak volume (in regards to falloff) aslong as it is in this range.

+

playsound

+

playsound_local is a proc used to play a sound directly on a mob from a specific turf. +This is called by playsound to send sounds to players, in which case it also gets the max_distance of that sound.

+

turf_source - Origin of sound +soundin - Either a file, or a string that can be used to get an SFX +vol - The volume of the sound, excluding falloff +vary - bool that determines if the sound changes pitch every time it plays +frequency - playback speed of audio +falloff_exponent - Rate of falloff for the audio. Higher means quicker drop to low volume. Should generally be over 1 to indicate a quick dive to 0 rather than a slow dive. +channel - The channel the sound is played at +pressure_affected - Whether or not difference in pressure affects the sound (E.g. if you can hear in space) +max_distance - The peak distance of the sound, if this is a 3D sound +falloff_distance - Distance at which falloff begins, if this is a 3D sound +distance_multiplier - Can be used to multiply the distance at which the sound is heard

/proc/sound_to_playing_playersCitadel edit - Citadel reverb +End
+ + + diff --git a/code/game/turfs/open/floor/catwalk_plating.html b/code/game/turfs/open/floor/catwalk_plating.html new file mode 100644 index 00000000000..2f406b37014 --- /dev/null +++ b/code/game/turfs/open/floor/catwalk_plating.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/catwalk_plating.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/turfs/open/floor/catwalk_plating.dm + +

+ + +
/turf/open/floor/catwalk_floor
+ + + diff --git a/code/game/turfs/simulated/floor/plating/asteroid.html b/code/game/turfs/simulated/floor/plating/asteroid.html new file mode 100644 index 00000000000..3260a551d62 --- /dev/null +++ b/code/game/turfs/simulated/floor/plating/asteroid.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/simulated/floor/plating/asteroid.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/turfs/simulated/floor/plating/asteroid.dm + +

+ + + +
/turf/open/floor/plating/asteroidAsteroid
/turf/open/floor/plating/asteroid/basalt/lava_land_surfaceSurface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground.
+ + + diff --git a/code/game/turfs/simulated/lava.html b/code/game/turfs/simulated/lava.html new file mode 100644 index 00000000000..228c03e7fab --- /dev/null +++ b/code/game/turfs/simulated/lava.html @@ -0,0 +1,43 @@ + + + + + + + code/game/turfs/simulated/lava.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/game/turfs/simulated/lava.dm + +

+ + + + + +
/turf/open/lavaLAVA
LAVA_BE_IGNORINGGeneric return value of the can_burn_stuff() proc. Does nothing.
LAVA_BE_PROCESSINGAnother. Won't burn the target but will make the turf start processing.
LAVA_BE_BURNINGBurns the target and makes the turf process (depending on the return value of do_burn()).

Define Details

+

LAVA_BE_BURNING + + +

+

Burns the target and makes the turf process (depending on the return value of do_burn()).

LAVA_BE_IGNORING + + +

+

Generic return value of the can_burn_stuff() proc. Does nothing.

LAVA_BE_PROCESSING + + +

+

Another. Won't burn the target but will make the turf start processing.

+ + + diff --git a/code/game/turfs/simulated/minerals.html b/code/game/turfs/simulated/minerals.html new file mode 100644 index 00000000000..ee45aebae25 --- /dev/null +++ b/code/game/turfs/simulated/minerals.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/simulated/minerals.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/turfs/simulated/minerals.dm + +

+ + +
/turf/closed/mineralMineral deposits
+ + + diff --git a/code/game/turfs/simulated/wall/mineral_walls.html b/code/game/turfs/simulated/wall/mineral_walls.html new file mode 100644 index 00000000000..c9b4ea61f5e --- /dev/null +++ b/code/game/turfs/simulated/wall/mineral_walls.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/simulated/wall/mineral_walls.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/turfs/simulated/wall/mineral_walls.dm + +

+ + + +
/turf/closed/wall/mineral/titaniumTitanium walls
/turf/closed/wall/mineral/plastitaniumPlastitanium walls
+ + + diff --git a/code/game/turfs/simulated/wall/reinf_walls.html b/code/game/turfs/simulated/wall/reinf_walls.html new file mode 100644 index 00000000000..08c46d06edf --- /dev/null +++ b/code/game/turfs/simulated/wall/reinf_walls.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/simulated/wall/reinf_walls.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/turfs/simulated/wall/reinf_walls.dm + +

+ + +
/turf/closed/wall/r_wall/syndicate/piratePirate Ship walls
+ + + diff --git a/code/game/turfs/turf.html b/code/game/turfs/turf.html new file mode 100644 index 00000000000..a1b2f71d4f4 --- /dev/null +++ b/code/game/turfs/turf.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/turf.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/game/turfs/turf.dm + +

+ + +
/turfAny floor or wall. What makes up the station and the rest of the map.
+ + + diff --git a/code/modules/actionspeed/_actionspeed_modifier.html b/code/modules/actionspeed/_actionspeed_modifier.html new file mode 100644 index 00000000000..ba9aa6b8f13 --- /dev/null +++ b/code/modules/actionspeed/_actionspeed_modifier.html @@ -0,0 +1,50 @@ + + + + + + + code/modules/actionspeed/_actionspeed_modifier.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/actionspeed/_actionspeed_modifier.dm + +

+ + + + + + + +

Actionspeed modification datums.

+
How action speed for mobs works
+
+

Action speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of actionspeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update action speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Actionspeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update actionspeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

/proc/get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: multiplicative slowdown), modify the datum +5. Update if necessary

+
/proc/actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
+ + + diff --git a/code/modules/admin/NewBan.html b/code/modules/admin/NewBan.html new file mode 100644 index 00000000000..4ae1a7e24ab --- /dev/null +++ b/code/modules/admin/NewBan.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/NewBan.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/NewBan.dm + +

+ + + +
/proc/CreateBansDEBUG
+ + + diff --git a/code/modules/admin/callproc/callproc.html b/code/modules/admin/callproc/callproc.html new file mode 100644 index 00000000000..5b54e01be24 --- /dev/null +++ b/code/modules/admin/callproc/callproc.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/callproc/callproc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/callproc/callproc.dm + +

+ + + +
/proc/WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
+ + + diff --git a/code/modules/admin/force_event.html b/code/modules/admin/force_event.html new file mode 100644 index 00000000000..acec301c83b --- /dev/null +++ b/code/modules/admin/force_event.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/force_event.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/force_event.dm + +

+ + +
/datum/force_eventForce Event Panel
+ + + 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 00000000000..8dc15893c45 --- /dev/null +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm + +

+ + + +
/proc/_turf_in_offsetLocating turfs
+ + + diff --git a/code/modules/admin/verbs/adminhelp.html b/code/modules/admin/verbs/adminhelp.html new file mode 100644 index 00000000000..eeb62108e30 --- /dev/null +++ b/code/modules/admin/verbs/adminhelp.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/verbs/adminhelp.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/verbs/adminhelp.dm + +

+ + + + + +
/proc/send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
/proc/check_admin_pingsChecks a given message to see if any of the words contain an active admin's ckey with an @ before it
+ + + diff --git a/code/modules/admin/verbs/pray.html b/code/modules/admin/verbs/pray.html new file mode 100644 index 00000000000..b46adeee8a9 --- /dev/null +++ b/code/modules/admin/verbs/pray.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/admin/verbs/pray.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/verbs/pray.dm + +

+ + + + + + + +
/proc/message_centcomUsed by communications consoles to message CentCom
/proc/message_syndicateUsed by communications consoles to message the Syndicate
/proc/nuke_requestUsed by communications consoles to request the nuclear launch codes
+ + + diff --git a/code/modules/admin/verbs/randomverbs.html b/code/modules/admin/verbs/randomverbs.html new file mode 100644 index 00000000000..2fab034ec36 --- /dev/null +++ b/code/modules/admin/verbs/randomverbs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/verbs/randomverbs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/verbs/randomverbs.dm + +

+ + + +
/proc/firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
+ + + 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 00000000000..7f56398282d --- /dev/null +++ b/code/modules/admin/view_variables/debug_variables.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/view_variables/debug_variables.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/admin/view_variables/debug_variables.dm + +

+ + + +
/proc/debug_variableGet displayed variable in VV variable list
+ + + diff --git a/code/modules/antagonists/_common/antag_spawner.html b/code/modules/antagonists/_common/antag_spawner.html new file mode 100644 index 00000000000..4a6ba900454 --- /dev/null +++ b/code/modules/antagonists/_common/antag_spawner.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/_common/antag_spawner.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/_common/antag_spawner.dm + +

+ + + + + + +
/obj/item/antag_spawner/contractWIZARD
/obj/item/antag_spawner/nuke_opsBORGS AND OPERATIVES
/obj/item/antag_spawner/nuke_ops/clownCLOWN OP
/obj/item/antag_spawner/nuke_ops/borg_teleSYNDICATE BORG
/obj/item/antag_spawner/slaughter_demonSLAUGHTER DEMON
+ + + diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_powers.html b/code/modules/antagonists/bloodsucker/bloodsucker_powers.html new file mode 100644 index 00000000000..9cfb3e57a44 --- /dev/null +++ b/code/modules/antagonists/bloodsucker/bloodsucker_powers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/bloodsucker/bloodsucker_powers.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/bloodsucker/bloodsucker_powers.dm + +

+ + + +
/datum/action/bloodsucker/passivePASSIVE POWERS
/datum/action/bloodsucker/targetedTARGETTED POWERS
+ + + diff --git a/code/modules/antagonists/changeling/powers/mutations.html b/code/modules/antagonists/changeling/powers/mutations.html new file mode 100644 index 00000000000..5b200dd76b7 --- /dev/null +++ b/code/modules/antagonists/changeling/powers/mutations.html @@ -0,0 +1,44 @@ + + + + + + + code/modules/antagonists/changeling/powers/mutations.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/changeling/powers/mutations.dm + +

+ + + + + + + +
/obj/effect/proc_holder/changeling/weapon/arm_blade*
+|ARM BLADE| +*
/obj/effect/proc_holder/changeling/weapon/tentacle
+|COMBAT TENTACLES
| +*
*
/obj/effect/proc_holder/changeling/weapon/shield
+|SHIELD
| +*
/obj/effect/proc_holder/changeling/suit/organic_space_suit
+|SPACE SUIT + HELMET
| +*
*
/obj/effect/proc_holder/changeling/suit/armor*
+|ARMOR| +*
/obj/effect/proc_holder/changeling/gloves*
+|CLAWS| +*
+ + + diff --git a/code/modules/antagonists/cult/cult_comms.html b/code/modules/antagonists/cult/cult_comms.html new file mode 100644 index 00000000000..e37c667de67 --- /dev/null +++ b/code/modules/antagonists/cult/cult_comms.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/cult/cult_comms.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/cult/cult_comms.dm + +

+ + +
/datum/action/innate/cult/master/pulseELDRITCH PULSE
+ + + diff --git a/code/modules/antagonists/devil/imp/imp.html b/code/modules/antagonists/devil/imp/imp.html new file mode 100644 index 00000000000..7cff924e92f --- /dev/null +++ b/code/modules/antagonists/devil/imp/imp.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/devil/imp/imp.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/devil/imp/imp.dm + +

+ + +
/mob/living/simple_animal/impThe Monster
+ + + diff --git a/code/modules/antagonists/disease/disease_abilities.html b/code/modules/antagonists/disease/disease_abilities.html new file mode 100644 index 00000000000..5726f6309a3 --- /dev/null +++ b/code/modules/antagonists/disease/disease_abilities.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/disease/disease_abilities.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/disease/disease_abilities.dm + +

+ + + + + + +
/datum/disease_ability/symptom/mildBASE SYMPTOM TYPES
/datum/disease_ability/symptom/mild/coughMILD
/datum/disease_ability/symptom/medium/sheddingMEDIUM
/datum/disease_ability/symptom/powerful/firePOWERFUL
/datum/disease_ability/symptom/powerful/heal/starlightHEALING SUBTYPE
+ + + diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.html b/code/modules/antagonists/eldritch_cult/eldritch_effects.html new file mode 100644 index 00000000000..be3e043c23d --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/eldritch_cult/eldritch_effects.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/eldritch_cult/eldritch_effects.dm + +

+ + +
/datum/reality_smash_tracker#Reality smash tracker
+ + + diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.html b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.html new file mode 100644 index 00000000000..78102ed5ce2 --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm + +

+ + + + +
/datum/eldritch_knowledge#Eldritch Knowledge
/datum/eldritch_knowledge/spellSubtypes
/datum/eldritch_knowledge/spell/basicBase lore
+ + + diff --git a/code/modules/antagonists/eldritch_cult/eldritch_magic.html b/code/modules/antagonists/eldritch_cult/eldritch_magic.html new file mode 100644 index 00000000000..0704847a254 --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/eldritch_magic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/eldritch_cult/eldritch_magic.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/eldritch_cult/eldritch_magic.dm + +

+ + + +
/obj/effect/proc_holder/spell/aoe_turf/rust_conversion/smallWhat we want is the 3 tiles around the user and the tile under him to be rusted, so min(dist,1)-1 causes us to get 0 for these tiles, rest of the tiles are based on chance
/obj/effect/proc_holder/spell/pointed/void_blinkThey see the very reality uncoil before their eyes.
+ + + diff --git a/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.html b/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.html new file mode 100644 index 00000000000..6c65463a707 --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm + +

+ + +
/datum/antagonist/heretic_monsterTracking reasons
+ + + diff --git a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.html b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.html new file mode 100644 index 00000000000..38bc4580831 --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm + +

+ + +
/datum/rust_spread#Rust spread datum
+ + + diff --git a/code/modules/antagonists/gang/handler.html b/code/modules/antagonists/gang/handler.html new file mode 100644 index 00000000000..74920e012b4 --- /dev/null +++ b/code/modules/antagonists/gang/handler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/gang/handler.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/gang/handler.dm + +

+ + +
/datum/gang_handlerA special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.
+ + + diff --git a/code/modules/antagonists/gang/themes.html b/code/modules/antagonists/gang/themes.html new file mode 100644 index 00000000000..e929215094a --- /dev/null +++ b/code/modules/antagonists/gang/themes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/gang/themes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/gang/themes.dm + +

+ + +
/datum/gang_themeGang themes for the Families gamemode. Used to determine the RP theme of the round, what gangs are present, and what their objectives are.
+ + + diff --git a/code/modules/antagonists/revolution/revolution.html b/code/modules/antagonists/revolution/revolution.html new file mode 100644 index 00000000000..83c71e35ab5 --- /dev/null +++ b/code/modules/antagonists/revolution/revolution.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/revolution/revolution.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/revolution/revolution.dm + +

+ + +
/datum/antagonist/revolution_enemy"Enemy of the Revolutionary", given to heads and security when the revolution wins
+ + + diff --git a/code/modules/antagonists/slaughter/slaughter.html b/code/modules/antagonists/slaughter/slaughter.html new file mode 100644 index 00000000000..9124a3a96b6 --- /dev/null +++ b/code/modules/antagonists/slaughter/slaughter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/slaughter/slaughter.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/slaughter/slaughter.dm + +

+ + +
/mob/living/simple_animal/slaughterThe Monster
+ + + diff --git a/code/modules/antagonists/swarmer/swarmer.html b/code/modules/antagonists/swarmer/swarmer.html new file mode 100644 index 00000000000..21c4949f851 --- /dev/null +++ b/code/modules/antagonists/swarmer/swarmer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/swarmer/swarmer.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/swarmer/swarmer.dm + +

+ + + +
/obj/item/deactivated_swarmerDeactivated swarmer shell
/mob/living/simple_animal/hostile/swarmerThe Mob itself
+ + + diff --git a/code/modules/antagonists/traitor/equipment/contractor.html b/code/modules/antagonists/traitor/equipment/contractor.html new file mode 100644 index 00000000000..be60c29fa6b --- /dev/null +++ b/code/modules/antagonists/traitor/equipment/contractor.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/traitor/equipment/contractor.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/equipment/contractor.dm + +

+ + + + + +
/datum/antagonist/traitor/contractor_supportSupport unit gets it's own very basic antag datum for admin logging.
/datum/team/contractor_teamTeam for storing both the contractor and their support unit - only really for the HUD and admin logging.
/datum/contractor_item/contractor_pinpointerWe're not regenerating already completed/aborted/extracting contracts, but we don't want to repeat their targets. +Reroll contracts without duplicates +Set our target list with the new set we've generated.
/datum/contractor_item/blackoutWe give a reference to the mind that'll be the support unit
+ + + diff --git a/code/modules/antagonists/wizard/equipment/artefact.html b/code/modules/antagonists/wizard/equipment/artefact.html new file mode 100644 index 00000000000..749f6920cd9 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/artefact.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/wizard/equipment/artefact.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/artefact.dm + +

+ + + + + +
/obj/item/veilrenderVeil Render
/obj/singularity/wizardTEAR IN REALITY
/obj/item/scryingScrying
/obj/item/necromantic_stoneNecromantic Stone
+ + + diff --git a/code/modules/antagonists/wizard/equipment/soulstone.html b/code/modules/antagonists/wizard/equipment/soulstone.html new file mode 100644 index 00000000000..7f2c85442ed --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/soulstone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/equipment/soulstone.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/soulstone.dm + +

+ + +
/obj/structure/constructshellTransferring to constructs
+ + + diff --git a/code/modules/assembly/infrared.html b/code/modules/assembly/infrared.html new file mode 100644 index 00000000000..4ffa6260410 --- /dev/null +++ b/code/modules/assembly/infrared.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/assembly/infrared.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/assembly/infrared.dm + +

+ + +
/obj/effect/beam/i_beamIBeam
+ + + diff --git a/code/modules/asset_cache.html b/code/modules/asset_cache.html new file mode 100644 index 00000000000..8933e4a7551 --- /dev/null +++ b/code/modules/asset_cache.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/asset_cache/readme.md - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..cda46a5f0a7 --- /dev/null +++ b/code/modules/asset_cache/asset_cache_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/asset_cache_item.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..f3749d6d3fc --- /dev/null +++ b/code/modules/asset_cache/asset_list.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/asset_cache/asset_list.dm - Nostra-13 + + +
+ Nostra-13 - + 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/asset_list_items.html b/code/modules/asset_cache/asset_list_items.html new file mode 100644 index 00000000000..6f067391ebb --- /dev/null +++ b/code/modules/asset_cache/asset_list_items.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/asset_cache/asset_list_items.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/asset_cache/asset_list_items.dm + +

+ + + +
/proc/sanitize_css_class_nameSandstorm content +Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts
+ + + 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 00000000000..29f986bbac6 --- /dev/null +++ b/code/modules/asset_cache/transports/asset_transport.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/asset_cache/transports/asset_transport.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..e702f633957 --- /dev/null +++ b/code/modules/asset_cache/transports/webroot_transport.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/transports/webroot_transport.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/asset_cache/transports/webroot_transport.dm + +

+ + +
/datum/asset_transport/webrootCDN Webroot asset transport.
+ + + diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.html b/code/modules/atmospherics/gasmixtures/gas_mixture.html new file mode 100644 index 00000000000..93e60af14fa --- /dev/null +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/atmospherics/gasmixtures/gas_mixture.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/atmospherics/gasmixtures/gas_mixture.dm + +

+ + + +
/proc/release_gas_toReleases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure. +a global proc due to rustmos
+ + + diff --git a/code/modules/atmospherics/multiz.html b/code/modules/atmospherics/multiz.html new file mode 100644 index 00000000000..380e03bc0cc --- /dev/null +++ b/code/modules/atmospherics/multiz.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/multiz.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/atmospherics/multiz.dm + +

+ + +
/obj/machinery/atmospherics/pipe/simple/multizThis is an atmospherics pipe which can relay air up/down a deck.
+ + + diff --git a/code/modules/awaymissions/capture_the_flag.html b/code/modules/awaymissions/capture_the_flag.html new file mode 100644 index 00000000000..8c1d836b20f --- /dev/null +++ b/code/modules/awaymissions/capture_the_flag.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/awaymissions/capture_the_flag.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/awaymissions/capture_the_flag.dm + +

+ + + + +
/obj/item/gun/ballistic/automatic/laser/ctfhey uhh don't hit anyone behind them
/proc/is_ctf_targethey uhhh don't hit anyone behind them
+ + + diff --git a/code/modules/awaymissions/corpse.html b/code/modules/awaymissions/corpse.html new file mode 100644 index 00000000000..be3a2f22c03 --- /dev/null +++ b/code/modules/awaymissions/corpse.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/awaymissions/corpse.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/awaymissions/corpse.dm + +

+ + + + +
/obj/effect/mob_spawn/human/corpse/assistantCivilians
/obj/effect/mob_spawn/human/bridgeofficerOfficers+Nanotrasen Security
/obj/effect/mob_spawn/human/skeletonSpooky Undead
+ + + diff --git a/code/modules/awaymissions/gateway.html b/code/modules/awaymissions/gateway.html new file mode 100644 index 00000000000..090112077f8 --- /dev/null +++ b/code/modules/awaymissions/gateway.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/awaymissions/gateway.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/awaymissions/gateway.dm + +

+ + +
/datum/gateway_destinationCorresponds to single entry in gateway control.
+ + + diff --git a/code/modules/awaymissions/mission_code/snowdin.html b/code/modules/awaymissions/mission_code/snowdin.html new file mode 100644 index 00000000000..d8b2f606b9c --- /dev/null +++ b/code/modules/awaymissions/mission_code/snowdin.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/awaymissions/mission_code/snowdin.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/awaymissions/mission_code/snowdin.dm + +

+ + +
/obj/item/paper/crumpled/ruins/snowdin/foreshadowingpapers
+ + + diff --git a/code/modules/awaymissions/mission_code/wildwest.html b/code/modules/awaymissions/mission_code/wildwest.html new file mode 100644 index 00000000000..790e3c4a52c --- /dev/null +++ b/code/modules/awaymissions/mission_code/wildwest.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/awaymissions/mission_code/wildwest.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/awaymissions/mission_code/wildwest.dm + +

+ + + +
/obj/item/paper/fluff/awaymissions/wildwest/grinderwildwest papers
/obj/effect/meatgrinderMeatgrinder
+ + + diff --git a/code/modules/balloon_alert/balloon_alert.html b/code/modules/balloon_alert/balloon_alert.html new file mode 100644 index 00000000000..5c55dbc8872 --- /dev/null +++ b/code/modules/balloon_alert/balloon_alert.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/balloon_alert/balloon_alert.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/balloon_alert/balloon_alert.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/modules/buildmode.html b/code/modules/buildmode.html new file mode 100644 index 00000000000..ed42937fcb1 --- /dev/null +++ b/code/modules/buildmode.html @@ -0,0 +1,230 @@ + + + + + + + code/modules/buildmode/README.md - Nostra-13 + + +
+ Nostra-13 - + 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.

      +
    • +
    +
  • +
  • +

    Map Generator

    +

    Description:

    +

    Fills rectangular regions with algorithmically generated content. Right click during region selection to cancel.

    +

    See the procedural_mapping module for the generators themselves.

    +

    Controls:

    +
      +
    • +

      Right-click on the mode selector:

      +

      Select a map generator from all the generators present in the codebase.

      +
    • +
    • +

      Left click two corners of an area:

      +

      Use the generator to populate the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    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/cargo/bounty.html b/code/modules/cargo/bounty.html new file mode 100644 index 00000000000..f062735fffa --- /dev/null +++ b/code/modules/cargo/bounty.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/bounty.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/bounty.dm + +

+ + + +
/proc/completed_bounty_countSubtype Gens
+ + + diff --git a/code/modules/cargo/packs/armory.html b/code/modules/cargo/packs/armory.html new file mode 100644 index 00000000000..bd3b51017f6 --- /dev/null +++ b/code/modules/cargo/packs/armory.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/armory.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/armory.dm + +

+ + +
/datum/supply_pack/security/armoryArmory
+ + + diff --git a/code/modules/cargo/packs/costumes_toys.html b/code/modules/cargo/packs/costumes_toys.html new file mode 100644 index 00000000000..9a19e038eb5 --- /dev/null +++ b/code/modules/cargo/packs/costumes_toys.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/packs/costumes_toys.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/costumes_toys.dm + +

+ + + +
/datum/supply_pack/costumes_toysToys
/datum/supply_pack/costumes_toys/formalwearCostumes
+ + + diff --git a/code/modules/cargo/packs/emergency.html b/code/modules/cargo/packs/emergency.html new file mode 100644 index 00000000000..89ec3812ee8 --- /dev/null +++ b/code/modules/cargo/packs/emergency.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/emergency.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/emergency.dm + +

+ + +
/datum/supply_pack/emergencyEmergency
+ + + diff --git a/code/modules/cargo/packs/engine.html b/code/modules/cargo/packs/engine.html new file mode 100644 index 00000000000..cb55761f48e --- /dev/null +++ b/code/modules/cargo/packs/engine.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/engine.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/engine.dm + +

+ + +
/datum/supply_pack/engineEngine Construction
+ + + diff --git a/code/modules/cargo/packs/engineering.html b/code/modules/cargo/packs/engineering.html new file mode 100644 index 00000000000..b4e882f2a00 --- /dev/null +++ b/code/modules/cargo/packs/engineering.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/engineering.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/engineering.dm + +

+ + +
/datum/supply_pack/engineeringEngineering
+ + + diff --git a/code/modules/cargo/packs/livestock.html b/code/modules/cargo/packs/livestock.html new file mode 100644 index 00000000000..0b547a19167 --- /dev/null +++ b/code/modules/cargo/packs/livestock.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/livestock.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/livestock.dm + +

+ + +
/datum/supply_pack/critterLivestock
+ + + diff --git a/code/modules/cargo/packs/materials.html b/code/modules/cargo/packs/materials.html new file mode 100644 index 00000000000..e31c842ba79 --- /dev/null +++ b/code/modules/cargo/packs/materials.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/cargo/packs/materials.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/materials.dm + +

+ + + + + +
/datum/supply_pack/materialsCanisters & Materials
/datum/supply_pack/materials/cardboard50Materials
/datum/supply_pack/materials/bzCanisters
/datum/supply_pack/materials/fueltankTanks
+ + + diff --git a/code/modules/cargo/packs/medical.html b/code/modules/cargo/packs/medical.html new file mode 100644 index 00000000000..f4e775c9c7c --- /dev/null +++ b/code/modules/cargo/packs/medical.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/cargo/packs/medical.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/medical.dm + +

+ + + + + +
/datum/supply_pack/medicalMedical
/datum/supply_pack/medical/bodybagsEquipment
/datum/supply_pack/medical/spraysMedical Kits
/datum/supply_pack/medical/virusVirology
+ + + diff --git a/code/modules/cargo/packs/misc.html b/code/modules/cargo/packs/misc.html new file mode 100644 index 00000000000..35b547e86bf --- /dev/null +++ b/code/modules/cargo/packs/misc.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/cargo/packs/misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/misc.dm + +

+ + + + + + + + +
/datum/supply_pack/miscMiscellaneous
/datum/supply_pack/misc/anvilPaperwork and Writing Supplies
/datum/supply_pack/misc/coloredsheetsEntertainment
/datum/supply_pack/misc/candlesMisc Supplies
/datum/supply_pack/misc/carpetMisc + Decor
/datum/supply_pack/misc/lewdLewd Supplies
/datum/supply_pack/misc/syndicateSpecial supply crate that generates random syndicate gear up to a determined TC value
+ + + diff --git a/code/modules/cargo/packs/organic.html b/code/modules/cargo/packs/organic.html new file mode 100644 index 00000000000..b5412c8fa73 --- /dev/null +++ b/code/modules/cargo/packs/organic.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/cargo/packs/organic.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/organic.dm + +

+ + + + + + +
/datum/supply_pack/organicOrganic
/datum/supply_pack/organic/combomeal2Meals
/datum/supply_pack/organic/foodRaw Ingredients
/datum/supply_pack/organic/hydroponics/beekeeping_suitsHydroponics
/datum/supply_pack/organic/partyMisc
+ + + diff --git a/code/modules/cargo/packs/science.html b/code/modules/cargo/packs/science.html new file mode 100644 index 00000000000..5f8a7b7e6c8 --- /dev/null +++ b/code/modules/cargo/packs/science.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/packs/science.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/science.dm + +

+ + + +
/datum/supply_pack/scienceScience
/datum/supply_pack/science/raw_flux_anomalyRAW ANOMALY CORES
+ + + diff --git a/code/modules/cargo/packs/security.html b/code/modules/cargo/packs/security.html new file mode 100644 index 00000000000..a976798dce8 --- /dev/null +++ b/code/modules/cargo/packs/security.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/security.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/security.dm + +

+ + +
/datum/supply_pack/securitySecurity
+ + + diff --git a/code/modules/cargo/packs/service.html b/code/modules/cargo/packs/service.html new file mode 100644 index 00000000000..1133a68457a --- /dev/null +++ b/code/modules/cargo/packs/service.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/cargo/packs/service.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/service.dm + +

+ + + + + +
/datum/supply_pack/serviceService
/datum/supply_pack/service/wrapping_paperCargo
/datum/supply_pack/service/buildabarChef, Botanist, Bartender
/datum/supply_pack/service/advlightingJanitor
+ + + diff --git a/code/modules/cargo/packs/vending.html b/code/modules/cargo/packs/vending.html new file mode 100644 index 00000000000..8e940c9070a --- /dev/null +++ b/code/modules/cargo/packs/vending.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/cargo/packs/vending.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/cargo/packs/vending.dm + +

+ + + + +
/datum/supply_pack/vendingVending
/datum/supply_pack/vending/bartendingService, Medical, Sec
/datum/supply_pack/vending/wardrobes/autodrobeWardrobe Vendors
+ + + diff --git a/code/modules/clothing/masks/boxing.html b/code/modules/clothing/masks/boxing.html new file mode 100644 index 00000000000..835d1973d2f --- /dev/null +++ b/code/modules/clothing/masks/boxing.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/masks/boxing.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/clothing/masks/boxing.dm + +

+ + +
/obj/item/clothing/mask/luchadorThis makes it so that your name shows up as unknown when wearing the mask.
+ + + diff --git a/code/modules/clothing/masks/miscellaneous.html b/code/modules/clothing/masks/miscellaneous.html new file mode 100644 index 00000000000..69a8c341dd2 --- /dev/null +++ b/code/modules/clothing/masks/miscellaneous.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/masks/miscellaneous.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/clothing/masks/miscellaneous.dm + +

+ + +
/obj/item/clothing/mask/frogfrog mask - reeee!!
+ + + diff --git a/code/modules/clothing/spacesuits/hardsuit.html b/code/modules/clothing/spacesuits/hardsuit.html new file mode 100644 index 00000000000..3cc41ad4557 --- /dev/null +++ b/code/modules/clothing/spacesuits/hardsuit.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/clothing/spacesuits/hardsuit.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/clothing/spacesuits/hardsuit.dm + +

+ + + + + +
/obj/item/clothing/suit/space/hardsuit/shieldedSHIELDED
/obj/item/clothing/suit/space/hardsuit/shielded/ctfCapture the Flag
/obj/item/clothing/suit/space/hardsuit/shielded/syndiSyndicate Version
/obj/item/clothing/suit/space/hardsuit/shielded/swatSWAT version
+ + + diff --git a/code/modules/events/holiday/halloween.html b/code/modules/events/holiday/halloween.html new file mode 100644 index 00000000000..b37558b9105 --- /dev/null +++ b/code/modules/events/holiday/halloween.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/holiday/halloween.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/events/holiday/halloween.dm + +

+ + +
/datum/round_event_control/spookyYou will appear adjacent to the beacon
+ + + diff --git a/code/modules/events/stray_cargo.html b/code/modules/events/stray_cargo.html new file mode 100644 index 00000000000..2377198ad48 --- /dev/null +++ b/code/modules/events/stray_cargo.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/events/stray_cargo.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/events/stray_cargo.dm + +

+ + + + +
/datum/round_event_control/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event_control/stray_cargo/syndicatePlaces that shouldn't explode +Subtypes from the above that actually should explode. +A rare variant that drops a crate containing syndicate uplink items
+ + + diff --git a/code/modules/food_and_drinks/drinks/drinks.html b/code/modules/food_and_drinks/drinks/drinks.html new file mode 100644 index 00000000000..28f41d80037 --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/food_and_drinks/drinks/drinks.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/drinks/drinks.dm + +

+ + + + + + +
/obj/item/reagent_containers/food/drinksDrinks.
/obj/item/reagent_containers/food/drinks/trophyDrinks. END
/obj/item/reagent_containers/food/drinks/coffeeDrinks
/obj/item/reagent_containers/food/drinks/shakerdrinkingglass and shaker
/obj/item/reagent_containers/food/drinks/soda_canssoda_cans
+ + + diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.html b/code/modules/food_and_drinks/drinks/drinks/bottle.html new file mode 100644 index 00000000000..af9329cf412 --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/drinks/drinks/bottle.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/drinks/drinks/bottle.dm + +

+ + + + +
/obj/item/reagent_containers/food/drinks/bottleAlchohol bottles! -Agouri
/obj/item/reagent_containers/food/drinks/bottle/orangejuiceJUICES AND STUFF
/obj/item/reagent_containers/food/drinks/bottle/molotovMOLOTOV
+ + + diff --git a/code/modules/food_and_drinks/food.html b/code/modules/food_and_drinks/food.html new file mode 100644 index 00000000000..e2c2cacbc00 --- /dev/null +++ b/code/modules/food_and_drinks/food.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food.dm + +

+ + +
/obj/item/reagent_containers/foodFood.
+ + + diff --git a/code/modules/food_and_drinks/food/condiment.html b/code/modules/food_and_drinks/food/condiment.html new file mode 100644 index 00000000000..52aab0e5e9c --- /dev/null +++ b/code/modules/food_and_drinks/food/condiment.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/condiment.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/condiment.dm + +

+ + +
/obj/item/reagent_containers/food/condimentCondiments
+ + + diff --git a/code/modules/food_and_drinks/food/customizables.html b/code/modules/food_and_drinks/food/customizables.html new file mode 100644 index 00000000000..931599d6922 --- /dev/null +++ b/code/modules/food_and_drinks/food/customizables.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/customizables.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/customizables.dm + +

+ + +
/obj/item/reagent_containers/food/snacks/customizable/burgerCustomizable Food Types
+ + + diff --git a/code/modules/food_and_drinks/food/snacks.html b/code/modules/food_and_drinks/food/snacks.html new file mode 100644 index 00000000000..513873269ac --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/food/snacks.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks.dm + +

+ + + +
/obj/item/reagent_containers/food/snacks
/obj/item/reagent_containers/food/snacks/storeAll the food items that can store an item inside itself, like bread or cake.
+ + + diff --git a/code/modules/food_and_drinks/food/snacks/dough.html b/code/modules/food_and_drinks/food/snacks/dough.html new file mode 100644 index 00000000000..659c225b924 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks/dough.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/snacks/dough.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks/dough.dm + +

+ + +
/obj/item/reagent_containers/food/snacks/doughDough Ingredients
+ + + diff --git a/code/modules/food_and_drinks/food/snacks/meat.html b/code/modules/food_and_drinks/food/snacks/meat.html new file mode 100644 index 00000000000..1bc9e06b743 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks/meat.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/food_and_drinks/food/snacks/meat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks/meat.dm + +

+ + + + + +
/obj/item/reagent_containers/food/snacks/meat/slab/humanHUMAN MEATS
/obj/item/reagent_containers/food/snacks/meat/slab/synthmeatOTHER MEATS
/obj/item/reagent_containers/food/snacks/meat/steakMEAT STEAKS
/obj/item/reagent_containers/food/snacks/meat/rawcutletMEAT CUTLETS
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_egg.html b/code/modules/food_and_drinks/food/snacks_egg.html new file mode 100644 index 00000000000..f07f4246be4 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_egg.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_egg.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_egg.dm + +

+ + +
/obj/item/reagent_containers/food/snacks/chocolateeggEGGS
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_meat.html b/code/modules/food_and_drinks/food/snacks_meat.html new file mode 100644 index 00000000000..ccc9b3151fc --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_meat.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_meat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_meat.dm + +

+ + + + +
/obj/item/reagent_containers/food/snacks/cubancarpFISH
/obj/item/reagent_containers/food/snacks/tofuMEATS AND ALIKE
/obj/item/reagent_containers/food/snacks/cubeCubes
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_other.html b/code/modules/food_and_drinks/food/snacks_other.html new file mode 100644 index 00000000000..971089ad1c2 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_other.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_other.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_other.dm + +

+ + +
/obj/item/reagent_containers/food/snacks/store/cheesewheelOTHER
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_pastry.html b/code/modules/food_and_drinks/food/snacks_pastry.html new file mode 100644 index 00000000000..b79e0050ef7 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_pastry.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_pastry.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_pastry.dm + +

+ + + + + + + +
/obj/item/reagent_containers/food/snacks/donutDONUTS
/obj/item/reagent_containers/food/snacks/donut/jellyJELLY DONUTS
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejellySLIME DONUTS
/obj/item/reagent_containers/food/snacks/muffinMUFFINS
/obj/item/reagent_containers/food/snacks/wafflesWAFFLES
/obj/item/reagent_containers/food/snacks/cookieOTHER
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_pizza.html b/code/modules/food_and_drinks/food/snacks_pizza.html new file mode 100644 index 00000000000..97f2180dcc8 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_pizza.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_pizza.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_pizza.dm + +

+ + +
/obj/item/reagent_containers/food/snacks/pizzaPIZZA
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_salad.html b/code/modules/food_and_drinks/food/snacks_salad.html new file mode 100644 index 00000000000..10bf59c7258 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_salad.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_salad.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_salad.dm + +

+ + +
/obj/item/reagent_containers/food/snacks/saladSALAD
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_sushi.html b/code/modules/food_and_drinks/food/snacks_sushi.html new file mode 100644 index 00000000000..0be1f621c7c --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_sushi.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_sushi.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_sushi.dm + +

+ + + +
/obj/item/reagent_containers/food/snacks/sushi_riceSushi Components
/obj/item/reagent_containers/food/snacks/sushie_basicSushi
+ + + diff --git a/code/modules/food_and_drinks/food/snacks_vend.html b/code/modules/food_and_drinks/food/snacks_vend.html new file mode 100644 index 00000000000..3f73e8d9d6a --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_vend.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/food/snacks_vend.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/food/snacks_vend.dm + +

+ + +
/obj/item/reagent_containers/food/snacks/candySNACKS FROM VENDING MACHINES
+ + + diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.html b/code/modules/food_and_drinks/recipes/drinks_recipes.html new file mode 100644 index 00000000000..8ced865df91 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/food_and_drinks/recipes/drinks_recipes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/drinks_recipes.dm + +

+ + + + + +
/datum/chemical_reaction/goldschlagerCOCKTAILS
/datum/chemical_reaction/sbitenDRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
/datum/chemical_reaction/mushTea Base Drinks
/datum/chemical_reaction/coldscalesRace Base Drinks
+ + + diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.html b/code/modules/food_and_drinks/recipes/food_mixtures.html new file mode 100644 index 00000000000..4d45d556f2a --- /dev/null +++ b/code/modules/food_and_drinks/recipes/food_mixtures.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/food_mixtures.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/food_mixtures.dm + +

+ + +
/datum/chemical_reaction/tofuFOOD MIXTURES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html new file mode 100644 index 00000000000..48217f5d34b --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm + +

+ + + + +
/datum/crafting_recipe/food/breadBREAD
/datum/crafting_recipe/food/butteredtoastTOAST
/datum/crafting_recipe/food/baguetteMISC
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html new file mode 100644 index 00000000000..bb0ae6dcdda --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm + +

+ + + + + +
/datum/crafting_recipe/food/burgerSTANDARD BURGS
/datum/crafting_recipe/food/appendixburgerEXOTIC
/datum/crafting_recipe/food/clownburgerMYSTICAL
/datum/crafting_recipe/food/redburgerCOLORED BURGERS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html new file mode 100644 index 00000000000..6349bc01d47 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm + +

+ + + + +
/datum/crafting_recipe/food/applecakeFRUIT CAKE
/datum/crafting_recipe/food/birthdaycakeFANCY
/datum/crafting_recipe/food/holycakeSPECIAL
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.html new file mode 100644 index 00000000000..f831cfa04ff --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.dm + +

+ + + + +
/datum/crafting_recipe/food/donutDONUTS
/datum/crafting_recipe/food/donut/jelly/appleJELLY DONUTS
/datum/crafting_recipe/food/donut/slimejelly/appleSLIME DONUTS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html new file mode 100644 index 00000000000..7f824995c67 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm + +

+ + +
/datum/crafting_recipe/food/friedeggEGG RECIPE's
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html new file mode 100644 index 00000000000..81f971effc2 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm + +

+ + + +
/datum/crafting_recipe/food/apple_scSNOW CONES
/datum/crafting_recipe/food/mime_scI don't like seperating the clown and mime.
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html new file mode 100644 index 00000000000..0161bead063 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm + +

+ + + + +
/datum/crafting_recipe/food/humankebabKEBABS
/datum/crafting_recipe/food/spidereggshamMR SPIDER
/datum/crafting_recipe/food/meatslabMISC RECIPE's
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.html new file mode 100644 index 00000000000..be0747acab5 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm + +

+ + +
/datum/crafting_recipe/food/burrito"MEXICAN"
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.html new file mode 100644 index 00000000000..b20839df775 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm + +

+ + + +
/datum/crafting_recipe/food/chawanmushiEastern Foods
/datum/crafting_recipe/food/doughMISC
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html new file mode 100644 index 00000000000..cb730d588e7 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm + +

+ + + + + + + +
/datum/crafting_recipe/food/muffinMUFFINS
/datum/crafting_recipe/food/cherrycupcakeCUPCAKES
/datum/crafting_recipe/food/raisincookieCOOKIES
/datum/crafting_recipe/food/wafflesWAFFLES AND PANCAKES
/datum/crafting_recipe/food/donkpocketDONKPOCCKETS
/datum/crafting_recipe/food/piedoughOTHER
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.html new file mode 100644 index 00000000000..b39637455d7 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.dm + +

+ + + + + +
/datum/crafting_recipe/food/applepieFRUITS
/datum/crafting_recipe/food/amanitapieOTHER PIES
/datum/crafting_recipe/food/goldenappletartTARTS
/datum/crafting_recipe/food/candiedappleSWEETS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html new file mode 100644 index 00000000000..05f847cf022 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm + +

+ + + +
/datum/crafting_recipe/food/dankpizzaPIZZA!!!
/datum/crafting_recipe/food/pineapplepizza/anomalySpecial Pizzas
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html new file mode 100644 index 00000000000..8504c869b5c --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm + +

+ + +
/datum/crafting_recipe/food/aesirsaladSALADS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html new file mode 100644 index 00000000000..5745fa8e033 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm + +

+ + +
/datum/crafting_recipe/food/sandwichSANDWICHES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.html new file mode 100644 index 00000000000..28983746fba --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm + +

+ + + + +
/datum/crafting_recipe/food/sushi_riceSushi Components
/datum/crafting_recipe/food/sashimiSushi
/datum/crafting_recipe/food/tuna_canFISH
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html new file mode 100644 index 00000000000..8cea3a2b6a1 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm + +

+ + +
/datum/crafting_recipe/food/amanitajellySOUP
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html new file mode 100644 index 00000000000..5eb2f9ce929 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm + +

+ + + +
/datum/crafting_recipe/food/copypastaSPAGHETTI
/datum/crafting_recipe/food/beefnoodleNOODLES
+ + + diff --git a/code/modules/games/unum.html b/code/modules/games/unum.html new file mode 100644 index 00000000000..309ac2e5bf9 --- /dev/null +++ b/code/modules/games/unum.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/games/unum.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/games/unum.dm + +

+ + +
/obj/item/toy/cards/deck/unumA deck of unum cards. Classic.
+ + + diff --git a/code/modules/holiday/halloween/jacqueen.html b/code/modules/holiday/halloween/jacqueen.html new file mode 100644 index 00000000000..c7c734770c0 --- /dev/null +++ b/code/modules/holiday/halloween/jacqueen.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/holiday/halloween/jacqueen.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/holiday/halloween/jacqueen.dm + +

+ + + +
/datum/round_event_control/jacqueenEVENT
/mob/living/simple_animal/jacqMOBS
+ + + diff --git a/code/modules/hydroponics/grown/towercap.html b/code/modules/hydroponics/grown/towercap.html new file mode 100644 index 00000000000..f9bd920afc8 --- /dev/null +++ b/code/modules/hydroponics/grown/towercap.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/grown/towercap.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/hydroponics/grown/towercap.dm + +

+ + +
/obj/structure/bonfireBONFIRES
+ + + diff --git a/code/modules/hydroponics/seed_extractor.html b/code/modules/hydroponics/seed_extractor.html new file mode 100644 index 00000000000..1113ff10f3f --- /dev/null +++ b/code/modules/hydroponics/seed_extractor.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/seed_extractor.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/hydroponics/seed_extractor.dm + +

+ + + +
/proc/seedifyFinds and extracts seeds from an object
+ + + diff --git a/code/modules/instruments/instrument_data/_instrument_data.html b/code/modules/instruments/instrument_data/_instrument_data.html new file mode 100644 index 00000000000..d7a8490810e --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_data.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/instruments/instrument_data/_instrument_data.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/instruments/instrument_data/_instrument_data.dm + +

+ + + +
/proc/get_allowed_instrument_idsGet all non admin_only instruments.
+ + + diff --git a/code/modules/instruments/songs/_song.html b/code/modules/instruments/songs/_song.html new file mode 100644 index 00000000000..660ca8d4b4b --- /dev/null +++ b/code/modules/instruments/songs/_song.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/instruments/songs/_song.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/instruments/songs/_song.dm + +

+ + +
/datum/songThese are the actual backend behind instruments. +They attach to an atom and provide the editor + playback functionality.
+ + + diff --git a/code/modules/jobs/access.html b/code/modules/jobs/access.html new file mode 100644 index 00000000000..8221c80cb4f --- /dev/null +++ b/code/modules/jobs/access.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/jobs/access.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/jobs/access.dm + +

+ + + +
/proc/GetJobNameGets the job title, if the job name is an alt title, locates the original title using a prebuilt cache
+ + + diff --git a/code/modules/keybindings.html b/code/modules/keybindings.html new file mode 100644 index 00000000000..c5609891289 --- /dev/null +++ b/code/modules/keybindings.html @@ -0,0 +1,60 @@ + + + + + + + code/modules/keybindings/readme.md - Nostra-13 + + +
+ Nostra-13 - + 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/language/language_holder.html b/code/modules/language/language_holder.html new file mode 100644 index 00000000000..4c164e16ca9 --- /dev/null +++ b/code/modules/language/language_holder.html @@ -0,0 +1,61 @@ + + + + + + + code/modules/language/language_holder.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/language/language_holder.dm + +

+ + +

Language holders will either exist in an atom/movable or a mind. Creation of language holders happens +automatically when they are needed, for example when something tries to speak. +Where a mind is available, the mind language holder will be the one "in charge". The mind holder +will update its languages based on the atom holder, and will get updated as part of +transformations and other events that cause new languages to become available. +Every language holder has three lists of languages (and sources for each of them):

+
    +
  • understood_languages
  • +
  • spoken_languages
  • +
  • blocked_languages +Understood languages let you understand them, spoken languages lets you speak them +(if your tongue is compatible), and blocked languages will let you do neither no matter +what the source of the language is. +Language holders are designed to mostly only ever require the use the helpers in atom/movable +to achieve your goals, but it is also possible to work on them directly if needed. Any adding +and removing of languages and sources should only happen through the procs, as directly changing +these will mess something up somewhere down the line. +All atom movables have the initial_language_holder var which allows you to set the default language +holder to create. For example, /datum/language_holder/alien will give you xenocommon and a block for +galactic common. Human species also have a default language holder var that will be updated on +species change, initial_species_holder. +Key procs
  • +
+
+ + + diff --git a/code/modules/lighting/emissive_blocker.html b/code/modules/lighting/emissive_blocker.html new file mode 100644 index 00000000000..6ec349fbfee --- /dev/null +++ b/code/modules/lighting/emissive_blocker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/lighting/emissive_blocker.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/lighting/emissive_blocker.dm + +

+ + +
/atom/movable/emissive_blockerInternal atom that copies an appearance on to the blocker plane
+ + + diff --git a/code/modules/mafia/_defines.html b/code/modules/mafia/_defines.html new file mode 100644 index 00000000000..4692ace369c --- /dev/null +++ b/code/modules/mafia/_defines.html @@ -0,0 +1,137 @@ + + + + + + + code/modules/mafia/_defines.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mafia/_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
MAFIA_MAX_PLAYER_COUNThow many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)
TOWN_OVERFLOWAdd this if you don't want a role to be a choice in the selection
TOWN_INVESTroles that learn info about others in the game (chaplain, detective, psych)
TOWN_PROTECTroles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)
TOWN_KILLINGroles that are only there to kill bad guys.
TOWN_SUPPORTroles that don't fit into anything else (hop)
MAFIA_REGULARnormal vote kill changelings
MAFIA_SPECIALevery other changeling role that has extra abilities
NEUTRAL_KILLrole that wins solo that nobody likes
NEUTRAL_DISRUPTrole that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia
ROLE_UNDETECTABLEto all forms of detection, shows themselves as an assistant.
ROLE_CAN_KILLhas the ability to kill at night and thus, blocks the game from ending with other teams alive.
ROLE_UNIQUEcan only be one in a randomly generated game
ROLE_REVEALEDrole is public to all other players in the game.
ROLE_VULNERABLEcan not be defended, protected, or any other form of protection. all kills succeed no matter what.
ROLE_ROLEBLOCKEDcannot perform any actions that night, preselected actions fail
COMSIG_MAFIA_SUNDOWNwhen the shutters fall, before the 45 second wait and night event resolution
COMSIG_MAFIA_NIGHT_STARTafter the 45 second wait, for actions that must go first
COMSIG_MAFIA_NIGHT_ACTION_PHASEmost night actions now resolve
COMSIG_MAFIA_NIGHT_KILL_PHASEnow killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block
COMSIG_MAFIA_NIGHT_ENDnow undoing states like protection, actions that must happen last, etc. right before shutters raise and the day begins
COMSIG_MAFIA_GAME_ENDsignal sent to roles when the game is confirmed ending

Define Details

+

COMSIG_MAFIA_GAME_END + + +

+

signal sent to roles when the game is confirmed ending

COMSIG_MAFIA_NIGHT_ACTION_PHASE + + +

+

most night actions now resolve

COMSIG_MAFIA_NIGHT_END + + +

+

now undoing states like protection, actions that must happen last, etc. right before shutters raise and the day begins

COMSIG_MAFIA_NIGHT_KILL_PHASE + + +

+

now killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block

COMSIG_MAFIA_NIGHT_START + + +

+

after the 45 second wait, for actions that must go first

COMSIG_MAFIA_SUNDOWN + + +

+

when the shutters fall, before the 45 second wait and night event resolution

MAFIA_MAX_PLAYER_COUNT + + +

+

how many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)

MAFIA_REGULAR + + +

+

normal vote kill changelings

MAFIA_SPECIAL + + +

+

every other changeling role that has extra abilities

NEUTRAL_DISRUPT + + +

+

role that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia

NEUTRAL_KILL + + +

+

role that wins solo that nobody likes

ROLE_CAN_KILL + + +

+

has the ability to kill at night and thus, blocks the game from ending with other teams alive.

ROLE_REVEALED + + +

+

role is public to all other players in the game.

ROLE_ROLEBLOCKED + + +

+

cannot perform any actions that night, preselected actions fail

ROLE_UNDETECTABLE + + +

+

to all forms of detection, shows themselves as an assistant.

ROLE_UNIQUE + + +

+

can only be one in a randomly generated game

ROLE_VULNERABLE + + +

+

can not be defended, protected, or any other form of protection. all kills succeed no matter what.

TOWN_INVEST + + +

+

roles that learn info about others in the game (chaplain, detective, psych)

TOWN_KILLING + + +

+

roles that are only there to kill bad guys.

TOWN_OVERFLOW + + +

+

Add this if you don't want a role to be a choice in the selection

TOWN_PROTECT + + +

+

roles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)

TOWN_SUPPORT + + +

+

roles that don't fit into anything else (hop)

+ + + diff --git a/code/modules/mafia/controller.html b/code/modules/mafia/controller.html new file mode 100644 index 00000000000..b68c2382341 --- /dev/null +++ b/code/modules/mafia/controller.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mafia/controller.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mafia/controller.dm + +

+ + + + +
/datum/mafia_controllerThe mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.
/proc/create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.
+ + + diff --git a/code/modules/mafia/roles.html b/code/modules/mafia/roles.html new file mode 100644 index 00000000000..ece9a6b4c39 --- /dev/null +++ b/code/modules/mafia/roles.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mafia/roles.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mafia/roles.dm + +

+ + + +
/datum/mafia_role/mafiaMAFIA ROLES/// they're the "anti-town" working to kill off townies to win
/datum/mafia_role/traitorSOLO ROLES/// they range from anomalous factors to deranged killers that try to win alone.
+ + + diff --git a/code/modules/mapping.html b/code/modules/mapping.html new file mode 100644 index 00000000000..f04cdd741da --- /dev/null +++ b/code/modules/mapping.html @@ -0,0 +1,79 @@ + + + + + + + code/modules/mapping/README.txt - Nostra-13 + + +
+ Nostra-13 - + 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/mapping_helpers/_mapping_helpers.html b/code/modules/mapping/mapping_helpers/_mapping_helpers.html new file mode 100644 index 00000000000..1a402a6e13b --- /dev/null +++ b/code/modules/mapping/mapping_helpers/_mapping_helpers.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/mapping_helpers/_mapping_helpers.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mapping/mapping_helpers/_mapping_helpers.dm + +

+ + +
/obj/effect/mapping_helpers/custom_iconFetches an external dmi and applies to the target object
+ + + diff --git a/code/modules/mapping/mapping_helpers/network_builder/power_cables.html b/code/modules/mapping/mapping_helpers/network_builder/power_cables.html new file mode 100644 index 00000000000..b2f0070f347 --- /dev/null +++ b/code/modules/mapping/mapping_helpers/network_builder/power_cables.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/mapping_helpers/network_builder/power_cables.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mapping/mapping_helpers/network_builder/power_cables.dm + +

+ + +
/obj/effect/mapping_helpers/network_builder/power_cableAutomatically links on init to power cables and other cable builder helpers. Only supports cardinals.
+ + + diff --git a/code/modules/mapping/preloader.html b/code/modules/mapping/preloader.html new file mode 100644 index 00000000000..f91e9a93aed --- /dev/null +++ b/code/modules/mapping/preloader.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/preloader.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mapping/preloader.dm + +

+ + +
/datum/map_preloaderPreloader datum
+ + + diff --git a/code/modules/mapping/reader.html b/code/modules/mapping/reader.html new file mode 100644 index 00000000000..1276238dece --- /dev/null +++ b/code/modules/mapping/reader.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapping/reader.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..ce2d354a3b7 --- /dev/null +++ b/code/modules/mapping/verify.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/verify.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mapping/verify.dm + +

+ + +
/datum/map_reportAn error report generated by /datum/parsed_map/proc/check_for_errors.
+ + + diff --git a/code/modules/mining/aux_base.html b/code/modules/mining/aux_base.html new file mode 100644 index 00000000000..c640128763e --- /dev/null +++ b/code/modules/mining/aux_base.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mining/aux_base.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mining/aux_base.dm + +

+ + +
ZONE_SETMining Base

Define Details

+

ZONE_SET + + +

+

Mining Base

+ + + diff --git a/code/modules/mining/equipment/explorer_gear.html b/code/modules/mining/equipment/explorer_gear.html new file mode 100644 index 00000000000..49a5da62769 --- /dev/null +++ b/code/modules/mining/equipment/explorer_gear.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/equipment/explorer_gear.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/explorer_gear.dm + +

+ + + + +
/obj/item/clothing/suit/hooded/explorerExplorer's Suit and Mask
/obj/item/clothing/suit/hooded/explorer/hevaHEVA Suit and Mask
/obj/item/clothing/suit/hooded/explorer/exoExo-Suit and Mask
+ + + diff --git a/code/modules/mining/equipment/kinetic_crusher.html b/code/modules/mining/equipment/kinetic_crusher.html new file mode 100644 index 00000000000..105f3c3bb3b --- /dev/null +++ b/code/modules/mining/equipment/kinetic_crusher.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/kinetic_crusher.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/kinetic_crusher.dm + +

+ + +
/obj/item/kinetic_crusherMining Hammer
+ + + diff --git a/code/modules/mining/equipment/lazarus_injector.html b/code/modules/mining/equipment/lazarus_injector.html new file mode 100644 index 00000000000..c03417dff96 --- /dev/null +++ b/code/modules/mining/equipment/lazarus_injector.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/lazarus_injector.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/lazarus_injector.dm + +

+ + +
/obj/item/lazarus_injectorLazarus Injector
+ + + diff --git a/code/modules/mining/equipment/mineral_scanner.html b/code/modules/mining/equipment/mineral_scanner.html new file mode 100644 index 00000000000..0686b63a072 --- /dev/null +++ b/code/modules/mining/equipment/mineral_scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/mineral_scanner.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/mineral_scanner.dm + +

+ + +
/obj/item/mining_scannerMining Scanners
+ + + diff --git a/code/modules/mining/equipment/mining_tools.html b/code/modules/mining/equipment/mining_tools.html new file mode 100644 index 00000000000..49fd33ab850 --- /dev/null +++ b/code/modules/mining/equipment/mining_tools.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/mining_tools.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/mining_tools.dm + +

+ + +
/obj/item/pickaxePickaxes & Drills & Shovels
+ + + diff --git a/code/modules/mining/equipment/regenerative_core.html b/code/modules/mining/equipment/regenerative_core.html new file mode 100644 index 00000000000..d207c7fe720 --- /dev/null +++ b/code/modules/mining/equipment/regenerative_core.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/equipment/regenerative_core.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/regenerative_core.dm + +

+ + + + +
/obj/item/hivelordstabilizerHivelord stabilizer
/obj/item/organ/regenerative_coreHivelord core
/obj/item/organ/regenerative_core/legionLegion core
+ + + diff --git a/code/modules/mining/equipment/resonator.html b/code/modules/mining/equipment/resonator.html new file mode 100644 index 00000000000..649ba057a08 --- /dev/null +++ b/code/modules/mining/equipment/resonator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/resonator.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/resonator.dm + +

+ + +
/obj/item/resonatorResonator
+ + + diff --git a/code/modules/mining/equipment/survival_pod.html b/code/modules/mining/equipment/survival_pod.html new file mode 100644 index 00000000000..98169222b58 --- /dev/null +++ b/code/modules/mining/equipment/survival_pod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/survival_pod.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/survival_pod.dm + +

+ + +
/area/survivalpodSurvival Pod
+ + + diff --git a/code/modules/mining/equipment/vendor_items.html b/code/modules/mining/equipment/vendor_items.html new file mode 100644 index 00000000000..39bf209469a --- /dev/null +++ b/code/modules/mining/equipment/vendor_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/vendor_items.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/vendor_items.dm + +

+ + +
/obj/item/clothing/mask/facehugger/toyMining Equipment Vendor Items
+ + + diff --git a/code/modules/mining/equipment/wormhole_jaunter.html b/code/modules/mining/equipment/wormhole_jaunter.html new file mode 100644 index 00000000000..66852de83ff --- /dev/null +++ b/code/modules/mining/equipment/wormhole_jaunter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/wormhole_jaunter.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/equipment/wormhole_jaunter.dm + +

+ + +
/obj/item/wormhole_jaunterJaunter
+ + + diff --git a/code/modules/mining/laborcamp/laborstacker.html b/code/modules/mining/laborcamp/laborstacker.html new file mode 100644 index 00000000000..2730ebfc953 --- /dev/null +++ b/code/modules/mining/laborcamp/laborstacker.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/laborcamp/laborstacker.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/laborcamp/laborstacker.dm + +

+ + + + +
/obj/machinery/mineral/labor_claim_consolePrisoners' Console
/obj/machinery/mineral/stacking_machine/laborstackerPrisoner Collection Unit
/obj/machinery/mineral/labor_points_checkerPoint Lookup Console
+ + + diff --git a/code/modules/mining/lavaland/ash_flora.html b/code/modules/mining/lavaland/ash_flora.html new file mode 100644 index 00000000000..d74b172934b --- /dev/null +++ b/code/modules/mining/lavaland/ash_flora.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/lavaland/ash_flora.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/lavaland/ash_flora.dm + +

+ + +
/obj/item/seeds/lavalandLAVALAND FLORA
+ + + diff --git a/code/modules/mining/lavaland/necropolis_chests.html b/code/modules/mining/lavaland/necropolis_chests.html new file mode 100644 index 00000000000..9e052d8970b --- /dev/null +++ b/code/modules/mining/lavaland/necropolis_chests.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/lavaland/necropolis_chests.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/lavaland/necropolis_chests.dm + +

+ + +
/obj/item/melee/transforming/cleaving_sawBosses
+ + + diff --git a/code/modules/mining/machine_processing.html b/code/modules/mining/machine_processing.html new file mode 100644 index 00000000000..2bc847bf800 --- /dev/null +++ b/code/modules/mining/machine_processing.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mining/machine_processing.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/machine_processing.dm + +

+ + + +
/obj/machinery/mineralMineral processing unit console
/obj/machinery/mineral/processing_unitMineral processing unit
+ + + diff --git a/code/modules/mining/machine_redemption.html b/code/modules/mining/machine_redemption.html new file mode 100644 index 00000000000..2502692ff17 --- /dev/null +++ b/code/modules/mining/machine_redemption.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/machine_redemption.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/machine_redemption.dm + +

+ + +
/obj/machinery/mineral/ore_redemptionOre Redemption Unit
+ + + diff --git a/code/modules/mining/machine_stacking.html b/code/modules/mining/machine_stacking.html new file mode 100644 index 00000000000..f813c01d86b --- /dev/null +++ b/code/modules/mining/machine_stacking.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mining/machine_stacking.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/machine_stacking.dm + +

+ + + +
/obj/machinery/mineral/stacking_unit_consoleMineral stacking unit console
/obj/machinery/mineral/stacking_machineMineral stacking unit
+ + + diff --git a/code/modules/mining/machine_unloading.html b/code/modules/mining/machine_unloading.html new file mode 100644 index 00000000000..18796da6488 --- /dev/null +++ b/code/modules/mining/machine_unloading.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/machine_unloading.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/machine_unloading.dm + +

+ + +
/obj/machinery/mineral/unloading_machineUnloading unit
+ + + diff --git a/code/modules/mining/machine_vending.html b/code/modules/mining/machine_vending.html new file mode 100644 index 00000000000..47492ec6dd6 --- /dev/null +++ b/code/modules/mining/machine_vending.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mining/machine_vending.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/machine_vending.dm + +

+ + + + + + +
/obj/machinery/mineral/equipment_vendorMining Equipment Vendor
/obj/machinery/mineral/equipment_vendor/golemGolem Point Vendor
/obj/item/mining_voucherMining Equipment Vendor Items
/obj/item/card/mining_point_cardMining Point Card
/obj/item/card/mining_access_cardConscript kit
+ + + diff --git a/code/modules/mining/mine_items.html b/code/modules/mining/mine_items.html new file mode 100644 index 00000000000..a092be60a2c --- /dev/null +++ b/code/modules/mining/mine_items.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mining/mine_items.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/mine_items.dm + +

+ + + + + +
/obj/effect/light_emitterLight
/obj/structure/closet/wardrobe/minerMiner Lockers
/obj/machinery/computer/shuttle/miningShuttle Computer
/obj/structure/closet/crate/miningcarMining car (Crate like thing, not the rail car)
+ + + diff --git a/code/modules/mining/minebot.html b/code/modules/mining/minebot.html new file mode 100644 index 00000000000..584ce096425 --- /dev/null +++ b/code/modules/mining/minebot.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mining/minebot.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mining/minebot.dm + +

+ + + +
MINEDRONE_COLLECTMining drone
/obj/item/mine_bot_upgradeMinebot Upgrades

Define Details

+

MINEDRONE_COLLECT + + +

+

Mining drone

+ + + diff --git a/code/modules/mining/money_bag.html b/code/modules/mining/money_bag.html new file mode 100644 index 00000000000..4d387b09665 --- /dev/null +++ b/code/modules/mining/money_bag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/money_bag.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/money_bag.dm + +

+ + +
/obj/item/storage/bag/moneyMoney bag
+ + + diff --git a/code/modules/mining/ores_coins.html b/code/modules/mining/ores_coins.html new file mode 100644 index 00000000000..6124ca57b42 --- /dev/null +++ b/code/modules/mining/ores_coins.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mining/ores_coins.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/ores_coins.dm + +

+ + + +
/obj/item/stack/oreMineral ores
/obj/item/coinCoin
+ + + diff --git a/code/modules/mining/satchel_ore_boxdm.html b/code/modules/mining/satchel_ore_boxdm.html new file mode 100644 index 00000000000..8d08bb82200 --- /dev/null +++ b/code/modules/mining/satchel_ore_boxdm.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/satchel_ore_boxdm.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mining/satchel_ore_boxdm.dm + +

+ + +
/obj/structure/ore_boxOre box
+ + + diff --git a/code/modules/mob/clickdelay.html b/code/modules/mob/clickdelay.html new file mode 100644 index 00000000000..529390cff01 --- /dev/null +++ b/code/modules/mob/clickdelay.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/clickdelay.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/clickdelay.dm + +

+ + +
/mobCLICKDELAY HANDLING SYSTEM +How this works is mobs can never do actions until their next_action is at or below world.time, but things can specify extra cooldown +to check for either from the time of last_action or from the end of next_action.
+ + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.html b/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.html new file mode 100644 index 00000000000..d764909b35c --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm + +

+ + + + +
/datum/sprite_accessory/xeno_dorsalXeno Dorsal Tubes
/datum/sprite_accessory/xeno_tailXeno Tails
/datum/sprite_accessory/xeno_headXeno Heads
+ + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.html b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.html new file mode 100644 index 00000000000..8dee50634bd --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm + +

+ + + +
/datum/sprite_accessory/mam_body_markingsFurry Markings
/datum/sprite_accessory/insect_fluffInsect Markings
+ + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.html b/code/modules/mob/dead/new_player/sprite_accessories/ears.html new file mode 100644 index 00000000000..44b85b1eb53 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/dead/new_player/sprite_accessories/ears.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/dead/new_player/sprite_accessories/ears.dm + +

+ + + + +
/datum/sprite_accessory/ears/human/axolotlHuman Ears
/datum/sprite_accessory/ears/mam_earsFurry Ears
/datum/sprite_accessory/ears/human/bnnuyTall Ears
+ + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.html b/code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.html new file mode 100644 index 00000000000..e52af509e60 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.dm + +

+ + + +
/datum/sprite_accessory/screenIPC SCREENS
/datum/sprite_accessory/antennaIPC Antennas
+ + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.html b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.html new file mode 100644 index 00000000000..14f7b44ecae --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm + +

+ + + +
/datum/sprite_accessory/legs/noneLeggy
/datum/sprite_accessory/taurTaur Bodies
+ + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/snouts.html b/code/modules/mob/dead/new_player/sprite_accessories/snouts.html new file mode 100644 index 00000000000..aa10b89c8ec --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/snouts.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mob/dead/new_player/sprite_accessories/snouts.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/dead/new_player/sprite_accessories/snouts.dm + +

+ + + +
/datum/sprite_accessory/snouts/mam_snouts************ Lizard compatable snoots *********** +/datum/sprite_accessory/snouts/bird +name = "Beak" +icon_state = "bird" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED
/datum/sprite_accessory/snouts/mam_snouts/fbird*** Snouts *** +but higher up
+ + + diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.html b/code/modules/mob/dead/new_player/sprite_accessories/tails.html new file mode 100644 index 00000000000..413348b9a17 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/dead/new_player/sprite_accessories/tails.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/dead/new_player/sprite_accessories/tails.dm + +

+ + + +
/datum/sprite_accessory/tails/human/noneHuman Tails
/datum/sprite_accessory/tails/mam_tailsFurry Tails
+ + + diff --git a/code/modules/mob/living/blood.html b/code/modules/mob/living/blood.html new file mode 100644 index 00000000000..5fd334d9e51 --- /dev/null +++ b/code/modules/mob/living/blood.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/blood.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/blood.dm + +

+ + +
EXOTIC_BLEED_MULTIPLIERBLOOD SYSTEM

Define Details

+

EXOTIC_BLEED_MULTIPLIER + + +

+

BLOOD SYSTEM

+ + + diff --git a/code/modules/mob/living/carbon/carbon_stripping.html b/code/modules/mob/living/carbon/carbon_stripping.html new file mode 100644 index 00000000000..21567557b75 --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_stripping.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/carbon_stripping.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/carbon_stripping.dm + +

+ + +
/datum/strippable_item/handA strippable item for a hand
+ + + diff --git a/code/modules/mob/living/carbon/human/dummy.html b/code/modules/mob/living/carbon/human/dummy.html new file mode 100644 index 00000000000..1c05213719d --- /dev/null +++ b/code/modules/mob/living/carbon/human/dummy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/dummy.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/dummy.dm + +

+ + +
/mob/living/carbon/human/dummy/consistentProvides a dummy that is consistently bald, white, naked, etc.
+ + + diff --git a/code/modules/mob/living/carbon/human/human_defines.html b/code/modules/mob/living/carbon/human/human_defines.html new file mode 100644 index 00000000000..b75461842f2 --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_defines.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/carbon/human/human_defines.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/human_defines.dm + +

+ + + +
/datum/block_parry_data/unarmed/humanUnarmed parry data for human
/datum/block_parry_data/unarmed/pugilistUnarmed parry data for pugilists
+ + + diff --git a/code/modules/mob/living/carbon/human/species.html b/code/modules/mob/living/carbon/human/species.html new file mode 100644 index 00000000000..a2aca2dd53c --- /dev/null +++ b/code/modules/mob/living/carbon/human/species.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/carbon/human/species.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species.dm + +

+ + + + +
/datum/speciesDatum that handles different species in the game.
/proc/generate_selectable_speciesGenerates species available to choose in character setup at roundstart
+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.html b/code/modules/mob/living/carbon/human/species_types/jellypeople.html new file mode 100644 index 00000000000..f4261f28305 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/jellypeople.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species_types/jellypeople.dm + +

+ + + + + +
/datum/species/jelly/slimeSLIMEPEOPLE
/datum/species/jelly/roundstartslimeRound Start Slimes
/datum/species/jelly/luminescentLUMINESCENTS
/datum/species/jelly/stargazerSTARGAZERS
+ + + diff --git a/code/modules/mob/living/living.html b/code/modules/mob/living/living.html new file mode 100644 index 00000000000..1efa3b6671d --- /dev/null +++ b/code/modules/mob/living/living.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/living.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/living.dm + +

+ + +

Proc that actually does the grab resisting. Return TRUE if successful. Does not check that a grab exists! Use attempt_resist_grab() instead of this in general! +Forced is if something other than the user mashing movement keys/pressing resist button did it, silent is if it makes messages (like "attempted to resist" and "broken free"). +Forced does NOT force success!

+ + + diff --git a/code/modules/mob/living/living_active_parry.html b/code/modules/mob/living/living_active_parry.html new file mode 100644 index 00000000000..5a85879d950 --- /dev/null +++ b/code/modules/mob/living/living_active_parry.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/living_active_parry.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/living_active_parry.dm + +

+ + +
/obj/effect/abstract/parryEffects
+ + + diff --git a/code/modules/mob/living/living_block.html b/code/modules/mob/living/living_block.html new file mode 100644 index 00000000000..3e9bfb6603f --- /dev/null +++ b/code/modules/mob/living/living_block.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/living_block.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/living_block.dm + +

+ + + +
/proc/block_calculate_resultant_damageConsiders a block return_list and calculates damage to use from that.
+ + + diff --git a/code/modules/mob/living/living_blocking_parrying.html b/code/modules/mob/living/living_blocking_parrying.html new file mode 100644 index 00000000000..de5261e9dd3 --- /dev/null +++ b/code/modules/mob/living/living_blocking_parrying.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/living_blocking_parrying.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/living_blocking_parrying.dm + +

+ + +
/datum/block_parry_dataCarries data like list data that would be a waste of memory if we initialized the list on every /item as we can cache datums easier.
+ + + diff --git a/code/modules/mob/living/silicon/robot/robot.html b/code/modules/mob/living/silicon/robot/robot.html new file mode 100644 index 00000000000..521de60fff2 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/silicon/robot/robot.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/silicon/robot/robot.dm + +

+ + +
/mob/living/silicon/robot/nocellThis is the subtype that gets created by robot suits. It's needed so that those kind of borgs don't have a useless cell in them
+ + + diff --git a/code/modules/mob/living/simple_animal/constructs.html b/code/modules/mob/living/simple_animal/constructs.html new file mode 100644 index 00000000000..04e30b4fe2a --- /dev/null +++ b/code/modules/mob/living/simple_animal/constructs.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/simple_animal/constructs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/constructs.dm + +

+ + + + + + + +
/mob/living/simple_animal/hostile/construct/armoredJuggernaut
/mob/living/simple_animal/hostile/construct/wraithWraith
/mob/living/simple_animal/hostile/construct/builderArtificer
/mob/living/simple_animal/hostile/construct/builder/noncultNon-cult Artificer
/mob/living/simple_animal/hostile/construct/harvesterHarvester
/datum/action/innate/seek_masterMaster-Tracker
+ + + diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.html b/code/modules/mob/living/simple_animal/guardian/guardian.html new file mode 100644 index 00000000000..b295863a500 --- /dev/null +++ b/code/modules/mob/living/simple_animal/guardian/guardian.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/guardian/guardian.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/guardian/guardian.dm + +

+ + +
/obj/item/guardiancreatorCreation
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.html b/code/modules/mob/living/simple_animal/hostile/illusion.html new file mode 100644 index 00000000000..a6297602c14 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/illusion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/illusion.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/illusion.dm + +

+ + +
/mob/living/simple_animal/hostile/illusion/escapeActual Types
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html new file mode 100644 index 00000000000..d7af44b7c10 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm + +

+ + +
ACTIVATE_TOUCHAnomolous Crystal

Define Details

+

ACTIVATE_TOUCH + + +

+

Anomolous Crystal

+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.html b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.html new file mode 100644 index 00000000000..c19f5d4094d --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm + +

+ + + +
DRAKE_FIRE_TEMPused whenever the drake generates a hotspot
DRAKE_FIRE_EXPOSUREused whenever the drake generates a hotspot

Define Details

+

DRAKE_FIRE_EXPOSURE + + +

+

used whenever the drake generates a hotspot

DRAKE_FIRE_TEMP + + +

+

used whenever the drake generates a hotspot

+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html new file mode 100644 index 00000000000..ddbe1561124 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm + +

+ + + + + +
/obj/structure/legionturretA basic turret that shoots at nearby mobs. Intended to be used for the legion megafauna.
/obj/item/projectile/beam/legionUsed for the legion turret.
/obj/effect/projectile/tracer/legion/tracerUsed for the legion turret tracer.
/obj/effect/projectile/tracer/legionUsed for the legion turret beam.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html new file mode 100644 index 00000000000..af2ad401911 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/broodmotherA stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. +When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html new file mode 100644 index 00000000000..a5821f47e70 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/heraldA slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. +As it's health gets lower, the amount of projectiles fired per-attack increases. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html new file mode 100644 index 00000000000..56db9195e28 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/legionnaireA towering skeleton, embodying the power of Legion. +As it's health gets lower, the head does more damage. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html new file mode 100644 index 00000000000..e7b4a616f65 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/pandoraA box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. +As it's health gets lower, the time between it's attacks decrease. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.html new file mode 100644 index 00000000000..c4ad3ed7c3f --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/lobstrosity
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/plaguerat.html b/code/modules/mob/living/simple_animal/hostile/plaguerat.html new file mode 100644 index 00000000000..8ff0a277996 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/plaguerat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/plaguerat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/plaguerat.dm + +

+ + +
/datum/action/cooldown/scavengeCreates a chance to spawn more trash or gibs to repopulate. Otherwise, spawns a corpse or dirt.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.html b/code/modules/mob/living/simple_animal/hostile/regalrat.html new file mode 100644 index 00000000000..e330508e4c6 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/regalrat.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/regalrat.dm + +

+ + + +
/datum/action/cooldown/cofferThis action creates trash, money, dirt, and cheese.
/datum/action/cooldown/riotThis action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.html b/code/modules/mob/living/simple_animal/hostile/space_dragon.html new file mode 100644 index 00000000000..f00cb91fd99 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.html @@ -0,0 +1,49 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/space_dragon.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/simple_animal/hostile/space_dragon.dm + +

+ + + + + + + +
CHARGE_ONGOINGThe carp rift is currently charging.
CHARGE_FINALWARNINGThe carp rift is currently charging and has output a final warning.
CHARGE_COMPLETEDThe carp rift is now fully charged.
DARKNESS_THRESHOLDThe darkness threshold for space dragon when choosing a color
/mob/living/simple_animal/hostile/space_dragonA space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event.
/obj/structure/carp_riftThe portals Space Dragon summons to bring carp onto the station.

Define Details

+

CHARGE_COMPLETED + + +

+

The carp rift is now fully charged.

CHARGE_FINALWARNING + + +

+

The carp rift is currently charging and has output a final warning.

CHARGE_ONGOING + + +

+

The carp rift is currently charging.

DARKNESS_THRESHOLD + + +

+

The darkness threshold for space dragon when choosing a color

+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.html b/code/modules/mob/living/simple_animal/hostile/syndicate.html new file mode 100644 index 00000000000..ab772e252c7 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/syndicate.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/syndicate.dm + +

+ + + + + +
/obj/effect/light_emitter/red_energy_swordBase mob
/mob/living/simple_animal/hostile/syndicate/spaceMelee
/mob/living/simple_animal/hostile/syndicate/rangedGuns
/mob/living/simple_animal/hostile/syndicate/civilianMisc
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.html b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.html new file mode 100644 index 00000000000..03081c6b772 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm + +

+ + + +
/obj/structure/alien/resin/flower_bud_enemyKudzu Flower Bud
/mob/living/simple_animal/hostile/venus_human_trapVenus Human Trap
+ + + diff --git a/code/modules/mob/mob_helpers.html b/code/modules/mob/mob_helpers.html new file mode 100644 index 00000000000..dec8bcc73b0 --- /dev/null +++ b/code/modules/mob/mob_helpers.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mob/mob_helpers.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/mob_helpers.dm + +

+ + + + + + + + + +
/proc/starsConvert random parts of a passed in message to stars
/proc/slurMakes you speak like you're drunk
/proc/cultslurMakes you talk like you got cult stunned, which is slurring but with some dark messages
/proc/stutterAdds stuttering to the message passed in
+ + + diff --git a/code/modules/mob/say_vr.html b/code/modules/mob/say_vr.html new file mode 100644 index 00000000000..081b843d191 --- /dev/null +++ b/code/modules/mob/say_vr.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/say_vr.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/say_vr.dm + +

+ + + + +
/datum/emote/living/subtleEMOTE CODE
/datum/emote/living/subtlerSUBTLE 2: NO GHOST BOOGALOO
/datum/emote/living/subtler_tableSUBTLE 3: DARE DICE
+ + + diff --git a/code/modules/mob/typing_indicator.html b/code/modules/mob/typing_indicator.html new file mode 100644 index 00000000000..9c47c0a1265 --- /dev/null +++ b/code/modules/mob/typing_indicator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/typing_indicator.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mob/typing_indicator.dm + +

+ + +
/obj/effect/overlay/typing_indicatorDefault typing indicator
+ + + diff --git a/code/modules/mod/mod_control.html b/code/modules/mod/mod_control.html new file mode 100644 index 00000000000..0fab04258f9 --- /dev/null +++ b/code/modules/mod/mod_control.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/mod_control.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/mod_control.dm + +

+ + +
/obj/item/modMODsuits, trade-off between armor and utility
+ + + diff --git a/code/modules/mod/mod_theme.html b/code/modules/mod/mod_theme.html new file mode 100644 index 00000000000..557e74956fb --- /dev/null +++ b/code/modules/mod/mod_theme.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/mod_theme.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/mod_theme.dm + +

+ + + + +
/proc/setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
/datum/mod_themeMODsuit theme, instanced once and then used by MODsuits to grab various statistics.
+ + + diff --git a/code/modules/mod/modules/modules_engineering.html b/code/modules/mod/modules/modules_engineering.html new file mode 100644 index 00000000000..e53d7bdcfb4 --- /dev/null +++ b/code/modules/mod/modules/modules_engineering.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mod/modules/modules_engineering.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_engineering.dm + +

+ + + + + + + + + +
/obj/item/mod/module/weldingWelding Protection - Makes the helmet protect from flashes and welding.
/obj/item/mod/module/t_rayT-Ray Scan - Scans the terrain for undertile objects.
/obj/item/mod/module/magbootMagnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.
/obj/item/mod/module/tetherEmergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it.
/obj/item/mod/module/rad_protectionRadiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel.
/obj/item/mod/module/constructorConstructor - Lets you build quicker and create RCD holograms.
/obj/item/mod/module/misterMister - Sprays water over an area.
/obj/item/mod/module/mister/atmosResin Mister - Sprays resin over an area.
+ + + diff --git a/code/modules/mod/modules/modules_general.html b/code/modules/mod/modules/modules_general.html new file mode 100644 index 00000000000..f2e8d5719c4 --- /dev/null +++ b/code/modules/mod/modules/modules_general.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mod/modules/modules_general.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_general.dm + +

+ + + + + + + + +
/obj/item/mod/module/storageStorage - Adds a storage component to the suit.
/obj/item/mod/module/jetpackIon Jetpack - Lets the user fly freely through space using battery charge.
/obj/item/mod/module/mouthholeEating Apparatus - Lets the user eat/drink with the suit on.
/obj/item/mod/module/emp_shieldEMP Shield - Protects the suit from EMPs.
/obj/item/mod/module/flashlightFlashlight - Gives the suit a customizable flashlight.
/obj/item/mod/module/dispenserDispenser - Dispenses an item after a time passes.
/obj/item/mod/module/dna_lockLongfall +Thermal Regulator - Naw. +DNA Lock - Prevents people without the set DNA from activating the suit.
+ + + diff --git a/code/modules/mod/modules/modules_maint.html b/code/modules/mod/modules/modules_maint.html new file mode 100644 index 00000000000..313818cc7bd --- /dev/null +++ b/code/modules/mod/modules/modules_maint.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mod/modules/modules_maint.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_maint.dm + +

+ + + + + +
/obj/item/mod/module/springlockSign Language Translator - I want, but no +Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.
/obj/item/mod/module/balloonRave Visor - Pointless +Tanner - Maybe another time +Balloon Blower - Blows a balloon.
/obj/item/mod/module/paper_dispenserPaper Dispenser - Dispenses (sometimes burning) paper sheets.
/obj/item/mod/module/stampStamper - Extends a stamp that can switch between accept/deny modes.
+ + + diff --git a/code/modules/mod/modules/modules_medical.html b/code/modules/mod/modules/modules_medical.html new file mode 100644 index 00000000000..ca7e900f7ff --- /dev/null +++ b/code/modules/mod/modules/modules_medical.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/mod/modules/modules_medical.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/mod/modules/modules_medical.dm + +

+ + + + + + +
HEALTH_SCANAtrocinator - Perhaps another time
/obj/item/mod/module/health_analyzerHealth Analyzer - Gives the user a ranged health analyzer and their health status in the panel.
/obj/item/mod/module/quick_carryQuick Carry - Lets the user carry bodies quicker.
/obj/item/mod/module/defibrillatorInjector - No piercing syringes, replace another time +Organ Thrower +Patrient Transport +Defibrillator - Gives the suit an extendable pair of shock paddles.
/obj/item/mod/module/surgical_processorThread Ripper +Surgical Processor - Lets you do advanced surgeries portably.

Define Details

+

HEALTH_SCAN + + +

+

Atrocinator - Perhaps another time

+ + + diff --git a/code/modules/mod/modules/modules_science.html b/code/modules/mod/modules/modules_science.html new file mode 100644 index 00000000000..efd993e3060 --- /dev/null +++ b/code/modules/mod/modules/modules_science.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/modules/modules_science.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_science.dm + +

+ + + + +
/obj/item/mod/module/reagent_scannerReagent Scanner - Lets the user scan reagents.
/obj/item/mod/module/anomaly_locked/antigravAnti-Gravity - Makes the user weightless.
/obj/item/mod/module/anomaly_locked/teleporterTeleporter - Lets the user teleport to a nearby location.
+ + + diff --git a/code/modules/mod/modules/modules_security.html b/code/modules/mod/modules/modules_security.html new file mode 100644 index 00000000000..68aeac93da1 --- /dev/null +++ b/code/modules/mod/modules/modules_security.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mod/modules/modules_security.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_security.dm + +

+ + + + + +
/obj/item/mod/module/stealthCloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.
/obj/item/mod/module/magnetic_harnessMagnetic Harness - Automatically puts guns in your suit storage when you drop them.
/obj/item/mod/module/holsterPepper Shoulders +Holster - Instantly holsters any not huge gun.
/obj/item/mod/module/megaphoneMegaphone - Lets you speak loud.
+ + + diff --git a/code/modules/mod/modules/modules_service.html b/code/modules/mod/modules/modules_service.html new file mode 100644 index 00000000000..bb00b46351e --- /dev/null +++ b/code/modules/mod/modules/modules_service.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mod/modules/modules_service.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_service.dm + +

+ + + +
/obj/item/mod/module/bikehornCriminal Capture +Mirage grenade dispenser +Projectile Dampener +Active Sonar +Bike Horn - Plays a bike horn sound.
/obj/item/mod/module/microwave_beamMicrowave Beam - Microwaves items instantly.
+ + + diff --git a/code/modules/mod/modules/modules_supply.html b/code/modules/mod/modules/modules_supply.html new file mode 100644 index 00000000000..8a5b41acdcc --- /dev/null +++ b/code/modules/mod/modules/modules_supply.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/modules/modules_supply.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_supply.dm + +

+ + + + +
/obj/item/mod/module/gpsInternal GPS - Extends a GPS you can use.
/obj/item/mod/module/clampHydraulic Clamp - Lets you pick up and drop crates.
/obj/item/mod/module/drillDrill - Lets you dig through rock and basalt.
+ + + diff --git a/code/modules/mod/modules/modules_visor.html b/code/modules/mod/modules/modules_visor.html new file mode 100644 index 00000000000..67a583d2a1d --- /dev/null +++ b/code/modules/mod/modules/modules_visor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/modules/modules_visor.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_visor.dm + +

+ + +
/obj/item/mod/module/visorBase Visor - Adds a specific HUD and traits to you.
+ + + diff --git a/code/modules/modular_computers/computers/item/tablet.html b/code/modules/modular_computers/computers/item/tablet.html new file mode 100644 index 00000000000..abc84769be6 --- /dev/null +++ b/code/modules/modular_computers/computers/item/tablet.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/computers/item/tablet.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/tablet.dm + +

+ + + +
/obj/item/modular_computer/tablet/nukeopsGiven to Nuke Ops members.
/obj/item/modular_computer/tablet/integratedBorg Built-in tablet interface
+ + + diff --git a/code/modules/modular_computers/documentation.html b/code/modules/modular_computers/documentation.html new file mode 100644 index 00000000000..3dc76531393 --- /dev/null +++ b/code/modules/modular_computers/documentation.html @@ -0,0 +1,88 @@ + + + + + + + code/modules/modular_computers/documentation.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Modular computer programs + +

+ + +

How module computer programs work

+

Ok. so a quick rundown on how to make a program. This is kind of a shitty documentation, but oh well I was asked to.

+

Base setup

+

This is how the base program is setup. the rest is mostly tgui stuff. I'll use the ntnetmonitor as a base

+
/datum/computer_file/program/ntnetmonitor
+	/// This is obviously the name of the file itself. not much to be said
+	filename = "ntmonitor"
+
+	/// This is sort of the official name. it's what shows up on the main menu
+	filedesc = "NTNet Diagnostics and Monitoring"
+
+	/// This is what the screen will look like when the program is active
+	program_icon_state = "comm_monitor"
+
+	/// This is a sort of a description, visible when looking on the ntnet
+	extended_desc = "This program is a dummy."
+
+	/// size of the program. Big programs need more hard drive space. Don't
+	/// make it too big though.
+	size = 12
+
+	/// If this is set, the program will not run without an ntnet connection,
+	/// and will close if the connection is lost. Mainly for primarily online
+	/// programs.
+	requires_ntnet = 1
+
+	/// This is access required to run the program itself. ONLY SET THIS FOR
+	/// SUPER SECURE SHIT. This also acts as transfer_access as well.
+	required_access = access_network
+
+	/// This is the access needed to download from ntnet or host on the ptp
+	/// program. This is what you want to use most of the time.
+	transfer_access = access_change_ids
+
+	/// If it's available to download on ntnet. pretty self explanatory.
+	available_on_ntnet = 1
+
+	/// ditto but on emagged syndie net. Use this for antag programs
+	available_on_syndinet = 0
+
+	/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination)
+	/// or PROGRAM_ALL. Use this to limit what kind of machines can run the
+	/// program. For example, comms program should be limited to consoles and laptops.
+	usage_flags = PROGRAM_ALL
+
+	/// This one is kinda cool. If you have the program minimized, this will
+	/// show up in the header of the computer screen. You can even have the
+	/// program change what the header is based on the situation! See `alarm.dm`
+	/// for an example.
+	var/ui_header = "downloader_finished.gif"
+
+

Preinstalls

+

Now. for pre-installing stuff.

+

Primarily done for consoles, there's an install_programs() proc in the console presets file in the machines folder.

+

for example, the command console one.

+
/obj/machinery/modular_computer/console/preset/command/install_programs()
+	cpu.hard_drive.store_file(new/datum/computer_file/program/chatclient())
+	cpu.hard_drive.store_file(new/datum/computer_file/program/card_mod())
+
+

Basically, you want to do cpu.hard_drive.store_file(new/program path here()) and put it in the subtype's install_programs(). +Probably pretty self explanatory, but just in case.

+

Will probably be expanded when new features come around or I get asked to mention something.

+ + + diff --git a/code/modules/modular_computers/file_system/programs/jobmanagement.html b/code/modules/modular_computers/file_system/programs/jobmanagement.html new file mode 100644 index 00000000000..bbe861d8683 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/jobmanagement.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/jobmanagement.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/jobmanagement.dm + +

+ + +
/datum/computer_file/program/job_managementThe time since the last job opening was created
+ + + diff --git a/code/modules/modular_computers/file_system/programs/ntdownloader.html b/code/modules/modular_computers/file_system/programs/ntdownloader.html new file mode 100644 index 00000000000..1fde5ad9875 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/ntdownloader.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/ntdownloader.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/ntdownloader.dm + +

+ + +
/datum/computer_file/program/ntnetdownload/syndicateThis app only lists programs normally found in the emagged section of the normal downloader app
+ + + diff --git a/code/modules/modular_computers/file_system/programs/portrait_printer.html b/code/modules/modular_computers/file_system/programs/portrait_printer.html new file mode 100644 index 00000000000..0354153d542 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/portrait_printer.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/modular_computers/file_system/programs/portrait_printer.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/file_system/programs/portrait_printer.dm + +

+ + + +
CANVAS_PAPER_COSThow much paper it takes from the printer to create a canvas.
/datum/computer_file/program/portrait_printer

Define Details

+

CANVAS_PAPER_COST + + +

+

how much paper it takes from the printer to create a canvas.

+ + + diff --git a/code/modules/modular_computers/file_system/programs/powermonitor.html b/code/modules/modular_computers/file_system/programs/powermonitor.html new file mode 100644 index 00000000000..947b2c9d467 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/powermonitor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/powermonitor.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/powermonitor.dm + +

+ + +
/datum/computer_file/program/power_monitorthis is a copy of something that is already in the database- it should not be able to be saved.
+ + + diff --git a/code/modules/modular_computers/file_system/programs/radar.html b/code/modules/modular_computers/file_system/programs/radar.html new file mode 100644 index 00000000000..3c4ddbde8a8 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/radar.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/file_system/programs/radar.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/radar.dm + +

+ + + +
/datum/computer_file/program/radar/lifelineA program that tracks crew members via suit sensors
/datum/computer_file/program/radar/fission360A program that tracks nukes and nuclear accessories
+ + + diff --git a/code/modules/modular_computers/hardware/hard_drive.html b/code/modules/modular_computers/hardware/hard_drive.html new file mode 100644 index 00000000000..827f1fced50 --- /dev/null +++ b/code/modules/modular_computers/hardware/hard_drive.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/hardware/hard_drive.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/modular_computers/hardware/hard_drive.dm + +

+ + +
/obj/item/computer_hardware/hard_drive/small/nukeopsFor tablets given to nuke ops
+ + + diff --git a/code/modules/modular_computers/hardware/recharger.html b/code/modules/modular_computers/hardware/recharger.html new file mode 100644 index 00000000000..9c874c89901 --- /dev/null +++ b/code/modules/modular_computers/hardware/recharger.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/hardware/recharger.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/modular_computers/hardware/recharger.dm + +

+ + +
/obj/item/computer_hardware/recharger/cyborgThis recharger exists only in borg built-in tablets. I would have tied it to the borg's cell but +the program that displays laws should always be usable, and the exceptions were starting to pile.
+ + + diff --git a/code/modules/movespeed/_movespeed_modifier.html b/code/modules/movespeed/_movespeed_modifier.html new file mode 100644 index 00000000000..c518605c690 --- /dev/null +++ b/code/modules/movespeed/_movespeed_modifier.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/movespeed/_movespeed_modifier.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/movespeed/_movespeed_modifier.dm + +

+ + + + + + + +

Movespeed modification datums.

+
How move speed for mobs works
+
+

Move speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of movespeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update move speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Movespeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update movespeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

+

Key procs

+
/proc/get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: multiplicative slowdown), modify the datum +5. Update if necessary

+
/proc/movespeed_data_null_checkChecks if a move speed modifier is valid and not missing any data
+ + + diff --git a/code/modules/newscaster/news_network.html b/code/modules/newscaster/news_network.html new file mode 100644 index 00000000000..d73e390ca88 --- /dev/null +++ b/code/modules/newscaster/news_network.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/newscaster/news_network.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/newscaster/news_network.dm + +

+ + +
/datum/news_networkContains all the news datum of a newscaster system.
+ + + diff --git a/code/modules/ninja/energy_katana.html b/code/modules/ninja/energy_katana.html new file mode 100644 index 00000000000..64eb2f518d9 --- /dev/null +++ b/code/modules/ninja/energy_katana.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/energy_katana.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/energy_katana.dm + +

+ + +
/obj/item/energy_katanaThe space ninja's katana.
+ + + diff --git a/code/modules/ninja/ninja_explosive.html b/code/modules/ninja/ninja_explosive.html new file mode 100644 index 00000000000..4929a3d9f84 --- /dev/null +++ b/code/modules/ninja/ninja_explosive.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/ninja/ninja_explosive.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/ninja_explosive.dm + +

+ + +
/obj/item/grenade/plastic/c4/ninjaA unique version of c4 possessed only by the space ninja. Has a stronger blast radius. +Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. +When it primes, the space ninja responsible will have their objective set to complete.
+ + + diff --git a/code/modules/ninja/suit/gloves.html b/code/modules/ninja/suit/gloves.html new file mode 100644 index 00000000000..5eeb4fbe73f --- /dev/null +++ b/code/modules/ninja/suit/gloves.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/gloves.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/suit/gloves.dm + +

+ + +
/obj/item/clothing/gloves/space_ninjaSpace ninja's gloves. Gives access to a number of special interactions.
+ + + diff --git a/code/modules/ninja/suit/head.html b/code/modules/ninja/suit/head.html new file mode 100644 index 00000000000..bca91aa1b5d --- /dev/null +++ b/code/modules/ninja/suit/head.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/head.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/suit/head.dm + +

+ + +
/obj/item/clothing/head/helmet/space/space_ninjaSpace ninja's hood. Provides armor and blocks AI tracking.
+ + + diff --git a/code/modules/ninja/suit/mask.html b/code/modules/ninja/suit/mask.html new file mode 100644 index 00000000000..db9f971a60c --- /dev/null +++ b/code/modules/ninja/suit/mask.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/mask.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/suit/mask.dm + +

+ + +
/obj/item/clothing/mask/gas/space_ninjaSpace ninja's mask. Makes you sound like a real anime girl. Barely able to be considered a real upside.
+ + + diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html new file mode 100644 index 00000000000..da0e51ade7b --- /dev/null +++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm + +

+ + +
/obj/structure/energy_netEnergy net which ensnares prey until it is destroyed. Used by space ninjas.
+ + + diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html new file mode 100644 index 00000000000..85d4b741acd --- /dev/null +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm + +

+ + +
/obj/item/throwing_star/stamina/ninjaa throwing star which specifically makes sure you know it came from a real ninja.
+ + + diff --git a/code/modules/ninja/suit/shoes.html b/code/modules/ninja/suit/shoes.html new file mode 100644 index 00000000000..2cb8d62ab7f --- /dev/null +++ b/code/modules/ninja/suit/shoes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/shoes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/suit/shoes.dm + +

+ + +
/obj/item/clothing/shoes/space_ninjaSpace ninja's shoes. Gives him armor on his feet.
+ + + diff --git a/code/modules/ninja/suit/suit.html b/code/modules/ninja/suit/suit.html new file mode 100644 index 00000000000..63a36b9af92 --- /dev/null +++ b/code/modules/ninja/suit/suit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ninja/suit/suit.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ninja/suit/suit.dm + +

+ + +
/obj/item/clothing/suit/space/space_ninjaSpace ninja's suit. Provides him with most of his powers.
+ + + diff --git a/code/modules/paperwork/clipboard.html b/code/modules/paperwork/clipboard.html new file mode 100644 index 00000000000..f51f04aa832 --- /dev/null +++ b/code/modules/paperwork/clipboard.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/paperwork/clipboard.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/paperwork/clipboard.dm + +

+ + +
/obj/item/clipboardClipboard
+ + + diff --git a/code/modules/paperwork/paper.html b/code/modules/paperwork/paper.html new file mode 100644 index 00000000000..970523f0c2b --- /dev/null +++ b/code/modules/paperwork/paper.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/paperwork/paper.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/paperwork/paper.dm + +

+ + + + +
MAX_PAPER_LENGTHPaper +also scraps of paper
/obj/item/paperPaper is now using markdown (like in github pull notes) for ALL rendering +so we do loose a bit of functionality but we gain in easy of use of +paper and getting rid of that crashing bug
/obj/item/paper/constructionConstruction paper

Define Details

+

MAX_PAPER_LENGTH + + +

+

Paper +also scraps of paper

+

lipstick wiping is in code/game/objects/items/weapons/cosmetics.dm!

+ + + diff --git a/code/modules/paperwork/paper_premade.html b/code/modules/paperwork/paper_premade.html new file mode 100644 index 00000000000..12ff17a1f91 --- /dev/null +++ b/code/modules/paperwork/paper_premade.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/paperwork/paper_premade.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/paperwork/paper_premade.dm + +

+ + + + + +
/obj/item/paper/guides/jobs/hydroponicsJob guides n' fluff
/obj/item/paper/guides/cogstation/job_changesCogstation.
/obj/item/paper/fluff/stations/centcom/disk_memoCentCom
/obj/item/paper/fluff/stations/lavaland/orm_noticeLavaland
+ + + diff --git a/code/modules/paperwork/photocopier.html b/code/modules/paperwork/photocopier.html new file mode 100644 index 00000000000..e0a53dfaedb --- /dev/null +++ b/code/modules/paperwork/photocopier.html @@ -0,0 +1,62 @@ + + + + + + + code/modules/paperwork/photocopier.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/paperwork/photocopier.dm + +

+ + + + + + + + +
PHOTO_GREYSCALEFor use with the color_mode var. Photos will be printed in greyscale while the var has this value.
PHOTO_COLORFor use with the color_mode var. Photos will be printed in full color while the var has this value.
PAPER_TONER_USEHow much toner is used for making a copy of a paper.
PHOTO_TONER_USEHow much toner is used for making a copy of a photo.
DOCUMENT_TONER_USEHow much toner is used for making a copy of a document.
ASS_TONER_USEHow much toner is used for making a copy of an ass.
MAX_COPIES_AT_ONCEThe maximum amount of copies you can make with one press of the copy button.

Define Details

+

ASS_TONER_USE + + +

+

How much toner is used for making a copy of an ass.

DOCUMENT_TONER_USE + + +

+

How much toner is used for making a copy of a document.

MAX_COPIES_AT_ONCE + + +

+

The maximum amount of copies you can make with one press of the copy button.

PAPER_TONER_USE + + +

+

How much toner is used for making a copy of a paper.

PHOTO_COLOR + + +

+

For use with the color_mode var. Photos will be printed in full color while the var has this value.

PHOTO_GREYSCALE + + +

+

For use with the color_mode var. Photos will be printed in greyscale while the var has this value.

PHOTO_TONER_USE + + +

+

How much toner is used for making a copy of a photo.

+ + + diff --git a/code/modules/plumbing/ducts.html b/code/modules/plumbing/ducts.html new file mode 100644 index 00000000000..18e5c224bea --- /dev/null +++ b/code/modules/plumbing/ducts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/ducts.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/ducts.dm + +

+ + +
/obj/machinery/duct/multilayeredhas a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect.
+ + + diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.html b/code/modules/plumbing/plumbers/_plumb_machinery.html new file mode 100644 index 00000000000..74f1d442a4b --- /dev/null +++ b/code/modules/plumbing/plumbers/_plumb_machinery.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/plumbing/plumbers/_plumb_machinery.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/_plumb_machinery.dm + +

+ + + + +
/obj/machinery/plumbingBasic plumbing object. +It doesn't really hold anything special, YET. +Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank +Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it
/obj/machinery/plumbing/inputWe can empty beakers in here and everything
/obj/machinery/plumbing/outputWe can fill beakers in here and everything. we dont inheret from input because it has nothing that we need
+ + + diff --git a/code/modules/plumbing/plumbers/acclimator.html b/code/modules/plumbing/plumbers/acclimator.html new file mode 100644 index 00000000000..3a714091ffc --- /dev/null +++ b/code/modules/plumbing/plumbers/acclimator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/acclimator.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/acclimator.dm + +

+ + +
/obj/machinery/plumbing/acclimatorthis the plumbing version of a heater/freezer.
+ + + diff --git a/code/modules/plumbing/plumbers/destroyer.html b/code/modules/plumbing/plumbers/destroyer.html new file mode 100644 index 00000000000..aba34b38164 --- /dev/null +++ b/code/modules/plumbing/plumbers/destroyer.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/plumbing/plumbers/destroyer.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/destroyer.dm + +

+ + +
/obj/machinery/plumbing/disposersee if machine has enough to fill +pick a reagent_container that could be used +see if it would overflow else inject +glass was full so we move it away +slime extracts need inject +no need to move slimecross industrial things
+ + + diff --git a/code/modules/plumbing/plumbers/filter.html b/code/modules/plumbing/plumbers/filter.html new file mode 100644 index 00000000000..ae51cae24b8 --- /dev/null +++ b/code/modules/plumbing/plumbers/filter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/filter.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/filter.dm + +

+ + +
/obj/machinery/plumbing/filterchemical plumbing filter. If it's not filtered by left and right, it goes straight.
+ + + diff --git a/code/modules/plumbing/plumbers/pill_press.html b/code/modules/plumbing/plumbers/pill_press.html new file mode 100644 index 00000000000..ec9f37628bf --- /dev/null +++ b/code/modules/plumbing/plumbers/pill_press.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/pill_press.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/pill_press.dm + +

+ + +
/obj/machinery/plumbing/pill_pressWe take a constant input of reagents, and produce a pill once a set volume is reached
+ + + diff --git a/code/modules/plumbing/plumbers/pumps.html b/code/modules/plumbing/plumbers/pumps.html new file mode 100644 index 00000000000..8fc855567bd --- /dev/null +++ b/code/modules/plumbing/plumbers/pumps.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/pumps.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/pumps.dm + +

+ + +
/obj/machinery/plumbing/liquid_pumpWe pump liquids from activated(plungerated) geysers to a plumbing outlet. We don't need to be wired.
+ + + diff --git a/code/modules/plumbing/plumbers/reaction_chamber.html b/code/modules/plumbing/plumbers/reaction_chamber.html new file mode 100644 index 00000000000..16dadc2a9f9 --- /dev/null +++ b/code/modules/plumbing/plumbers/reaction_chamber.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/reaction_chamber.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/reaction_chamber.dm + +

+ + +
/obj/machinery/plumbing/reaction_chambera reaction chamber for plumbing. pretty much everything can react, but this one keeps the reagents seperated and only reacts under your given terms
+ + + diff --git a/code/modules/plumbing/plumbers/splitters.html b/code/modules/plumbing/plumbers/splitters.html new file mode 100644 index 00000000000..390ded80e96 --- /dev/null +++ b/code/modules/plumbing/plumbers/splitters.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/splitters.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/splitters.dm + +

+ + +
/obj/machinery/plumbing/splitterit splits the reagents however you want. So you can "every 60 units, 45 goes left and 15 goes straight". The side direction is EAST, you can change this in the component
+ + + diff --git a/code/modules/plumbing/plumbers/synthesizer.html b/code/modules/plumbing/plumbers/synthesizer.html new file mode 100644 index 00000000000..8bc7280674c --- /dev/null +++ b/code/modules/plumbing/plumbers/synthesizer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/synthesizer.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/synthesizer.dm + +

+ + +
/obj/machinery/plumbing/synthesizerA single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories
+ + + diff --git a/code/modules/power/apc.html b/code/modules/power/apc.html new file mode 100644 index 00000000000..7514ff7a12c --- /dev/null +++ b/code/modules/power/apc.html @@ -0,0 +1,212 @@ + + + + + + + code/modules/power/apc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/power/apc.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
APC_ELECTRONICS_MISSINGThere are no electronics in the APC.
APC_ELECTRONICS_INSTALLEDThe electronics are installed but not secured.
APC_ELECTRONICS_SECUREDThe electronics are installed and secured.
APC_COVER_CLOSEDThe APCs cover is closed.
APC_COVER_OPENEDThe APCs cover is open.
APC_COVER_REMOVEDThe APCs cover is missing.
APC_NOT_CHARGINGThe APC is not charging.
APC_CHARGINGThe APC is charging.
APC_FULLY_CHARGEDThe APC is fully charged.
APC_CHANNEL_OFFThe APCs power channel is manually set off.
APC_CHANNEL_AUTO_OFFThe APCs power channel is automatically off.
APC_CHANNEL_ONThe APCs power channel is manually set on.
APC_CHANNEL_AUTO_ONThe APCs power channel is automatically on.
AUTOSET_FORCE_OFFThe APC turns automated and manual power channels off.
AUTOSET_OFFThe APC turns automated power channels off.
AUTOSET_ONThe APC turns automated power channels on.
APC_NO_POWERThe APC either isn't attached to a powernet or there is no power on the external powernet.
APC_LOW_POWERThe APCs external powernet does not have enough power to charge the APC.
APC_HAS_POWERThe APCs external powernet has enough power to charge the APC.
APC_DRAIN_TIMEHow long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.
APC_POWER_GAINHow much power ethereals gain/drain from APCs.
APC_RESET_EMPThe wire value used to reset the APCs wires after one's EMPed.
UPSTATE_COVER_SHIFTThe bit shift for the APCs cover status.
UPSTATE_OPENED1The bitflag representing the APCs cover being open for icon purposes.
UPSTATE_OPENED2The bitflag representing the APCs cover being missing for icon purposes.
UPSTATE_CELL_INThe APC has a power cell.
UPSTATE_BROKEThe APC is broken or damaged.
UPSTATE_MAINTThe APC is undergoing maintenance.
UPSTATE_BLUESCREENThe APC is emagged or malfed.
UPSTATE_WIREEXPThe APCs wires are exposed.
UPOVERLAY_OPERATINGBitflag indicating that the APCs operating status overlay should be shown.
UPOVERLAY_LOCKEDBitflag indicating that the APCs locked status overlay should be shown.
UPOVERLAY_CHARGING_SHIFTBit shift for the charging status of the APC.
UPOVERLAY_EQUIPMENT_SHIFTBit shift for the equipment status of the APC.
UPOVERLAY_LIGHTING_SHIFTBit shift for the lighting channel status of the APC.
UPOVERLAY_ENVIRON_SHIFTBit shift for the environment channel status of the APC.
UPOVERLAY_HIJACKEDUpdate for hijack overlays

Define Details

+

APC_CHANNEL_AUTO_OFF + + +

+

The APCs power channel is automatically off.

APC_CHANNEL_AUTO_ON + + +

+

The APCs power channel is automatically on.

APC_CHANNEL_OFF + + +

+

The APCs power channel is manually set off.

APC_CHANNEL_ON + + +

+

The APCs power channel is manually set on.

APC_CHARGING + + +

+

The APC is charging.

APC_COVER_CLOSED + + +

+

The APCs cover is closed.

APC_COVER_OPENED + + +

+

The APCs cover is open.

APC_COVER_REMOVED + + +

+

The APCs cover is missing.

APC_DRAIN_TIME + + +

+

How long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.

APC_ELECTRONICS_INSTALLED + + +

+

The electronics are installed but not secured.

APC_ELECTRONICS_MISSING + + +

+

There are no electronics in the APC.

APC_ELECTRONICS_SECURED + + +

+

The electronics are installed and secured.

APC_FULLY_CHARGED + + +

+

The APC is fully charged.

APC_HAS_POWER + + +

+

The APCs external powernet has enough power to charge the APC.

APC_LOW_POWER + + +

+

The APCs external powernet does not have enough power to charge the APC.

APC_NOT_CHARGING + + +

+

The APC is not charging.

APC_NO_POWER + + +

+

The APC either isn't attached to a powernet or there is no power on the external powernet.

APC_POWER_GAIN + + +

+

How much power ethereals gain/drain from APCs.

APC_RESET_EMP + + +

+

The wire value used to reset the APCs wires after one's EMPed.

AUTOSET_FORCE_OFF + + +

+

The APC turns automated and manual power channels off.

AUTOSET_OFF + + +

+

The APC turns automated power channels off.

AUTOSET_ON + + +

+

The APC turns automated power channels on.

UPOVERLAY_CHARGING_SHIFT + + +

+

Bit shift for the charging status of the APC.

UPOVERLAY_ENVIRON_SHIFT + + +

+

Bit shift for the environment channel status of the APC.

UPOVERLAY_EQUIPMENT_SHIFT + + +

+

Bit shift for the equipment status of the APC.

UPOVERLAY_HIJACKED + + +

+

Update for hijack overlays

UPOVERLAY_LIGHTING_SHIFT + + +

+

Bit shift for the lighting channel status of the APC.

UPOVERLAY_LOCKED + + +

+

Bitflag indicating that the APCs locked status overlay should be shown.

UPOVERLAY_OPERATING + + +

+

Bitflag indicating that the APCs operating status overlay should be shown.

UPSTATE_BLUESCREEN + + +

+

The APC is emagged or malfed.

UPSTATE_BROKE + + +

+

The APC is broken or damaged.

UPSTATE_CELL_IN + + +

+

The APC has a power cell.

UPSTATE_COVER_SHIFT + + +

+

The bit shift for the APCs cover status.

UPSTATE_MAINT + + +

+

The APC is undergoing maintenance.

UPSTATE_OPENED1 + + +

+

The bitflag representing the APCs cover being open for icon purposes.

UPSTATE_OPENED2 + + +

+

The bitflag representing the APCs cover being missing for icon purposes.

UPSTATE_WIREEXP + + +

+

The APCs wires are exposed.

+ + + diff --git a/code/modules/power/reactor/rbmk.html b/code/modules/power/reactor/rbmk.html new file mode 100644 index 00000000000..1c4ce477a1d --- /dev/null +++ b/code/modules/power/reactor/rbmk.html @@ -0,0 +1,54 @@ + + + + + + + code/modules/power/reactor/rbmk.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/power/reactor/rbmk.dm + +

+ + +
/obj/machinery/atmospherics/components/trinary/nuclear_reactorWhat is this? +Moderators list (Not gonna keep this accurate forever): +Fuel Type: +Oxygen: Power production multiplier. Allows you to run a low plasma, high oxy mix, and still get a lot of power. +Plasma: Power production gas. More plasma -> more power, but it enriches your fuel and makes the reactor much, much harder to control. +Tritium: Extremely efficient power production gas. Will cause chernobyl if used improperly. +Moderation Type: +N2: Helps you regain control of the reaction by increasing control rod effectiveness, will massively boost the rad production of the reactor. +CO2: Super effective shutdown gas for runaway reactions. MASSIVE RADIATION PENALTY! +Pluoxium: Same as N2, but no cancer-rads! +Permeability Type: +BZ: Increases your reactor's ability to transfer its heat to the coolant, thus letting you cool it down faster (but your output will get hotter) +Water Vapour: More efficient permeability modifier +Hyper Noblium: Extremely efficient permeability increase. (10x as efficient as bz) +Depletion type: +Nitryl: When you need weapons grade plutonium yesterday. Causes your fuel to deplete much, much faster. Not a huge amount of use outside of sabotage. +Sabotage: +Meltdown: +Flood reactor moderator with plasma, they won't be able to mitigate the reaction with control rods. +Shut off coolant entirely. Raise control rods. +Swap all fuel out with spent fuel, as it's way stronger. +Blowout: +Shut off exit valve for quick overpressure. +Cause a pipefire in the coolant line (LETHAL). +Tack heater onto coolant line (can also cause straight meltdown) +Tips: +Be careful to not exhaust your plasma supply. I recommend you DON'T max out the moderator input when youre running plasma + o2, or you're at a tangible risk of running out of those gasses from atmos. +The reactor CHEWS through moderator. It does not do this slowly. Be very careful with that!
+ + + diff --git a/code/modules/power/singularity/generator.html b/code/modules/power/singularity/generator.html new file mode 100644 index 00000000000..7ba999ab3dd --- /dev/null +++ b/code/modules/power/singularity/generator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/singularity/generator.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/power/singularity/generator.dm + +

+ + +
/obj/machinery/the_singularitygenSINGULARITY SPAWNER
+ + + diff --git a/code/modules/power/supermatter/supermatter.html b/code/modules/power/supermatter/supermatter.html new file mode 100644 index 00000000000..535a2868a88 --- /dev/null +++ b/code/modules/power/supermatter/supermatter.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/power/supermatter/supermatter.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/power/supermatter/supermatter.dm + +

+ + +
SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWNto prevent accent sounds from layering

Define Details

+

SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWN + + +

+

to prevent accent sounds from layering

+ + + diff --git a/code/modules/projectiles/guns/ballistic/magweapon.html b/code/modules/projectiles/guns/ballistic/magweapon.html new file mode 100644 index 00000000000..b2088c0f681 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/magweapon.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/ballistic/magweapon.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/magweapon.dm + +

+ + +
/obj/item/gun/ballistic/automatic/magrifle/pistolmagpistol
+ + + diff --git a/code/modules/projectiles/guns/ballistic/pistol.html b/code/modules/projectiles/guns/ballistic/pistol.html new file mode 100644 index 00000000000..badbeaff97d --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/pistol.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/ballistic/pistol.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/pistol.dm + +

+ + +
/obj/item/gun/ballistic/automatic/pistol/antitankAnti Tank Pistol
+ + + diff --git a/code/modules/projectiles/guns/energy/laser.html b/code/modules/projectiles/guns/energy/laser.html new file mode 100644 index 00000000000..1f93b4f0ec6 --- /dev/null +++ b/code/modules/projectiles/guns/energy/laser.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/energy/laser.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/energy/laser.dm + +

+ + + +
/obj/item/gun/energy/lasercannonLaser Cannon
/obj/item/gun/energy/laser/bluetagLaser Tag
+ + + diff --git a/code/modules/projectiles/guns/misc/medbeam.html b/code/modules/projectiles/guns/misc/medbeam.html new file mode 100644 index 00000000000..b2c37c77e97 --- /dev/null +++ b/code/modules/projectiles/guns/misc/medbeam.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/misc/medbeam.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/misc/medbeam.dm + +

+ + +
/obj/item/gun/medbeam/mechMech Version
+ + + diff --git a/code/modules/projectiles/projectile.html b/code/modules/projectiles/projectile.html new file mode 100644 index 00000000000..3d83ab63a28 --- /dev/null +++ b/code/modules/projectiles/projectile.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/projectiles/projectile.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/projectiles/projectile.dm + +

+ + + + + +
MINIMUM_PIXELS_TO_ANIMATEMinimum projectile pixels to move before it animate()S, below this it's a direct set.
PROJECTILE_FIRING_INSTANT_TRAVEL_AMOUNTPixels to instantly travel on firing.
/proc/is_energy_reflectable_projectile//// MISC HELPERS //////// +Is this atom reflectable with ""standardized"" reflection methods like you know eshields and deswords and similar

Define Details

+

MINIMUM_PIXELS_TO_ANIMATE + + +

+

Minimum projectile pixels to move before it animate()S, below this it's a direct set.

PROJECTILE_FIRING_INSTANT_TRAVEL_AMOUNT + + +

+

Pixels to instantly travel on firing.

+ + + diff --git a/code/modules/reagents/chem_wiki_render.html b/code/modules/reagents/chem_wiki_render.html new file mode 100644 index 00000000000..959f32e421a --- /dev/null +++ b/code/modules/reagents/chem_wiki_render.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chem_wiki_render.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chem_wiki_render.dm + +

+ + + +
/proc/generate_chemwiki_linedatum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium, +datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi, /datum/reagent/drug, /datum/reagent/impure
+ + + diff --git a/code/modules/reagents/chemistry.html b/code/modules/reagents/chemistry.html new file mode 100644 index 00000000000..404c7014b76 --- /dev/null +++ b/code/modules/reagents/chemistry.html @@ -0,0 +1,269 @@ + + + + + + + code/modules/reagents/chemistry/readme.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/readme.md + +

+ + +

NOTE: IF YOU UPDATE THE REAGENT-SYSTEM, ALSO UPDATE THIS README.

+
Structure: ///////////////////          //////////////////////////
+		   // Mob or object // -------> // Reagents var (datum) // 	    Is a reference to the datum that holds the reagents.
+		   ///////////////////          //////////////////////////
+		   			|				    			 |
+    The object that holds everything.   			 V
+		   							      reagent_list var (list)   	A List of datums, each datum is a reagent.
+
+		   							      |          |          |
+		   							      V          V          V
+
+		   							         reagents (datums)	    	Reagents. I.e. Water , cryoxadone or mercury.
+
+

Random important notes:

+

An objects on_reagent_change will be called every time the objects reagents change. Useful if you want to update the objects icon etc.

+

About the Holder:

+

The holder (reagents datum) is the datum that holds a list of all reagents currently in the object.It also has all the procs needed to manipulate reagents

+
		remove_any(var/amount)
+			This proc removes reagents from the holder until the passed amount
+			is matched. It'll try to remove some of ALL reagents contained.
+
+		remove_all(var/amount)
+			This proc removes reagents from the holder equally.
+
+		trans_to(var/obj/target, var/amount)
+			This proc equally transfers the contents of the holder to another
+			objects holder. You need to pass it the object (not the holder) you want
+			to transfer to and the amount you want to transfer. Its return value is the
+			actual amount transfered (if one of the objects is full/empty)
+
+		trans_id_to(var/obj/target, var/reagent, var/amount)
+			Same as above but only for a specific reagent in the reagent list.
+			If the specified amount is greater than what is available, it will use
+			the amount of the reagent that is available. If no reagent exists, returns null.
+
+		metabolize(var/mob/living/carbon/C)
+			This proc is called by the mobs life proc. It simply calls on_mob_life for
+			all contained reagents. You shouldnt have to use this one directly.
+
+		handle_reactions()
+			This proc check all recipes and, on a match, uses them.
+			It will also call the recipe's on_reaction proc (for explosions or w/e).
+			Currently, this proc is automatically called by trans_to.
+
+		isolate_reagent(var/reagent)
+			Pass it a reagent id and it will remove all reagents but that one.
+			It's that simple.
+
+		del_reagent(var/reagent)
+			Completely remove the reagent with the matching id.
+
+		reaction_fire(exposed_temp)
+			Simply calls the reaction_fire procs of all contained reagents.
+
+		update_total()
+			This one simply updates the total volume of the holder.
+			(the volume of all reagents added together)
+
+		clear_reagents()
+			This proc removes ALL reagents from the holder.
+
+		reaction(var/atom/A, var/method=TOUCH, var/volume_modifier=0)
+			This proc calls the appropriate reaction procs of the reagents.
+			I.e. if A is an object, it will call the reagents reaction_obj
+			proc. The method var is used for reaction on mobs. It simply tells
+			us if the mob TOUCHed the reagent, if it INGESTed the reagent, if the reagent
+			was VAPORIZEd on them, if the reagent was INJECTed,	or transfered via a PATCH to them.
+			Since the volume can be checked in a reagents proc, you might want to
+			use the volume_modifier var to modifiy the passed value without actually
+			changing the volume of the reagents.
+			If you're not sure if you need to use this the answer is very most likely 'No'.
+			You'll want to use this proc whenever an atom first comes in
+			contact with the reagents of a holder. (in the 'splash' part of a beaker i.e.)
+			More on the reaction in the reagent part of this readme.
+
+		add_reagent(var/reagent, var/amount, var/data)
+			Attempts to add X of the matching reagent to the holder.
+			You wont use this much. Mostly in new procs for pre-filled
+			objects.
+
+		remove_reagent(var/reagent, var/amount)
+			The exact opposite of the add_reagent proc.
+
+		has_reagent(var/reagent, var/amount)
+			Returns 1 if the holder contains this reagent.
+			Or 0 if not.
+			If you pass it an amount it will additionally check
+			if the amount is matched. This is optional.
+
+		get_reagent_amount(var/reagent)
+			Returns the amount of the matching reagent inside the
+			holder. Returns 0 if the reagent is missing.
+
+		Important variables:
+
+			total_volume
+				This variable contains the total volume of all reagents in this holder.
+
+			reagent_list
+				This is a list of all contained reagents. More specifically, references
+				to the reagent datums.
+
+			maximum_volume
+				This is the maximum volume of the holder.
+
+			my_atom
+				This is the atom the holder is 'in'. Useful if you need to find the location.
+				(i.e. for explosions)
+
+

About Reagents:

+

Reagents are all the things you can mix and fille in bottles etc. This can be anything from rejuvs over water to ... iron. Each reagent also has a few procs - i'll explain those below.

+
		reaction_mob(var/mob/living/L, var/method=TOUCH)
+			This is called by the holder's reation proc.
+			This version is only called when the reagent
+			reacts with a mob. The method var can be either
+			TOUCH or INGEST. You'll want to put stuff like
+			acid-facemelting in here.
+
+		reaction_obj(var/obj/O)
+			This is called by the holder's reation proc.
+			This version is called when the reagents reacts
+			with an object. You'll want to put stuff like
+			object melting in here ... or something. i dunno.
+
+		reaction_turf(var/turf/T)
+			This is called by the holder's reation proc.
+			This version is called when the reagents reacts
+			with a turf. You'll want to put stuff like extra
+			slippery floors for lube or something in here.
+
+		on_mob_life(var/mob/living/L)
+			This proc is called everytime the mobs life proc executes.
+			This is the place where you put damage for toxins ,
+			drowsyness for sleep toxins etc etc.
+			You'll want to call the parents proc by using ..() .
+			If you dont, the chemical will stay in the mob forever -
+			unless you write your own piece of code to slowly remove it.
+			(Should be pretty easy, 1 line of code)
+
+

Important variables:

+
		holder
+			This variable contains a reference to the holder the chemical is 'in'
+
+		volume
+			This is the volume of the reagent.
+
+		id
+			The id of the reagent
+
+		name
+			The name of the reagent.
+
+		data
+			This var can be used for whatever the fuck you want. I used it for the sleep
+			toxins to make them work slowly instead of instantly. You could also use this
+			for DNA in a blood reagent or ... well whatever you want.
+
+		color
+			This is a hexadecimal color that represents the reagent outside of containers,
+			you define it as "#RRGGBB", or, red green blue. You can also define it using the
+			rgb() proc, which returns a hexadecimal value too. The color is black by default.
+
+

A good website for color calculations: http://www.psyclops.com/tools/rgb/

+

About Recipes:

+

Recipes are simple datums that contain a list of required reagents and a result. They also have a proc that is called when the recipe is matched.

+
		on_reaction(var/datum/reagents/holder, var/created_volume)
+			This proc is called when the recipe is matched.
+			You'll want to add explosions etc here.
+			To find the location you'll have to do something
+			like get_turf(holder.my_atom)
+
+		name & id
+			Should be pretty obvious.
+
+		results
+			This var contains a list of the id(s) of the resulting reagents and their result amounts.
+			I recommend you set this to the total volume of all required reagent.
+
+		required_reagents
+			This is a list of ids of the required reagents.
+			Each id also needs an associated value that gives us the minimum required amount
+			of that reagent. The handle_reaction proc can detect mutiples of the same recipes
+			so for most cases you want to set the required amount to 1.
+
+		required_catalysts
+			This is a list of the ids of the required catalysts.
+			Functionally similar to required_reagents, it is a list of reagents that are required
+			for the reaction. However, unlike required_reagents, catalysts are NOT consumed.
+			They mearly have to be present in the container.
+
+		required_container
+			The container the recipe has to take place in in order to happen. Leave this blank/null
+			if you want the reaction to happen anywhere.
+
+		required_other
+			Basically like a reagent's data variable. You can set extra requirements for a
+			reaction with this.
+
+		required_temp
+			This is the required temperature.
+
+

About the Tools:

+

By default, all atom have a reagents var - but its empty. if you want to use an object for the chem. system you'll need to add something like this in its new proc:

+
		var/datum/reagents/R = new/datum/reagents(100) <<<<< create a new datum , 100 is the maximum_volume of the new holder datum.
+		reagents = R <<<<< assign the new datum to the objects reagents var
+		R.my_atom = src <<<<< set the holders my_atom to src so that we know where we are.
+
+		This can also be done by calling a convenience proc:
+		atom/proc/create_reagents(var/max_volume)
+
+

Other important stuff:

+
		amount_per_transfer_from_this var
+			This var is mostly used by beakers and bottles.
+			It simply tells us how much to transfer when
+			'pouring' our reagents into something else.
+
+		atom/proc/is_open_container()
+			Checks atom/var/reagents.reagents_holder_flags & OPENCONTAINER.
+			If this returns 1 , you can use syringes, beakers etc
+			to manipulate the contents of this object.
+			If it's 0, you'll need to write your own custom reagent
+			transfer code since you will not be able to use the standard
+			tools to manipulate it.
+
+		atom/proc/is_injectable()
+			Checks if something can be injected to.
+			If this returns 1, you can use syringes and droppers
+			to draw from and add to the contents of this object.
+
+		atom/proc/is_drawable()
+			Checks if something can be drawn from.
+			If this returns 1, you can use syringes and droppers
+			to draw from the contents of this object.
+
+

GOON CHEMS README:

+

Credit goes to Cogwerks, and all the other goonstation coders for the original idea and implementation of this over at goonstation.

+
    +
  • THE REQUESTED DON'T PORT LIST: IF YOU PORT THESE THE GOONS WILL MURDER US IN OUR SLEEP SO PLEASE DON'T KTHX - Iamgoofball
  • +
  • Any of the Secret Chems
  • +
  • Goon in-joke chems (Eg. Cat Drugs, Hairgrownium)
  • +
  • Liquid Electricity
  • +
  • Rajajajah
  • +
+ + + diff --git a/code/modules/reagents/chemistry/fermi.html b/code/modules/reagents/chemistry/fermi.html new file mode 100644 index 00000000000..af18f6bde1c --- /dev/null +++ b/code/modules/reagents/chemistry/fermi.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/reagents/chemistry/fermi/readme.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/fermi/readme.md + +

+ + +

How to code fermichem reactions: +First off, probably read though the readme for standard reagent mechanisms, this builds on top of that.

+

#bitflags +for datum/reagent/ you have the following options with var/chemical_flags:

+
REAGENT_DEAD_PROCESS		calls on_mob_dead() if present in a dead body
+REAGENT_DONOTSPLIT		    Do not split the chem at all during processing
+REAGENT_ONLYINVERSE		    Only invert chem, no splitting
+REAGENT_ONMOBMERGE		    Call on_mob_life proc when reagents are merging.
+REAGENT_INVISIBLE		    Doesn't appear on handheld health analyzers.
+REAGENT_FORCEONNEW		    Forces a on_new() call without a data overhead
+REAGENT_SNEAKYNAME          When inverted, the inverted chem uses the name of the original chem
+REAGENT_SPLITRETAINVOL      Retains initial volume of chem when splitting
+
+

for datum/chemical_reaction/ under var/clear_conversion

+
REACTION_CLEAR_IMPURE       Convert into impure/pure on reaction completion
+REACTION_CLEAR_INVERSE      Convert into inverse on reaction completion when purity is low enough
+
+ + + diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.html b/code/modules/reagents/chemistry/machinery/chem_dispenser.html new file mode 100644 index 00000000000..b98adb580b9 --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/machinery/chem_dispenser.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/machinery/chem_dispenser.dm + +

+ + +
/obj/machinery/chem_dispenser/apothecaryAn unique, less efficient model found in the medbay apothecary room.
+ + + diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.html b/code/modules/reagents/chemistry/reagents/alcohol_reagents.html new file mode 100644 index 00000000000..7616603a2c2 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/alcohol_reagents.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/alcohol_reagents.dm + +

+ + +
/datum/reagent/consumable/ethanolI don't know who made this header before I refactored alcohols but I'm going to fucking strangle them because it was so ugly, holy Christ
+ + + diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.html b/code/modules/reagents/chemistry/reagents/drink_reagents.html new file mode 100644 index 00000000000..6bfbaea7f1a --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/drink_reagents.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/drink_reagents.dm + +

+ + +
/datum/reagent/consumable/orangejuiceDRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum
+ + + diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.html b/code/modules/reagents/chemistry/reagents/food_reagents.html new file mode 100644 index 00000000000..8a0624686f9 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/food_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/food_reagents.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/food_reagents.dm + +

+ + +
/datum/reagent/consumable/entpolyLavaland Flora Reagents
+ + + diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.html b/code/modules/reagents/chemistry/reagents/other_reagents.html new file mode 100644 index 00000000000..32fea0f73c2 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/other_reagents.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chemistry/reagents/other_reagents.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/other_reagents.dm + +

+ + + + +
/datum/reagent/lube/superlubeStronger kind of lube. Applies TURF_WET_SUPERLUBE.
/datum/reagent/colorful_reagent/crayonpowderColoured Crayon Powder
/datum/reagent/plantnutrimentHydroponics stuff
+ + + diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.html b/code/modules/reagents/chemistry/reagents/toxin_reagents.html new file mode 100644 index 00000000000..225b1c04fcf --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/toxin_reagents.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/toxin_reagents.dm + +

+ + +
/datum/reagent/toxinPoison stuff (Toxins & Acids)
+ + + diff --git a/code/modules/reagents/chemistry/recipes/others.html b/code/modules/reagents/chemistry/recipes/others.html new file mode 100644 index 00000000000..f22c9ac4f1a --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/others.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/reagents/chemistry/recipes/others.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/others.dm + +

+ + + + + + + +
/datum/chemical_reaction/virus_foodVIROLOGY
/datum/chemical_reaction/surfactantfoam and foam precursor
/datum/chemical_reaction/ammoniaCleaning and hydroponics
/datum/chemical_reaction/acetoneOther goon stuff
/datum/chemical_reaction/white_glitter/blueGlitter
/datum/chemical_reaction/synth_bloodSynthblood
+ + + diff --git a/code/modules/reagents/reagent_containers/pill.html b/code/modules/reagents/reagent_containers/pill.html new file mode 100644 index 00000000000..a45baab22f4 --- /dev/null +++ b/code/modules/reagents/reagent_containers/pill.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/reagent_containers/pill.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/pill.dm + +

+ + + +
/obj/item/reagent_containers/pill/shadowtoxinthis pill is used only in a legion mob drop
/obj/item/reagent_containers/pill/zoomdrugs
+ + + diff --git a/code/modules/reagents/reagent_containers/spray.html b/code/modules/reagents/reagent_containers/spray.html new file mode 100644 index 00000000000..ac30765fbf1 --- /dev/null +++ b/code/modules/reagents/reagent_containers/spray.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/reagent_containers/spray.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/spray.dm + +

+ + +
/obj/item/reagent_containers/spray/waterflower/superlubeSubtype used for the lavaland clown ruin.
+ + + diff --git a/code/modules/recycling/disposal/multiz.html b/code/modules/recycling/disposal/multiz.html new file mode 100644 index 00000000000..928a039f8cb --- /dev/null +++ b/code/modules/recycling/disposal/multiz.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/recycling/disposal/multiz.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/recycling/disposal/multiz.dm + +

+ + + + +
MULTIZ_PIPE_UPDefines for determining which way a multiz disposal element should travel
MULTIZ_PIPE_DOWNDefines for determining which way a multiz disposal element should travel
/obj/structure/disposalpipe/trunk/multiz/downSet the multiz direction of your trunk. 1 = up, 2 = down

Define Details

+

MULTIZ_PIPE_DOWN + + +

+

Defines for determining which way a multiz disposal element should travel

MULTIZ_PIPE_UP + + +

+

Defines for determining which way a multiz disposal element should travel

+ + + diff --git a/code/modules/research/anomaly/explosive_compressor.html b/code/modules/research/anomaly/explosive_compressor.html new file mode 100644 index 00000000000..869b9c19f81 --- /dev/null +++ b/code/modules/research/anomaly/explosive_compressor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/anomaly/explosive_compressor.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/anomaly/explosive_compressor.dm + +

+ + +
/obj/machinery/research/explosive_compressorThe explosive compressor machine used in anomaly core production.
+ + + diff --git a/code/modules/research/anomaly/raw_anomaly.html b/code/modules/research/anomaly/raw_anomaly.html new file mode 100644 index 00000000000..803649e7100 --- /dev/null +++ b/code/modules/research/anomaly/raw_anomaly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/anomaly/raw_anomaly.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/anomaly/raw_anomaly.dm + +

+ + +
/obj/item/raw_anomaly_coreThe current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.
+ + + diff --git a/code/modules/research/designs.html b/code/modules/research/designs.html new file mode 100644 index 00000000000..180902e53c2 --- /dev/null +++ b/code/modules/research/designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs.dm + +

+ + +
/datum/design
+ + + diff --git a/code/modules/research/designs/AI_module_designs.html b/code/modules/research/designs/AI_module_designs.html new file mode 100644 index 00000000000..c8ef453a67d --- /dev/null +++ b/code/modules/research/designs/AI_module_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/AI_module_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/AI_module_designs.dm + +

+ + +
/datum/design/board/aicoreAI Module Disks
+ + + diff --git a/code/modules/research/designs/autobotter_designs.html b/code/modules/research/designs/autobotter_designs.html new file mode 100644 index 00000000000..ca2f8c3802c --- /dev/null +++ b/code/modules/research/designs/autobotter_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/autobotter_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/autobotter_designs.dm + +

+ + +
/datum/design/board/autobottlerAutoBottler Designs
+ + + diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.html new file mode 100644 index 00000000000..2eda4bef121 --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm + +

+ + +
/datum/design/rods///////Autolathe Designs/////
+ + + diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.html new file mode 100644 index 00000000000..6157b9c9d4c --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm + +

+ + +
/datum/design/apc_board///////Autolathe Designs /////
+ + + diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.html new file mode 100644 index 00000000000..08f5d4e3e5d --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm + +

+ + + +
/datum/design/kitchen_knife//////Autolathe Designs /////
/datum/design/scalpelMedical
+ + + diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.html new file mode 100644 index 00000000000..f39ca2a98ed --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm + +

+ + + +
/datum/design/beanbag_slug//////Autolathe Designs /////
/datum/design/large_welding_toolHacked Gear
+ + + diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.html new file mode 100644 index 00000000000..5e40eaa6c1c --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm + +

+ + + +
/datum/design/signaler//////Autolathe Designs /////
/datum/design/cameraMISC
+ + + diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.html new file mode 100644 index 00000000000..bede94f0178 --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm + +

+ + +
/datum/design/bucket//////Autolathe Designs//////
+ + + diff --git a/code/modules/research/designs/biogenerator_designs.html b/code/modules/research/designs/biogenerator_designs.html new file mode 100644 index 00000000000..d1d0e58b6e4 --- /dev/null +++ b/code/modules/research/designs/biogenerator_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/biogenerator_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/biogenerator_designs.dm + +

+ + +
/datum/design/milkBiogenerator Designs
+ + + diff --git a/code/modules/research/designs/bluespace_designs.html b/code/modules/research/designs/bluespace_designs.html new file mode 100644 index 00000000000..800ffe3580e --- /dev/null +++ b/code/modules/research/designs/bluespace_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/bluespace_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/bluespace_designs.dm + +

+ + +
/datum/design/beaconBlue Space
+ + + diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.html new file mode 100644 index 00000000000..0ad2408841b --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm + +

+ + +
/datum/design/boardComputer Boards
+ + + diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.html new file mode 100644 index 00000000000..af4f09c79b9 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.dm + +

+ + +
/datum/design/board/cargoCARGO Boards
+ + + diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_engi.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_engi.html new file mode 100644 index 00000000000..d175ac6ff87 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_engi.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs/comp_board_designs_engi.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs/comp_board_designs_engi.dm + +

+ + +
/datum/design/board/comm_monitorENGINE Boards
+ + + diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_medical.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_medical.html new file mode 100644 index 00000000000..579a1ee6195 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_medical.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs/comp_board_designs_medical.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs/comp_board_designs_medical.dm + +

+ + +
/datum/design/board/pandemicMEDICAL Boards
+ + + diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.html new file mode 100644 index 00000000000..380964ccc9b --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm + +

+ + +
/datum/design/board/rdcameraSCI Boards
+ + + diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_sec.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_sec.html new file mode 100644 index 00000000000..04c73692b49 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_sec.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs/comp_board_designs_sec.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs/comp_board_designs_sec.dm + +

+ + +
/datum/design/board/seccameraSECURITY Boards
+ + + diff --git a/code/modules/research/designs/computer_part_designs.html b/code/modules/research/designs/computer_part_designs.html new file mode 100644 index 00000000000..f3a52f96c04 --- /dev/null +++ b/code/modules/research/designs/computer_part_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/computer_part_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/computer_part_designs.dm + +

+ + +
/datum/design/disk/normalComputer Parts
+ + + diff --git a/code/modules/research/designs/electronics_designs.html b/code/modules/research/designs/electronics_designs.html new file mode 100644 index 00000000000..dc527e331f3 --- /dev/null +++ b/code/modules/research/designs/electronics_designs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/research/designs/electronics_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/electronics_designs.dm + +

+ + + + +
/datum/design/intellicardNon-Board Computer Stuff
/datum/design/nanite_remoteNanite Devices
/datum/design/design_diskDisk Construction Disks
+ + + diff --git a/code/modules/research/designs/limbgrower_designs.html b/code/modules/research/designs/limbgrower_designs.html new file mode 100644 index 00000000000..e567068ef6b --- /dev/null +++ b/code/modules/research/designs/limbgrower_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/limbgrower_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/limbgrower_designs.dm + +

+ + +
/datum/design/chestmobLimb Grower Designs
+ + + diff --git a/code/modules/research/designs/machine_desings/machine_designs_all_misc.html b/code/modules/research/designs/machine_desings/machine_designs_all_misc.html new file mode 100644 index 00000000000..d13dc9b3f96 --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_all_misc.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_desings/machine_designs_all_misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/machine_desings/machine_designs_all_misc.dm + +

+ + +
/datum/design/board/recyclerMISC Boards
+ + + diff --git a/code/modules/research/designs/machine_desings/machine_designs_cargo.html b/code/modules/research/designs/machine_desings/machine_designs_cargo.html new file mode 100644 index 00000000000..09f0987f654 --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_cargo.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_desings/machine_designs_cargo.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/machine_desings/machine_designs_cargo.dm + +

+ + +
/datum/design/board/ore_siloCARGO Boards
+ + + diff --git a/code/modules/research/designs/machine_desings/machine_designs_engi.html b/code/modules/research/designs/machine_desings/machine_designs_engi.html new file mode 100644 index 00000000000..4582d1f0e32 --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_engi.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_desings/machine_designs_engi.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/machine_desings/machine_designs_engi.dm + +

+ + +
/datum/design/board/smesENGINE Boards
+ + + diff --git a/code/modules/research/designs/machine_desings/machine_designs_medical.html b/code/modules/research/designs/machine_desings/machine_designs_medical.html new file mode 100644 index 00000000000..146efbcd83b --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_medical.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_desings/machine_designs_medical.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/machine_desings/machine_designs_medical.dm + +

+ + +
/datum/design/board/limbgrowerMEDICAL Boards
+ + + diff --git a/code/modules/research/designs/machine_desings/machine_designs_sci.html b/code/modules/research/designs/machine_desings/machine_designs_sci.html new file mode 100644 index 00000000000..0056b9c7540 --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_sci.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_desings/machine_designs_sci.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/machine_desings/machine_designs_sci.dm + +

+ + +
/datum/design/board/teleport_stationSCI Boards
+ + + diff --git a/code/modules/research/designs/machine_desings/machine_designs_service.html b/code/modules/research/designs/machine_desings/machine_designs_service.html new file mode 100644 index 00000000000..42f4ef52d95 --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_service.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_desings/machine_designs_service.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/machine_desings/machine_designs_service.dm + +

+ + +
/datum/design/board/gibberCIV Boards
+ + + diff --git a/code/modules/research/designs/mecha_designs.html b/code/modules/research/designs/mecha_designs.html new file mode 100644 index 00000000000..1a076c97522 --- /dev/null +++ b/code/modules/research/designs/mecha_designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/mecha_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/mecha_designs.dm + +

+ + + +
/datum/design/board/ripley_mainMecha Module Disks
/datum/design/mech_scattershotMecha Equpment
+ + + diff --git a/code/modules/research/designs/mechfabricator_designs.html b/code/modules/research/designs/mechfabricator_designs.html new file mode 100644 index 00000000000..40dd825a675 --- /dev/null +++ b/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/mechfabricator_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/mechfabricator_designs.dm + +

+ + +
/datum/design/borg_upgrade_renameBorg Upgrades
+ + + diff --git a/code/modules/research/designs/medical_designs.html b/code/modules/research/designs/medical_designs.html new file mode 100644 index 00000000000..4c6d8fba23f --- /dev/null +++ b/code/modules/research/designs/medical_designs.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/research/designs/medical_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/medical_designs.dm + +

+ + + + + + + + + + +
/datum/design/mmiMedical Tools
/datum/design/bodybagBody Bags
/datum/design/defibrillatorDefibrillator Tech
/datum/design/cyberimp_weldingCybernetic Implants
/datum/design/implanterRegular Implants
/datum/design/ipc_stomachSynth Organs
/datum/design/surgerySurgery Designs
/datum/design/basic_l_armMedical Prosthetics
/datum/design/acclimatorPlumbing
+ + + diff --git a/code/modules/research/designs/mining_designs.html b/code/modules/research/designs/mining_designs.html new file mode 100644 index 00000000000..95238aa8a3b --- /dev/null +++ b/code/modules/research/designs/mining_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/mining_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/mining_designs.dm + +

+ + +
/datum/design/cargo_expressMining
+ + + diff --git a/code/modules/research/designs/misc_designs.html b/code/modules/research/designs/misc_designs.html new file mode 100644 index 00000000000..0dfd9470f63 --- /dev/null +++ b/code/modules/research/designs/misc_designs.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/research/designs/misc_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/misc_designs.dm + +

+ + + + + + + + + + + + + +
/datum/design/health_hudHUDs
/datum/design/welding_maskMisc
/datum/design/broomJanitor Designs
/datum/design/holosignHolosign Designs
/datum/design/quantum_keycardTools
/datum/design/reactive_armourArmour
/datum/design/secliteSecurity
/datum/design/meteor_defenceMeteors
/datum/design/tackle_dolphinTackle Gloves
/datum/design/oxygen_tankInternal Tanks
/datum/design/sticky_tapeTape
/datum/design/shuttle_speed_upgradeShuttle Upgrades
+ + + diff --git a/code/modules/research/designs/nanite_designs.html b/code/modules/research/designs/nanite_designs.html new file mode 100644 index 00000000000..ec11b26ad01 --- /dev/null +++ b/code/modules/research/designs/nanite_designs.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/research/designs/nanite_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/nanite_designs.dm + +

+ + + + + + + + + +
/datum/design/nanites/metabolic_synthesisUTILITY NANITES
/datum/design/nanites/regenerativeMEDICAL NANITES
/datum/design/nanites/nervousAUGMENTATION NANITES
/datum/design/nanites/glitchDEFECTIVE NANITES
/datum/design/nanites/flesh_eatingWEAPONIZED NANITES
/datum/design/nanites/shockSUPPRESSION NANITES
/datum/design/nanites/sensor_healthSENSOR NANITES
/datum/design/nanites/kickstartNANITE PROTOCOLS
+ + + diff --git a/code/modules/research/designs/power_designs.html b/code/modules/research/designs/power_designs.html new file mode 100644 index 00000000000..10ac5330855 --- /dev/null +++ b/code/modules/research/designs/power_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/power_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/power_designs.dm + +

+ + +
/datum/design/basic_cellPower
+ + + diff --git a/code/modules/research/designs/smelting_designs.html b/code/modules/research/designs/smelting_designs.html new file mode 100644 index 00000000000..9d88bf09f11 --- /dev/null +++ b/code/modules/research/designs/smelting_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/smelting_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/smelting_designs.dm + +

+ + +
/datum/design/plasteel_alloySMELTABLE ALLOYS
+ + + diff --git a/code/modules/research/designs/stock_parts_designs.html b/code/modules/research/designs/stock_parts_designs.html new file mode 100644 index 00000000000..8200d792908 --- /dev/null +++ b/code/modules/research/designs/stock_parts_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/stock_parts_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/stock_parts_designs.dm + +

+ + +
/datum/design/RPEDStock Parts
+ + + diff --git a/code/modules/research/designs/telecomms_designs.html b/code/modules/research/designs/telecomms_designs.html new file mode 100644 index 00000000000..4adb7c2a93f --- /dev/null +++ b/code/modules/research/designs/telecomms_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/telecomms_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/telecomms_designs.dm + +

+ + +
/datum/design/board/subspace_receiverSubspace Telecomms
+ + + diff --git a/code/modules/research/designs/tool_designs.html b/code/modules/research/designs/tool_designs.html new file mode 100644 index 00000000000..7a25f20e838 --- /dev/null +++ b/code/modules/research/designs/tool_designs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/research/designs/tool_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/tool_designs.dm + +

+ + + + +
/datum/design/rcd_upgrade/framesTools
/datum/design/alienwrenchAlien Tools
/datum/design/alienscalpelAlien Surgical Tools
+ + + diff --git a/code/modules/research/designs/weapon_designs.html b/code/modules/research/designs/weapon_designs.html new file mode 100644 index 00000000000..723471bb6e3 --- /dev/null +++ b/code/modules/research/designs/weapon_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/weapon_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/designs/weapon_designs.dm + +

+ + +
/datum/design/c38/secWeapons & Ammo
+ + + diff --git a/code/modules/research/experimentor.html b/code/modules/research/experimentor.html new file mode 100644 index 00000000000..fe7b34c09b7 --- /dev/null +++ b/code/modules/research/experimentor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/experimentor.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/experimentor.dm + +

+ + +
/obj/item/relicSPECIAL ITEMS
+ + + diff --git a/code/modules/research/nanites/nanite_programs.html b/code/modules/research/nanites/nanite_programs.html new file mode 100644 index 00000000000..a376e30c7d3 --- /dev/null +++ b/code/modules/research/nanites/nanite_programs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/nanites/nanite_programs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/nanites/nanite_programs.dm + +

+ + +
/datum/nanite_program/protocolA nanite program containing a behaviour protocol. Only one protocol of each class can be active at once.
+ + + diff --git a/code/modules/research/techweb/nodes/alien_nodes.html b/code/modules/research/techweb/nodes/alien_nodes.html new file mode 100644 index 00000000000..a1ae2cf4796 --- /dev/null +++ b/code/modules/research/techweb/nodes/alien_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/alien_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/alien_nodes.dm + +

+ + +
/datum/techweb_node/alientechAlien technology
+ + + diff --git a/code/modules/research/techweb/nodes/bepis_nodes.html b/code/modules/research/techweb/nodes/bepis_nodes.html new file mode 100644 index 00000000000..23056a83ea6 --- /dev/null +++ b/code/modules/research/techweb/nodes/bepis_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/bepis_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/bepis_nodes.dm + +

+ + +
/datum/techweb_node/light_appsB.E.P.I.S. Locked Techs
+ + + diff --git a/code/modules/research/techweb/nodes/biotech_nodes.html b/code/modules/research/techweb/nodes/biotech_nodes.html new file mode 100644 index 00000000000..42057734233 --- /dev/null +++ b/code/modules/research/techweb/nodes/biotech_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/biotech_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/biotech_nodes.dm + +

+ + +
/datum/techweb_node/biotechBiotech
+ + + diff --git a/code/modules/research/techweb/nodes/bluespace_nodes.html b/code/modules/research/techweb/nodes/bluespace_nodes.html new file mode 100644 index 00000000000..cf663027e10 --- /dev/null +++ b/code/modules/research/techweb/nodes/bluespace_nodes.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/techweb/nodes/bluespace_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/bluespace_nodes.dm + +

+ + + +
/datum/techweb_node/bluespace_basicBluespace tech
/datum/techweb_node/basic_shuttle_techshuttle tech
+ + + diff --git a/code/modules/research/techweb/nodes/computer_hud_nodes.html b/code/modules/research/techweb/nodes/computer_hud_nodes.html new file mode 100644 index 00000000000..c37d62e3787 --- /dev/null +++ b/code/modules/research/techweb/nodes/computer_hud_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/computer_hud_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/computer_hud_nodes.dm + +

+ + +
/datum/techweb_node/comptechComputer tech
+ + + diff --git a/code/modules/research/techweb/nodes/engineering_nodes.html b/code/modules/research/techweb/nodes/engineering_nodes.html new file mode 100644 index 00000000000..a3e7dc15b1f --- /dev/null +++ b/code/modules/research/techweb/nodes/engineering_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/engineering_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/engineering_nodes.dm + +

+ + +
/datum/techweb_node/engineeringengineering tech
+ + + diff --git a/code/modules/research/techweb/nodes/mecha_nodes.html b/code/modules/research/techweb/nodes/mecha_nodes.html new file mode 100644 index 00000000000..e8dc9cf489b --- /dev/null +++ b/code/modules/research/techweb/nodes/mecha_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/mecha_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/mecha_nodes.dm + +

+ + +
/datum/techweb_node/mechmech technology
+ + + diff --git a/code/modules/research/techweb/nodes/medical_nodes.html b/code/modules/research/techweb/nodes/medical_nodes.html new file mode 100644 index 00000000000..fe27eaab5a7 --- /dev/null +++ b/code/modules/research/techweb/nodes/medical_nodes.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/research/techweb/nodes/medical_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/medical_nodes.dm + +

+ + + + +
/datum/techweb_node/cloningMedical
/datum/techweb_node/surplus_limbsCybernetics
/datum/techweb_node/imp_wt_surgeryAdvanced Surgery
+ + + diff --git a/code/modules/research/techweb/nodes/misc_nodes.html b/code/modules/research/techweb/nodes/misc_nodes.html new file mode 100644 index 00000000000..a7e6ce20b0c --- /dev/null +++ b/code/modules/research/techweb/nodes/misc_nodes.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/research/techweb/nodes/misc_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/misc_nodes.dm + +

+ + + + + + +
/datum/techweb_node/datatheorydata theory tech
/datum/techweb_node/basic_plasmaplasma tech
/datum/techweb_node/emp_basicEMP tech
/datum/techweb_node/clownClown tech
/datum/techweb_node/sticky_basicTape tech
+ + + diff --git a/code/modules/research/techweb/nodes/nanites_nodes.html b/code/modules/research/techweb/nodes/nanites_nodes.html new file mode 100644 index 00000000000..ec2dce202f1 --- /dev/null +++ b/code/modules/research/techweb/nodes/nanites_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/nanites_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/nanites_nodes.dm + +

+ + +
/datum/techweb_node/nanite_baseNanites
+ + + diff --git a/code/modules/research/techweb/nodes/robotics_nodes.html b/code/modules/research/techweb/nodes/robotics_nodes.html new file mode 100644 index 00000000000..9957b3c025d --- /dev/null +++ b/code/modules/research/techweb/nodes/robotics_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/robotics_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/robotics_nodes.dm + +

+ + +
/datum/techweb_node/roboticsrobotics tech
+ + + diff --git a/code/modules/research/techweb/nodes/tools_nodes.html b/code/modules/research/techweb/nodes/tools_nodes.html new file mode 100644 index 00000000000..26611157c32 --- /dev/null +++ b/code/modules/research/techweb/nodes/tools_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/tools_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/tools_nodes.dm + +

+ + +
/datum/techweb_node/basic_toolsTools
+ + + diff --git a/code/modules/research/techweb/nodes/weaponry_nodes.html b/code/modules/research/techweb/nodes/weaponry_nodes.html new file mode 100644 index 00000000000..c16f04c404f --- /dev/null +++ b/code/modules/research/techweb/nodes/weaponry_nodes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/nodes/weaponry_nodes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/techweb/nodes/weaponry_nodes.dm + +

+ + +
/datum/techweb_node/weaponryweaponry tech
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.html b/code/modules/research/xenobiology/crossbreeding/__corecross.html new file mode 100644 index 00000000000..ec20f5b3789 --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/__corecross.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/__corecross.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/crossbreeding/__corecross.dm + +

+ + +
/obj/item/slimecrossSLIME CROSSBREEDS
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.html b/code/modules/research/xenobiology/crossbreeding/_status_effects.html new file mode 100644 index 00000000000..90a3ec7421c --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/_status_effects.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/crossbreeding/_status_effects.dm + +

+ + + +
/datum/status_effect/firecookieCONSUMING EXTRACTS
/datum/status_effect/stabilizedSTABILIZED EXTRACTS
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/charged.html b/code/modules/research/xenobiology/crossbreeding/charged.html new file mode 100644 index 00000000000..a81f0ab5af6 --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/charged.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/charged.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/crossbreeding/charged.dm + +

+ + +
/obj/item/slimepotion/slime_reviverUnique things.
+ + + diff --git a/code/modules/research/xenobiology/xenobiology.html b/code/modules/research/xenobiology/xenobiology.html new file mode 100644 index 00000000000..ea486fa010f --- /dev/null +++ b/code/modules/research/xenobiology/xenobiology.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/xenobiology/xenobiology.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/xenobiology.dm + +

+ + + +
/obj/item/slime_extractSlime Extracts
/obj/item/slimepotionSlime-derived potions
+ + + diff --git a/code/modules/ruins/icemoonruin_code/hotsprings.html b/code/modules/ruins/icemoonruin_code/hotsprings.html new file mode 100644 index 00000000000..459d0e6f425 --- /dev/null +++ b/code/modules/ruins/icemoonruin_code/hotsprings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/icemoonruin_code/hotsprings.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/icemoonruin_code/hotsprings.dm + +

+ + +
/turf/open/water/cursed_springTurns whoever enters into a mob
+ + + diff --git a/code/modules/ruins/lavaland_ruin_code.html b/code/modules/ruins/lavaland_ruin_code.html new file mode 100644 index 00000000000..4db89d7bd06 --- /dev/null +++ b/code/modules/ruins/lavaland_ruin_code.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/ruins/lavaland_ruin_code.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/lavaland_ruin_code.dm + +

+ + + +
/obj/item/disk/design_disk/adv/knight_gearWizard tower item
/obj/effect/mob_spawn/human/lavaland_syndicateSyndicate Listening Post
+ + + diff --git a/code/modules/ruins/lavalandruin_code/biodome_clown_planet.html b/code/modules/ruins/lavalandruin_code/biodome_clown_planet.html new file mode 100644 index 00000000000..23ab0c4b8e9 --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/biodome_clown_planet.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/lavalandruin_code/biodome_clown_planet.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/lavalandruin_code/biodome_clown_planet.dm + +

+ + +
/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escapelavaland clown planet papers
+ + + diff --git a/code/modules/ruins/lavalandruin_code/sloth.html b/code/modules/ruins/lavalandruin_code/sloth.html new file mode 100644 index 00000000000..b552c29465f --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/sloth.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/lavalandruin_code/sloth.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/lavalandruin_code/sloth.dm + +

+ + +
/obj/item/paper/fluff/stations/lavaland/sloth/notelavaland slot ruin items
+ + + diff --git a/code/modules/ruins/lavalandruin_code/surface.html b/code/modules/ruins/lavalandruin_code/surface.html new file mode 100644 index 00000000000..afef64a2bf7 --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/surface.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/lavalandruin_code/surface.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/lavalandruin_code/surface.dm + +

+ + +
/obj/item/paper/fluff/stations/lavaland/surface/henderson_reportlavaland surface papers
+ + + diff --git a/code/modules/ruins/spaceruin_code/DJstation.html b/code/modules/ruins/spaceruin_code/DJstation.html new file mode 100644 index 00000000000..aa8eb24a70d --- /dev/null +++ b/code/modules/ruins/spaceruin_code/DJstation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/DJstation.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/DJstation.dm + +

+ + +
/obj/item/paper/fluff/ruins/djstationdjstation items
+ + + diff --git a/code/modules/ruins/spaceruin_code/TheDerelict.html b/code/modules/ruins/spaceruin_code/TheDerelict.html new file mode 100644 index 00000000000..0a59b044e9f --- /dev/null +++ b/code/modules/ruins/spaceruin_code/TheDerelict.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/ruins/spaceruin_code/TheDerelict.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/TheDerelict.dm + +

+ + + + +
/obj/item/paper/fluff/ruins/thederelict/equipmentthederelict items
/obj/machinery/computer/vaultcontrollerVault controller for use on the derelict/KS13.
/obj/machinery/door/airlock/vault/derelictAirlock that can't be deconstructed, broken or hacked.
+ + + diff --git a/code/modules/ruins/spaceruin_code/asteroid4.html b/code/modules/ruins/spaceruin_code/asteroid4.html new file mode 100644 index 00000000000..98a0dbdde7d --- /dev/null +++ b/code/modules/ruins/spaceruin_code/asteroid4.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/asteroid4.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/asteroid4.dm + +

+ + +
/obj/item/paper/fluff/ruins/asteroid4/extractionasteroid4 items
+ + + diff --git a/code/modules/ruins/spaceruin_code/bigderelict1.html b/code/modules/ruins/spaceruin_code/bigderelict1.html new file mode 100644 index 00000000000..cc6f4bf79bb --- /dev/null +++ b/code/modules/ruins/spaceruin_code/bigderelict1.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/bigderelict1.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/bigderelict1.dm + +

+ + +
/obj/item/paper/crumpled/ruins/bigderelict1/manifestbigderelict1 items
+ + + diff --git a/code/modules/ruins/spaceruin_code/clericsden.html b/code/modules/ruins/spaceruin_code/clericsden.html new file mode 100644 index 00000000000..7df0d0f7eda --- /dev/null +++ b/code/modules/ruins/spaceruin_code/clericsden.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/clericsden.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/clericsden.dm + +

+ + +
/obj/item/disk/design_disk/adv/cleric_macecleric's den items.
+ + + diff --git a/code/modules/ruins/spaceruin_code/crashedclownship.html b/code/modules/ruins/spaceruin_code/crashedclownship.html new file mode 100644 index 00000000000..e5a64b966dd --- /dev/null +++ b/code/modules/ruins/spaceruin_code/crashedclownship.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/crashedclownship.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/crashedclownship.dm + +

+ + +
/obj/item/paper/fluff/ruins/crashedclownship/true_nationcrashedclownship items
+ + + diff --git a/code/modules/ruins/spaceruin_code/deepstorage.html b/code/modules/ruins/spaceruin_code/deepstorage.html new file mode 100644 index 00000000000..2bd932c7daf --- /dev/null +++ b/code/modules/ruins/spaceruin_code/deepstorage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/deepstorage.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/deepstorage.dm + +

+ + +
/obj/item/paper/fluff/ruins/deepstorage/water_concerndeepstorage items
+ + + diff --git a/code/modules/ruins/spaceruin_code/listeningstation.html b/code/modules/ruins/spaceruin_code/listeningstation.html new file mode 100644 index 00000000000..1d04b294df5 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/listeningstation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/listeningstation.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/listeningstation.dm + +

+ + +
/obj/item/paper/fluff/ruins/listeningstation/reportslistening station
+ + + diff --git a/code/modules/ruins/spaceruin_code/miracle.html b/code/modules/ruins/spaceruin_code/miracle.html new file mode 100644 index 00000000000..074b1d50c99 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/miracle.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/miracle.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/miracle.dm + +

+ + +
/obj/item/storage/backpack/satchel/flat/secret/miracle_ruinmiracle ruin
+ + + diff --git a/code/modules/ruins/spaceruin_code/oldstation.html b/code/modules/ruins/spaceruin_code/oldstation.html new file mode 100644 index 00000000000..0145fd553a2 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/oldstation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/oldstation.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/oldstation.dm + +

+ + +
/obj/item/paper/fluff/ruins/oldstationOldstation items
+ + + diff --git a/code/modules/ruins/spaceruin_code/originalcontent.html b/code/modules/ruins/spaceruin_code/originalcontent.html new file mode 100644 index 00000000000..ee682d83f17 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/originalcontent.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/originalcontent.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/originalcontent.dm + +

+ + +
/obj/item/paper/crumpled/ruins/originalcontentoriginalcontent items
+ + + diff --git a/code/modules/ruins/spaceruin_code/skelter.html b/code/modules/ruins/spaceruin_code/skelter.html new file mode 100644 index 00000000000..ef80d60e228 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/skelter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/skelter.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/skelter.dm + +

+ + +
/obj/item/paper/fluff/ruins/skelter/clonerskelter items
+ + + diff --git a/code/modules/ruins/spaceruin_code/spacehotel.html b/code/modules/ruins/spaceruin_code/spacehotel.html new file mode 100644 index 00000000000..cc709fe3fc6 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/spacehotel.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/spacehotel.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/spacehotel.dm + +

+ + +
/obj/item/paper/fluff/ruins/spacehotel/noticespacehotel items
+ + + diff --git a/code/modules/ruins/spaceruin_code/whiteshipruin_box.html b/code/modules/ruins/spaceruin_code/whiteshipruin_box.html new file mode 100644 index 00000000000..473cdd02f44 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/whiteshipruin_box.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/ruins/spaceruin_code/whiteshipruin_box.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/ruins/spaceruin_code/whiteshipruin_box.dm + +

+ + +
/obj/item/circuitboard/computer/white_ship/ruinruined whiteship
+ + + diff --git a/code/modules/shielding/helpers.html b/code/modules/shielding/helpers.html new file mode 100644 index 00000000000..f270bd4ca6a --- /dev/null +++ b/code/modules/shielding/helpers.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/shielding/helpers.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/shielding/helpers.dm + +

+ + + + + +
/proc/hull_shielding_get_tiles_around_areaHELPER FILE FOR SHIELDING +Gets hull exterior adjacent tiles of a certain area +Area method. +EXPENSIVE. +If the area itself is already considered exterior, it'll find all tiles inside it that's next to an interior area.
/proc/hull_shielding_get_tiles_in_zGets hull adjacent exterior tiles of an entire zlevel +EXPENSIVE. +Gets the tiles in the exterior area touching to a non-exterior area
+ + + diff --git a/code/modules/shuttle/supply.html b/code/modules/shuttle/supply.html new file mode 100644 index 00000000000..377b901af00 --- /dev/null +++ b/code/modules/shuttle/supply.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/shuttle/supply.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/shuttle/supply.dm + +

+ + + +
GOODY_FREE_SHIPPING_MAXHow many goody orders we can fit in a lockbox before we upgrade to a crate
CRATE_TAXHow much to charge oversized goody orders

Define Details

+

CRATE_TAX + + +

+

How much to charge oversized goody orders

GOODY_FREE_SHIPPING_MAX + + +

+

How many goody orders we can fit in a lockbox before we upgrade to a crate

+ + + diff --git a/code/modules/spells/spell_types/cone_spells.html b/code/modules/spells/spell_types/cone_spells.html new file mode 100644 index 00000000000..f5415a4a10f --- /dev/null +++ b/code/modules/spells/spell_types/cone_spells.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/cone_spells.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/cone_spells.dm + +

+ + +
/obj/effect/proc_holder/spell/cone/staggeredThis type of cone gradually affects each level of the cone instead of affecting the entire area at once.
+ + + diff --git a/code/modules/spells/spell_types/construct_spells.html b/code/modules/spells/spell_types/construct_spells.html new file mode 100644 index 00000000000..ec2ea06b478 --- /dev/null +++ b/code/modules/spells/spell_types/construct_spells.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/construct_spells.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/construct_spells.dm + +

+ + +
/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesserConstruct Spells
+ + + diff --git a/code/modules/surgery/bone_mending.html b/code/modules/surgery/bone_mending.html new file mode 100644 index 00000000000..9085cce7fd4 --- /dev/null +++ b/code/modules/surgery/bone_mending.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/surgery/bone_mending.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/surgery/bone_mending.dm + +

+ + + + + + +
/datum/surgery/repair_bone_hairlineBONE FIXING SURGERIES////// +Repair Hairline Fracture (Severe)
/datum/surgery/repair_bone_compoundRepair Compound Fracture (Critical)
/datum/surgery_step/repair_bone_hairlineRepair Hairline Fracture (Severe)
/datum/surgery_step/reset_compound_fractureReset Compound Fracture (Crticial)
/datum/surgery_step/repair_bone_compoundRepair Compound Fracture (Crticial)
+ + + diff --git a/code/modules/surgery/burn_dressing.html b/code/modules/surgery/burn_dressing.html new file mode 100644 index 00000000000..3b1173b43c5 --- /dev/null +++ b/code/modules/surgery/burn_dressing.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/surgery/burn_dressing.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/surgery/burn_dressing.dm + +

+ + + + +
/datum/surgery/debrideBURN FIXING SURGERIES////// +Debride burnt flesh
/datum/surgery_step/debrideDebride
/datum/surgery_step/dressDressing burns
+ + + diff --git a/code/modules/surgery/healing.html b/code/modules/surgery/healing.html new file mode 100644 index 00000000000..ae332e240a9 --- /dev/null +++ b/code/modules/surgery/healing.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/surgery/healing.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/surgery/healing.dm + +

+ + + + + + + +
/datum/surgery/healing/bruteBRUTE
/datum/surgery_step/heal/brute/basicBRUTE STEPS
/datum/surgery/healing/burnBURN
/datum/surgery_step/heal/burn/basicBURN STEPS
/datum/surgery/healing/comboCOMBO
/datum/surgery_step/heal/comboCOMBO STEPS
+ + + diff --git a/code/modules/surgery/limb_augmentation.html b/code/modules/surgery/limb_augmentation.html new file mode 100644 index 00000000000..cb154dfbb18 --- /dev/null +++ b/code/modules/surgery/limb_augmentation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/limb_augmentation.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/surgery/limb_augmentation.dm + +

+ + +
/datum/surgery_step/replace_limbAUGMENTATION SURGERIES
+ + + diff --git a/code/modules/surgery/organs/eyes.html b/code/modules/surgery/organs/eyes.html new file mode 100644 index 00000000000..11dd79cd903 --- /dev/null +++ b/code/modules/surgery/organs/eyes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/organs/eyes.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/surgery/organs/eyes.dm + +

+ + +
/obj/item/organ/eyes/roboticRobotic
+ + + diff --git a/code/modules/surgery/organs/vocal_cords.html b/code/modules/surgery/organs/vocal_cords.html new file mode 100644 index 00000000000..bbc32dd4ddf --- /dev/null +++ b/code/modules/surgery/organs/vocal_cords.html @@ -0,0 +1,49 @@ + + + + + + + code/modules/surgery/organs/vocal_cords.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/surgery/organs/vocal_cords.dm + +

+ + + + + + + + + + + +
VOG_MAX_STANDARD_POWERanything above this requires adminbus, to prevent a cultist from stacking chaplain + cult + specific listener = 8x, which is enough to instantly kill someone with damage.
VOG_MAX_BURST_DAMAGEmax damage we can do in one "blast" to a listener
VOG_MAX_BURST_HEALmax healing we can do in one "blast" to a listener
/proc/voice_of_godVOICE OF GOD
/proc/get_vog_specialget special role multiplier for voice of god. No double dipping.
/obj/item/organ/vocal_cords/velvetENTHRAL VELVET CHORDS
/proc/velvetspeechFermiChem

Define Details

+

VOG_MAX_BURST_DAMAGE + + +

+

max damage we can do in one "blast" to a listener

VOG_MAX_BURST_HEAL + + +

+

max healing we can do in one "blast" to a listener

VOG_MAX_STANDARD_POWER + + +

+

anything above this requires adminbus, to prevent a cultist from stacking chaplain + cult + specific listener = 8x, which is enough to instantly kill someone with damage.

+ + + diff --git a/code/modules/surgery/repair_puncture.html b/code/modules/surgery/repair_puncture.html new file mode 100644 index 00000000000..8ff0e2498e9 --- /dev/null +++ b/code/modules/surgery/repair_puncture.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/surgery/repair_puncture.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/surgery/repair_puncture.dm + +

+ + + + + +
REALIGN_INNARDSPUNCTURE FIXING SURGERIES
/datum/surgery/repair_punctureRepair puncture wounds
/datum/surgery_step/repair_innardsrealign the blood vessels so we can reweld them
/datum/surgery_step/seal_veinsSealing the vessels back together

Define Details

+

REALIGN_INNARDS + + +

+

PUNCTURE FIXING SURGERIES

+ + + diff --git a/code/modules/surgery/robot_healing.html b/code/modules/surgery/robot_healing.html new file mode 100644 index 00000000000..bb7c19ab006 --- /dev/null +++ b/code/modules/surgery/robot_healing.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/robot_healing.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/surgery/robot_healing.dm + +

+ + +
/datum/surgery_step/robot_heal/basicSTEPS
+ + + diff --git a/code/modules/tgchat/message.html b/code/modules/tgchat/message.html new file mode 100644 index 00000000000..7f508a721e7 --- /dev/null +++ b/code/modules/tgchat/message.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgchat/message.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..c19056a691e --- /dev/null +++ b/code/modules/tgchat/to_chat.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgchat/to_chat.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..09e2d8e19d8 --- /dev/null +++ b/code/modules/tgs.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/tgs/README.md - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..4c315d9ce8e --- /dev/null +++ b/code/modules/tgs/core.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgs/core/README.md - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..900db9dcb75 --- /dev/null +++ b/code/modules/tgs/v3210.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v3210/README.md - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..e950a57cb32 --- /dev/null +++ b/code/modules/tgs/v4.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v4/README.md - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..f697be556ec --- /dev/null +++ b/code/modules/tgs/v5.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgs/v5/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

DMAPI V5 + +

+ + +

This DMAPI implements bridge requests using HTTP GET requests to TGS. It has no security restrictions.

+
    +
  • _defines.dm contains constant definitions.
  • +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
  • 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 00000000000..16e5931cbc2 --- /dev/null +++ b/code/modules/tgui/external.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgui/external.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..848bbe0b917 --- /dev/null +++ b/code/modules/tgui/states.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui/states.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..f03f38629e8 --- /dev/null +++ b/code/modules/tgui/states/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/admin.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..5300f777632 --- /dev/null +++ b/code/modules/tgui/states/always.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/always.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..57eaded5a4c --- /dev/null +++ b/code/modules/tgui/states/conscious.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/conscious.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..a15c7ba6b7a --- /dev/null +++ b/code/modules/tgui/states/contained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/contained.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..71ea620993e --- /dev/null +++ b/code/modules/tgui/states/deep_inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/deep_inventory.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..f1f1e8332d8 --- /dev/null +++ b/code/modules/tgui/states/default.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/default.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/tgui/states/default.dm + +

+ + +

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

+ + + diff --git a/code/modules/tgui/states/fun.html b/code/modules/tgui/states/fun.html new file mode 100644 index 00000000000..05c57061b7a --- /dev/null +++ b/code/modules/tgui/states/fun.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/fun.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/tgui/states/fun.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 00000000000..ddb1e48c3ba --- /dev/null +++ b/code/modules/tgui/states/hands.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/hands.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..09753c51da1 --- /dev/null +++ b/code/modules/tgui/states/human_adjacent.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/human_adjacent.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..373d2ef0110 --- /dev/null +++ b/code/modules/tgui/states/inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/inventory.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/tgui/states/inventory.dm + +

+ + +

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

+ + + diff --git a/code/modules/tgui/states/language_menu.html b/code/modules/tgui/states/language_menu.html new file mode 100644 index 00000000000..9ab327af43b --- /dev/null +++ b/code/modules/tgui/states/language_menu.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/language_menu.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/tgui/states/language_menu.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 00000000000..2555d811f90 --- /dev/null +++ b/code/modules/tgui/states/never.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/never.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..ffc377c8cd1 --- /dev/null +++ b/code/modules/tgui/states/not_incapacitated.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/not_incapacitated.dm - Nostra-13 + + +
+ Nostra-13 - + 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/notcontained.html b/code/modules/tgui/states/notcontained.html new file mode 100644 index 00000000000..166d17e1c04 --- /dev/null +++ b/code/modules/tgui/states/notcontained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/notcontained.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..08c3d43c962 --- /dev/null +++ b/code/modules/tgui/states/observer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/observer.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..1c3075ac255 --- /dev/null +++ b/code/modules/tgui/states/physical.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/physical.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/tgui/states/physical.dm + +

+ + +

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

+ + + diff --git a/code/modules/tgui/states/self.html b/code/modules/tgui/states/self.html new file mode 100644 index 00000000000..cc67d9c5e89 --- /dev/null +++ b/code/modules/tgui/states/self.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/self.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..6bb001bcf28 --- /dev/null +++ b/code/modules/tgui/states/zlevel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/zlevel.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..c62a180290c --- /dev/null +++ b/code/modules/tgui/status_composers.html @@ -0,0 +1,56 @@ + + + + + + + code/modules/tgui/status_composers.dm - Nostra-13 + + +
+ Nostra-13 - + 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_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
/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_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
/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.html b/code/modules/tgui/tgui.html new file mode 100644 index 00000000000..661d6cb5314 --- /dev/null +++ b/code/modules/tgui/tgui.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui/tgui.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..17211c8dc8a --- /dev/null +++ b/code/modules/tgui/tgui_alert.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_alert.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..e45b470046c --- /dev/null +++ b/code/modules/tgui/tgui_input_list.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgui/tgui_input_list.dm - Nostra-13 + + +
+ Nostra-13 - + 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_window.html b/code/modules/tgui/tgui_window.html new file mode 100644 index 00000000000..0acc42db452 --- /dev/null +++ b/code/modules/tgui/tgui_window.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/tgui_window.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/tgui/tgui_window.dm + +

+ + +

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

+ + + diff --git a/code/modules/tgui_panel/audio.html b/code/modules/tgui_panel/audio.html new file mode 100644 index 00000000000..26747d3a0b0 --- /dev/null +++ b/code/modules/tgui_panel/audio.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/audio.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..3112d8732c5 --- /dev/null +++ b/code/modules/tgui_panel/external.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/external.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..00fa24c641b --- /dev/null +++ b/code/modules/tgui_panel/telemetry.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/tgui_panel/telemetry.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..830d6826e4f --- /dev/null +++ b/code/modules/tgui_panel/tgui_panel.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui_panel/tgui_panel.dm - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..14981278f51 --- /dev/null +++ b/code/modules/unit_tests.html @@ -0,0 +1,71 @@ + + + + + + + code/modules/unit_tests/README.md - Nostra-13 + + +
+ Nostra-13 - + 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 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).

+

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_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 00000000000..3969031b7b3 --- /dev/null +++ b/code/modules/unit_tests/_unit_tests.html @@ -0,0 +1,71 @@ + + + + + + + code/modules/unit_tests/_unit_tests.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/unit_tests/_unit_tests.dm + +

+ + + + + + + +
TEST_ASSERTAsserts that a condition is true +If the condition is not true, fails the test
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)
UNIT_TEST_PASSEDConstants indicating unit test completion status
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_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)

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/character_saving.html b/code/modules/unit_tests/character_saving.html new file mode 100644 index 00000000000..716052bef9f --- /dev/null +++ b/code/modules/unit_tests/character_saving.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/unit_tests/character_saving.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Define Details
+
+

code/modules/unit_tests/character_saving.dm + +

+ + +
UNIT_TEST_SAVING_FLAVOR_TEXTCIT TESTS

Define Details

+

UNIT_TEST_SAVING_FLAVOR_TEXT + + +

+

CIT TESTS

+ + + diff --git a/code/modules/unit_tests/dynamic_ruleset_sanity.html b/code/modules/unit_tests/dynamic_ruleset_sanity.html new file mode 100644 index 00000000000..602c39e1c0b --- /dev/null +++ b/code/modules/unit_tests/dynamic_ruleset_sanity.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/dynamic_ruleset_sanity.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/unit_tests/dynamic_ruleset_sanity.dm + +

+ + + +
/datum/unit_test/dynamic_roundstart_ruleset_sanityVerifies that roundstart dynamic rulesets are setup properly without external configuration.
/datum/unit_test/dynamic_unique_antag_flagsVerifies that dynamic rulesets have unique antag_flag.
+ + + diff --git a/code/modules/unit_tests/spawn_mobs.html b/code/modules/unit_tests/spawn_mobs.html new file mode 100644 index 00000000000..a1daac268bc --- /dev/null +++ b/code/modules/unit_tests/spawn_mobs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spawn_mobs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/unit_tests/spawn_mobs.dm + +

+ + +
/datum/unit_test/spawn_mobsUnit test that spawns all mobs that can be spawned by golden slimes
+ + + 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 00000000000..58af1961653 --- /dev/null +++ b/code/modules/unit_tests/tgui_create_message.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/tgui_create_message.dm - Nostra-13 + + +
+ Nostra-13 - + 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/uplink/uplink_items.html b/code/modules/uplink/uplink_items.html new file mode 100644 index 00000000000..25b76bba29c --- /dev/null +++ b/code/modules/uplink/uplink_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/uplink/uplink_items.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/uplink/uplink_items.dm + +

+ + +
/datum/uplink_itemUplink Items
+ + + diff --git a/code/modules/vehicles/mecha/_mecha.html b/code/modules/vehicles/mecha/_mecha.html new file mode 100644 index 00000000000..19af986d78b --- /dev/null +++ b/code/modules/vehicles/mecha/_mecha.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/_mecha.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/_mecha.dm + +

+ + +
/obj/vehicle/sealed/mechaWELCOME TO MECHA.DM, ENJOY YOUR STAY
+ + + diff --git a/code/modules/vehicles/mecha/combat/durand.html b/code/modules/vehicles/mecha/combat/durand.html new file mode 100644 index 00000000000..e5613c658c0 --- /dev/null +++ b/code/modules/vehicles/mecha/combat/durand.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/vehicles/mecha/combat/durand.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/combat/durand.dm + +

+ + +
/obj/durand_shieldShield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.
+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.html b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html new file mode 100644 index 00000000000..a81ea04757d --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/medical_tools.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/tools/medical_tools.dm + +

+ + + +
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gunSyringe Gun
/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeamMedical Beam
+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.html b/code/modules/vehicles/mecha/equipment/tools/other_tools.html new file mode 100644 index 00000000000..ef403799bb1 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/other_tools.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/tools/other_tools.dm + +

+ + + + + + + + + +
/obj/item/mecha_parts/mecha_equipment/teleporterTELEPORTER
/obj/item/mecha_parts/mecha_equipment/wormhole_generatorWORMHOLE GENERATOR
/obj/item/mecha_parts/mecha_equipment/gravcatapultGRAVITATIONAL CATAPULT
/obj/item/mecha_parts/mecha_equipment/anticcw_armor_boosterARMOR BOOSTER MODULES
/obj/item/mecha_parts/mecha_equipment/repair_droidREPAIR DROID
/obj/item/mecha_parts/mecha_equipment/tesla_energy_relayTESLA ENERGY RELAY
/obj/item/mecha_parts/mecha_equipment/generatorGENERATOR
/obj/item/mecha_parts/mecha_equipment/thrustersTHRUSTERS
+ + + diff --git a/code/modules/vehicles/mecha/mecha_actions.html b/code/modules/vehicles/mecha/mecha_actions.html new file mode 100644 index 00000000000..9fdc07f595a --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_actions.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/mecha/mecha_actions.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_actions.dm + +

+ + + +
/datum/action/vehicle/sealed/mecha/mech_defense_modeSpecific Ability Actions
/datum/action/vehicle/sealed/mecha/swap_seatswap seats, for two person mecha
+ + + diff --git a/code/modules/vehicles/mecha/mecha_construction_paths.html b/code/modules/vehicles/mecha/mecha_construction_paths.html new file mode 100644 index 00000000000..ca2aa331ae0 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_construction_paths.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_construction_paths.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_construction_paths.dm + +

+ + +
/datum/component/construction/mechaConstruction datums
+ + + diff --git a/code/modules/vehicles/mecha/mecha_parts.html b/code/modules/vehicles/mecha/mecha_parts.html new file mode 100644 index 00000000000..49d8bd0ef68 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_parts.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/vehicles/mecha/mecha_parts.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_parts.dm + +

+ + + + + + + + + + +
/obj/item/mecha_partsMecha Parts
/obj/item/mecha_parts/chassis/ripleyRipley
/obj/item/mecha_parts/chassis/odysseusOdysseus
/obj/item/mecha_parts/chassis/gygaxGygax
/obj/item/mecha_parts/chassis/medigaxMedical Gygax
/obj/item/mecha_parts/chassis/durandDurand
/obj/item/mecha_parts/chassis/honkerHONK
/obj/item/mecha_parts/chassis/phazonPhazon
/obj/item/circuitboard/mechaCircuitboards
+ + + diff --git a/code/modules/vehicles/mecha/mecha_wreckage.html b/code/modules/vehicles/mecha/mecha_wreckage.html new file mode 100644 index 00000000000..131b87dc136 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_wreckage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_wreckage.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_wreckage.dm + +

+ + +
/obj/structure/mecha_wreckageMecha wreckage
+ + + diff --git a/code/modules/vending/_vending.html b/code/modules/vending/_vending.html new file mode 100644 index 00000000000..420785d4217 --- /dev/null +++ b/code/modules/vending/_vending.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vending/_vending.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vending/_vending.dm + +

+ + + +
/datum/data/vending_productA datum that represents a product that is vendable
/obj/machinery/vendingCaptalism in the year 2525, everything in a vending machine, even love
+ + + diff --git a/code/modules/vore/eating/belly_obj.html b/code/modules/vore/eating/belly_obj.html new file mode 100644 index 00000000000..3e6c9eab83e --- /dev/null +++ b/code/modules/vore/eating/belly_obj.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vore/eating/belly_obj.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/modules/vore/eating/belly_obj.dm + +

+ + +
/obj/bellyNon-object variables +Object-holding variables
+ + + diff --git a/code/world.html b/code/world.html new file mode 100644 index 00000000000..a6da1150ca5 --- /dev/null +++ b/code/world.html @@ -0,0 +1,27 @@ + + + + + + + code/world.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

code/world.dm + +

+ + +
/worldTwo possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke
+ + + diff --git a/datum.html b/datum.html new file mode 100644 index 00000000000..b812bdc6956 --- /dev/null +++ b/datum.html @@ -0,0 +1,438 @@ + + + + + + + /datum - Nostra-13 + + +
+ Nostra-13 - + 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
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 to this datum
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 +This will throw an error if it's possible to have more than one component of that type on the parent
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 +This will throw an error if it's possible to have more than one component of that type on the parent
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
TopicCalled when a href for this datum is clicked
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 +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 an 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
_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 +Will runtime if used on datums with an empty component list +Use the SEND_SIGNAL define instead
deserialize_jsonDeserializes from JSON. Does not parse type.
deserialize_listAccepts a LIST from deserialize_datum. Should return src or another datum.
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.
serialize_jsonSerializes into JSON. Does not encode type.
serialize_listReturn a LIST for serialize_datum to encode! Not the actual json!
ui_actpublic
ui_assetspublic
ui_closepublic
ui_datapublic
ui_hostprivate
ui_interactpublic
ui_stateprivate
ui_static_datapublic
ui_statuspublic
update_static_datapublic
+

Var Details

active_timers + + + + +

+

Active timers with this datum as the target

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 to this datum

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 recieve 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:

+

Topic +

+

Called when a href for this datum is clicked

+

Sends a COMSIG_TOPIC signal

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 an 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

deserialize_json +

+

Deserializes from JSON. Does not parse type.

deserialize_list +

+

Accepts a LIST from deserialize_datum. Should return src or another datum.

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

serialize_json +

+

Serializes into JSON. Does not encode type.

serialize_list +

+

Return a LIST for serialize_datum to encode! Not the actual json!

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_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_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

+ + + diff --git a/datum/SDQL2_query.html b/datum/SDQL2_query.html new file mode 100644 index 00000000000..89b2ddc1b54 --- /dev/null +++ b/datum/SDQL2_query.html @@ -0,0 +1,41 @@ + + + + + + + /datum/SDQL2_query - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

SDQL2_query + + + +

+ + +

Procs

SDQL_printRecursively prints out an object to text list for SDQL2 output to admins, with VV links and all. +Recursion limit: 50 +Limit imposed by callers should be around 10000 objects +Seriously, if you hit those limits, you're doing something wrong.

Proc Details

SDQL_print +

+

Recursively prints out an object to text list for SDQL2 output to admins, with VV links and all. +Recursion limit: 50 +Limit imposed by callers should be around 10000 objects +Seriously, if you hit those limits, you're doing something wrong.

+ + + diff --git a/datum/abductor_gear.html b/datum/abductor_gear.html new file mode 100644 index 00000000000..4e034a75d82 --- /dev/null +++ b/datum/abductor_gear.html @@ -0,0 +1,71 @@ + + + + + + + /datum/abductor_gear - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

abductor_gear + + + +

+ + + + + + + +

Vars

build_pathBuild path of the gear itself
categoryCategory of the gear
costCredit cost of the gear
descriptionDescription of the gear
idUnique ID of the gear
nameName of the gear
+

Var Details

build_path + + + + +

+

Build path of the gear itself

category + + + + +

+

Category of the gear

cost + + + + +

+

Credit cost of the gear

description + + + + +

+

Description of the gear

id + + + + +

+

Unique ID of the gear

name + + + + +

+

Name of the gear

+ + + diff --git a/datum/achievement_data.html b/datum/achievement_data.html new file mode 100644 index 00000000000..b3edbda5aaf --- /dev/null +++ b/datum/achievement_data.html @@ -0,0 +1,92 @@ + + + + + + + /datum/achievement_data - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

achievement_data + + + +

+ +

Datum that handles

+ + + + + + + + +

Vars

dataUp to date list of all achievements and their info.
initializedHave we done our set-up yet?
original_cached_dataOriginal status of achievement.
owner_ckeyCkey of this achievement data's owner

Procs

get_achievement_statusGetter for the status/score of an achievement
get_changed_dataGets list of changed rows in MassInsert format
get_dataUpdates local cache with db data for the given achievement type if it wasn't loaded yet.
resetResets an achievement to default values.
unlockUnlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard
+

Var Details

data + + + + +

+

Up to date list of all achievements and their info.

initialized + + + + +

+

Have we done our set-up yet?

original_cached_data + + + + +

+

Original status of achievement.

owner_ckey + + + + +

+

Ckey of this achievement data's owner

Proc Details

get_achievement_status +

+

Getter for the status/score of an achievement

get_changed_data +

+

Gets list of changed rows in MassInsert format

get_data +

+

Updates local cache with db data for the given achievement type if it wasn't loaded yet.

reset +

+

Resets an achievement to default values.

unlock +

+

Unlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard

+ + + diff --git a/datum/action.html b/datum/action.html new file mode 100644 index 00000000000..2d8ba9f7a4a --- /dev/null +++ b/datum/action.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

action + + + +

+ + +

Vars

viewersList of all mobs that are viewing our action button -> A unique movable for them to view.
+

Var Details

viewers + + + + +

+

List of all mobs that are viewing our action button -> A unique movable for them to view.

+ + + diff --git a/datum/action/bloodsucker/targeted/haste.html b/datum/action/bloodsucker/targeted/haste.html new file mode 100644 index 00000000000..e8032ee24c1 --- /dev/null +++ b/datum/action/bloodsucker/targeted/haste.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/bloodsucker/targeted/haste - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

haste + + + +

+ + +

Vars

speed_overrideIf set, uses this speed in deciseconds instead of world.tick_lag
+

Var Details

speed_override + + + + +

+

If set, uses this speed in deciseconds instead of world.tick_lag

+ + + diff --git a/datum/action/cooldown/riot.html b/datum/action/cooldown/riot.html new file mode 100644 index 00000000000..a9ae323ec64 --- /dev/null +++ b/datum/action/cooldown/riot.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/cooldown/riot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

riot + + + +

+ +

This action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.

+

Procs

TriggerChecks to see if there are any nearby mice. Does not count Rats.

Proc Details

Trigger +

+

Checks to see if there are any nearby mice. Does not count Rats.

+ + + diff --git a/datum/action/cooldown/spawn_induction_package.html b/datum/action/cooldown/spawn_induction_package.html new file mode 100644 index 00000000000..a75699b5925 --- /dev/null +++ b/datum/action/cooldown/spawn_induction_package.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spawn_induction_package - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

spawn_induction_package + + + +

+ + +

Vars

my_gang_datumThe family antagonist datum of the "owner" of this action.
+

Var Details

my_gang_datum + + + + +

+

The family antagonist datum of the "owner" of this action.

+ + + diff --git a/datum/action/innate/ability/humanoid_customization.html b/datum/action/innate/ability/humanoid_customization.html new file mode 100644 index 00000000000..30a43850c18 --- /dev/null +++ b/datum/action/innate/ability/humanoid_customization.html @@ -0,0 +1,39 @@ + + + + + + + /datum/action/innate/ability/humanoid_customization - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

humanoid_customization + + + +

+ + +

Procs

change_form// NOTICE: This currently doens't support skin tone - if anyone wants to add this to non slimes, it's up to YOU to do this. +/ (someone should also add genital color switching, more mutant color selection) +maybe just make this entire thing tgui based. maybe.

Proc Details

change_form +

+

// NOTICE: This currently doens't support skin tone - if anyone wants to add this to non slimes, it's up to YOU to do this. +/ (someone should also add genital color switching, more mutant color selection) +maybe just make this entire thing tgui based. maybe.

+ + + diff --git a/datum/action/innate/rune_shatter.html b/datum/action/innate/rune_shatter.html new file mode 100644 index 00000000000..5efcc83571f --- /dev/null +++ b/datum/action/innate/rune_shatter.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/rune_shatter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

rune_shatter + + + +

+ + +

Vars

swordReference to the rune knife it is inside of
+

Var Details

sword + + + + +

+

Reference to the rune knife it is inside of

+ + + diff --git a/datum/action/item_action/mod.html b/datum/action/item_action/mod.html new file mode 100644 index 00000000000..dbb4705750e --- /dev/null +++ b/datum/action/item_action/mod.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/item_action/mod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mod + + + +

+ + +

Vars

ai_actionWhether this action is intended for the AI. Stuff breaks a lot if this is done differently.
+

Var Details

ai_action + + + + +

+

Whether this action is intended for the AI. Stuff breaks a lot if this is done differently.

+ + + diff --git a/datum/action/item_action/stickmen.html b/datum/action/item_action/stickmen.html new file mode 100644 index 00000000000..55e5f54812f --- /dev/null +++ b/datum/action/item_action/stickmen.html @@ -0,0 +1,41 @@ + + + + + + + /datum/action/item_action/stickmen - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

stickmen + + + +

+ + +

Procs

rallyRallies your army of stickmen to whichever target the user is pointing. +Should the user be on harm intent and the target be a living mob that's not the user or a fellow stickman, +said target will be added to a list of foes which the stickmen will gladly dispose regardless of faction. +This is designed so stickmen will move toward whatever you point at even when you don't want to, that's the downside.

Proc Details

rally +

+

Rallies your army of stickmen to whichever target the user is pointing. +Should the user be on harm intent and the target be a living mob that's not the user or a fellow stickman, +said target will be added to a list of foes which the stickmen will gladly dispose regardless of faction. +This is designed so stickmen will move toward whatever you point at even when you don't want to, that's the downside.

+ + + diff --git a/datum/action/vehicle/ridden/scooter/skateboard/ollie.html b/datum/action/vehicle/ridden/scooter/skateboard/ollie.html new file mode 100644 index 00000000000..c93ab1467c8 --- /dev/null +++ b/datum/action/vehicle/ridden/scooter/skateboard/ollie.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/vehicle/ridden/scooter/skateboard/ollie - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ollie + + + +

+ + +

Vars

next_ollieCooldown to next jump
+

Var Details

next_ollie + + + + +

+

Cooldown to next jump

+ + + diff --git a/datum/actionspeed_modifier.html b/datum/actionspeed_modifier.html new file mode 100644 index 00000000000..8ac944c844f --- /dev/null +++ b/datum/actionspeed_modifier.html @@ -0,0 +1,64 @@ + + + + + + + /datum/actionspeed_modifier - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

actionspeed_modifier + + + +

+ + + + + + +

Vars

conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
multiplicative_slowdownMultiplicative slowdown
priorityHigher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)
+

Var Details

conflicts_with + + + + +

+

Other modification datums this conflicts with.

id + + + + +

+

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

multiplicative_slowdown + + + + +

+

Multiplicative slowdown

priority + + + + +

+

Higher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.

variable + + + + +

+

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

+ + + diff --git a/datum/admin_help.html b/datum/admin_help.html new file mode 100644 index 00000000000..8f5fedffd1c --- /dev/null +++ b/datum/admin_help.html @@ -0,0 +1,36 @@ + + + + + + + /datum/admin_help - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

admin_help + + + +

+ + +

Vars

answereddid we send "answered" to irc yet
+

Var Details

answered + + + + +

+

did we send "answered" to irc yet

+ + + diff --git a/datum/admins.html b/datum/admins.html new file mode 100644 index 00000000000..e9150e83f56 --- /dev/null +++ b/datum/admins.html @@ -0,0 +1,89 @@ + + + + + + + /datum/admins - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

admins + + + +

+ + + + + + + + +

Procs

HandleCModenew ban stuff +new ban stuff +WARNING!** +The jobban stuff looks mangled and disgusting +But it looks beautiful in-game +-Nodrak +**WARNING!
forceEventOpens up the Force Event Panel
modify_traitsAllow admin to add or remove traits of datum
restartadmins2.dm merge
show_player_panelPanels
spawn_atomADMIN HELPER PROCS
station_traits_panelOpens the station traits admin panel

Proc Details

HandleCMode +

+

new ban stuff +new ban stuff +WARNING!** +The jobban stuff looks mangled and disgusting +But it looks beautiful in-game +-Nodrak +**WARNING!

forceEvent +

+

Opens up the Force Event Panel

modify_traits +

+

Allow admin to add or remove traits of datum

restart +

+

admins2.dm merge

show_player_panel +

+

Panels

spawn_atom +

+

ADMIN HELPER PROCS

station_traits_panel +

+

Opens the station traits admin panel

+ + + diff --git a/datum/ai_laws.html b/datum/ai_laws.html new file mode 100644 index 00000000000..180b2009ba8 --- /dev/null +++ b/datum/ai_laws.html @@ -0,0 +1,41 @@ + + + + + + + /datum/ai_laws - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

ai_laws + + + +

+ + +

Procs

get_law_listGenerates a list of all laws on this datum, including rendered HTML tags if required

Proc Details

get_law_list +

+

Generates a list of all laws on this datum, including rendered HTML tags if required

+

Arguments:

+
+ + + diff --git a/datum/antagonist.html b/datum/antagonist.html new file mode 100644 index 00000000000..0f33b12c174 --- /dev/null +++ b/datum/antagonist.html @@ -0,0 +1,445 @@ + + + + + + + /datum/antagonist - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

antagonist + + + +

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

Vars

antag_hud_nameName of the antag hud we provide to this mob.
antag_hud_typeWhat is the configuration of this antagonist's hud icon, such as it's screen position and style, so thatit doesn't break other in-game hud icons.
antag_memoryString dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.
antag_moodlettypepath of moodlet that the mob will gain when granted this antagonist type.
antagpanel_categoryAntagpanel will display these together, REQUIRED
blacklisted_quirksQuirks that will be removed upon gaining this antag. Pacifist and mute are default.
can_coexist_with_othersWhether or not the person will be able to have more than one datum
hijack_speedIf above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().
info_buttonbutton to access antag interface
job_rankThe define string we use to identify the role for bans/player polls to spawn a random new one in.
namePublic name for this antagonist. Appears for player prompts and round-end reports.
objectivesList of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.
ownerMind that owns this datum
prevent_roundtype_conversionIf false, the roundtype will still convert with this antag active
preview_outfitThe typepath for the outfit to show in the preview for the preferences menu.
replace_bannedShould replace jobbanned player with ghosts if granted.
requested_objective_changesLazy list for antagonists to request the admins objectives.
roundend_categorySection of roundend report, datums with same category will be displayed together, also default header for the section
show_in_antagpanelThis will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind
show_in_roundendSet to false to hide the antagonists from roundend report
show_name_in_check_antagonistsWill append antagonist name in admin listings - use for categories that share more than one antag type
show_to_ghostsShould this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors
silentSilent will prevent the gain/lose texts to show
soft_antagIf set to true, the antag will not be added to the living antag list.
suicide_cryThe battlecry this antagonist shouts when suiciding with C4/X4.
threatAmount of threat this antag poses, for dynamic mode
typecache_datum_blacklistList of datums this type can't coexist with
ui_namename of the UI that will try to open, right now having nothing means this won't exist but in the future all should.

Procs

antag_panel_dataAdditional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc
clean_request_from_del_objectiveClears change requests from deleted objectives to avoid broken references.
clear_antag_moodiesProc that removes this antagonist's ascribed moodlet from the player.
farewellProc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.
finish_preview_iconGiven an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.
get_admin_commandsList of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
get_objectivesgeneric helper to send objectives as data through tgui. supports smart objectives too!
get_preview_iconReturns the icon to show on the preferences menu.
get_teamProc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round, like families.
give_antag_moodiesProc that assigns this antagonist's ascribed moodlet to the player.
greetProc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.
handle_clown_mutationHandles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects
hijack_speedGets how fast we can hijack the shuttle, return 0 for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.
is_bannedProc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.
on_body_transferCalled by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transfered.
on_gainCalled by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.
on_mindshieldThis is called when the antagonist is successfully mindshielded.
on_removalCalled by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.
pre_mindshieldThis is called when the antagonist is being mindshielded.
remove_blacklisted_quirksRemoves invalid quirks.
render_preview_outfitCreates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.
replace_banned_playerProc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.
roundend_reportProc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.
roundend_report_footerProc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.
roundend_report_headerProc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.
threatGets our threat level. Override this proc for custom functionality/dynamic threat level.
ui_interactANTAGONIST UI STUFF
+

Var Details

antag_hud_name + + + + +

+

Name of the antag hud we provide to this mob.

antag_hud_type + + + + +

+

What is the configuration of this antagonist's hud icon, such as it's screen position and style, so thatit doesn't break other in-game hud icons.

antag_memory + + + + +

+

String dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.

antag_moodlet + + + + +

+

typepath of moodlet that the mob will gain when granted this antagonist type.

antagpanel_category + + + + +

+

Antagpanel will display these together, REQUIRED

blacklisted_quirks + + + + +

+

Quirks that will be removed upon gaining this antag. Pacifist and mute are default.

can_coexist_with_others + + + + +

+

Whether or not the person will be able to have more than one datum

hijack_speed + + + + +

+

If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().

info_button + + + + +

+

button to access antag interface

job_rank + + + + +

+

The define string we use to identify the role for bans/player polls to spawn a random new one in.

name + + + + +

+

Public name for this antagonist. Appears for player prompts and round-end reports.

objectives + + + + +

+

List of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.

owner + + + + +

+

Mind that owns this datum

prevent_roundtype_conversion + + + + +

+

If false, the roundtype will still convert with this antag active

preview_outfit + + + + +

+

The typepath for the outfit to show in the preview for the preferences menu.

replace_banned + + + + +

+

Should replace jobbanned player with ghosts if granted.

requested_objective_changes + + + + +

+

Lazy list for antagonists to request the admins objectives.

roundend_category + + + + +

+

Section of roundend report, datums with same category will be displayed together, also default header for the section

show_in_antagpanel + + + + +

+

This will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind

show_in_roundend + + + + +

+

Set to false to hide the antagonists from roundend report

show_name_in_check_antagonists + + + + +

+

Will append antagonist name in admin listings - use for categories that share more than one antag type

show_to_ghosts + + + + +

+

Should this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors

silent + + + + +

+

Silent will prevent the gain/lose texts to show

soft_antag + + + + +

+

If set to true, the antag will not be added to the living antag list.

suicide_cry + + + + +

+

The battlecry this antagonist shouts when suiciding with C4/X4.

threat + + + + +

+

Amount of threat this antag poses, for dynamic mode

typecache_datum_blacklist + + + + +

+

List of datums this type can't coexist with

ui_name + + + + +

+

name of the UI that will try to open, right now having nothing means this won't exist but in the future all should.

Proc Details

antag_panel_data +

+

Additional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc

clean_request_from_del_objective +

+

Clears change requests from deleted objectives to avoid broken references.

clear_antag_moodies +

+

Proc that removes this antagonist's ascribed moodlet from the player.

farewell +

+

Proc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.

finish_preview_icon +

+

Given an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.

get_admin_commands +

+

List of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution

get_objectives +

+

generic helper to send objectives as data through tgui. supports smart objectives too!

get_preview_icon +

+

Returns the icon to show on the preferences menu.

get_team +

+

Proc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round, like families.

give_antag_moodies +

+

Proc that assigns this antagonist's ascribed moodlet to the player.

greet +

+

Proc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.

handle_clown_mutation +

+

Handles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects

hijack_speed +

+

Gets how fast we can hijack the shuttle, return 0 for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.

is_banned +

+

Proc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.

+

on_body_transfer +

+

Called by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transfered.

on_gain +

+

Called by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.

on_mindshield +

+

This is called when the antagonist is successfully mindshielded.

on_removal +

+

Called by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.

pre_mindshield +

+

This is called when the antagonist is being mindshielded.

remove_blacklisted_quirks +

+

Removes invalid quirks.

render_preview_outfit +

+

Creates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.

replace_banned_player +

+

Proc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.

roundend_report +

+

Proc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.

+

Proc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.

roundend_report_header +

+

Proc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.

threat +

+

Gets our threat level. Override this proc for custom functionality/dynamic threat level.

ui_interact +

+

ANTAGONIST UI STUFF

+ + + diff --git a/datum/antagonist/changeling.html b/datum/antagonist/changeling.html new file mode 100644 index 00000000000..cdfe4d17158 --- /dev/null +++ b/datum/antagonist/changeling.html @@ -0,0 +1,54 @@ + + + + + + + /datum/antagonist/changeling - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

changeling + + + +

+ + + + +

Vars

hostile_absorbeddid we get succed by another changeling

Procs

check_menuChecks if we are allowed to interact with a radial menu
select_dnaGives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna
+

Var Details

hostile_absorbed + + + + +

+

did we get succed by another changeling

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+

select_dna +

+

Gives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna

+ + + diff --git a/datum/antagonist/gang.html b/datum/antagonist/gang.html new file mode 100644 index 00000000000..de0720ad38f --- /dev/null +++ b/datum/antagonist/gang.html @@ -0,0 +1,106 @@ + + + + + + + /datum/antagonist/gang - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

gang + + + +

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

Vars

acceptable_clothesThe list of clothes that are acceptable to show allegiance to this family.
free_clothesThe list of clothes that are given to family members upon induction into the family.
gang_idThe abbreviation of the family corresponding to this family member datum.
gang_nameThe name of the family corresponding to this family member datum.
gang_team_typeType of team to create when creating the gang in the first place. Used for renames.
handlerA reference to the handler datum that manages the families gamemode. In case of no handler (admin-spawned during round), this will be null; this is fine.
my_gangThe overarching family that the owner of this datum is a part of. Family teams are generic and imprinted upon by the per-person antagonist datums.
original_nameThe gangster's original real name. Used for renaming stuff, kept between gang switches.
package_spawnerThe action used to spawn family induction packages.
starter_gangsterWhether or not this family member is the first of their family.

Procs

equip_gangster_in_inventoryGives a gangster their equipment in their backpack and / or pockets.
+

Var Details

acceptable_clothes + + + + +

+

The list of clothes that are acceptable to show allegiance to this family.

free_clothes + + + + +

+

The list of clothes that are given to family members upon induction into the family.

gang_id + + + + +

+

The abbreviation of the family corresponding to this family member datum.

gang_name + + + + +

+

The name of the family corresponding to this family member datum.

gang_team_type + + + + +

+

Type of team to create when creating the gang in the first place. Used for renames.

handler + + + + +

+

A reference to the handler datum that manages the families gamemode. In case of no handler (admin-spawned during round), this will be null; this is fine.

my_gang + + + + +

+

The overarching family that the owner of this datum is a part of. Family teams are generic and imprinted upon by the per-person antagonist datums.

original_name + + + + +

+

The gangster's original real name. Used for renaming stuff, kept between gang switches.

package_spawner + + + + +

+

The action used to spawn family induction packages.

starter_gangster + + + + +

+

Whether or not this family member is the first of their family.

Proc Details

equip_gangster_in_inventory +

+

Gives a gangster their equipment in their backpack and / or pockets.

+ + + diff --git a/datum/antagonist/heretic.html b/datum/antagonist/heretic.html new file mode 100644 index 00000000000..bc98771aad8 --- /dev/null +++ b/datum/antagonist/heretic.html @@ -0,0 +1,35 @@ + + + + + + + /datum/antagonist/heretic - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

heretic + + + +

+ + +

Procs

on_deathWhat happens to the heretic once he dies, used to remove any custom perks

Proc Details

on_death +

+

What happens to the heretic once he dies, used to remove any custom perks

+ + + diff --git a/datum/antagonist/ninja.html b/datum/antagonist/ninja.html new file mode 100644 index 00000000000..f33c7215d19 --- /dev/null +++ b/datum/antagonist/ninja.html @@ -0,0 +1,72 @@ + + + + + + + /datum/antagonist/ninja - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

ninja + + + +

+ + + + + + +

Vars

give_equipmentWhether or not this ninja receives the standard equipment
give_objectivesWhether or not this ninja will obtain objectives

Procs

addMemoriesProc that adds the proper memories to the antag datum
addObjectivesProc that adds all the ninja's objectives to the antag datum.
equip_space_ninjaProc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.
+

Var Details

give_equipment + + + + +

+

Whether or not this ninja receives the standard equipment

give_objectives + + + + +

+

Whether or not this ninja will obtain objectives

Proc Details

addMemories +

+

Proc that adds the proper memories to the antag datum

+

Proc that adds the ninja starting memories to the owner of the antagonist datum.

addObjectives +

+

Proc that adds all the ninja's objectives to the antag datum.

+

Proc that adds all the ninja's objectives to the antag datum. Called when the datum is gained.

equip_space_ninja +

+

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.

+

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. +Arguments:

+
+ + + diff --git a/datum/antagonist/rev.html b/datum/antagonist/rev.html new file mode 100644 index 00000000000..547fc4be022 --- /dev/null +++ b/datum/antagonist/rev.html @@ -0,0 +1,50 @@ + + + + + + + /datum/antagonist/rev - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

rev + + + +

+ + + + +

Vars

deconversion_reasonwhen this antagonist is being de-antagged, this is why
victory_messageWhat message should the player receive when they are being demoted, and the revolution has won?

Procs

announce_victoriousChecks if the revolution succeeded, and lets them know.
+

Var Details

deconversion_reason + + + + +

+

when this antagonist is being de-antagged, this is why

victory_message + + + + +

+

What message should the player receive when they are being demoted, and the revolution has won?

Proc Details

announce_victorious +

+

Checks if the revolution succeeded, and lets them know.

+ + + diff --git a/datum/antagonist/traitor.html b/datum/antagonist/traitor.html new file mode 100644 index 00000000000..e42743bcdfc --- /dev/null +++ b/datum/antagonist/traitor.html @@ -0,0 +1,73 @@ + + + + + + + /datum/antagonist/traitor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

traitor + + + +

+ + + + + + + +

Vars

traitor_kindspecial datum about what kind of employer the trator has
uplinkreference to the uplink this traitor was given, if they were.

Procs

contractor_round_endProc detailing contract kit buys/completed contracts/additional info
forge_traitor_objectivesGenerates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as martyr and hijack.
give_codewordsOutputs this shift's codewords and responses to the antag's chat and copies them to their memory.
roundend_report_footerGet all the icons/total cost for all our items bought +Special case for reinforcements, we want to show their ckey and name on round end.
+

Var Details

traitor_kind + + + + +

+

special datum about what kind of employer the trator has

+

reference to the uplink this traitor was given, if they were.

Proc Details

contractor_round_end +

+

Proc detailing contract kit buys/completed contracts/additional info

forge_traitor_objectives +

+

Generates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as martyr and hijack.

give_codewords +

+

Outputs this shift's codewords and responses to the antag's chat and copies them to their memory.

+

Get all the icons/total cost for all our items bought +Special case for reinforcements, we want to show their ckey and name on round end.

+ + + diff --git a/datum/antagonist/traitor/contractor_support.html b/datum/antagonist/traitor/contractor_support.html new file mode 100644 index 00000000000..c03e6b3bdd2 --- /dev/null +++ b/datum/antagonist/traitor/contractor_support.html @@ -0,0 +1,57 @@ + + + + + + + /datum/antagonist/traitor/contractor_support - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

contractor_support + + + +

+ +

Support unit gets it's own very basic antag datum for admin logging.

+ + + +

Vars

contractor_teamDon't give them an uplink.
give_objectivesWe're already adding them in to the contractor's roundend.
should_equipNot a proper/full antag.
show_in_antagpanelWe give them their own custom objective.
+

Var Details

contractor_team + + + + +

+

Don't give them an uplink.

give_objectives + + + + +

+

We're already adding them in to the contractor's roundend.

should_equip + + + + +

+

Not a proper/full antag.

show_in_antagpanel + + + + +

+

We give them their own custom objective.

+ + + diff --git a/datum/asset.html b/datum/asset.html new file mode 100644 index 00000000000..f96e0280c3e --- /dev/null +++ b/datum/asset.html @@ -0,0 +1,35 @@ + + + + + + + /datum/asset - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

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 00000000000..2eb79744f44 --- /dev/null +++ b/datum/asset/simple.html @@ -0,0 +1,56 @@ + + + + + + + /datum/asset/simple - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

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 00000000000..fe17b953ded --- /dev/null +++ b/datum/asset/simple/namespaced.html @@ -0,0 +1,51 @@ + + + + + + + /datum/asset/simple/namespaced - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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/spritesheet.html b/datum/asset/spritesheet.html new file mode 100644 index 00000000000..fc88042b8fe --- /dev/null +++ b/datum/asset/spritesheet.html @@ -0,0 +1,50 @@ + + + + + + + /datum/asset/spritesheet - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

spritesheet + + + +

+ + + +

Procs

ModifyInsertedA simple proc handing the Icon for you to modify before it gets turned into an asset.
icon_size_idReturns the size class (ex design32x32) for a given sprite's icon

Proc Details

ModifyInserted +

+

A simple proc handing the Icon for you to modify before it gets turned into an asset.

+

Arguments:

+

icon_size_id +

+

Returns the size class (ex design32x32) for a given sprite's icon

+

Arguments:

+
+ + + diff --git a/datum/asset/spritesheet/decals.html b/datum/asset/spritesheet/decals.html new file mode 100644 index 00000000000..416866e79bc --- /dev/null +++ b/datum/asset/spritesheet/decals.html @@ -0,0 +1,74 @@ + + + + + + + /datum/asset/spritesheet/decals - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

decals + + + +

+ + + + + + +

Vars

painter_typeThe associated decal painter type to grab decals, colors, etc from.
preview_floor_iconThe floor icon used for blend_preview_floor()
preview_floor_stateThe floor icon state used for blend_preview_floor()

Procs

blend_preview_floorUnderlay an example floor for preview purposes, and return the new icon.
insert_stateInsert a specific state into the spritesheet.
+

Var Details

painter_type + + + + +

+

The associated decal painter type to grab decals, colors, etc from.

preview_floor_icon + + + + +

+

The floor icon used for blend_preview_floor()

preview_floor_state + + + + +

+

The floor icon state used for blend_preview_floor()

Proc Details

blend_preview_floor +

+

Underlay an example floor for preview purposes, and return the new icon.

+

Arguments:

+

insert_state +

+

Insert a specific state into the spritesheet.

+

Arguments:

+
+ + + diff --git a/datum/asset_cache_item.html b/datum/asset_cache_item.html new file mode 100644 index 00000000000..f9090d3800a --- /dev/null +++ b/datum/asset_cache_item.html @@ -0,0 +1,65 @@ + + + + + + + /datum/asset_cache_item - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..e827f90ced8 --- /dev/null +++ b/datum/asset_transport.html @@ -0,0 +1,109 @@ + + + + + + + /datum/asset_transport - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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 00000000000..ae61a81b557 --- /dev/null +++ b/datum/asset_transport/webroot.html @@ -0,0 +1,80 @@ + + + + + + + /datum/asset_transport/webroot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

webroot + + + +

+ +

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/award.html b/datum/award.html new file mode 100644 index 00000000000..0f869aaa9c9 --- /dev/null +++ b/datum/award.html @@ -0,0 +1,78 @@ + + + + + + + /datum/award - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

award + + + +

+ + + + + + + + +

Vars

database_idWhat ID do we use in db, limited to 32 characters
iconFound in ui_icons/achievements
nameName of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Procs

get_changed_rowsThis saves the changed data to the hub.
get_raw_valueGet raw numerical achievement value from the database
loadThis proc loads the achievement data from the hub.
on_unlockCan be overriden for achievement specific events
+

Var Details

database_id + + + + +

+

What ID do we use in db, limited to 32 characters

icon + + + + +

+

Found in ui_icons/achievements

name + + + + +

+

Name of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Proc Details

get_changed_rows +

+

This saves the changed data to the hub.

get_raw_value +

+

Get raw numerical achievement value from the database

load +

+

This proc loads the achievement data from the hub.

on_unlock +

+

Can be overriden for achievement specific events

+ + + diff --git a/datum/bank_account.html b/datum/bank_account.html new file mode 100644 index 00000000000..e95090d1e3c --- /dev/null +++ b/datum/bank_account.html @@ -0,0 +1,56 @@ + + + + + + + /datum/bank_account - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

bank_account + + + +

+ + + + + +

Procs

bounty_numReturns the required item count, or required chemical units required to submit a bounty.
bounty_textReturns a string with the civilian bounty's description on it.
bounty_valueProduces the value of the account's civilian bounty reward, if able.
reset_bountyPerforms house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed.

Proc Details

bounty_num +

+

Returns the required item count, or required chemical units required to submit a bounty.

bounty_text +

+

Returns a string with the civilian bounty's description on it.

bounty_value +

+

Produces the value of the account's civilian bounty reward, if able.

reset_bounty +

+

Performs house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed.

+ + + diff --git a/datum/biome.html b/datum/biome.html new file mode 100644 index 00000000000..73ade7f5967 --- /dev/null +++ b/datum/biome.html @@ -0,0 +1,71 @@ + + + + + + + /datum/biome - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

biome + + + +

+ +

This datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.

+ + + + + +

Vars

fauna_densityChance of having a mob from the fauna types list spawn
fauna_typeslist of type paths of mobs that can be spawned when the turf spawns fauna
flora_densityChance of having a structure from the flora types list spawn
flora_typeslist of type paths of objects that can be spawned when the turf spawns flora
turf_typeType of turf this biome creates

Procs

generate_turfThis proc handles the creation of a turf of a specific biome type
+

Var Details

fauna_density + + + + +

+

Chance of having a mob from the fauna types list spawn

fauna_types + + + + +

+

list of type paths of mobs that can be spawned when the turf spawns fauna

flora_density + + + + +

+

Chance of having a structure from the flora types list spawn

flora_types + + + + +

+

list of type paths of objects that can be spawned when the turf spawns flora

turf_type + + + + +

+

Type of turf this biome creates

Proc Details

generate_turf +

+

This proc handles the creation of a turf of a specific biome type

+ + + diff --git a/datum/bitfield.html b/datum/bitfield.html new file mode 100644 index 00000000000..aaddbb9833c --- /dev/null +++ b/datum/bitfield.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bitfield - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

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/block_parry_data.html b/datum/block_parry_data.html new file mode 100644 index 00000000000..816c1bd1765 --- /dev/null +++ b/datum/block_parry_data.html @@ -0,0 +1,552 @@ + + + + + + + /datum/block_parry_data - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

block_parry_data + + + +

+ +

Carries data like list data that would be a waste of memory if we initialized the list on every /item as we can cache datums easier.

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

Vars

autoparry_cooldown_absoluteHard autoparry cooldown
autoparry_mouse_delay_maximumADVANCED - Autoparry requirement for time since last moused over for a specific object
autoparry_sequence_simulationAutoparry : Simulate a parry sequence starting at a certain tick, or simply simulate a single attack parry?
autoparry_sequence_start_timeDecisecond of sequence to start on. -1 to start to 0th tick of active parry window.
autoparry_single_efficiencySingle attack autoparry - efficiency
autoparry_single_efficiency_overrideSingle attack autoparry - efficiency overrides by attack type, see above
block_active_priorityThe priority we get in mob/do_run_block() while we're being used to parry.
block_automatic_directionsDirections that you can autoblock in. Null to default to normal directions.
block_automatic_enabledCan this item automatically block?
block_automatic_mitigation_multiplierEffectiveness multiplier for automated block. Only applies to efficiency, absorption and limits stay the same!
block_automatic_stamina_multiplierStamina cost multiplier for automated block
block_damage_absorptionAmount of "free" damage blocking absorbs
block_damage_absorption_overrideOverride absorption, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_absorption]
block_damage_limitUpper bound of damage block, anything above this will go right through.
block_damage_limit_overrideOverride upper bound of damage block, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_limit]
block_damage_multiplierRatio of damage to allow through above absorption and below limit. Multiplied by damage to determine how much to let through. Lower is better.
block_damage_multiplier_overrideOverride damage overrun efficiency, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_efficiency]
block_end_click_cd_addClickdelay added to user after block ends
block_lock_attackingDisallow attacking during block
block_lock_sprintingDisallow sprinting during block
block_no_stambuffer_regenerationPrevent stamina buffer regeneration while block?
block_no_stamina_regenerationPrevent stamina regeneration while block?
block_projectile_mitigationThe blocked variable of on_hit() on projectiles is impacted by this. Higher is better, 0 to 100, percentage.
block_resting_attack_types_anydirBitfield for attack types that we can block while down. This will work in any direction.
block_resting_attack_types_directionalBitfield for attack types that we can block while down but only in our normal directions.
block_resting_stamina_penalty_multiplierMultiplier to stamina damage taken for attacks blocked while downed.
block_resting_stamina_penalty_multiplier_overrideOverride list for multiplier to stamina damage taken for attacks blocked while down. list("[ATTACK_TYPE_DEFINE]" = multiplier_number)
block_slowdownOur slowdown added while blocking
block_soundsSounds for blocking
block_stamina_buffer_ratioRatio of stamina incurred by chest (so after [block_stamina_limb_ratio] runs) that is buffered.
block_stamina_cost_per_secondStamina dealt directly via UseStaminaBuffer() per SECOND of block.
block_stamina_efficiencyDefault damage-to-stamina coefficient, higher is better. This is based on amount of damage BLOCKED, not initial damage, to prevent damage from "double dipping".
block_stamina_efficiency_overrideOverride damage-to-stamina coefficient, see [block_efficiency], this should be list("[ATTACK_TYPE_DEFINE]" = coefficient_number)
block_stamina_limb_ratioRatio of stamina incurred by blocking that goes to the arm holding the object instead of the chest. Has no effect if this is not held in hand.
block_start_delayWindup before we have our blocking active.
can_block_attack_typesAttacks we can block
can_block_directions//////// BLOCKING //////////// +NOTE: FOR ATTACK_TYPE_DEFINE, you MUST wrap it in "[DEFINE_HERE]"! The defines are bitflags, and therefore, NUMBERS! +See defines. Point of reference is someone facing north.
parry_allow_repeated_counterattacksAllow multiple counterattacks per parry sequence. Bad idea.
parry_attack_typesAttack types we can block
parry_automatic_enabledCan this data automatically parry? This is off by default because this is something that requires thought to balance.
parry_cooldownParrying cooldown, separate of clickdelay. It must be this much deciseconds since their last parry for them to parry with this object.
parry_dataParry effect data.
parry_effect_icon_stateVisual icon state override for parrying
parry_efficiency_considered_successfulEfficiency must be at least this to be considered successful
parry_efficiency_perfectEfficiency in percent on perfect parry.
parry_efficiency_perfect_overrideOverride for attack types, list("[ATTACK_TYPE_DEFINE]" = perecntage) for perfect efficiency.
parry_efficiency_to_counterattackEfficiency must be at least this to run automatic counterattack
parry_failed_clickcd_durationClickdelay duration post-parry if you fail to parry an attack
parry_failed_cooldown_durationParry cooldown post-parry if failed. This is ADDED to parry_cooldown!!!
parry_failed_stagger_durationStagger duration post-parry if you fail to parry an attack
parry_flagsParry flags
parry_imperfect_falloff_percentParry "efficiency" falloff in percent per decisecond once perfect window is over.
parry_imperfect_falloff_percent_override[parry_imperfect_falloff_percent] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)
parry_max_attacksMaximum attacks to parry successfully or unsuccessfully (but not efficiency < 0) during active period, hitting this immediately ends the sequence.
parry_respect_clickdelay//////// PARRYING //////////// +Priority for mob/do_run_block() while we're being used to parry. +Parry doesn't work if you aren't able to otherwise attack due to clickdelay
parry_soundsSounds for parrying
parry_stamina_costParry stamina cost
parry_start_soundParry start sound
parry_time_activeMain parry window in deciseconds. This is between [parry_time_windup] and [parry_time_spindown]
parry_time_active_visual_overrideIf set, overrides visual duration of active period
parry_time_perfectPerfect parry window in deciseconds from the start of the main window. 3 with main 5 = perfect on third decisecond of main window.
parry_time_perfect_leewayTime on both sides of perfect parry that still counts as part of the perfect window.
parry_time_perfect_leeway_override[parry_time_perfect_leeway] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)
parry_time_spindownParry spindown duration in deciseconds. main stage end to this is the spindown stage, afterwards the parry fully ends.
parry_time_spindown_visual_overrideIf set, overrides visual duration of spindown
parry_time_windupParry windup duration in deciseconds. 0 to this is windup, afterwards is main stage.
parry_time_windup_visual_overrideIf set, overrides visual duration of windup
perfect_parry_block_return_flagsFlags added to return value
perfect_parry_block_return_listList appended to block return

Procs

attack_type_list_scanQuirky proc to get average of flags in list that are in attack_type because why is attack_type a flag.
get_parry_efficiencyGets the percentage efficiency of our parry.
render_html_readoutGenerates a HTML render of this datum for self-documentation +Maybe make this tgui-next someday haha god this is ugly as sin. +Does NOT include the popout or title or anything. Just the variables and explanations..
+

Var Details

autoparry_cooldown_absolute + + + + +

+

Hard autoparry cooldown

autoparry_mouse_delay_maximum + + + + +

+

ADVANCED - Autoparry requirement for time since last moused over for a specific object

autoparry_sequence_simulation + + + + +

+

Autoparry : Simulate a parry sequence starting at a certain tick, or simply simulate a single attack parry?

autoparry_sequence_start_time + + + + +

+

Decisecond of sequence to start on. -1 to start to 0th tick of active parry window.

autoparry_single_efficiency + + + + +

+

Single attack autoparry - efficiency

autoparry_single_efficiency_override + + + + +

+

Single attack autoparry - efficiency overrides by attack type, see above

block_active_priority + + + + +

+

The priority we get in mob/do_run_block() while we're being used to parry.

block_automatic_directions + + + + +

+

Directions that you can autoblock in. Null to default to normal directions.

block_automatic_enabled + + + + +

+

Can this item automatically block?

block_automatic_mitigation_multiplier + + + + +

+

Effectiveness multiplier for automated block. Only applies to efficiency, absorption and limits stay the same!

block_automatic_stamina_multiplier + + + + +

+

Stamina cost multiplier for automated block

block_damage_absorption + + + + +

+

Amount of "free" damage blocking absorbs

block_damage_absorption_override + + + + +

+

Override absorption, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_absorption]

block_damage_limit + + + + +

+

Upper bound of damage block, anything above this will go right through.

block_damage_limit_override + + + + +

+

Override upper bound of damage block, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_limit]

block_damage_multiplier + + + + +

+

Ratio of damage to allow through above absorption and below limit. Multiplied by damage to determine how much to let through. Lower is better.

block_damage_multiplier_override + + + + +

+

Override damage overrun efficiency, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_efficiency]

block_end_click_cd_add + + + + +

+

Clickdelay added to user after block ends

block_lock_attacking + + + + +

+

Disallow attacking during block

block_lock_sprinting + + + + +

+

Disallow sprinting during block

block_no_stambuffer_regeneration + + + + +

+

Prevent stamina buffer regeneration while block?

block_no_stamina_regeneration + + + + +

+

Prevent stamina regeneration while block?

block_projectile_mitigation + + + + +

+

The blocked variable of on_hit() on projectiles is impacted by this. Higher is better, 0 to 100, percentage.

block_resting_attack_types_anydir + + + + +

+

Bitfield for attack types that we can block while down. This will work in any direction.

block_resting_attack_types_directional + + + + +

+

Bitfield for attack types that we can block while down but only in our normal directions.

block_resting_stamina_penalty_multiplier + + + + +

+

Multiplier to stamina damage taken for attacks blocked while downed.

block_resting_stamina_penalty_multiplier_override + + + + +

+

Override list for multiplier to stamina damage taken for attacks blocked while down. list("[ATTACK_TYPE_DEFINE]" = multiplier_number)

block_slowdown + + + + +

+

Our slowdown added while blocking

block_sounds + + + + +

+

Sounds for blocking

block_stamina_buffer_ratio + + + + +

+

Ratio of stamina incurred by chest (so after [block_stamina_limb_ratio] runs) that is buffered.

block_stamina_cost_per_second + + + + +

+

Stamina dealt directly via UseStaminaBuffer() per SECOND of block.

block_stamina_efficiency + + + + +

+

Default damage-to-stamina coefficient, higher is better. This is based on amount of damage BLOCKED, not initial damage, to prevent damage from "double dipping".

block_stamina_efficiency_override + + + + +

+

Override damage-to-stamina coefficient, see [block_efficiency], this should be list("[ATTACK_TYPE_DEFINE]" = coefficient_number)

block_stamina_limb_ratio + + + + +

+

Ratio of stamina incurred by blocking that goes to the arm holding the object instead of the chest. Has no effect if this is not held in hand.

block_start_delay + + + + +

+

Windup before we have our blocking active.

can_block_attack_types + + + + +

+

Attacks we can block

can_block_directions + + + + +

+

//////// BLOCKING //////////// +NOTE: FOR ATTACK_TYPE_DEFINE, you MUST wrap it in "[DEFINE_HERE]"! The defines are bitflags, and therefore, NUMBERS! +See defines. Point of reference is someone facing north.

parry_allow_repeated_counterattacks + + + + +

+

Allow multiple counterattacks per parry sequence. Bad idea.

parry_attack_types + + + + +

+

Attack types we can block

parry_automatic_enabled + + + + +

+

Can this data automatically parry? This is off by default because this is something that requires thought to balance.

parry_cooldown + + + + +

+

Parrying cooldown, separate of clickdelay. It must be this much deciseconds since their last parry for them to parry with this object.

parry_data + + + + +

+

Parry effect data.

parry_effect_icon_state + + + + +

+

Visual icon state override for parrying

parry_efficiency_considered_successful + + + + +

+

Efficiency must be at least this to be considered successful

parry_efficiency_perfect + + + + +

+

Efficiency in percent on perfect parry.

parry_efficiency_perfect_override + + + + +

+

Override for attack types, list("[ATTACK_TYPE_DEFINE]" = perecntage) for perfect efficiency.

parry_efficiency_to_counterattack + + + + +

+

Efficiency must be at least this to run automatic counterattack

parry_failed_clickcd_duration + + + + +

+

Clickdelay duration post-parry if you fail to parry an attack

parry_failed_cooldown_duration + + + + +

+

Parry cooldown post-parry if failed. This is ADDED to parry_cooldown!!!

parry_failed_stagger_duration + + + + +

+

Stagger duration post-parry if you fail to parry an attack

parry_flags + + + + +

+

Parry flags

parry_imperfect_falloff_percent + + + + +

+

Parry "efficiency" falloff in percent per decisecond once perfect window is over.

parry_imperfect_falloff_percent_override + + + + +

+

[parry_imperfect_falloff_percent] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)

parry_max_attacks + + + + +

+

Maximum attacks to parry successfully or unsuccessfully (but not efficiency < 0) during active period, hitting this immediately ends the sequence.

parry_respect_clickdelay + + + + +

+

//////// PARRYING //////////// +Priority for mob/do_run_block() while we're being used to parry. +Parry doesn't work if you aren't able to otherwise attack due to clickdelay

parry_sounds + + + + +

+

Sounds for parrying

parry_stamina_cost + + + + +

+

Parry stamina cost

parry_start_sound + + + + +

+

Parry start sound

parry_time_active + + + + +

+

Main parry window in deciseconds. This is between [parry_time_windup] and [parry_time_spindown]

parry_time_active_visual_override + + + + +

+

If set, overrides visual duration of active period

parry_time_perfect + + + + +

+

Perfect parry window in deciseconds from the start of the main window. 3 with main 5 = perfect on third decisecond of main window.

parry_time_perfect_leeway + + + + +

+

Time on both sides of perfect parry that still counts as part of the perfect window.

parry_time_perfect_leeway_override + + + + +

+

[parry_time_perfect_leeway] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)

parry_time_spindown + + + + +

+

Parry spindown duration in deciseconds. main stage end to this is the spindown stage, afterwards the parry fully ends.

parry_time_spindown_visual_override + + + + +

+

If set, overrides visual duration of spindown

parry_time_windup + + + + +

+

Parry windup duration in deciseconds. 0 to this is windup, afterwards is main stage.

parry_time_windup_visual_override + + + + +

+

If set, overrides visual duration of windup

perfect_parry_block_return_flags + + + + +

+

Flags added to return value

perfect_parry_block_return_list + + + + +

+

List appended to block return

Proc Details

attack_type_list_scan +

+

Quirky proc to get average of flags in list that are in attack_type because why is attack_type a flag.

get_parry_efficiency +

+

Gets the percentage efficiency of our parry.

+

Returns a percentage in normal 0 to 100 scale, but not clamped to just 0 to 100. +This is a proc to allow for overriding. +@params

+

render_html_readout +

+

Generates a HTML render of this datum for self-documentation +Maybe make this tgui-next someday haha god this is ugly as sin. +Does NOT include the popout or title or anything. Just the variables and explanations..

+ + + diff --git a/datum/callback.html b/datum/callback.html new file mode 100644 index 00000000000..b0c39e74d46 --- /dev/null +++ b/datum/callback.html @@ -0,0 +1,117 @@ + + + + + + + /datum/callback - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Callback Datums + + + +

+ +

A datum that holds a proc to be called on another object, used to track proccalls to other objects

+

USAGE

+
var/datum/callback/C = new(object|null, /proc/type/path|"procstring", arg1, arg2, ... argn)
+var/timerid = addtimer(C, time, timertype)
+you can also use the compiler define shorthand
+var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype)
+
+

Note: proc strings can only be given for datum proc calls, global procs must be proc paths

+

Also proc strings are strongly advised against because they don't compile error if the proc stops existing

+

In some cases you can provide a shortform of the procname, see the proc typepath shortcuts documentation below

+

INVOKING THE CALLBACK

+

var/result = C.Invoke(args, to, add) additional args are added after the ones given when the callback was created

+

var/result = C.InvokeAsync(args, to, add) Asyncronous - returns . on the first sleep then continues on in the background +after the sleep/block ends, otherwise operates normally.

+

PROC TYPEPATH SHORTCUTS

+

(these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...)

+

global proc while in another global proc:

+

.procname

+

CALLBACK(GLOBAL_PROC, .some_proc_here)

+

proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents:

+

.procname

+

CALLBACK(src, .some_proc_here)

+

when the above doesn't apply:

+

.proc/procname

+

CALLBACK(src, .proc/some_proc_here)

+

proc defined on a parent of a some type

+

/some/type/.proc/some_proc_here

+

Otherwise you must always provide the full typepath of the proc (/type/of/thing/proc/procname)

+ + + + + + +

Vars

argumentsA list of arguments to pass into the proc
delegateThe proc we will be calling on the object
objectThe object we will be calling the proc on
userA weak reference to the user who triggered this callback

Procs

InvokeInvoke this callback
InvokeAsyncInvoke this callback async (waitfor=false)
NewCreate a new callback datum
+

Var Details

arguments + + + + +

+

A list of arguments to pass into the proc

delegate + + + + +

+

The proc we will be calling on the object

object + + + + +

+

The object we will be calling the proc on

user + + + + +

+

A weak reference to the user who triggered this callback

Proc Details

Invoke +

+

Invoke this callback

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

InvokeAsync +

+

Invoke this callback async (waitfor=false)

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

New +

+

Create a new callback datum

+

Arguments

+
+ + + diff --git a/datum/centcom_announcer.html b/datum/centcom_announcer.html new file mode 100644 index 00000000000..0a3db4a3ab7 --- /dev/null +++ b/datum/centcom_announcer.html @@ -0,0 +1,64 @@ + + + + + + + /datum/centcom_announcer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

centcom_announcer + + + +

+ +

Data holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern

+ + + + +

Vars

alert_soundsSounds made when announcement is receivedc
command_report_soundsSounds made when command report is received
custom_alert_messageOverride this to have a custom message to show instead of the normal priority announcement
event_soundsEvent audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area
welcome_soundsRoundshift start audio
+

Var Details

alert_sounds + + + + +

+

Sounds made when announcement is receivedc

command_report_sounds + + + + +

+

Sounds made when command report is received

custom_alert_message + + + + +

+

Override this to have a custom message to show instead of the normal priority announcement

event_sounds + + + + +

+

Event audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area

welcome_sounds + + + + +

+

Roundshift start audio

+ + + diff --git a/datum/centcom_podlauncher.html b/datum/centcom_podlauncher.html new file mode 100644 index 00000000000..eba0cce2f8d --- /dev/null +++ b/datum/centcom_podlauncher.html @@ -0,0 +1,47 @@ + + + + + + + /datum/centcom_podlauncher - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

centcom_podlauncher + + + +

+ + +

Procs

ui_close/////////////////////////UTILITIES////////////////// +/////////////////////////LAUNCH STYLE CHANGES////////////////// +/////////////////////////POD EFFECTS////////////////// +input specific tartget +/////////////////////////TIMER DELAYS////////////////// +/////////////////////////ADMIN SOUNDS////////////////// +/////////////////////////STYLE CHANGES//////////////////

Proc Details

ui_close +

+

/////////////////////////UTILITIES////////////////// +/////////////////////////LAUNCH STYLE CHANGES////////////////// +/////////////////////////POD EFFECTS////////////////// +input specific tartget +/////////////////////////TIMER DELAYS////////////////// +/////////////////////////ADMIN SOUNDS////////////////// +/////////////////////////STYLE CHANGES//////////////////

+ + + diff --git a/datum/changelingprofile.html b/datum/changelingprofile.html new file mode 100644 index 00000000000..7f6ec13d43e --- /dev/null +++ b/datum/changelingprofile.html @@ -0,0 +1,36 @@ + + + + + + + /datum/changelingprofile - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

changelingprofile + + + +

+ + +

Vars

profile_snapshotIcon snapshot of the profile
+

Var Details

profile_snapshot + + + + +

+

Icon snapshot of the profile

+ + + diff --git a/datum/chatmessage.html b/datum/chatmessage.html new file mode 100644 index 00000000000..98bcf4a1963 --- /dev/null +++ b/datum/chatmessage.html @@ -0,0 +1,179 @@ + + + + + + + /datum/chatmessage - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Chat Message Overlay + + + +

+ +

Datum for generating a message overlay on the map

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

Vars

approx_linesContains the approximate amount of lines for height decay
current_z_idxThe current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones
eol_completeContains the time that the EOL for the message will be complete, used for qdel scheduling
messageThe visual element of the chat messsage
message_locThe location in which the message is appearing
nextContains the reference to the next chatmessage in the bucket, used by runechat subsystem
owned_byThe client who heard this message
prevContains the reference to the previous chatmessage in the bucket, used by runechat subsystem
scheduled_destructionContains the scheduled destruction time, used for scheduling EOL

Procs

NewConstructs a chat message overlay
colorize_stringGets a color for a name, will return the same color for a given string consistently within a round.atom
end_of_lifeCached icons to show what language the user is speaking +Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion +Arguments:
enter_subsystemEnters the runechat subsystem with this chatmessage, inserting it into the end-of-life queue
generate_imageGenerates a chat message image representation
leave_subsystemRemoves this chatmessage datum from the runechat subsystem
on_parent_qdelCalls qdel on the chatmessage when its parent is deleted, used to register qdel signal
+

Var Details

approx_lines + + + + +

+

Contains the approximate amount of lines for height decay

current_z_idx + + + + +

+

The current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones

eol_complete + + + + +

+

Contains the time that the EOL for the message will be complete, used for qdel scheduling

message + + + + +

+

The visual element of the chat messsage

message_loc + + + + +

+

The location in which the message is appearing

next + + + + +

+

Contains the reference to the next chatmessage in the bucket, used by runechat subsystem

owned_by + + + + +

+

The client who heard this message

prev + + + + +

+

Contains the reference to the previous chatmessage in the bucket, used by runechat subsystem

scheduled_destruction + + + + +

+

Contains the scheduled destruction time, used for scheduling EOL

Proc Details

New +

+

Constructs a chat message overlay

+

Arguments:

+

colorize_string +

+

Gets a color for a name, will return the same color for a given string consistently within a round.atom

+

Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map.

+

Arguments:

+

end_of_life +

+

Cached icons to show what language the user is speaking +Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion +Arguments:

+

enter_subsystem +

+

Enters the runechat subsystem with this chatmessage, inserting it into the end-of-life queue

+

This will also account for a chatmessage already being registered, and in which case +the position will be updated to remove it from the previous location if necessary

+

Arguments:

+

generate_image +

+

Generates a chat message image representation

+

Arguments:

+

leave_subsystem +

+

Removes this chatmessage datum from the runechat subsystem

on_parent_qdel +

+

Calls qdel on the chatmessage when its parent is deleted, used to register qdel signal

+ + + diff --git a/datum/chemical_reaction.html b/datum/chemical_reaction.html new file mode 100644 index 00000000000..bd69a9146df --- /dev/null +++ b/datum/chemical_reaction.html @@ -0,0 +1,36 @@ + + + + + + + /datum/chemical_reaction - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

chemical_reaction + + + +

+ + +

Vars

priorityHigher is higher priority, determines which order reactions are checked.
+

Var Details

priority + + + + +

+

Higher is higher priority, determines which order reactions are checked.

+ + + diff --git a/datum/client_interface.html b/datum/client_interface.html new file mode 100644 index 00000000000..dd53462f1ca --- /dev/null +++ b/datum/client_interface.html @@ -0,0 +1,43 @@ + + + + + + + /datum/client_interface - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

client_interface + + + +

+ +

This should match the interface of /client wherever necessary.

+ +

Vars

prefsPlayer preferences datum for the client
viewThe view of the client, similar to /client/var/view.
+

Var Details

prefs + + + + +

+

Player preferences datum for the client

view + + + + +

+

The view of the client, similar to /client/var/view.

+ + + diff --git a/datum/component.html b/datum/component.html new file mode 100644 index 00000000000..f0029e25c6c --- /dev/null +++ b/datum/component.html @@ -0,0 +1,200 @@ + + + + + + + /datum/component - Nostra-13 + + +
+ Nostra-13 - + 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 +At a minimum RegisterWithParent and UnregisterFromParent should be used +Make sure you also implement PostTransfer for any post transfer handling
dupe_modeDefines how duplicate existing components are handled when added to a datum +See COMPONENT_DUPE_* definitions for available options
dupe_typeThe type to check for duplication +null means exact match on type (default) +Any other type means that and all subtypes
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 +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
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 +See /datum/component/var/dupe_mode +C's type will always be the same of the called component
InitializeCalled during component creation with the same arguments as in new excluding parent. +Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead
NewCreate a new component. +Additional arguments are passed to Initialize()
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
ui_hostReturn the object that is the host of any UI's that this component has
+

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

ui_host +

+

Return the object that is the host of any UI's that this component has

+ + + diff --git a/datum/component/area_sound_manager.html b/datum/component/area_sound_manager.html new file mode 100644 index 00000000000..95513be9cb7 --- /dev/null +++ b/datum/component/area_sound_manager.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/area_sound_manager - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

area_sound_manager + + + +

+ +

Allows you to set a theme for a set of areas without tying them to looping sounds explicitly

+ + + +

Vars

accepted_zsA list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves
area_to_looping_typearea -> looping sound type
our_loopCurrent sound loop
timeridThe timer id of our current start delay, if it exists
+

Var Details

accepted_zs + + + + +

+

A list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves

area_to_looping_type + + + + +

+

area -> looping sound type

our_loop + + + + +

+

Current sound loop

timerid + + + + +

+

The timer id of our current start delay, if it exists

+ + + diff --git a/datum/component/combat_mode.html b/datum/component/combat_mode.html new file mode 100644 index 00000000000..d96581286d7 --- /dev/null +++ b/datum/component/combat_mode.html @@ -0,0 +1,114 @@ + + + + + + + /datum/component/combat_mode - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

combat_mode + + + +

+ +

Combat mode component. It makes the user face whichever atom the mouse pointer is hovering, +amongst other things designed outside of this file, namely PvP and PvE stuff, hence the name. +Can be toggled on and off by clicking the screen hud object or by pressing the assigned hotkey (default 'C')

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

Procs

check_flagsReturns a field of flags that are contained in both the second arg and our bitfield variable.
disable_combat_modeDisables combat mode. Please use 'safe_disable_combat_mode' instead, if you wish to also disable the toggle flag.
enable_combat_modeEnables combat mode. Please use 'safe_enable_combat_mode' instead, if you wish to also enable the toggle flag.
onMouseMoveChanges the user direction to (try) match the pointer.
on_deathDisables combat mode upon death.
on_logoutDisables combat mode upon logout
on_mob_hud_createdCreates the hud screen object.
on_moveChanges the user direction to (try) keep match the pointer.
safe_disable_combat_modeDisables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.
safe_enable_combat_modeEnables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.
update_combat_lockCombat mode can be locked out, forcibly disabled by a status trait.
user_toggle_intentional_combat_modeToggles whether the user is intentionally in combat mode. THIS should be the proc you generally use! Has built in visual/to other player feedback, as well as an audible cue to ourselves.

Proc Details

check_flags +

+

Returns a field of flags that are contained in both the second arg and our bitfield variable.

disable_combat_mode +

+

Disables combat mode. Please use 'safe_disable_combat_mode' instead, if you wish to also disable the toggle flag.

enable_combat_mode +

+

Enables combat mode. Please use 'safe_enable_combat_mode' instead, if you wish to also enable the toggle flag.

onMouseMove +

+

Changes the user direction to (try) match the pointer.

on_death +

+

Disables combat mode upon death.

on_logout +

+

Disables combat mode upon logout

on_mob_hud_created +

+

Creates the hud screen object.

on_move +

+

Changes the user direction to (try) keep match the pointer.

safe_disable_combat_mode +

+

Disables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.

safe_enable_combat_mode +

+

Enables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.

update_combat_lock +

+

Combat mode can be locked out, forcibly disabled by a status trait.

user_toggle_intentional_combat_mode +

+

Toggles whether the user is intentionally in combat mode. THIS should be the proc you generally use! Has built in visual/to other player feedback, as well as an audible cue to ourselves.

+ + + diff --git a/datum/component/construction/mecha/powerarmor.html b/datum/component/construction/mecha/powerarmor.html new file mode 100644 index 00000000000..aad086e7ce3 --- /dev/null +++ b/datum/component/construction/mecha/powerarmor.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/construction/mecha/powerarmor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

powerarmor + + + +

+ + +

Procs

get_stepsBetter than writing all of that new crap for something that's not even a mech.

Proc Details

get_steps +

+

Better than writing all of that new crap for something that's not even a mech.

+ + + diff --git a/datum/component/container_item.html b/datum/component/container_item.html new file mode 100644 index 00000000000..eefc44bf3e3 --- /dev/null +++ b/datum/component/container_item.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/container_item - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

container_item + + + +

+ +

Container item, an item which can be stored by specialized containers.

+

Procs

try_attachCalled when parent is added to the container.

Proc Details

try_attach +

+

Called when parent is added to the container.

+ + + diff --git a/datum/component/dejavu.html b/datum/component/dejavu.html new file mode 100644 index 00000000000..1e867543e88 --- /dev/null +++ b/datum/component/dejavu.html @@ -0,0 +1,110 @@ + + + + + + + /datum/component/dejavu - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

dejavu + + + +

+ +

A component to reset the parent to its previous state after some time passes

+ + + + + + + + + + +

Vars

brain_lossThe starting value of brain loss at the beginning of the effect
brute_lossThe starting value of brute loss at the beginning of the effect +This only applies to simple animals
clone_lossThe starting value of clone loss at the beginning of the effect
integrityThe starting value of integrity at the beginning of the effect +This only applies to objects
oxy_lossThe starting value of oxygen loss at the beginning of the effect
rewind_intervalHow long to wait between each rewind
rewind_typeDetermined by the type of the parent so different behaviours can happen per type
rewinds_remainingHow many rewinds will happen before the effect ends
saved_bodypartsA list of body parts saved at the beginning of the effect
starting_turfThe turf the parent was on when this components was applied, they get moved back here after the duration
tox_lossThe starting value of toxin loss at the beginning of the effect
+

Var Details

brain_loss + + + + +

+

The starting value of brain loss at the beginning of the effect

brute_loss + + + + +

+

The starting value of brute loss at the beginning of the effect +This only applies to simple animals

clone_loss + + + + +

+

The starting value of clone loss at the beginning of the effect

integrity + + + + +

+

The starting value of integrity at the beginning of the effect +This only applies to objects

oxy_loss + + + + +

+

The starting value of oxygen loss at the beginning of the effect

rewind_interval + + + + +

+

How long to wait between each rewind

rewind_type + + + + +

+

Determined by the type of the parent so different behaviours can happen per type

rewinds_remaining + + + + +

+

How many rewinds will happen before the effect ends

saved_bodyparts + + + + +

+

A list of body parts saved at the beginning of the effect

starting_turf + + + + +

+

The turf the parent was on when this components was applied, they get moved back here after the duration

tox_loss + + + + +

+

The starting value of toxin loss at the beginning of the effect

+ + + diff --git a/datum/component/edible.html b/datum/component/edible.html new file mode 100644 index 00000000000..78468285742 --- /dev/null +++ b/datum/component/edible.html @@ -0,0 +1,134 @@ + + + + + + + /datum/component/edible - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

edible + + + +

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

Vars

after_eatCallback to be ran for when you take a bite of something
bite_consumptionAmount of reagents taken per bite
bitecountAmount of bites taken so far
eat_timeAmount of seconds it takes to eat this food
eatverbsMessage to send when eating
food_flagsFlags for food
foodtypesBitfield of the types of this food
junkinessDefines how much it lowers someones satiety (Need to eat, essentialy)
last_check_timeLast time we checked for food likes

Procs

CanConsumeChecks whether or not the eater can actually consume the food
On_ConsumeDelete the item when it is fully eaten
TakeBiteThis function lets the eater take a bite and transfers the reagents to the eater.
TryToEatAll the checks for the act of eating itself and
UseByAnimalAbility to feed food to puppers
checkLikedCheck foodtypes to see if we should send a moodlet
+

Var Details

after_eat + + + + +

+

Callback to be ran for when you take a bite of something

bite_consumption + + + + +

+

Amount of reagents taken per bite

bitecount + + + + +

+

Amount of bites taken so far

eat_time + + + + +

+

Amount of seconds it takes to eat this food

eatverbs + + + + +

+

Message to send when eating

food_flags + + + + +

+

Flags for food

foodtypes + + + + +

+

Bitfield of the types of this food

junkiness + + + + +

+

Defines how much it lowers someones satiety (Need to eat, essentialy)

last_check_time + + + + +

+

Last time we checked for food likes

Proc Details

CanConsume +

+

Checks whether or not the eater can actually consume the food

On_Consume +

+

Delete the item when it is fully eaten

TakeBite +

+

This function lets the eater take a bite and transfers the reagents to the eater.

TryToEat +

+

All the checks for the act of eating itself and

UseByAnimal +

+

Ability to feed food to puppers

checkLiked +

+

Check foodtypes to see if we should send a moodlet

+ + + diff --git a/datum/component/embedded.html b/datum/component/embedded.html new file mode 100644 index 00000000000..3d4b8560e84 --- /dev/null +++ b/datum/component/embedded.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/embedded - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

embedded + + + +

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

Vars

harmfulif both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Procs

TopicSomeone is ripping out the item from the turf by hand
byeItemCarbonSomething deleted or moved our weapon while it was embedded, how rude!
fallOutCarbonCalled when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()
initCarbon//////////HUMAN PROCS////////////////
initTurf///////////TURF PROCS////////////////
itemMovedThis proc handles if something knocked the invisible item loose from the turf somehow (probably an explosion). Just make it visible and say it fell loose, then get outta here.
jostleCheckCalled every time a carbon with a harmful embed moves, rolling a chance for the item to cause pain. The chance is halved if the carbon is crawling or walking.
processCarbonItems embedded/stuck to carbons both check whether they randomly fall out (if applicable), as well as if the target mob and limb still exists. +Items harmfully embedded in carbons have an additional check for random pain (if applicable)
ripOutCarbonCalled when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()
safeRemoveCarbonThis proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +Pass TRUE for to_hands if we want it to go to the victim's hands when they pull it out
+

Var Details

harmful + + + + +

+

if both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Proc Details

Topic +

+

Someone is ripping out the item from the turf by hand

byeItemCarbon +

+

Something deleted or moved our weapon while it was embedded, how rude!

fallOutCarbon +

+

Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()

initCarbon +

+

//////////HUMAN PROCS////////////////

+

Set up an instance of embedding for a carbon. This is basically an extension of Initialize() so not much to say

initTurf +

+

///////////TURF PROCS////////////////

+

Turfs are much lower maintenance, since we don't care if they're in pain, but since they don't bleed or scream, we draw an overlay to show their status. +The only difference pointy/sticky items make here is text descriptors and pointy objects making a spark shower on impact.

itemMoved +

+

This proc handles if something knocked the invisible item loose from the turf somehow (probably an explosion). Just make it visible and say it fell loose, then get outta here.

jostleCheck +

+

Called every time a carbon with a harmful embed moves, rolling a chance for the item to cause pain. The chance is halved if the carbon is crawling or walking.

processCarbon +

+

Items embedded/stuck to carbons both check whether they randomly fall out (if applicable), as well as if the target mob and limb still exists. +Items harmfully embedded in carbons have an additional check for random pain (if applicable)

ripOutCarbon +

+

Called when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()

safeRemoveCarbon +

+

This proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +Pass TRUE for to_hands if we want it to go to the victim's hands when they pull it out

+ + + diff --git a/datum/component/explodable.html b/datum/component/explodable.html new file mode 100644 index 00000000000..4e792744471 --- /dev/null +++ b/datum/component/explodable.html @@ -0,0 +1,56 @@ + + + + + + + /datum/component/explodable - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

explodable + + + +

+ +

Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.

+ + + +

Procs

detonateExpldoe and remove the object
explodable_attackCalled when you use this object to attack sopmething
explodable_attack_zoneCalled when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.
is_hitting_zoneChecks if we're hitting the zone this component is covering

Proc Details

detonate +

+

Expldoe and remove the object

explodable_attack +

+

Called when you use this object to attack sopmething

explodable_attack_zone +

+

Called when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.

is_hitting_zone +

+

Checks if we're hitting the zone this component is covering

+ + + diff --git a/datum/component/field_of_vision.html b/datum/component/field_of_vision.html new file mode 100644 index 00000000000..34506358531 --- /dev/null +++ b/datum/component/field_of_vision.html @@ -0,0 +1,191 @@ + + + + + + + /datum/component/field_of_vision - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

field_of_vision + + + +

+ +

Field of Vision component. Does totally what you probably think it does, +ergo preventing players from seeing what's behind them.

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

Vars

adj_maskA circle image used to somewhat uncover the adjacent portion of the shadow cone, making mobs and objects behind us somewhat visible. +The owner mask is still required for those mob going over the default 32x32 px size btw.
angleHow much is the cone rotated clockwise, purely backend. Please use rotate_shadow_cone() if you must.
current_fov_sizeThe current screen size this field of vision is meant to fit for.
fovThat special invisible, almost neigh indestructible movable +that holds both shadow cone mask and image and follows the player around.
nested_locsA list of nested locations the mob is in, to ensure the above image works correctly.
owner_maskAn image whose render_source is kept up to date to prevent the mob (or the topmost movable holding it) from being hidden by the mask. +Will make it use vis_contents instead once a few byonds bugs with images and vis contents are fixed.
rot_scaleUsed to scale the shadow cone when rotating it to fit over the edges of the screen.
shadow_angleThe inner angle of this cone, right hardset to 90, 180, or 270 degrees, until someone figures out a way to make it dynamic.
shadow_maskThe mask portion of the cone, placed on a * render target plane so while not visible it still applies the filter.
visual_shadowThe visual portion of the cone, placed on the highest layer of the wall plane
width_n_height_offsetsA static list of offsets based on icon width and height, because render sources are centered unlike most other visuals, +and that gives us some problems when the icon is larger or smaller than world.icon_size

Procs

generate_fov_holderGenerates the holder and images (if not generated yet) and adds them to client.images. +Run when the component is registered to a player mob, or upon login.
hide_fovHides the shadow, other visibility comsig procs will take it into account. Called when the mob dies.
manual_centered_render_sourceA hacky comsig proc for things that somehow decide to change icon on the go. may make a change_icon_file() proc later but...
on_change_viewCalled when the client view size is changed.
on_loc_movedPretty much like the above, but meant for other movables the mob is stored in (bodybags, boxes, mechs etc).
on_mob_movedCalled when the owner mob moves around. Used to keep shadow located right behind us, +As well as modify the owner mask to match the topmost item.
on_reset_perspectiveHides the shadow when looking through other items, shows it otherwise.
resize_fovResizes the shadow to match the current screen size. +Run when the client view size is changed, or if the player has a viewsize different than "15x15" on login/comp registration.
rotate_shadow_coneRotates the shadow cone to a certain degree. Backend shenanigans.
show_fovShows the shadow. Called when the mob is revived.
+

Var Details

adj_mask + + + + +

+

A circle image used to somewhat uncover the adjacent portion of the shadow cone, making mobs and objects behind us somewhat visible. +The owner mask is still required for those mob going over the default 32x32 px size btw.

angle + + + + +

+

How much is the cone rotated clockwise, purely backend. Please use rotate_shadow_cone() if you must.

current_fov_size + + + + +

+

The current screen size this field of vision is meant to fit for.

fov + + + + +

+

That special invisible, almost neigh indestructible movable +that holds both shadow cone mask and image and follows the player around.

nested_locs + + + + +

+

A list of nested locations the mob is in, to ensure the above image works correctly.

owner_mask + + + + +

+

An image whose render_source is kept up to date to prevent the mob (or the topmost movable holding it) from being hidden by the mask. +Will make it use vis_contents instead once a few byonds bugs with images and vis contents are fixed.

rot_scale + + + + +

+

Used to scale the shadow cone when rotating it to fit over the edges of the screen.

shadow_angle + + + + +

+

The inner angle of this cone, right hardset to 90, 180, or 270 degrees, until someone figures out a way to make it dynamic.

shadow_mask + + + + +

+

The mask portion of the cone, placed on a * render target plane so while not visible it still applies the filter.

visual_shadow + + + + +

+

The visual portion of the cone, placed on the highest layer of the wall plane

width_n_height_offsets + + + + +

+

A static list of offsets based on icon width and height, because render sources are centered unlike most other visuals, +and that gives us some problems when the icon is larger or smaller than world.icon_size

Proc Details

generate_fov_holder +

+

Generates the holder and images (if not generated yet) and adds them to client.images. +Run when the component is registered to a player mob, or upon login.

hide_fov +

+

Hides the shadow, other visibility comsig procs will take it into account. Called when the mob dies.

manual_centered_render_source +

+

A hacky comsig proc for things that somehow decide to change icon on the go. may make a change_icon_file() proc later but...

on_change_view +

+

Called when the client view size is changed.

on_loc_moved +

+

Pretty much like the above, but meant for other movables the mob is stored in (bodybags, boxes, mechs etc).

on_mob_moved +

+

Called when the owner mob moves around. Used to keep shadow located right behind us, +As well as modify the owner mask to match the topmost item.

on_reset_perspective +

+

Hides the shadow when looking through other items, shows it otherwise.

resize_fov +

+

Resizes the shadow to match the current screen size. +Run when the client view size is changed, or if the player has a viewsize different than "15x15" on login/comp registration.

rotate_shadow_cone +

+

Rotates the shadow cone to a certain degree. Backend shenanigans.

show_fov +

+

Shows the shadow. Called when the mob is revived.

+ + + diff --git a/datum/component/footstep.html b/datum/component/footstep.html new file mode 100644 index 00000000000..796f67afc4d --- /dev/null +++ b/datum/component/footstep.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/footstep - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

footstep + + + +

+ +

Footstep component. Plays footsteps at parents location when it is appropriate.

+ + + + + +

Vars

e_rangee_range stands for extra range - aka how far the sound can be heard. This is added to the base value and ignored if there isn't a base value.
footstep_soundsThis can be a list OR a soundfile OR null. Determines whatever sound gets played.
footstep_typefootstep_type is a define which determines what kind of sounds should get chosen.
stepsHow many steps the parent has taken since the last time a footstep was played
volumevolume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Procs

prepare_stepPrepares a footstep. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open
+

Var Details

e_range + + + + +

+

e_range stands for extra range - aka how far the sound can be heard. This is added to the base value and ignored if there isn't a base value.

footstep_sounds + + + + +

+

This can be a list OR a soundfile OR null. Determines whatever sound gets played.

footstep_type + + + + +

+

footstep_type is a define which determines what kind of sounds should get chosen.

steps + + + + +

+

How many steps the parent has taken since the last time a footstep was played

volume + + + + +

+

volume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Proc Details

prepare_step +

+

Prepares a footstep. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open

+ + + diff --git a/datum/component/gps/item.html b/datum/component/gps/item.html new file mode 100644 index 00000000000..d08cc121631 --- /dev/null +++ b/datum/component/gps/item.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/gps/item - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ +

GPS component subtype. Only gps/item's can be used to open the UI.

+ + + + + + +

Vars

stateUI state of GPS, altering when it can be used.

Procs

interactCalled on COMSIG_ITEM_ATTACK_SELF
on_AltClickCalls toggletracking
on_emp_actCalled on COMSIG_ATOM_EMP_ACT
on_examineCalled on COMSIG_PARENT_EXAMINE
rebootRestarts the GPS after getting turned off by an EMP.
toggletrackingToggles the tracking for the gps
+

Var Details

state + + + + +

+

UI state of GPS, altering when it can be used.

Proc Details

interact +

+

Called on COMSIG_ITEM_ATTACK_SELF

on_AltClick +

+

Calls toggletracking

on_emp_act +

+

Called on COMSIG_ATOM_EMP_ACT

on_examine +

+

Called on COMSIG_PARENT_EXAMINE

reboot +

+

Restarts the GPS after getting turned off by an EMP.

toggletracking +

+

Toggles the tracking for the gps

+ + + diff --git a/datum/component/identification.html b/datum/component/identification.html new file mode 100644 index 00000000000..7ddf6ecfdee --- /dev/null +++ b/datum/component/identification.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/identification - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

identification + + + +

+ +

Identification components

+ + + + +

Vars

additional_examine_textIf this is set, show this on examine to the examiner if they know how to use it.
deconstructor_reveal_textAdded to deconstructive analyzer say on success if set
identification_effect_flagsGeneral flags for what we should do.
identification_flagsGeneral flags for how we should work.
identification_method_flagsGeneral flags for how we can be identified.
+

Var Details

additional_examine_text + + + + +

+

If this is set, show this on examine to the examiner if they know how to use it.

deconstructor_reveal_text + + + + +

+

Added to deconstructive analyzer say on success if set

identification_effect_flags + + + + +

+

General flags for what we should do.

identification_flags + + + + +

+

General flags for how we should work.

identification_method_flags + + + + +

+

General flags for how we can be identified.

+ + + diff --git a/datum/component/identification/syndicate.html b/datum/component/identification/syndicate.html new file mode 100644 index 00000000000..c0aeab2c339 --- /dev/null +++ b/datum/component/identification/syndicate.html @@ -0,0 +1,29 @@ + + + + + + + /datum/component/identification/syndicate - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

syndicate + + + +

+ +

Identification component subtype - Syndicate

+

Checks if the user is a traitor.

+ + + diff --git a/datum/component/interaction_menu_granter.html b/datum/component/interaction_menu_granter.html new file mode 100644 index 00000000000..ea5a71ad735 --- /dev/null +++ b/datum/component/interaction_menu_granter.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/interaction_menu_granter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

interaction_menu_granter + + + +

+ +

The menu itself, only var is target which is the mob you are interacting with

+

Procs

open_menuThe one interacting is clicker, the interacted is clicked.

Proc Details

open_menu +

+

The one interacting is clicker, the interacted is clicked.

+ + + diff --git a/datum/component/killerqueen.html b/datum/component/killerqueen.html new file mode 100644 index 00000000000..4713b55ea64 --- /dev/null +++ b/datum/component/killerqueen.html @@ -0,0 +1,101 @@ + + + + + + + /datum/component/killerqueen - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

killerqueen + + + +

+ +

KILLER QUEEN

+

Simple contact bomb component +Blows up the first person to touch it.

+ + + + + + + + + +

Vars

devdev explosion radius
ex_strengthstrength of explosion on the touch-er. 0 to disable. usually only used if the normal explosion is disabled (this is the default).
examine_messageexamine message
explodeddid we explode
failurecallback to invoke with (parent) when deleting without an explosion
flameflame explosion radius
heavyheavy explosion radius
lightlight explosion radius
living_onlyonly triggered by living mobs
pre_explodecallback to invoke with (parent, victim) before standard detonation - useful for losing a reference to this component or implementing custom behavior. return FALSE to prevent explosion.
+

Var Details

dev + + + + +

+

dev explosion radius

ex_strength + + + + +

+

strength of explosion on the touch-er. 0 to disable. usually only used if the normal explosion is disabled (this is the default).

examine_message + + + + +

+

examine message

exploded + + + + +

+

did we explode

failure + + + + +

+

callback to invoke with (parent) when deleting without an explosion

flame + + + + +

+

flame explosion radius

heavy + + + + +

+

heavy explosion radius

light + + + + +

+

light explosion radius

living_only + + + + +

+

only triggered by living mobs

pre_explode + + + + +

+

callback to invoke with (parent, victim) before standard detonation - useful for losing a reference to this component or implementing custom behavior. return FALSE to prevent explosion.

+ + + diff --git a/datum/component/knockback.html b/datum/component/knockback.html new file mode 100644 index 00000000000..2eaf302d2e0 --- /dev/null +++ b/datum/component/knockback.html @@ -0,0 +1,84 @@ + + + + + + + /datum/component/knockback - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

knockback + + + +

+ + + + + + + + +

Vars

throw_anchoredwhether this can throw anchored targets (tables, etc)
throw_distancedistance the atom will be thrown
throw_gentlewhether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Procs

do_knockbackThrow a target in a direction
hostile_attackingtargettriggered after a hostile simplemob attacks something
item_afterattacktriggered after an item attacks something
projectile_hittriggered after a projectile hits something
+

Var Details

throw_anchored + + + + +

+

whether this can throw anchored targets (tables, etc)

throw_distance + + + + +

+

distance the atom will be thrown

throw_gentle + + + + +

+

whether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Proc Details

do_knockback +

+

Throw a target in a direction

+

Arguments:

+

hostile_attackingtarget +

+

triggered after a hostile simplemob attacks something

item_afterattack +

+

triggered after an item attacks something

projectile_hit +

+

triggered after a projectile hits something

+ + + diff --git a/datum/component/label.html b/datum/component/label.html new file mode 100644 index 00000000000..5ad60f3a482 --- /dev/null +++ b/datum/component/label.html @@ -0,0 +1,94 @@ + + + + + + + /datum/component/label - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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/material_container.html b/datum/component/material_container.html new file mode 100644 index 00000000000..921c08e0881 --- /dev/null +++ b/datum/component/material_container.html @@ -0,0 +1,249 @@ + + + + + + + /datum/component/material_container - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

material_container + + + +

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

Vars

after_insertA callback invoked after materials are inserted into this container
allowed_materialsThe list of materials that this material container can accept
last_inserted_idThe last main material that was inserted into this container
materialsMap of material ref -> amount
max_amountThe maximum amount of materials this material container can contain
precise_insertionWhether or not this material container allows specific amounts from sheets to be inserted
preconditionA callback invoked before materials are inserted into this container
total_amountThe total amount of materials this material container contains

Procs

InitializeSets up the proper signals and fills the list of materials with the appropriate references.
amount2sheetTurns a material amount into the amount of sheets it should output
can_hold_materialThe default check for whether we can add materials to this material container.
can_insert_amount_matProc for checking if there is room in the component, returning the amount or else the amount lacking.
get_categoriesReturns all the categories in a recipe.
get_item_material_amountreturns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account
get_material_amountReturns the amount of a specific material in this container.
has_enough_of_categoryReturns TRUE if you have enough of a specified material category (Which could be multiple materials)
has_enough_of_materialReturns TRUE if you have enough of the specified material.
has_materialsChecks if its possible to afford a certain amount of materials. Takes a dictionary of materials.
has_spaceProc that returns TRUE if the container has space
insert_amount_matFor inserting an amount of material
insert_itemProc specifically for inserting items, returns the amount of materials entered.
insert_item_materialsInserts the relevant materials from an item into this material container.
on_attackbyProc that allows players to fill the parent with mats
retrieve_allProc to get all the materials and dump them as sheets
retrieve_sheetsFor spawning mineral sheets at a specific location. Used by machines to output sheets.
sheet2amountTurns an amount of sheets into the amount of material amount it should output
transer_amt_toProc for transfering materials to another container.
use_amount_matUses an amount of a specific material, effectively removing it.
use_materialsFor consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200)
user_insertProc used for when player inserts materials
+

Var Details

after_insert + + + + +

+

A callback invoked after materials are inserted into this container

allowed_materials + + + + +

+

The list of materials that this material container can accept

last_inserted_id + + + + +

+

The last main material that was inserted into this container

materials + + + + +

+

Map of material ref -> amount

max_amount + + + + +

+

The maximum amount of materials this material container can contain

precise_insertion + + + + +

+

Whether or not this material container allows specific amounts from sheets to be inserted

precondition + + + + +

+

A callback invoked before materials are inserted into this container

total_amount + + + + +

+

The total amount of materials this material container contains

Proc Details

Initialize +

+

Sets up the proper signals and fills the list of materials with the appropriate references.

amount2sheet +

+

Turns a material amount into the amount of sheets it should output

can_hold_material +

+

The default check for whether we can add materials to this material container.

+

Arguments:

+

can_insert_amount_mat +

+

Proc for checking if there is room in the component, returning the amount or else the amount lacking.

get_categories +

+

Returns all the categories in a recipe.

get_item_material_amount +

+

returns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account

get_material_amount +

+

Returns the amount of a specific material in this container.

has_enough_of_category +

+

Returns TRUE if you have enough of a specified material category (Which could be multiple materials)

has_enough_of_material +

+

Returns TRUE if you have enough of the specified material.

has_materials +

+

Checks if its possible to afford a certain amount of materials. Takes a dictionary of materials.

has_space +

+

Proc that returns TRUE if the container has space

insert_amount_mat +

+

For inserting an amount of material

insert_item +

+

Proc specifically for inserting items, returns the amount of materials entered.

insert_item_materials +

+

Inserts the relevant materials from an item into this material container.

+

Arguments:

+

on_attackby +

+

Proc that allows players to fill the parent with mats

retrieve_all +

+

Proc to get all the materials and dump them as sheets

retrieve_sheets +

+

For spawning mineral sheets at a specific location. Used by machines to output sheets.

sheet2amount +

+

Turns an amount of sheets into the amount of material amount it should output

transer_amt_to +

+

Proc for transfering materials to another container.

use_amount_mat +

+

Uses an amount of a specific material, effectively removing it.

use_materials +

+

For consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200)

user_insert +

+

Proc used for when player inserts materials

+ + + diff --git a/datum/component/mood.html b/datum/component/mood.html new file mode 100644 index 00000000000..8c48298c5e9 --- /dev/null +++ b/datum/component/mood.html @@ -0,0 +1,49 @@ + + + + + + + /datum/component/mood - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mood + + + +

+ + + + +

Procs

direct_sanity_drainCauses direct drain of someone's sanity, call it with a numerical value corresponding how badly you want to hurt their sanity
on_reviveCalled when parent is revived.
update_moodCalled after moodevent/s have been added/removed.

Proc Details

direct_sanity_drain +

+

Causes direct drain of someone's sanity, call it with a numerical value corresponding how badly you want to hurt their sanity

on_revive +

+

Called when parent is revived.

update_mood +

+

Called after moodevent/s have been added/removed.

+ + + diff --git a/datum/component/multiple_lives.html b/datum/component/multiple_lives.html new file mode 100644 index 00000000000..78a24ad1286 --- /dev/null +++ b/datum/component/multiple_lives.html @@ -0,0 +1,37 @@ + + + + + + + /datum/component/multiple_lives - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

multiple_lives + + + +

+ +

A simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.

+

Vars

lives_leftThe number of respawns the living mob has left.
+

Var Details

lives_left + + + + +

+

The number of respawns the living mob has left.

+ + + diff --git a/datum/component/nanites.html b/datum/component/nanites.html new file mode 100644 index 00000000000..18249d6cc80 --- /dev/null +++ b/datum/component/nanites.html @@ -0,0 +1,250 @@ + + + + + + + /datum/component/nanites - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

nanites + + + +

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

Vars

can_be_deletedAllow deletion
emp_desync_modEMP severity div for cloudsync reset chance
emp_flat_deletion_lowerEMP flat deletion lower
emp_flat_deletion_upperEMP flat deletion upper
emp_percent_deletion_lowerEMP percent deletion lower
emp_percent_deletion_upperEMP percent deletion upper
emp_severity_modEMP severity multiplier, capping to 0 to 100
minor_shock_deletion_lowerminor shock deletion lower
minor_shock_deletion_upperminor shock deletion upper
permanent_programsPermanent programs - can never be deleted. does not count towards max_programs.
qdel_self_on_depletionDelete ourselves when we're depleted.
requires_cloud_syncWhether or not we can survive no cloud syncing without errors
shock_flat_deletion_lowerShock flat deletion lower
shock_flat_deletion_upperShock flat deletion upper
shock_percent_deletion_lowerShock percent deletion lower
shock_percent_deletion_upperShock percent deletion upper
start_timeSeparate list of protocol programs, to avoid looping through the whole programs list when checking for conflicts
stealthTimestamp to when the nanites were first inserted in the host

Procs

add_permanent_programAdds permanent programs
add_programAdds a nanite program, replacing existing unique programs of the same type. A source program can be specified to copy its programming onto the new one.
adjust_nanitesModifies the current nanite volume, then checks if the nanites are depleted or exceeding the maximum amount
check_console_lockingChecks if we can block out console modification
check_host_lockoutChecks if we can lock out host internal conscious modification
check_viral_preventionChecks if we can block out viral replica
cloud_syncSyncs the nanites to their assigned cloud copy, if it is available. If it is not, there is a small chance of a software error instead.
delete_nanitesUsed to rid ourselves +Deletes nanites!
nanites_depletedCalled when nanites are depleted. +Deletes ourselves by default.
reject_excess_nanites
set_nanite_barUpdates the nanite volume bar visible in diagnostic HUDs
syncSyncs the nanite component to another, making it so programs are the same with the same programming (except activation status)
+

Var Details

can_be_deleted + + + + +

+

Allow deletion

emp_desync_mod + + + + +

+

EMP severity div for cloudsync reset chance

emp_flat_deletion_lower + + + + +

+

EMP flat deletion lower

emp_flat_deletion_upper + + + + +

+

EMP flat deletion upper

emp_percent_deletion_lower + + + + +

+

EMP percent deletion lower

emp_percent_deletion_upper + + + + +

+

EMP percent deletion upper

emp_severity_mod + + + + +

+

EMP severity multiplier, capping to 0 to 100

minor_shock_deletion_lower + + + + +

+

minor shock deletion lower

minor_shock_deletion_upper + + + + +

+

minor shock deletion upper

permanent_programs + + + + +

+

Permanent programs - can never be deleted. does not count towards max_programs.

qdel_self_on_depletion + + + + +

+

Delete ourselves when we're depleted.

requires_cloud_sync + + + + +

+

Whether or not we can survive no cloud syncing without errors

shock_flat_deletion_lower + + + + +

+

Shock flat deletion lower

shock_flat_deletion_upper + + + + +

+

Shock flat deletion upper

shock_percent_deletion_lower + + + + +

+

Shock percent deletion lower

shock_percent_deletion_upper + + + + +

+

Shock percent deletion upper

start_time + + + + +

+

Separate list of protocol programs, to avoid looping through the whole programs list when checking for conflicts

stealth + + + + +

+

Timestamp to when the nanites were first inserted in the host

Proc Details

add_permanent_program +

+

Adds permanent programs

+

WARNING: Has no sanity checks. Make sure you know what you are doing! (make sure programs do not conflict)

add_program +

+

Adds a nanite program, replacing existing unique programs of the same type. A source program can be specified to copy its programming onto the new one.

adjust_nanites +

+

Modifies the current nanite volume, then checks if the nanites are depleted or exceeding the maximum amount

check_console_locking +

+

Checks if we can block out console modification

check_host_lockout +

+

Checks if we can lock out host internal conscious modification

check_viral_prevention +

+

Checks if we can block out viral replica

cloud_sync +

+

Syncs the nanites to their assigned cloud copy, if it is available. If it is not, there is a small chance of a software error instead.

delete_nanites +

+

Used to rid ourselves +Deletes nanites!

nanites_depleted +

+

Called when nanites are depleted. +Deletes ourselves by default.

reject_excess_nanites +

+
Handles how nanites leave the host's body if they find out that they're currently exceeding the maximum supported amount
+
+

IC explanation: +Normally nanites simply discard excess volume by slowing replication or 'sweating' it out in imperceptible amounts, +but if there is a large excess volume, likely due to a programming change that leaves them unable to support their current volume, +the nanites attempt to leave the host as fast as necessary to prevent nanite poisoning. This can range from minor oozing to nanites +rapidly bursting out from every possible pathway, causing temporary inconvenience to the host.

set_nanite_bar +

+

Updates the nanite volume bar visible in diagnostic HUDs

sync +

+

Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status)

+ + + diff --git a/datum/component/omen.html b/datum/component/omen.html new file mode 100644 index 00000000000..8370f33c213 --- /dev/null +++ b/datum/component/omen.html @@ -0,0 +1,62 @@ + + + + + + + /datum/component/omen - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

omen + + + +

+ +

omen.dm: For when you want someone to have a really bad day

+

When you attach an omen component to someone, they start running the risk of all sorts of bad environmental injuries, like nearby vending machines randomly falling on you, +or hitting your head really hard when you slip and fall, or... well, for now those two are all I have. More will come.

+

Omens are removed once the victim is either maimed by one of the possible injuries, or if they receive a blessing (read: bashing with a bible) from the chaplain.

+ + + +

Vars

vesselWhatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Procs

check_accidentcheck_accident() is called each step we take
check_blessHijack the mood system to see if we get the blessing mood event to cancel the omen
check_slipIf we get knocked down, see if we have a really bad slip and bash our head hard
+

Var Details

vessel + + + + +

+

Whatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Proc Details

check_accident +

+

check_accident() is called each step we take

+

While we're walking around, roll to see if there's any environmental hazards (currently only vending machines) on one of the adjacent tiles we can trigger. +We do the prob() at the beginning to A. add some tension for /when/ it will strike, and B. (more importantly) ameliorate the fact that we're checking up to 5 turfs's contents each time

check_bless +

+

Hijack the mood system to see if we get the blessing mood event to cancel the omen

check_slip +

+

If we get knocked down, see if we have a really bad slip and bash our head hard

+ + + diff --git a/datum/component/pellet_cloud.html b/datum/component/pellet_cloud.html new file mode 100644 index 00000000000..5f81c08ad31 --- /dev/null +++ b/datum/component/pellet_cloud.html @@ -0,0 +1,218 @@ + + + + + + + /datum/component/pellet_cloud - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

pellet_cloud + + + +

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

Vars

bodiesFor grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs
hitshow many pellets impacted something
num_pelletsHow many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise
pellet_deltaFor grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it
pelletsThe list of pellets we're responsible for tracking, once these are all accounted for, we finalize.
projectile_typeWhat's the projectile path of the shrapnel we're shooting?
purple_heartsFor grenades, tracking people who die covering a grenade for achievement purposes, see [/datum/component/pellet_cloud/proc/handle_martyrs()]
queued_deleteIf the parent tried deleting and we're not done yet, we send it to nullspace then delete it after
radiusFor grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate
shooterfor if we're an ammo casing being fired
targets_hitAn associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages
terminatedhow many pellets ranged out without hitting anything
wound_info_by_partAnother associated list for hit bodyparts on carbons so we can track how much wounding potential we have for each bodypart

Procs

create_blast_pelletscreate_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.
create_casing_pelletscreate_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)
finalizeAll of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.
grenade_armedLook alive, we're armed! Now we start watching to see if anyone's covering us
grenade_droppedSomeone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off
grenade_movedOur grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile
grenade_uncrossedSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
handle_martyrshandle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel
nullspace_parentOur grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here
on_target_qdelSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
pellet_hitOne of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)
pellet_rangeOne of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)
pewMinor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component
+

Var Details

bodies + + + + +

+

For grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs

hits + + + + +

+

how many pellets impacted something

num_pellets + + + + +

+

How many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise

pellet_delta + + + + +

+

For grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it

pellets + + + + +

+

The list of pellets we're responsible for tracking, once these are all accounted for, we finalize.

projectile_type + + + + +

+

What's the projectile path of the shrapnel we're shooting?

purple_hearts + + + + +

+

For grenades, tracking people who die covering a grenade for achievement purposes, see [/datum/component/pellet_cloud/proc/handle_martyrs()]

queued_delete + + + + +

+

If the parent tried deleting and we're not done yet, we send it to nullspace then delete it after

radius + + + + +

+

For grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate

shooter + + + + +

+

for if we're an ammo casing being fired

targets_hit + + + + +

+

An associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages

terminated + + + + +

+

how many pellets ranged out without hitting anything

wound_info_by_part + + + + +

+

Another associated list for hit bodyparts on carbons so we can track how much wounding potential we have for each bodypart

Proc Details

create_blast_pellets +

+

create_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.

+

Note that grenades have extra handling for someone throwing themselves/being thrown on top of it, while landmines do not (obviously, it's a landmine!). See [/datum/component/pellet_cloud/proc/handle_martyrs()]

create_casing_pellets +

+

create_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)

+

Honestly this is mostly just a rehash of [/obj/item/ammo_casing/proc/fire_casing()] for pellet counts > 1, except this lets us tamper with the pellets and hook onto them for tracking purposes. +The arguments really don't matter, this proc is triggered by COMSIG_PELLET_CLOUD_INIT which is only for this really, it's just a big mess of the state vars we need for doing the stuff over here.

finalize +

+

All of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.

grenade_armed +

+

Look alive, we're armed! Now we start watching to see if anyone's covering us

grenade_dropped +

+

Someone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off

grenade_moved +

+

Our grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile

grenade_uncrossed +

+

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

handle_martyrs +

+

handle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel

+

Between the time the grenade is armed and the actual detonation, we set var/list/bodies to the list of mobs currently on the new tile, as if the grenade landed on top of them, tracking if any of them move off the tile and removing them from the "under" list +Once the grenade detonates, handle_martyrs() is called and gets all the new mobs on the tile, and add the ones not in var/list/bodies to var/list/martyrs +We then iterate through the martyrs and reduce the shrapnel magnitude for each mob on top of it, shredding each of them with some of the shrapnel they helped absorb. This can snuff out all of the shrapnel if there's enough bodies

+

Note we track anyone who's alive and client'd when they get shredded in var/list/purple_hearts, for achievement checking later

nullspace_parent +

+

Our grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here

on_target_qdel +

+

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

pellet_hit +

+

One of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)

pellet_range +

+

One of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)

pew +

+

Minor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component

+ + + diff --git a/datum/component/personal_crafting.html b/datum/component/personal_crafting.html new file mode 100644 index 00000000000..3927bffb592 --- /dev/null +++ b/datum/component/personal_crafting.html @@ -0,0 +1,38 @@ + + + + + + + /datum/component/personal_crafting - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

personal_crafting + + + +

+ + +

Procs

check_contentsCheck that the contents of the recipe meet the requirements.

Proc Details

check_contents +

+

Check that the contents of the recipe meet the requirements.

+

user: The /mob that initated the crafting. +R: The /datum/crafting_recipe being attempted. +contents: List of items to search for R's reqs.

+ + + diff --git a/datum/component/plumbing.html b/datum/component/plumbing.html new file mode 100644 index 00000000000..2dfc4739d17 --- /dev/null +++ b/datum/component/plumbing.html @@ -0,0 +1,164 @@ + + + + + + + /datum/component/plumbing - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

plumbing + + + +

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

Vars

activeFALSE to pretty much just not exist in the plumbing world so we can be moved, TRUE to go plumbo mode
demand_connectsdirection in wich we act as a demander
ducterlaysWe can't just cut all of the parents' overlays, so we'll track them here
ductsIndex with "1" = /datum/ductnet/theductpointingnorth etc. "1" being the num2text from NORTH define
reagentsshortcut to our parents' reagent holder
supply_connectsdirections in wich we act as a supplier
turn_connectsif TRUE connects will spin with the parent object visually and codually, so you can have it work in any direction. FALSE if you want it to be static
use_overlaysTRUE if we wanna add proper pipe outless under our parent object. this is pretty good if i may so so myself

Procs

can_addCan we be added to the ductnet?
can_givereturns TRUE when they can give the specified amount and reagent. called by process request
create_overlaysWe create our luxurious piping overlays/underlays, to indicate where we do what. only called once if use_overlays = TRUE in Initialize()
disablewe stop acting like a plumbing thing and disconnect if we are, so we can safely be moved and stuff
enablesettle wherever we are, and start behaving like a piece of plumbing
get_original_directionGive the direction of a pipe, and it'll return wich direction it originally was when it's object pointed SOUTH
process_requestcheck who can give us what we want, and how many each of them will give us
send_requestcalled from in process(). only calls process_request(), but can be overwritten for children with special behaviour
toggle_activeToggle our machinery on or off. This is called by a hook from default_unfasten_wrench with anchored as only param, so we dont have to copypaste this on every object that can move
transfer_tothis is where the reagent is actually transferred and is thus the finish point of our process()
update_dirWe update our connects only when we settle down by taking our current and original direction to find our new connects +If someone wants it to fucking spin while connected to something go actually knock yourself out
+

Var Details

active + + + + +

+

FALSE to pretty much just not exist in the plumbing world so we can be moved, TRUE to go plumbo mode

demand_connects + + + + +

+

direction in wich we act as a demander

ducterlays + + + + +

+

We can't just cut all of the parents' overlays, so we'll track them here

ducts + + + + +

+

Index with "1" = /datum/ductnet/theductpointingnorth etc. "1" being the num2text from NORTH define

reagents + + + + +

+

shortcut to our parents' reagent holder

supply_connects + + + + +

+

directions in wich we act as a supplier

turn_connects + + + + +

+

if TRUE connects will spin with the parent object visually and codually, so you can have it work in any direction. FALSE if you want it to be static

use_overlays + + + + +

+

TRUE if we wanna add proper pipe outless under our parent object. this is pretty good if i may so so myself

Proc Details

can_add +

+

Can we be added to the ductnet?

can_give +

+

returns TRUE when they can give the specified amount and reagent. called by process request

create_overlays +

+

We create our luxurious piping overlays/underlays, to indicate where we do what. only called once if use_overlays = TRUE in Initialize()

disable +

+

we stop acting like a plumbing thing and disconnect if we are, so we can safely be moved and stuff

enable +

+

settle wherever we are, and start behaving like a piece of plumbing

get_original_direction +

+

Give the direction of a pipe, and it'll return wich direction it originally was when it's object pointed SOUTH

process_request +

+

check who can give us what we want, and how many each of them will give us

send_request +

+

called from in process(). only calls process_request(), but can be overwritten for children with special behaviour

toggle_active +

+

Toggle our machinery on or off. This is called by a hook from default_unfasten_wrench with anchored as only param, so we dont have to copypaste this on every object that can move

transfer_to +

+

this is where the reagent is actually transferred and is thus the finish point of our process()

update_dir +

+

We update our connects only when we settle down by taking our current and original direction to find our new connects +If someone wants it to fucking spin while connected to something go actually knock yourself out

+ + + diff --git a/datum/component/plumbing/acclimator.html b/datum/component/plumbing/acclimator.html new file mode 100644 index 00000000000..6863eb5c386 --- /dev/null +++ b/datum/component/plumbing/acclimator.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/plumbing/acclimator - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

acclimator + + + +

+ + +

Procs

processWe're overriding process and not send_request, because all process does is do the requests, so we might aswell cut out the middle man and save some code from running

Proc Details

process +

+

We're overriding process and not send_request, because all process does is do the requests, so we might aswell cut out the middle man and save some code from running

+ + + diff --git a/datum/component/plumbing/filter.html b/datum/component/plumbing/filter.html new file mode 100644 index 00000000000..717ef3d475f --- /dev/null +++ b/datum/component/plumbing/filter.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/plumbing/filter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

filter + + + +

+ +

The magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter

+

Procs

can_give_in_directionWe check if the direction and reagent are valid to give. Needed for filters since different outputs have different behaviours

Proc Details

can_give_in_direction +

+

We check if the direction and reagent are valid to give. Needed for filters since different outputs have different behaviours

+ + + diff --git a/datum/component/pricetag.html b/datum/component/pricetag.html new file mode 100644 index 00000000000..af0e50b2e4e --- /dev/null +++ b/datum/component/pricetag.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/pricetag - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

pricetag + + + +

+ + + +

Vars

default_profit_ratioPayee gets 100% of the value if no ratio has been set.
payeesList of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.
+

Var Details

default_profit_ratio + + + + +

+

Payee gets 100% of the value if no ratio has been set.

payees + + + + +

+

List of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.

+ + + diff --git a/datum/component/squeak.html b/datum/component/squeak.html new file mode 100644 index 00000000000..8e171808d68 --- /dev/null +++ b/datum/component/squeak.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/squeak - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

squeak + + + +

+ + + + + +

Vars

cross_squeak_delay_chancechance we'll be stopped from squeaking by cooldown when something crossing us squeaks
sound_extra_rangeextra-range for this component's sound
sound_falloff_distancewhen sounds start falling off for the squeak
sound_falloff_exponentsound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.
+

Var Details

cross_squeak_delay_chance + + + + +

+

chance we'll be stopped from squeaking by cooldown when something crossing us squeaks

sound_extra_range + + + + +

+

extra-range for this component's sound

sound_falloff_distance + + + + +

+

when sounds start falling off for the squeak

sound_falloff_exponent + + + + +

+

sound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.

+ + + diff --git a/datum/component/storage.html b/datum/component/storage.html new file mode 100644 index 00000000000..10735511f2b --- /dev/null +++ b/datum/component/storage.html @@ -0,0 +1,173 @@ + + + + + + + /datum/component/storage - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

storage + + + +

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

Vars

max_combined_w_classMax combined w_class. Applies to STORAGE_LIMIT_COMBINED_W_CLASS
max_itemsMax items we can hold. Applies to STORAGE_LIMIT_MAX_ITEMS
max_volumeMax volume we can hold. Applies to STORAGE_LIMIT_VOLUME. Auto scaled on New() if unset.
max_w_classMax w_class we can hold. Applies to STORAGE_LIMIT_COMBINED_W_CLASS and STORAGE_LIMIT_VOLUME
storage_flagsStorage flags, including what kinds of limiters we use for how many items we can hold
ui_by_mobUi objects by person. mob = list(objects)

Procs

_process_numerical_displayGenerates a list of numbered_display datums for the numerical display system.
check_on_foundCheck if we should trigger on_found() +If this returns TRUE, it means an on_found() returned TRUE and immediately broke the chain. +In most contexts, this should mean to stop.
get_max_volumeGets our max volume
get_ui_boxesGets our ui_boxes, making it if it doesn't exist.
get_ui_closeGets our ui_close, making it if it doesn't exist.
get_ui_continuousGets our ui_continuous, making it if it doesn't exist.
get_ui_leftGets our ui_left, making it if it doesn't exist.
on_logoutProc triggered by signal to ensure logging out clients don't linger.
orient2hud_legacyOrients all objects in legacy mode, and returns the objects to show to the user.
orient2hud_volumetricOrients all objects in .. volumetric mode. Does not support numerical display!
ui_hideHides our UI from a mob
ui_showShows our UI to a mob.
volumetric_uiReturns TRUE if we are using volumetric UI instead of box UI
vv_edit_varVV hooked to ensure no lingering screen objects.
+

Var Details

max_combined_w_class + + + + +

+

Max combined w_class. Applies to STORAGE_LIMIT_COMBINED_W_CLASS

max_items + + + + +

+

Max items we can hold. Applies to STORAGE_LIMIT_MAX_ITEMS

max_volume + + + + +

+

Max volume we can hold. Applies to STORAGE_LIMIT_VOLUME. Auto scaled on New() if unset.

max_w_class + + + + +

+

Max w_class we can hold. Applies to STORAGE_LIMIT_COMBINED_W_CLASS and STORAGE_LIMIT_VOLUME

storage_flags + + + + +

+

Storage flags, including what kinds of limiters we use for how many items we can hold

ui_by_mob + + + + +

+

Ui objects by person. mob = list(objects)

Proc Details

_process_numerical_display +

+

Generates a list of numbered_display datums for the numerical display system.

check_on_found +

+

Check if we should trigger on_found() +If this returns TRUE, it means an on_found() returned TRUE and immediately broke the chain. +In most contexts, this should mean to stop.

get_max_volume +

+

Gets our max volume

get_ui_boxes +

+

Gets our ui_boxes, making it if it doesn't exist.

get_ui_close +

+

Gets our ui_close, making it if it doesn't exist.

get_ui_continuous +

+

Gets our ui_continuous, making it if it doesn't exist.

get_ui_left +

+

Gets our ui_left, making it if it doesn't exist.

on_logout +

+

Proc triggered by signal to ensure logging out clients don't linger.

orient2hud_legacy +

+

Orients all objects in legacy mode, and returns the objects to show to the user.

orient2hud_volumetric +

+

Orients all objects in .. volumetric mode. Does not support numerical display!

ui_hide +

+

Hides our UI from a mob

ui_show +

+

Shows our UI to a mob.

volumetric_ui +

+

Returns TRUE if we are using volumetric UI instead of box UI

vv_edit_var +

+

VV hooked to ensure no lingering screen objects.

+ + + diff --git a/datum/component/storage/concrete/tcg.html b/datum/component/storage/concrete/tcg.html new file mode 100644 index 00000000000..25d6a527f71 --- /dev/null +++ b/datum/component/storage/concrete/tcg.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/storage/concrete/tcg - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

tcg + + + +

+ +

A storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!

+

Procs

can_be_insertedThe deck that the card pile is using for FAIR PLAY.

Proc Details

can_be_inserted +

+

The deck that the card pile is using for FAIR PLAY.

+ + + diff --git a/datum/component/tackler.html b/datum/component/tackler.html new file mode 100644 index 00000000000..0051b3f2a2d --- /dev/null +++ b/datum/component/tackler.html @@ -0,0 +1,177 @@ + + + + + + + /datum/component/tackler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

tackler + + + +

+ +

#tackle.dm

+

For when you want to throw a person at something and have fun stuff happen

+

This component is made for carbon mobs (really, humans), and allows its parent to throw themselves and perform tackles. This is done by enabling throw mode, then clicking on your +intended target with an empty hand. You will then launch toward your target. If you hit a carbon, you'll roll to see how hard you hit them. If you hit a solid non-mob, you'll +roll to see how badly you just messed yourself up. If, along your journey, you hit a table, you'll slam onto it and send up to MAX_TABLE_MESSES (8) /obj/items on the table flying, +and take a bit of extra damage and stun for each thing launched.

+

There are 2 """skill rolls""" involved here, which are handled and explained in sack() and rollTackle() (for roll 1, carbons), and splat() (for roll 2, walls and solid objects)

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

Vars

base_knockdownLaunching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.
min_distanceSome gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!
rangeYour max range for how far you can tackle.
skill_modA flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.
speedHow fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.
stamina_costHow much stamina it takes to launch a tackle
tackleThe throwdatum we're currently dealing with, if we need it

Procs

checkObstacleCheck to see if we hit a table, and if so, make a big mess!
checkTackleSee if we can tackle or not. If we can, leap!
registerTackleStore the thrownthing datum for later use
rollTackleIf cat, "pounce" instead of "tackle". +rollTackle()
sackIf cat, "pounce" instead of "leap". +sack()
splatsplat()
splatWindowA special case for splatting for handling windows
+

Var Details

base_knockdown + + + + +

+

Launching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.

min_distance + + + + +

+

Some gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!

range + + + + +

+

Your max range for how far you can tackle.

skill_mod + + + + +

+

A flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.

speed + + + + +

+

How fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.

stamina_cost + + + + +

+

How much stamina it takes to launch a tackle

tackle + + + + +

+

The throwdatum we're currently dealing with, if we need it

Proc Details

checkObstacle +

+

Check to see if we hit a table, and if so, make a big mess!

checkTackle +

+

See if we can tackle or not. If we can, leap!

registerTackle +

+

Store the thrownthing datum for later use

rollTackle +

+

If cat, "pounce" instead of "tackle". +rollTackle()

+

This handles all of the modifiers for the actual carbon-on-carbon tackling, and gets its own proc because of how many there are (with plenty more in mind!)

+

The base roll is between (-3, 3), with negative numbers favoring the target, and positive numbers favoring the tackler. The target and the tackler are both assessed for +how easy they are to knock over, with clumsiness and dwarfiness being strong maluses for each, and gigantism giving a bonus for each. These numbers and ideas +are absolutely subject to change.

+

In addition, after subtracting the defender's mod and adding the attacker's mod to the roll, the component's base (skill) mod is added as well. Some sources of tackles +are better at taking people down, like the bruiser and rocket gloves, while the dolphin gloves have a malus in exchange for better mobility.

sack +

+

If cat, "pounce" instead of "leap". +sack()

+

sack() is called when you actually smack into something, assuming we're mid-tackle. First it deals with smacking into non-carbons, in two cases:

+ +

If it's a carbon we hit, we'll call rollTackle() which rolls a die and calculates modifiers for both the tackler and target, then gives us a number. Negatives favor the target, while positives favor the tackler. +Check rollTackle() for a more thorough explanation on the modifiers at play.

+

Then, we figure out what effect we want, and we get to work! Note that with standard gripper gloves and no modifiers, the range of rolls is (-3, 3). The results are as follows, based on what we rolled:

+ +

Finally, we return a bitflag to [COMSIG_MOVABLE_IMPACT] that forces the hitpush to false so that we don't knock them away.

splat +

+

splat()

+

This is where we handle diving into dense atoms, generally with effects ranging from bad to REALLY bad. This works as a percentile roll that is modified in two steps as detailed below. The higher +the roll, the more severe the result.

+

Mod 1: Speed +* Base tackle speed is 1, which is what normal gripper gloves use. For other sources with higher speed tackles, like dolphin and ESPECIALLY rocket gloves, we obey Newton's laws and hit things harder. +* For every unit of speed above 1, move the lower bound of the roll up by 15. Unlike Mod 2, this only serves to raise the lower bound, so it can't be directly counteracted by anything you can control.

+

Mod 2: Misc +-Flat modifiers, these take whatever you rolled and add/subtract to it, with the end result capped between the minimum from Mod 1 and 100. Note that since we can't roll higher than 100 to start with, +wearing a helmet should be enough to remove any chance of permanently paralyzing yourself and dramatically lessen knocking yourself unconscious, even with rocket gloves. Will expand on maybe +* Wearing a helmet: -6 +* Wearing armor: -6 +* Clumsy: +6

+

Effects: Below are the outcomes based off your roll, in order of increasing severity +* 1-63: Knocked down for a few seconds and a bit of brute and stamina damage +* 64-83: Knocked silly, gain some confusion as well as the above +* 84-93: Cranial trauma, get a concussion and more confusion, plus more damage +* 94-98: Knocked unconscious, significant chance to get a random mild brain trauma, as well as a fair amount of damage +* 99-100: Break your spinal cord, get paralyzed, take a bunch of damage too. Very unlucky!

splatWindow +

+

A special case for splatting for handling windows

+ + + diff --git a/datum/component/twitch_plays.html b/datum/component/twitch_plays.html new file mode 100644 index 00000000000..b2a252915bc --- /dev/null +++ b/datum/component/twitch_plays.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/twitch_plays - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

twitch_plays + + + +

+ +

Observers voting on things through orbiting

+

Vars

playersObservers
+

Var Details

players + + + + +

+

Observers

+ + + diff --git a/datum/component/twitch_plays/simple_movement.html b/datum/component/twitch_plays/simple_movement.html new file mode 100644 index 00000000000..27a72697261 --- /dev/null +++ b/datum/component/twitch_plays/simple_movement.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/twitch_plays/simple_movement - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

simple_movement + + + +

+ +

Simple movement one

+ +

Vars

allow_diagonalAllow diagonals
votesMovement votes by observer
+

Var Details

allow_diagonal + + + + +

+

Allow diagonals

votes + + + + +

+

Movement votes by observer

+ + + diff --git a/datum/component/two_handed.html b/datum/component/two_handed.html new file mode 100644 index 00000000000..075500ab489 --- /dev/null +++ b/datum/component/two_handed.html @@ -0,0 +1,200 @@ + + + + + + + /datum/component/two_handed - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

two_handed + + + +

+ +

Two Handed Component

+

When applied to an item it will make it two handed

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

Vars

attacksoundPlay sound when unwielded
force_multiplierAre we holding the two handed item properly
force_unwieldedThe force of the item when weilded
force_wieldedThe multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded
icon_wieldedDoes it have to be held in both hands
offhand_itemThe icon that will be used when wielded
require_twohandsPlay sound on attack when wielded
sharpened_increaseReference to the offhand created for the item
unwieldsoundPlay sound when wielded
wieldsoundThe force of the item when unweilded

Procs

InitializeThe amount of increase recived from sharpening the item +Two Handed component
on_attackon_attack triggers on attack with the parent item
on_attack_selfTriggered on attack self of the item containing the component
on_dropTriggered on drop of item containing the component
on_equipTriggered on equip of the item containing the component
on_movedon_moved Triggers on item moved
on_sharpenon_sharpen Triggers on usage of a sharpening stone on the item
on_swap_handson_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy
on_update_iconon_update_icon triggers on call to update parent items icon
unwieldUnwield the two handed item
wieldWield the two handed item in both hands
+

Var Details

attacksound + + + + +

+

Play sound when unwielded

force_multiplier + + + + +

+

Are we holding the two handed item properly

force_unwielded + + + + +

+

The force of the item when weilded

force_wielded + + + + +

+

The multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded

icon_wielded + + + + +

+

Does it have to be held in both hands

offhand_item + + + + +

+

The icon that will be used when wielded

require_twohands + + + + +

+

Play sound on attack when wielded

sharpened_increase + + + + +

+

Reference to the offhand created for the item

unwieldsound + + + + +

+

Play sound when wielded

wieldsound + + + + +

+

The force of the item when unweilded

Proc Details

Initialize +

+

The amount of increase recived from sharpening the item +Two Handed component

+

vars:

+

on_attack +

+

on_attack triggers on attack with the parent item

on_attack_self +

+

Triggered on attack self of the item containing the component

on_drop +

+

Triggered on drop of item containing the component

on_equip +

+

Triggered on equip of the item containing the component

on_moved +

+

on_moved Triggers on item moved

on_sharpen +

+

on_sharpen Triggers on usage of a sharpening stone on the item

on_swap_hands +

+

on_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy

on_update_icon +

+

on_update_icon triggers on call to update parent items icon

+

Updates the icon using icon_wielded if set

unwield +

+

Unwield the two handed item

+

vars:

+

wield +

+

Wield the two handed item in both hands

+

vars:

+
+ + + diff --git a/datum/component/uplink.html b/datum/component/uplink.html new file mode 100644 index 00000000000..3358e05f28a --- /dev/null +++ b/datum/component/uplink.html @@ -0,0 +1,39 @@ + + + + + + + /datum/component/uplink - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

uplink + + + +

+ +

Uplinks

+

All /obj/item(s) have a hidden_uplink var. By default it's null. Give the item one with 'new(src') (it must be in it's contents). Then add 'uses.' +Use whatever conditionals you want to check that the user has an uplink, and then call interact() on their uplink. +You might also want the uplink menu to open if active. Check if the uplink is 'active' and then interact() with it.

+

Vars

unlock_textInstructions on how to access the uplink based on location
+

Var Details

unlock_text + + + + +

+

Instructions on how to access the uplink based on location

+ + + diff --git a/datum/component/virtual_reality.html b/datum/component/virtual_reality.html new file mode 100644 index 00000000000..5d31d1e28d0 --- /dev/null +++ b/datum/component/virtual_reality.html @@ -0,0 +1,128 @@ + + + + + + + /datum/component/virtual_reality - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

virtual_reality + + + +

+ +

The virtual reality turned component. +Originally created to overcome issues of mob polymorphing locking the player inside virtual reality +and allow for a more "immersive" virtual reality in a virtual reality experience. +It relies on comically complex order of logic, expect things to break if procs such as mind/transfer_to() are revamped. +In short, a barebone not so hardcoded VR framework. +If you plan to add more devices that make use of this component, remember to isolate their code outta here where possible.

+ + + + + + + + + +

Procs

PostTransferRequired for the component to be transferable from mob to mob.
action_triggerThe following procs simply acts as hooks for quit(), since components do not use callbacks anymore
connectCalled when attempting to connect a mob to a virtual reality mob. +This will return FALSE if the mob is without player or dead. TRUE otherwise
on_player_transferTakes care of moving the component from a mob to another when their mind or ckey is transferred. +The very reason this component even exists (else one would be stuck playing as a monky if monkyified)
player_hijackedCalled when someone or something else is somewhat about to replace the mastermind's mob key somehow. +And potentially lock the player in a broken virtual reality plot. Not really something to be proud of.
pre_player_transferCalled to stop the player mind from being transferred should the new mob happen to be one of our masterminds'. +Since the target's mind.current is going to be null'd in the mind transfer process, +This has to be done in a different signal proc than on_player_transfer(), by then the mastermind.current will be null.
quitTakes care of deleting itself, moving the player back to the mastermind's current and queueing the parent for deletion. +It supports nested virtual realities by recursively calling vr_in_a_vr(), which in turns calls quit(), +up to the deepest level, where the ckey will be transferred back to our mastermind's mob instead. +The above operation is skipped when session_paused is TRUE (ergo no player in control of the current mob). +vars:
switch_playerCalled when the mastermind mind is transferred to another mob. +This is pretty much just going to simply quit the session until machineries support polymorphed occupants etcetera.
vr_in_a_vrUsed for recursive virtual realities shenanigeans and should be called by the above proc.
you_only_live_onceemag_act() hook. Makes the game deadlier, killing the mastermind mob too should the parent die.

Proc Details

PostTransfer +

+

Required for the component to be transferable from mob to mob.

action_trigger +

+

The following procs simply acts as hooks for quit(), since components do not use callbacks anymore

connect +

+

Called when attempting to connect a mob to a virtual reality mob. +This will return FALSE if the mob is without player or dead. TRUE otherwise

on_player_transfer +

+

Takes care of moving the component from a mob to another when their mind or ckey is transferred. +The very reason this component even exists (else one would be stuck playing as a monky if monkyified)

player_hijacked +

+

Called when someone or something else is somewhat about to replace the mastermind's mob key somehow. +And potentially lock the player in a broken virtual reality plot. Not really something to be proud of.

pre_player_transfer +

+

Called to stop the player mind from being transferred should the new mob happen to be one of our masterminds'. +Since the target's mind.current is going to be null'd in the mind transfer process, +This has to be done in a different signal proc than on_player_transfer(), by then the mastermind.current will be null.

quit +

+

Takes care of deleting itself, moving the player back to the mastermind's current and queueing the parent for deletion. +It supports nested virtual realities by recursively calling vr_in_a_vr(), which in turns calls quit(), +up to the deepest level, where the ckey will be transferred back to our mastermind's mob instead. +The above operation is skipped when session_paused is TRUE (ergo no player in control of the current mob). +vars:

+

switch_player +

+

Called when the mastermind mind is transferred to another mob. +This is pretty much just going to simply quit the session until machineries support polymorphed occupants etcetera.

vr_in_a_vr +

+

Used for recursive virtual realities shenanigeans and should be called by the above proc.

you_only_live_once +

+

emag_act() hook. Makes the game deadlier, killing the mastermind mob too should the parent die.

+ + + diff --git a/datum/computer_file/program.html b/datum/computer_file/program.html new file mode 100644 index 00000000000..38b95262a32 --- /dev/null +++ b/datum/computer_file/program.html @@ -0,0 +1,227 @@ + + + + + + + /datum/computer_file/program - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

program + + + +

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

Vars

alert_ableWhether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager
alert_pendingWhether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.
alert_silencedWhether the user has muted this program's ability to send alerts.
available_on_ntnetWhether the program can be downloaded from NTNet. Set to FALSE to disable.
available_on_syndinetWhether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.
categoryCategory in the NTDownloader.
computerDevice that runs this program.
extended_descShort description of this program's function.
filedescUser-friendly name of this program.
filenameFile name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!
ntnet_statusNTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
program_iconFont Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.
program_icon_stateProgram-specific screen icon state
program_statePROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.
required_accessList of required accesses to run the program.
requires_ntnetSet to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
requires_ntnet_featureOptional, if above is set to 1 checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)
tgui_idName of the tgui interface
transfer_accessList of required access to download or file host the program
ui_headerExample: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!
usage_flagsBitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL

Procs

can_runCheck if the user can run program. Only humans can operate computer. Automatically called in run_program() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Arguments: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.
run_emagCalled by the device when it is emagged.
tapRuns when the device is used to attack an atom in non-combat mode.
+

Var Details

alert_able + + + + +

+

Whether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager

alert_pending + + + + +

+

Whether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.

alert_silenced + + + + +

+

Whether the user has muted this program's ability to send alerts.

available_on_ntnet + + + + +

+

Whether the program can be downloaded from NTNet. Set to FALSE to disable.

available_on_syndinet + + + + +

+

Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.

category + + + + +

+

Category in the NTDownloader.

computer + + + + +

+

Device that runs this program.

extended_desc + + + + +

+

Short description of this program's function.

filedesc + + + + +

+

User-friendly name of this program.

filename + + + + +

+

File name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!

ntnet_status + + + + +

+

NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.

program_icon + + + + +

+

Font Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.

program_icon_state + + + + +

+

Program-specific screen icon state

program_state + + + + +

+

PROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.

required_access + + + + +

+

List of required accesses to run the program.

requires_ntnet + + + + +

+

Set to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.

requires_ntnet_feature + + + + +

+

Optional, if above is set to 1 checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)

tgui_id + + + + +

+

Name of the tgui interface

transfer_access + + + + +

+

List of required access to download or file host the program

ui_header + + + + +

+

Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!

usage_flags + + + + +

+

Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL

Proc Details

can_run +

+

Check if the user can run program. Only humans can operate computer. Automatically called in run_program() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Arguments: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.

run_emag +

+

Called by the device when it is emagged.

+

Emagging the device allows certain programs to unlock new functions. However, the program will +need to be downloaded first, and then handle the unlock on their own in their run_emag() proc. +The device will allow an emag to be run multiple times, so the user can re-emag to run the +override again, should they download something new. The run_emag() proc should return TRUE if +the emagging affected anything, and FALSE if no change was made (already emagged, or has no +emag functions).

tap +

+

Runs when the device is used to attack an atom in non-combat mode.

+

Simulates using the device to read or scan something. Tap is called by the computer during pre_attack +and sends us all of the related info. If we return TRUE, the computer will stop the attack process +there. What we do with the info is up to us, but we should only return TRUE if we actually perform +an action of some sort. +Arguments: +A is the atom being tapped +user is the person making the attack action +params is anything the pre_attack() proc had in the same-named variable.

+ + + diff --git a/datum/computer_file/program/aidiag.html b/datum/computer_file/program/aidiag.html new file mode 100644 index 00000000000..98640064f63 --- /dev/null +++ b/datum/computer_file/program/aidiag.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/aidiag - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

aidiag + + + +

+ + +

Vars

restoringVariable dictating if we are in the process of restoring the AI in the inserted intellicard
+

Var Details

restoring + + + + +

+

Variable dictating if we are in the process of restoring the AI in the inserted intellicard

+ + + diff --git a/datum/computer_file/program/arcade.html b/datum/computer_file/program/arcade.html new file mode 100644 index 00000000000..f3bfec5bfa3 --- /dev/null +++ b/datum/computer_file/program/arcade.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/arcade - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

arcade + + + +

+ + + + + +

Vars

boss_idDetermines which boss image to use on the UI.
game_activeReturns TRUE if the game is being played.
heads_upShows what text is shown on the app, usually showing the log of combat actions taken by the player.
pause_stateThis disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.
+

Var Details

boss_id + + + + +

+

Determines which boss image to use on the UI.

game_active + + + + +

+

Returns TRUE if the game is being played.

heads_up + + + + +

+

Shows what text is shown on the app, usually showing the log of combat actions taken by the player.

pause_state + + + + +

+

This disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.

+ + + diff --git a/datum/computer_file/program/borg_monitor.html b/datum/computer_file/program/borg_monitor.html new file mode 100644 index 00000000000..5ef67262123 --- /dev/null +++ b/datum/computer_file/program/borg_monitor.html @@ -0,0 +1,71 @@ + + + + + + + /datum/computer_file/program/borg_monitor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

borg_monitor + + + +

+ + + + + + + +

Vars

DL_progressreference of a borg if we're downloading a log, or null if not.
DL_sourceA list to copy a borg's IC log list into
loglistBool of if this app has already been emagged

Procs

DestroyProgress of current download, 0 to 100, -1 for no current download
checkIDGets the ID's name, if one is inserted into the device. This is a seperate proc solely to be overridden by the syndicate version of the app.
evaluate_borgThis proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.
+

Var Details

DL_progress + + + + +

+

reference of a borg if we're downloading a log, or null if not.

DL_source + + + + +

+

A list to copy a borg's IC log list into

loglist + + + + +

+

Bool of if this app has already been emagged

Proc Details

Destroy +

+

Progress of current download, 0 to 100, -1 for no current download

checkID +

+

Gets the ID's name, if one is inserted into the device. This is a seperate proc solely to be overridden by the syndicate version of the app.

evaluate_borg +

+

This proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.

+ + + diff --git a/datum/computer_file/program/budgetorders.html b/datum/computer_file/program/budgetorders.html new file mode 100644 index 00000000000..52f5f290134 --- /dev/null +++ b/datum/computer_file/program/budgetorders.html @@ -0,0 +1,106 @@ + + + + + + + /datum/computer_file/program/budgetorders - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

budgetorders + + + +

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

Vars

blockade_warningIf you're being raided by pirates, what do you tell the crew?
can_approve_requestsCan this console approve purchase requests?
cargo_accountThe account this console processes and displays. Independent from the account the shuttle processes.
cargo_shuttleThe name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.
contrabandCan the tablet see or buy illegal stuff?
docking_awayThe docking port called when leaving the station.
docking_homeThe docking port called when returning to the station.
requestonlyAre you actually placing orders with it?
safety_warningWhat do we say when the shuttle moves with living beings on it.
self_paidIs it being bought from a personal account, or is it being done via a budget/cargo?
stationcargoIf this console can loan the cargo shuttle. Set to false to disable.
+

Var Details

blockade_warning + + + + +

+

If you're being raided by pirates, what do you tell the crew?

can_approve_requests + + + + +

+

Can this console approve purchase requests?

cargo_account + + + + +

+

The account this console processes and displays. Independent from the account the shuttle processes.

cargo_shuttle + + + + +

+

The name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.

contraband + + + + +

+

Can the tablet see or buy illegal stuff?

docking_away + + + + +

+

The docking port called when leaving the station.

docking_home + + + + +

+

The docking port called when returning to the station.

requestonly + + + + +

+

Are you actually placing orders with it?

safety_warning + + + + +

+

What do we say when the shuttle moves with living beings on it.

self_paid + + + + +

+

Is it being bought from a personal account, or is it being done via a budget/cargo?

stationcargo + + + + +

+

If this console can loan the cargo shuttle. Set to false to disable.

+ + + diff --git a/datum/computer_file/program/card_mod.html b/datum/computer_file/program/card_mod.html new file mode 100644 index 00000000000..3c8edcfdd2c --- /dev/null +++ b/datum/computer_file/program/card_mod.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/card_mod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

card_mod + + + +

+ + +

Vars

target_deptWhich departments this computer has access to. Defined as access regions. null = all departments
+

Var Details

target_dept + + + + +

+

Which departments this computer has access to. Defined as access regions. null = all departments

+ + + diff --git a/datum/computer_file/program/portrait_printer.html b/datum/computer_file/program/portrait_printer.html new file mode 100644 index 00000000000..2e0581d0f4e --- /dev/null +++ b/datum/computer_file/program/portrait_printer.html @@ -0,0 +1,30 @@ + + + + + + + /datum/computer_file/program/portrait_printer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

portrait_printer + + + +

+ +

portrait printer!

+

Program that lets the curator browse all of the portraits in the database +They are free to print them out as they please.

+ + + diff --git a/datum/computer_file/program/radar.html b/datum/computer_file/program/radar.html new file mode 100644 index 00000000000..33e956c2ad9 --- /dev/null +++ b/datum/computer_file/program/radar.html @@ -0,0 +1,120 @@ + + + + + + + /datum/computer_file/program/radar - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

radar + + + +

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

Vars

arrowstyleUsed by the tgui interface, themed NT or Syndicate.
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.
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.

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.

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/computer_file/program/robocontrol.html b/datum/computer_file/program/robocontrol.html new file mode 100644 index 00000000000..2355060ffd0 --- /dev/null +++ b/datum/computer_file/program/robocontrol.html @@ -0,0 +1,50 @@ + + + + + + + /datum/computer_file/program/robocontrol - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

robocontrol + + + +

+ + + + +

Vars

botcountNumber of simple robots on-station.
current_accessAccess granted by the used to summon robots.
current_userUsed to find the location of the user for the purposes of summoning robots.
+

Var Details

botcount + + + + +

+

Number of simple robots on-station.

current_access + + + + +

+

Access granted by the used to summon robots.

current_user + + + + +

+

Used to find the location of the user for the purposes of summoning robots.

+ + + diff --git a/datum/computer_file/program/robotact.html b/datum/computer_file/program/robotact.html new file mode 100644 index 00000000000..6d3982f44bf --- /dev/null +++ b/datum/computer_file/program/robotact.html @@ -0,0 +1,45 @@ + + + + + + + /datum/computer_file/program/robotact - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

robotact + + + +

+ + + +

Vars

tabletA typed reference to the computer, specifying the borg tablet type

Procs

force_full_updateForces a full update of the UI, if currently open.
+

Var Details

tablet + + + + +

+

A typed reference to the computer, specifying the borg tablet type

Proc Details

force_full_update +

+

Forces a full update of the UI, if currently open.

+

Forces an update that includes refreshing ui_static_data. Called by +law changes and borg log additions.

+ + + diff --git a/datum/computer_file/program/secureye.html b/datum/computer_file/program/secureye.html new file mode 100644 index 00000000000..a5a9980ee9f --- /dev/null +++ b/datum/computer_file/program/secureye.html @@ -0,0 +1,43 @@ + + + + + + + /datum/computer_file/program/secureye - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

secureye + + + +

+ + + +

Vars

cam_plane_mastersAll the plane masters that need to be applied.
last_camera_turfThe turf where the camera was last updated.
+

Var Details

cam_plane_masters + + + + +

+

All the plane masters that need to be applied.

last_camera_turf + + + + +

+

The turf where the camera was last updated.

+ + + diff --git a/datum/computer_file/program/signaler.html b/datum/computer_file/program/signaler.html new file mode 100644 index 00000000000..defc8906439 --- /dev/null +++ b/datum/computer_file/program/signaler.html @@ -0,0 +1,50 @@ + + + + + + + /datum/computer_file/program/signaler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

signaler + + + +

+ + + + +

Vars

radio_connectionRadio connection datum used by signalers.
signal_codeWhat is the saved signal code?
signal_frequencyWhat is the saved signal frequency?
+

Var Details

radio_connection + + + + +

+

Radio connection datum used by signalers.

signal_code + + + + +

+

What is the saved signal code?

signal_frequency + + + + +

+

What is the saved signal frequency?

+ + + diff --git a/datum/computer_file/program/supermatter_monitor.html b/datum/computer_file/program/supermatter_monitor.html new file mode 100644 index 00000000000..57280572d18 --- /dev/null +++ b/datum/computer_file/program/supermatter_monitor.html @@ -0,0 +1,69 @@ + + + + + + + /datum/computer_file/program/supermatter_monitor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

supermatter_monitor + + + +

+ + + + + +

Procs

clear_signalsRemoves the signal listener for Supermatter delaminations from the selected supermatter.
send_alertSends an SM delam alert to the computer.
send_start_alertSends an SM delam start alert to the computer.
set_signalsSets up the signal listener for Supermatter delaminations.

Proc Details

clear_signals +

+

Removes the signal listener for Supermatter delaminations from the selected supermatter.

+

Pretty much does what it says.

send_alert +

+

Sends an SM delam alert to the computer.

+

Triggered by a signal from the selected supermatter, this proc sends a notification +to the computer if the program is either closed or minimized. We do not send these +notifications to the comptuer if we're the active program, because engineers fixing +the supermatter probably don't need constant beeping to distract them.

send_start_alert +

+

Sends an SM delam start alert to the computer.

+

Triggered by a signal from the selected supermatter at the start of a delamination, +this proc sends a notification to the computer if this program is the active one. +We do this so that people carrying a tablet with NT CIMS open but with the NTOS window +closed will still get one audio alert. This is not sent to computers with the program +minimized or closed to avoid double-notifications.

set_signals +

+

Sets up the signal listener for Supermatter delaminations.

+

Unregisters any old listners for SM delams, and then registers one for the SM refered +to in the active variable. This proc is also used with no active SM to simply clear +the signal and exit.

+ + + diff --git a/datum/controller/configuration.html b/datum/controller/configuration.html new file mode 100644 index 00000000000..75166edbb09 --- /dev/null +++ b/datum/controller/configuration.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/configuration - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

configuration + + + +

+ + +

Procs

GetEntryDatumYour typical GET but returns a config.

Proc Details

GetEntryDatum +

+

Your typical GET but returns a config.

+ + + diff --git a/datum/controller/global_vars.html b/datum/controller/global_vars.html new file mode 100644 index 00000000000..3de0eb00eaa --- /dev/null +++ b/datum/controller/global_vars.html @@ -0,0 +1,438 @@ + + + + + + + /datum/controller/global_vars - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

global_vars + + + +

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

Vars

GPS_listGlobal GPS_list. All GPS components get saved in here for easy reference.
acid_overlayACID
adamantine_recipesOthers
admin_statetgui state: admin_state
always_statetgui state: always_state
announcer_keysGlobal list of all of our announcer keys.
areas_by_typeAn association from typepath to area instance. Only includes areas with unique set.
conscious_statetgui state: conscious_state
contained_statetgui state: contained_state
current_living_antagsAll alive antags with clients.
current_observers_listAll observers with clients that joined as observers.
deep_inventory_statetgui state: deep_inventory_state
default_statetgui state: default_state
dummySaveSave file used in icon2base64. Used for converting icons to base64.
em_block_colorA globaly cached version of EM_BLOCK_COLOR for quick access.
em_mask_matrixA globaly cached version of EM_MASK_MATRIX for quick access.
emissive_colorA globaly cached version of EMISSIVE_COLOR for quick access.
families_override_themeForces the Families theme to be the one in this variable via variable editing. Used for debugging.
fun_statetgui state: fun_state
gateway_destinationsList of possible gateway destinations.
glide_size_multiplierCompensating for time dialation
hands_statetgui state: hands_state
human_adjacent_statetgui state: human_adjacent_state
inventory_statetgui state: inventory_state
language_menu_statetgui state: language_menu_state
living_heart_cacheinternal_tick_usage is updated every tick by extools +Heretics --
mafia_bad_signuplist of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.
mafia_gamethe current global mafia game running.
mafia_signuplist of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in
marker_beacon_colorsMarker Beacons
megafauna_spawn_listGlobal list of megafauna spawns on cave gen
mod_themesGlobal list of all /datum/mod_theme
modular_ui_stylesUI element for thirst
never_statetgui state: never_state
new_player_statetgui state: new_player_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
physical_obscured_statetgui state: physical_obscured_state
physical_statetgui state: physical_state
picture_log_directoryPicture logging
random_zlevels_generatedAway missions, VR, random z levels stuff.
reality_smash_trackWe want reality_smash_tracker to exist only once and be accesable from anywhere.
req_console_assistanceRequests Console
self_statetgui state: self_state
subsystem_logcit logging
teleportlocsA list of teleport locations
the_gatewayStation home gateway
trait_name_mapvalue -> trait name, generated on use from trait_by_type global
typing_indicator_overlaysstate = overlay/image/object/type/whatever add_overlay will accept
ui_vorepanel_statetgui state: vorepanel_state
world_suspicious_login_logLog associated with [/proc/log_suspicious_login()] - Intended to hold all logins that failed due to suspicious circumstances such as ban detection, CID randomisation etc.
z_statetgui state: z_state
+

Var Details

GPS_list + + + + +

+

Global GPS_list. All GPS components get saved in here for easy reference.

acid_overlay + + + + +

+

ACID

adamantine_recipes + + + + +

+

Others

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.

announcer_keys + + + + +

+

Global list of all of our announcer keys.

areas_by_type + + + + +

+

An association from typepath to area instance. Only includes areas with unique set.

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.

current_living_antags + + + + +

+

All alive antags with clients.

current_observers_list + + + + +

+

All observers with clients that joined as observers.

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.

dummySave + + + + +

+

Save file used in icon2base64. Used for converting icons to base64.

em_block_color + + + + +

+

A globaly cached version of EM_BLOCK_COLOR for quick access.

em_mask_matrix + + + + +

+

A globaly cached version of EM_MASK_MATRIX for quick access.

emissive_color + + + + +

+

A globaly cached version of EMISSIVE_COLOR for quick access.

families_override_theme + + + + +

+

Forces the Families theme to be the one in this variable via variable editing. Used for debugging.

fun_state + + + + +

+

tgui state: fun_state

+

Checks that the user has the fun privilige.

gateway_destinations + + + + +

+

List of possible gateway destinations.

glide_size_multiplier + + + + +

+

Compensating for time dialation

hands_state + + + + +

+

tgui state: hands_state

+

Checks that the src_object is in the user's hands.

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.

language_menu_state + + + + +

+

tgui state: language_menu_state

living_heart_cache + + + + +

+

internal_tick_usage is updated every tick by extools +Heretics --

mafia_bad_signup + + + + +

+

list of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.

mafia_game + + + + +

+

the current global mafia game running.

mafia_signup + + + + +

+

list of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in

marker_beacon_colors + + + + +

+

Marker Beacons

megafauna_spawn_list + + + + +

+

Global list of megafauna spawns on cave gen

mod_themes + + + + +

+

Global list of all /datum/mod_theme

modular_ui_styles + + + + +

+

UI element for thirst

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_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.

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.

picture_log_directory + + + + +

+

Picture logging

random_zlevels_generated + + + + +

+

Away missions, VR, random z levels stuff.

reality_smash_track + + + + +

+

We want reality_smash_tracker to exist only once and be accesable from anywhere.

req_console_assistance + + + + +

+

Requests Console

+

Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes

self_state + + + + +

+

tgui state: self_state

+

Only checks that the user and src_object are the same.

subsystem_log + + + + +

+

cit logging

teleportlocs + + + + +

+

A list of teleport locations

+

Adding a wizard area teleport list because motherfucking lag -- Urist +I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game

the_gateway + + + + +

+

Station home gateway

trait_name_map + + + + +

+

value -> trait name, generated on use from trait_by_type global

typing_indicator_overlays + + + + +

+

state = overlay/image/object/type/whatever add_overlay will accept

ui_vorepanel_state + + + + +

+

tgui state: vorepanel_state

+

Only checks that the user and src_object are the same.

world_suspicious_login_log + + + + +

+

Log associated with [/proc/log_suspicious_login()] - Intended to hold all logins that failed due to suspicious circumstances such as ban detection, CID randomisation etc.

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 00000000000..f64b43f5584 --- /dev/null +++ b/datum/controller/master.html @@ -0,0 +1,111 @@ + + + + + + + /datum/controller/master - Nostra-13 + + +
+ Nostra-13 - + 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_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
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

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_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

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

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 00000000000..389c35b74fc --- /dev/null +++ b/datum/controller/subsystem.html @@ -0,0 +1,232 @@ + + + + + + + /datum/controller/subsystem - Nostra-13 + + +
+ Nostra-13 - + 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.
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.
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_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

OnConfigLoadCalled after the config has been loaded or reloaded.
PreInitdatum/controller/subsystem/New()
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.

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.

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_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

OnConfigLoad +

+

Called after the config has been loaded or reloaded.

PreInit +

+

datum/controller/subsystem/New()

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/achievements.html b/datum/controller/subsystem/achievements.html new file mode 100644 index 00000000000..8767b9e9d43 --- /dev/null +++ b/datum/controller/subsystem/achievements.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/achievements - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

achievements + + + +

+ + + + +

Vars

achievementsList of achievements
awardsList of all awards
scoresList of scores
+

Var Details

achievements + + + + +

+

List of achievements

awards + + + + +

+

List of all awards

scores + + + + +

+

List of scores

+ + + diff --git a/datum/controller/subsystem/atoms.html b/datum/controller/subsystem/atoms.html new file mode 100644 index 00000000000..6f2a20026fc --- /dev/null +++ b/datum/controller/subsystem/atoms.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/atoms - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

atoms + + + +

+ + + + +

Vars

queued_deletionsAtoms that will be deleted once the subsystem is initialized

Procs

InitAtomInit this specific atom
prepare_deletionPrepares an atom to be deleted once the atoms SS is initialized.
+

Var Details

queued_deletions + + + + +

+

Atoms that will be deleted once the subsystem is initialized

Proc Details

InitAtom +

+

Init this specific atom

prepare_deletion +

+

Prepares an atom to be deleted once the atoms SS is initialized.

+ + + diff --git a/datum/controller/subsystem/communications.html b/datum/controller/subsystem/communications.html new file mode 100644 index 00000000000..e492cb18211 --- /dev/null +++ b/datum/controller/subsystem/communications.html @@ -0,0 +1,55 @@ + + + + + + + /datum/controller/subsystem/communications - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

communications + + + +

+ + + +

Procs

can_make_emergency_meetingCheck if a mob can call an emergency meeting
emergency_meetingCall an emergency meeting

Proc Details

can_make_emergency_meeting +

+

Check if a mob can call an emergency meeting

+

Should only really happen during april fools. +Checks to see that it's been at least 5 minutes since the last emergency meeting call. +Arguments:

+

emergency_meeting +

+

Call an emergency meeting

+

Communications subsystem wrapper for the call_emergency_meeting world proc. +Checks to make sure the proc can be called, and handles +relevant logging and timing. See that proc definition for more detail. +Arguments:

+
+ + + diff --git a/datum/controller/subsystem/economy.html b/datum/controller/subsystem/economy.html new file mode 100644 index 00000000000..6403a065752 --- /dev/null +++ b/datum/controller/subsystem/economy.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/economy - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

economy + + + +

+ + + + +

Vars

bounty_modifierThe modifier multiplied to the value of bounties paid out.
pack_price_modifierThe modifier multiplied to the value of cargo pack prices.

Procs

InitializeContains the message to send to newscasters about earnings, updated on price_update()
+

Var Details

bounty_modifier + + + + +

+

The modifier multiplied to the value of bounties paid out.

pack_price_modifier + + + + +

+

The modifier multiplied to the value of cargo pack prices.

Proc Details

Initialize +

+

Contains the message to send to newscasters about earnings, updated on price_update()

+ + + diff --git a/datum/controller/subsystem/input.html b/datum/controller/subsystem/input.html new file mode 100644 index 00000000000..fa587a6031a --- /dev/null +++ b/datum/controller/subsystem/input.html @@ -0,0 +1,78 @@ + + + + + + + /datum/controller/subsystem/input - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

input + + + +

+ + + + + + + + +

Vars

all_macrosetsKEEP THIS UP TO DATE!
hotkey_mode_macrosMacro set for hotkeys
input_mode_macrosMacro set for classic.
macroset_classic_hotkeyClassic mode map focused macro set. Manually set because it needs to be clientside and go to macroset_classic_input.
macroset_classic_inputClassic mode input focused macro set. Manually set because we can't define ANY or ANY+UP for classic.
macroset_hotkeyNew hotkey mode macro set. All input goes into map, game keeps incessently setting your focus to map, we can use ANY all we want here; we don't care about the input bar, the user has to force the input bar every time they want to type.

Procs

setup_macrosetsSets up the key list for classic mode for when badmins screw up vv's.
+

Var Details

all_macrosets + + + + +

+

KEEP THIS UP TO DATE!

hotkey_mode_macros + + + + +

+

Macro set for hotkeys

input_mode_macros + + + + +

+

Macro set for classic.

macroset_classic_hotkey + + + + +

+

Classic mode map focused macro set. Manually set because it needs to be clientside and go to macroset_classic_input.

macroset_classic_input + + + + +

+

Classic mode input focused macro set. Manually set because we can't define ANY or ANY+UP for classic.

macroset_hotkey + + + + +

+

New hotkey mode macro set. All input goes into map, game keeps incessently setting your focus to map, we can use ANY all we want here; we don't care about the input bar, the user has to force the input bar every time they want to type.

Proc Details

setup_macrosets +

+

Sets up the key list for classic mode for when badmins screw up vv's.

+ + + diff --git a/datum/controller/subsystem/interactions.html b/datum/controller/subsystem/interactions.html new file mode 100644 index 00000000000..af01fe93e62 --- /dev/null +++ b/datum/controller/subsystem/interactions.html @@ -0,0 +1,42 @@ + + + + + + + /datum/controller/subsystem/interactions - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

interactions + + + +

+ + + +

Procs

prepare_blacklisted_mobsBlacklisting!
prepare_interactionsMakes the interactions, they're also a global list because having it as a list and just hanging around there is stupid

Proc Details

prepare_blacklisted_mobs +

+

Blacklisting!

prepare_interactions +

+

Makes the interactions, they're also a global list because having it as a list and just hanging around there is stupid

+ + + diff --git a/datum/controller/subsystem/job.html b/datum/controller/subsystem/job.html new file mode 100644 index 00000000000..c52598c4a42 --- /dev/null +++ b/datum/controller/subsystem/job.html @@ -0,0 +1,47 @@ + + + + + + + /datum/controller/subsystem/job - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ + + +

Vars

real_job_nameStores an associative list of job name -> its "real" counterpart. Built to handle alt titles

Procs

DivideOccupations
+

Var Details

real_job_name + + + + +

+

Stores an associative list of job name -> its "real" counterpart. Built to handle alt titles

Proc Details

DivideOccupations +

+
+ + + diff --git a/datum/controller/subsystem/mapping.html b/datum/controller/subsystem/mapping.html new file mode 100644 index 00000000000..8887e997b0a --- /dev/null +++ b/datum/controller/subsystem/mapping.html @@ -0,0 +1,80 @@ + + + + + + + /datum/controller/subsystem/mapping - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mapping + + + +

+ + + + + + + + +

Vars

biomesAll possible biomes in assoc list as type || instance
obfuscation_next_idnext id for separating obfuscated ids.
obfuscation_secret"secret" key
random_generated_ids_by_originalLookup list for random generated IDs.
z_to_station_z_indexLookup for zlevel to station z. text = num.

Procs

get_obfuscated_idGenerates an obfuscated but constant id for an original id for cases where you don't want players codediving for an id. +WARNING: MAKE SURE PLAYERS ARE NOT ABLE TO ACCESS THIS. To save performance, it's just secret + an incrementing number. Very guessable if you know what the secret is.
initialize_biomesInitialize all biomes, assoc as type || instance
+

Var Details

biomes + + + + +

+

All possible biomes in assoc list as type || instance

obfuscation_next_id + + + + +

+

next id for separating obfuscated ids.

obfuscation_secret + + + + +

+

"secret" key

random_generated_ids_by_original + + + + +

+

Lookup list for random generated IDs.

z_to_station_z_index + + + + +

+

Lookup for zlevel to station z. text = num.

Proc Details

get_obfuscated_id +

+

Generates an obfuscated but constant id for an original id for cases where you don't want players codediving for an id. +WARNING: MAKE SURE PLAYERS ARE NOT ABLE TO ACCESS THIS. To save performance, it's just secret + an incrementing number. Very guessable if you know what the secret is.

initialize_biomes +

+

Initialize all biomes, assoc as type || instance

+ + + diff --git a/datum/controller/subsystem/materials.html b/datum/controller/subsystem/materials.html new file mode 100644 index 00000000000..a093912b8d8 --- /dev/null +++ b/datum/controller/subsystem/materials.html @@ -0,0 +1,85 @@ + + + + + + + /datum/controller/subsystem/materials - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

materials + + + +

+ + + + + + + + + +

Vars

base_stack_recipesList of stackcrafting recipes for materials using base recipes
material_combosA cache of all material combinations that have been used
materialsDictionary of material.type || material ref
materials_by_categoryDictionary of category || list of material refs
materialtypes_by_categoryDictionary of category || list of material types, mostly used by rnd machines like autolathes.
rigid_stack_recipesList of stackcrafting recipes for materials using rigid recipes

Procs

FindOrCreateMaterialComboReturns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.
InitializeMaterialsRan on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)
+

Var Details

base_stack_recipes + + + + +

+

List of stackcrafting recipes for materials using base recipes

material_combos + + + + +

+

A cache of all material combinations that have been used

materials + + + + +

+

Dictionary of material.type || material ref

materials_by_category + + + + +

+

Dictionary of category || list of material refs

materialtypes_by_category + + + + +

+

Dictionary of category || list of material types, mostly used by rnd machines like autolathes.

rigid_stack_recipes + + + + +

+

List of stackcrafting recipes for materials using rigid recipes

Proc Details

FindOrCreateMaterialCombo +

+

Returns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.

InitializeMaterials +

+

Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)

+ + + diff --git a/datum/controller/subsystem/min_spawns.html b/datum/controller/subsystem/min_spawns.html new file mode 100644 index 00000000000..667c541caee --- /dev/null +++ b/datum/controller/subsystem/min_spawns.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/min_spawns - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

min_spawns + + + +

+ + +

Vars

init_orderthis hot steaming pile of garbage makes sure theres a minimum of tendrils scattered around
+

Var Details

init_order + + + + +

+

this hot steaming pile of garbage makes sure theres a minimum of tendrils scattered around

+ + + diff --git a/datum/controller/subsystem/npcpool.html b/datum/controller/subsystem/npcpool.html new file mode 100644 index 00000000000..74b2bf60e77 --- /dev/null +++ b/datum/controller/subsystem/npcpool.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/npcpool - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

npcpool + + + +

+ + + +

Vars

invoke_startInvoke start time
invokingcatches sleeping
+

Var Details

invoke_start + + + + +

+

Invoke start time

invoking + + + + +

+

catches sleeping

+ + + diff --git a/datum/controller/subsystem/parallax.html b/datum/controller/subsystem/parallax.html new file mode 100644 index 00000000000..e48f17ed884 --- /dev/null +++ b/datum/controller/subsystem/parallax.html @@ -0,0 +1,81 @@ + + + + + + + /datum/controller/subsystem/parallax - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

parallax + + + +

+ + + + + + + + +

Procs

get_parallax_datumGets parallax for zlevel.
get_parallax_motionGets parallax motion for a zlevel
get_parallax_typeGets parallax type for zlevel.
get_parallax_vis_contentsGets parallax added vis contents for zlevel
reset_clients_on_zresets all parallax for clients on a z
update_clients_on_zupdates all parallax for clients on a z
update_z_motionupdates motion of all clients on z

Proc Details

get_parallax_datum +

+

Gets parallax for zlevel.

get_parallax_motion +

+

Gets parallax motion for a zlevel

+

Returns null or list(speed, dir deg clockwise from north, windup, turnrate) +THE RETURNED LIST MUST BE A 4-TUPLE, OR PARALLAX WILL CRASH. +DO NOT SCREW WITH THIS UNLESS YOU KNOW WHAT YOU ARE DOING.

+

This will override area motion

get_parallax_type +

+

Gets parallax type for zlevel.

get_parallax_vis_contents +

+

Gets parallax added vis contents for zlevel

reset_clients_on_z +

+

resets all parallax for clients on a z

update_clients_on_z +

+

updates all parallax for clients on a z

update_z_motion +

+

updates motion of all clients on z

+ + + diff --git a/datum/controller/subsystem/persistence.html b/datum/controller/subsystem/persistence.html new file mode 100644 index 00000000000..ede19e9527c --- /dev/null +++ b/datum/controller/subsystem/persistence.html @@ -0,0 +1,67 @@ + + + + + + + /datum/controller/subsystem/persistence - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

persistence + + + +

+ +

Persistence for cleanable debris.

+

Stores recently played gamemodes, maps, etc.

+

Secret satchel persistence - allows storing of items in underfloor satchels that's loaded later.

+

Stores trophies in curator display cases

+ + + + +

Vars

loaded_debristracks if we already loaded debris. Unlike everything else, this can actually be a major problem if some badmin procs it twice.
station_persistence_save_disabledMarks if persistence save should be disabled
station_was_destroyedMarks if the station got horribly destroyed

Procs

SaveMapDebrisreverse it
get_map_persistence_pathGets the persistence path of the current map.
+

Var Details

loaded_debris + + + + +

+

tracks if we already loaded debris. Unlike everything else, this can actually be a major problem if some badmin procs it twice.

station_persistence_save_disabled + + + + +

+

Marks if persistence save should be disabled

station_was_destroyed + + + + +

+

Marks if the station got horribly destroyed

Proc Details

SaveMapDebris +

+

reverse it

get_map_persistence_path +

+

Gets the persistence path of the current map.

+ + + diff --git a/datum/controller/subsystem/processing/dcs.html b/datum/controller/subsystem/processing/dcs.html new file mode 100644 index 00000000000..5f1351870a3 --- /dev/null +++ b/datum/controller/subsystem/processing/dcs.html @@ -0,0 +1,41 @@ + + + + + + + /datum/controller/subsystem/processing/dcs - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

dcs + + + +

+ + +

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/processing/instruments.html b/datum/controller/subsystem/processing/instruments.html new file mode 100644 index 00000000000..0fb2e44e406 --- /dev/null +++ b/datum/controller/subsystem/processing/instruments.html @@ -0,0 +1,85 @@ + + + + + + + /datum/controller/subsystem/processing/instruments - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

instruments + + + +

+ + + + + + + + + +

Vars

current_instrument_channelsCurrent number of channels allocated for instruments
instrument_dataList of all instrument data, associative id = datum
max_instrument_channelsMaximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.
musician_hearcheck_mindelayDeciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.
musician_maxlinecharsMax characters per line in songs
musician_maxlinesMax lines in songs
songsList of all song datums.
synthesizer_instrument_idsSingle cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.
+

Var Details

current_instrument_channels + + + + +

+

Current number of channels allocated for instruments

instrument_data + + + + +

+

List of all instrument data, associative id = datum

max_instrument_channels + + + + +

+

Maximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.

musician_hearcheck_mindelay + + + + +

+

Deciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.

musician_maxlinechars + + + + +

+

Max characters per line in songs

musician_maxlines + + + + +

+

Max lines in songs

songs + + + + +

+

List of all song datums.

synthesizer_instrument_ids + + + + +

+

Single cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.

+ + + diff --git a/datum/controller/subsystem/processing/station.html b/datum/controller/subsystem/processing/station.html new file mode 100644 index 00000000000..9a9564ac8c3 --- /dev/null +++ b/datum/controller/subsystem/processing/station.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/processing/station - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

station + + + +

+ + + + + + + +

Vars

announcerCurrently active announcer. Starts as a type but gets initialized after traits are selected
selectable_traits_by_typesAssoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.
station_traitsA list of currently active station traits

Procs

SetupTraitsRolls for the amount of traits and adds them to the traits list
pick_traitsPicks traits of a specific category (e.g. bad or good) and a specified amount, then initializes them and adds them to the list of traits.
setup_traitCreates a given trait of a specific type, while also removing any blacklisted ones from the future pool.
+

Var Details

announcer + + + + +

+

Currently active announcer. Starts as a type but gets initialized after traits are selected

selectable_traits_by_types + + + + +

+

Assoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.

station_traits + + + + +

+

A list of currently active station traits

Proc Details

SetupTraits +

+

Rolls for the amount of traits and adds them to the traits list

pick_traits +

+

Picks traits of a specific category (e.g. bad or good) and a specified amount, then initializes them and adds them to the list of traits.

setup_trait +

+

Creates a given trait of a specific type, while also removing any blacklisted ones from the future pool.

+ + + diff --git a/datum/controller/subsystem/research.html b/datum/controller/subsystem/research.html new file mode 100644 index 00000000000..283fe0623be --- /dev/null +++ b/datum/controller/subsystem/research.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/research - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

research + + + +

+ + + +

Vars

anomaly_hard_limit_by_typeThe hard limits of cores created for each anomaly type. For faster code lookup without switch statements.
created_anomaly_typesThe global list of raw anomaly types that have been refined, for hard limits.
+

Var Details

anomaly_hard_limit_by_type + + + + +

+

The hard limits of cores created for each anomaly type. For faster code lookup without switch statements.

created_anomaly_types + + + + +

+

The global list of raw anomaly types that have been refined, for hard limits.

+ + + diff --git a/datum/controller/subsystem/runechat.html b/datum/controller/subsystem/runechat.html new file mode 100644 index 00000000000..34982c93686 --- /dev/null +++ b/datum/controller/subsystem/runechat.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/runechat - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

runechat + + + +

+ + + + + + + +

Vars

bucket_countHow many messages are in the buckets
bucket_listList of buckets, each bucket holds every message that has to be killed that byond tick
bucket_resolutionworld.tick_lag the bucket was designed for
head_offsetworld.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
practical_offsetIndex of the first non-empty bucket
second_queueQueue used for storing messages that are scheduled for deletion too far in the future for the buckets
+

Var Details

bucket_count + + + + +

+

How many messages are in the buckets

bucket_list + + + + +

+

List of buckets, each bucket holds every message that has to be killed that byond tick

bucket_resolution + + + + +

+

world.tick_lag the bucket was designed for

head_offset + + + + +

+

world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets

practical_offset + + + + +

+

Index of the first non-empty bucket

second_queue + + + + +

+

Queue used for storing messages that are scheduled for deletion too far in the future for the buckets

+ + + diff --git a/datum/controller/subsystem/security_level.html b/datum/controller/subsystem/security_level.html new file mode 100644 index 00000000000..6ab77f1b912 --- /dev/null +++ b/datum/controller/subsystem/security_level.html @@ -0,0 +1,40 @@ + + + + + + + /datum/controller/subsystem/security_level - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

security_level + + + +

+ + +

Procs

set_levelSets a new security level as our current level

Proc Details

set_level +

+

Sets a new security level as our current level

+

This is how everything should change the security level.

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/shuttle.html b/datum/controller/subsystem/shuttle.html new file mode 100644 index 00000000000..317f88831d8 --- /dev/null +++ b/datum/controller/subsystem/shuttle.html @@ -0,0 +1,37 @@ + + + + + + + /datum/controller/subsystem/shuttle - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

shuttle + + + +

+ + +

Procs

canEvacCheck if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.

Proc Details

canEvac +

+

Check if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.

+ + + diff --git a/datum/controller/subsystem/sounds.html b/datum/controller/subsystem/sounds.html new file mode 100644 index 00000000000..b5d08d7d690 --- /dev/null +++ b/datum/controller/subsystem/sounds.html @@ -0,0 +1,148 @@ + + + + + + + /datum/controller/subsystem/sounds - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

sounds + + + +

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

Vars

channel_listList of all channels as numbers
channel_random_lowlower iteration position - Incremented and looped to get "random" sound channels for normal sounds. The channel at this index is returned when asking for a random channel.
channel_reserve_highhigher reserve position - decremented and incremented to reserve sound channels, anything above this is reserved. The channel at this index is the highest unreserved channel.
random_channels_minAmount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.
reserved_channelsAssociative list of all reserved channels associated to their position. "[channel_number]" = index as number
using_channelsAssoc list, "[channel]" = either the datum using it or TRUE for an unsafe-reserved (datumless reservation) channel
using_channels_by_datumAssoc list datum = list(channel1, channel2, ...) for what channels something reserved.

Procs

available_channels_leftHow many channels we have left.
free_channelFrees a channel and updates the datastructure. Private proc.
free_datum_channelsFrees all the channels a datum is using.
free_datumless_channelsFrees all datumless channels
free_sound_channelRemoves a channel from using list.
random_available_channelRandom available channel, returns number
random_available_channel_textRandom available channel, returns text.
reserve_channelReserves a channel and updates the datastructure. Private proc.
reserve_sound_channelReserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.
reserve_sound_channel_datumlessNO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.
+

Var Details

channel_list + + + + +

+

List of all channels as numbers

channel_random_low + + + + +

+

lower iteration position - Incremented and looped to get "random" sound channels for normal sounds. The channel at this index is returned when asking for a random channel.

channel_reserve_high + + + + +

+

higher reserve position - decremented and incremented to reserve sound channels, anything above this is reserved. The channel at this index is the highest unreserved channel.

random_channels_min + + + + +

+

Amount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.

reserved_channels + + + + +

+

Associative list of all reserved channels associated to their position. "[channel_number]" = index as number

using_channels + + + + +

+

Assoc list, "[channel]" = either the datum using it or TRUE for an unsafe-reserved (datumless reservation) channel

using_channels_by_datum + + + + +

+

Assoc list datum = list(channel1, channel2, ...) for what channels something reserved.

Proc Details

available_channels_left +

+

How many channels we have left.

free_channel +

+

Frees a channel and updates the datastructure. Private proc.

free_datum_channels +

+

Frees all the channels a datum is using.

free_datumless_channels +

+

Frees all datumless channels

free_sound_channel +

+

Removes a channel from using list.

random_available_channel +

+

Random available channel, returns number

random_available_channel_text +

+

Random available channel, returns text.

reserve_channel +

+

Reserves a channel and updates the datastructure. Private proc.

reserve_sound_channel +

+

Reserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.

reserve_sound_channel_datumless +

+

NO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.

+ + + diff --git a/datum/controller/subsystem/sun.html b/datum/controller/subsystem/sun.html new file mode 100644 index 00000000000..65271379bae --- /dev/null +++ b/datum/controller/subsystem/sun.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/sun - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

sun + + + +

+ + + +

Vars

base_rotationmultiplier against base_rotation

Procs

Initializebase rotation in degrees per fire
+

Var Details

base_rotation + + + + +

+

multiplier against base_rotation

Proc Details

Initialize +

+

base rotation in degrees per fire

+ + + diff --git a/datum/controller/subsystem/tgui.html b/datum/controller/subsystem/tgui.html new file mode 100644 index 00000000000..dd8b9c0044b --- /dev/null +++ b/datum/controller/subsystem/tgui.html @@ -0,0 +1,202 @@ + + + + + + + /datum/controller/subsystem/tgui - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..04c074c4b3f --- /dev/null +++ b/datum/controller/subsystem/ticker.html @@ -0,0 +1,94 @@ + + + + + + + /datum/controller/subsystem/ticker - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

ticker + + + +

+ + + + + + + + + +

Vars

emergency_swapIf the gamemode fails to be run too many times, we swap to a preset gamemode, this should give admins time to set their preferred one

Procs

HandleRandomHardcoreScoreHandles random hardcore point rewarding if it applies.
antag_reportgotta escape nerd
declare_completionno score no glory
hardcore_random_reportGenerate a report for all players who made it out alive with a hardcore random character and prints their final score
log_roundend_reportLog the round-end report as an HTML file
market_reportGenerate a report for how much money is on station, as well as the richest crewmember on the station.
medal_reportThis is the richest account on station at roundend. +This is the station's total wealth at the end of the round. +How many players joined the round.
+

Var Details

emergency_swap + + + + +

+

If the gamemode fails to be run too many times, we swap to a preset gamemode, this should give admins time to set their preferred one

Proc Details

HandleRandomHardcoreScore +

+

Handles random hardcore point rewarding if it applies.

antag_report +

+

gotta escape nerd

declare_completion +

+

no score no glory

hardcore_random_report +

+

Generate a report for all players who made it out alive with a hardcore random character and prints their final score

log_roundend_report +

+

Log the round-end report as an HTML file

+

Composits the roundend report, and saves it in two locations. +The report is first saved along with the round's logs +Then, the report is copied to a fixed directory specifically for +housing the server's last roundend report. In this location, +the file will be overwritten at the end of each shift.

market_report +

+

Generate a report for how much money is on station, as well as the richest crewmember on the station.

medal_report +

+

This is the richest account on station at roundend. +This is the station's total wealth at the end of the round. +How many players joined the round.

+ + + diff --git a/datum/controller/subsystem/timer.html b/datum/controller/subsystem/timer.html new file mode 100644 index 00000000000..a6285ce0f2e --- /dev/null +++ b/datum/controller/subsystem/timer.html @@ -0,0 +1,127 @@ + + + + + + + /datum/controller/subsystem/timer - Nostra-13 + + +
+ Nostra-13 - + 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_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
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_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

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 00000000000..b75eb77d935 --- /dev/null +++ b/datum/controller/subsystem/vote.html @@ -0,0 +1,38 @@ + + + + + + + /datum/controller/subsystem/vote - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

vote + + + +

+ + +

Vars

choice_statclicksList of choice = object for statclick objects for statpanel voting +statclick rework? 2: list("name"="id")
+

Var Details

choice_statclicks + + + + +

+

List of choice = object for statclick objects for statpanel voting +statclick rework? 2: list("name"="id")

+ + + diff --git a/datum/crafting_recipe.html b/datum/crafting_recipe.html new file mode 100644 index 00000000000..98691cc1b90 --- /dev/null +++ b/datum/crafting_recipe.html @@ -0,0 +1,37 @@ + + + + + + + /datum/crafting_recipe - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

crafting_recipe + + + +

+ + +

Procs

check_requirementsRun custom pre-craft checks for this recipe

Proc Details

check_requirements +

+

Run custom pre-craft checks for this recipe

+

user: The /mob that initiated the crafting +collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path.

+ + + diff --git a/datum/crafting_recipe/bloodsucker/blackcoffin.html b/datum/crafting_recipe/bloodsucker/blackcoffin.html new file mode 100644 index 00000000000..deac8914f0f --- /dev/null +++ b/datum/crafting_recipe/bloodsucker/blackcoffin.html @@ -0,0 +1,38 @@ + + + + + + + /datum/crafting_recipe/bloodsucker/blackcoffin - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

blackcoffin + + + +

+ + +

Vars

timeobj/item/stack/packageWrap = 8, +obj/item/pipe = 2)
+

Var Details

time + + + + +

+

obj/item/stack/packageWrap = 8, +obj/item/pipe = 2)

+ + + diff --git a/datum/crafting_recipe/food/black_broth.html b/datum/crafting_recipe/food/black_broth.html new file mode 100644 index 00000000000..d5a8cf6a1c2 --- /dev/null +++ b/datum/crafting_recipe/food/black_broth.html @@ -0,0 +1,36 @@ + + + + + + + /datum/crafting_recipe/food/black_broth - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

black_broth + + + +

+ + +

Vars

resultdatum/reagent/consumable/vinegar = 5,
+

Var Details

result + + + + +

+

datum/reagent/consumable/vinegar = 5,

+ + + diff --git a/datum/crafting_recipe/food/black_eggs.html b/datum/crafting_recipe/food/black_eggs.html new file mode 100644 index 00000000000..fd22ea801de --- /dev/null +++ b/datum/crafting_recipe/food/black_eggs.html @@ -0,0 +1,36 @@ + + + + + + + /datum/crafting_recipe/food/black_eggs - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

black_eggs + + + +

+ + +

Vars

resultdatum/reagent/consumable/vinegar = 2
+

Var Details

result + + + + +

+

datum/reagent/consumable/vinegar = 2

+ + + diff --git a/datum/crafting_recipe/food/picoss_skewers.html b/datum/crafting_recipe/food/picoss_skewers.html new file mode 100644 index 00000000000..28e760629e0 --- /dev/null +++ b/datum/crafting_recipe/food/picoss_skewers.html @@ -0,0 +1,36 @@ + + + + + + + /datum/crafting_recipe/food/picoss_skewers - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

picoss_skewers + + + +

+ + +

Vars

resultdatum/reagent/consumable/vinegar = 5
+

Var Details

result + + + + +

+

datum/reagent/consumable/vinegar = 5

+ + + diff --git a/datum/crafting_recipe/silver_stake.html b/datum/crafting_recipe/silver_stake.html new file mode 100644 index 00000000000..e54272a4d9b --- /dev/null +++ b/datum/crafting_recipe/silver_stake.html @@ -0,0 +1,38 @@ + + + + + + + /datum/crafting_recipe/silver_stake - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

silver_stake + + + +

+ + +

Vars

timeobj/item/stack/packageWrap = 8, +obj/item/pipe = 2)
+

Var Details

time + + + + +

+

obj/item/stack/packageWrap = 8, +obj/item/pipe = 2)

+ + + diff --git a/datum/data/vending_product.html b/datum/data/vending_product.html new file mode 100644 index 00000000000..5077a35c8e7 --- /dev/null +++ b/datum/data/vending_product.html @@ -0,0 +1,78 @@ + + + + + + + /datum/data/vending_product - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

vending record datum + + + +

+ +

A datum that represents a product that is vendable

+ + + + + + +

Vars

age_restrictedWhether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item
amountHow many of this product we currently have
colorableWhether the product can be recolored by the GAGS system
custom_premium_priceDoes the item have a custom premium price override
custom_priceDoes the item have a custom price override
max_amountHow many we can store at maximum
product_pathTypepath of the product that is created when this record "sells"
+

Var Details

age_restricted + + + + +

+

Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item

amount + + + + +

+

How many of this product we currently have

colorable + + + + +

+

Whether the product can be recolored by the GAGS system

custom_premium_price + + + + +

+

Does the item have a custom premium price override

custom_price + + + + +

+

Does the item have a custom price override

max_amount + + + + +

+

How many we can store at maximum

product_path + + + + +

+

Typepath of the product that is created when this record "sells"

+ + + diff --git a/datum/datacore.html b/datum/datacore.html new file mode 100644 index 00000000000..aedf91cc232 --- /dev/null +++ b/datum/datacore.html @@ -0,0 +1,36 @@ + + + + + + + /datum/datacore - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

datacore + + + +

+ + +

Vars

lockedThis list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
+

Var Details

locked + + + + +

+

This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().

+ + + diff --git a/datum/design.html b/datum/design.html new file mode 100644 index 00000000000..6230e48a87f --- /dev/null +++ b/datum/design.html @@ -0,0 +1,38 @@ + + + + + + + /datum/design - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

design + + + +

+ +
				Design Datums
+
+

All the data for building stuff.

+

Vars

min_security_levelminimum and security levels the design can be printed on. Currently only available for rnd production machinery and mechfab.
+

Var Details

min_security_level + + + + +

+

minimum and security levels the design can be printed on. Currently only available for rnd production machinery and mechfab.

+ + + diff --git a/datum/design/apc_board.html b/datum/design/apc_board.html new file mode 100644 index 00000000000..4e4af549774 --- /dev/null +++ b/datum/design/apc_board.html @@ -0,0 +1,29 @@ + + + + + + + /datum/design/apc_board - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

apc_board + + + +

+ +

///////Autolathe Designs /////

+

Electronics

+ + + diff --git a/datum/design/beanbag_slug.html b/datum/design/beanbag_slug.html new file mode 100644 index 00000000000..db092e037a9 --- /dev/null +++ b/datum/design/beanbag_slug.html @@ -0,0 +1,29 @@ + + + + + + + /datum/design/beanbag_slug - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

beanbag_slug + + + +

+ +

//////Autolathe Designs /////

+

Secgear

+ + + diff --git a/datum/design/bucket.html b/datum/design/bucket.html new file mode 100644 index 00000000000..d2b6ad76824 --- /dev/null +++ b/datum/design/bucket.html @@ -0,0 +1,29 @@ + + + + + + + /datum/design/bucket - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

bucket + + + +

+ +

//////Autolathe Designs//////

+

Tools

+ + + diff --git a/datum/design/kitchen_knife.html b/datum/design/kitchen_knife.html new file mode 100644 index 00000000000..40689b7fe1a --- /dev/null +++ b/datum/design/kitchen_knife.html @@ -0,0 +1,29 @@ + + + + + + + /datum/design/kitchen_knife - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

kitchen_knife + + + +

+ +

//////Autolathe Designs /////

+

Dinnerware

+ + + diff --git a/datum/design/rods.html b/datum/design/rods.html new file mode 100644 index 00000000000..301a5cd9414 --- /dev/null +++ b/datum/design/rods.html @@ -0,0 +1,29 @@ + + + + + + + /datum/design/rods - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

rods + + + +

+ +

///////Autolathe Designs/////

+

Construction

+ + + diff --git a/datum/design/signaler.html b/datum/design/signaler.html new file mode 100644 index 00000000000..2ee5fbd948c --- /dev/null +++ b/datum/design/signaler.html @@ -0,0 +1,29 @@ + + + + + + + /datum/design/signaler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

signaler + + + +

+ +

//////Autolathe Designs /////

+

T-Comms

+ + + diff --git a/datum/ductnet.html b/datum/ductnet.html new file mode 100644 index 00000000000..ddced2150ad --- /dev/null +++ b/datum/ductnet.html @@ -0,0 +1,70 @@ + + + + + + + /datum/ductnet - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

ductnet + + + +

+ +

We handle the unity part of plumbing. We track who is connected to who.

+ + + + + +

Procs

add_ductAdd a duct to our network
add_plumberadd a plumbing object to either demanders or suppliers
assimilatewe combine ductnets. this occurs when someone connects to seperate sets of fluid ducts
destroy_networkdestroy the network and tell all our ducts and plumbers we are gone
remove_ductRemove a duct from our network and commit suicide, because this is probably easier than to check who that duct was connected to and what part of us was lost
remove_plumberremove a plumber. we dont delete ourselves because ductnets dont persist through plumbing objects

Proc Details

add_duct +

+

Add a duct to our network

add_plumber +

+

add a plumbing object to either demanders or suppliers

assimilate +

+

we combine ductnets. this occurs when someone connects to seperate sets of fluid ducts

destroy_network +

+

destroy the network and tell all our ducts and plumbers we are gone

remove_duct +

+

Remove a duct from our network and commit suicide, because this is probably easier than to check who that duct was connected to and what part of us was lost

remove_plumber +

+

remove a plumber. we dont delete ourselves because ductnets dont persist through plumbing objects

+ + + diff --git a/datum/dynamic_ruleset.html b/datum/dynamic_ruleset.html new file mode 100644 index 00000000000..1bbd5992d8e --- /dev/null +++ b/datum/dynamic_ruleset.html @@ -0,0 +1,379 @@ + + + + + + + /datum/dynamic_ruleset - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic_ruleset + + + +

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

Vars

antag_capJudges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).
antag_datumThe antagonist datum that is assigned to the mobs mind on ruleset execution.
antag_flagPreferences flag such as ROLE_WIZARD that need to be turned on for players to be antag
antag_flag_overrideIf a role is to be considered another for the purpose of banning.
assignedList of players that were selected for this rule
base_probBase probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)
blocking_rulesIf a ruleset type which is in this list has been executed, then the ruleset will not be executed.
candidatesList of players that are being drafted for this rule
costThreat cost for this rule, this is decreased from the mode's threat when the rule is executed.
delayDelay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.
enemy_rolesIf set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
exclusive_rolesIf set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.
flagsA flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.
indice_popCalculated during acceptable(), used in scaling and team sizes.
maximum_playersThe maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.
minimum_playersThe minimum amount of players required for the rule to be considered.
minimum_required_ageThe required minimum account age for this ruleset.
modeReference to the mode, use this instead of SSticker.mode.
nameFor admin logging and round end screen.
persistentIf set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.
pop_per_requirementPop range per requirement. If zero defaults to mode's pop_per_requirement.
protected_rolesIf set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.
repeatableIf set to TRUE, dynamic mode will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)
repeatable_weight_decreaseIf set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.
required_candidatesThe rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)
required_enemiesIf enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
requirementsRequirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.
restricted_rolesIf set, rule will deny candidates from those roles always.
ruletypeFor admin logging and round end screen, do not change this unless making a new rule type.
scaled_timesHow many times a rule has scaled up upon getting picked.
scaling_costCost per level the rule scales up.
total_costUsed for the roundend report
weight0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Procs

acceptableBy default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead
clean_upRuns from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.
executeCalled on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.
get_antag_capReturns what the antag cap with the given population is.
get_weightGets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly
pre_executeCalled on game mode pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE
readyHere you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!
round_resultSet mode result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET
rule_processThis is called if persistent variable is true everytime SSTicker ticks.
scale_upWhen picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.
trim_candidatesHere you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.
+

Var Details

antag_cap + + + + +

+

Judges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).

antag_datum + + + + +

+

The antagonist datum that is assigned to the mobs mind on ruleset execution.

antag_flag + + + + +

+

Preferences flag such as ROLE_WIZARD that need to be turned on for players to be antag

antag_flag_override + + + + +

+

If a role is to be considered another for the purpose of banning.

assigned + + + + +

+

List of players that were selected for this rule

base_prob + + + + +

+

Base probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)

blocking_rules + + + + +

+

If a ruleset type which is in this list has been executed, then the ruleset will not be executed.

candidates + + + + +

+

List of players that are being drafted for this rule

cost + + + + +

+

Threat cost for this rule, this is decreased from the mode's threat when the rule is executed.

delay + + + + +

+

Delay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.

enemy_roles + + + + +

+

If set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

exclusive_roles + + + + +

+

If set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.

flags + + + + +

+

A flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.

indice_pop + + + + +

+

Calculated during acceptable(), used in scaling and team sizes.

maximum_players + + + + +

+

The maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.

minimum_players + + + + +

+

The minimum amount of players required for the rule to be considered.

minimum_required_age + + + + +

+

The required minimum account age for this ruleset.

mode + + + + +

+

Reference to the mode, use this instead of SSticker.mode.

name + + + + +

+

For admin logging and round end screen.

persistent + + + + +

+

If set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.

pop_per_requirement + + + + +

+

Pop range per requirement. If zero defaults to mode's pop_per_requirement.

protected_roles + + + + +

+

If set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.

repeatable + + + + +

+

If set to TRUE, dynamic mode will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)

repeatable_weight_decrease + + + + +

+

If set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.

required_candidates + + + + +

+

The rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)

required_enemies + + + + +

+

If enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

requirements + + + + +

+

Requirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.

restricted_roles + + + + +

+

If set, rule will deny candidates from those roles always.

ruletype + + + + +

+

For admin logging and round end screen, do not change this unless making a new rule type.

scaled_times + + + + +

+

How many times a rule has scaled up upon getting picked.

scaling_cost + + + + +

+

Cost per level the rule scales up.

total_cost + + + + +

+

Used for the roundend report

weight + + + + +

+

0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Proc Details

acceptable +

+

By default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead

clean_up +

+

Runs from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.

execute +

+

Called on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.

get_antag_cap +

+

Returns what the antag cap with the given population is.

get_weight +

+

Gets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly

pre_execute +

+

Called on game mode pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE

ready +

+

Here you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!

round_result +

+

Set mode result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET

rule_process +

+

This is called if persistent variable is true everytime SSTicker ticks.

scale_up +

+

When picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.

trim_candidates +

+

Here you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.

+ + + diff --git a/datum/dynamic_ruleset/latejoin/provocateur.html b/datum/dynamic_ruleset/latejoin/provocateur.html new file mode 100644 index 00000000000..3a6b3d6087e --- /dev/null +++ b/datum/dynamic_ruleset/latejoin/provocateur.html @@ -0,0 +1,43 @@ + + + + + + + /datum/dynamic_ruleset/latejoin/provocateur - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

provocateur + + + +

+ + + +

Vars

revs_win_threat_injectionHow much threat should be injected when the revolution wins?

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.
+

Var Details

revs_win_threat_injection + + + + +

+

How much threat should be injected when the revolution wins?

Proc Details

check_eligible +

+

Checks for revhead loss conditions and other antag datums.

+ + + diff --git a/datum/dynamic_ruleset/midround.html b/datum/dynamic_ruleset/midround.html new file mode 100644 index 00000000000..22bc071e9d6 --- /dev/null +++ b/datum/dynamic_ruleset/midround.html @@ -0,0 +1,43 @@ + + + + + + + /datum/dynamic_ruleset/midround - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

midround + + + +

+ + + +

Vars

required_typeWhat mob type the ruleset is restricted to.
restrict_ghost_rolesIf the ruleset should be restricted from ghost roles.
+

Var Details

required_type + + + + +

+

What mob type the ruleset is restricted to.

restrict_ghost_roles + + + + +

+

If the ruleset should be restricted from ghost roles.

+ + + diff --git a/datum/dynamic_ruleset/midround/autotraitor.html b/datum/dynamic_ruleset/midround/autotraitor.html new file mode 100644 index 00000000000..19b1ea7d88a --- /dev/null +++ b/datum/dynamic_ruleset/midround/autotraitor.html @@ -0,0 +1,38 @@ + + + + + + + /datum/dynamic_ruleset/midround/autotraitor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

autotraitor + + + +

+ + +

Vars

has_failure_chanceWhether or not this instance of sleeper agent should be randomly acceptable. +If TRUE, then this has a threat level% chance to succeed.
+

Var Details

has_failure_chance + + + + +

+

Whether or not this instance of sleeper agent should be randomly acceptable. +If TRUE, then this has a threat level% chance to succeed.

+ + + diff --git a/datum/dynamic_ruleset/midround/families.html b/datum/dynamic_ruleset/midround/families.html new file mode 100644 index 00000000000..b049a75c1ee --- /dev/null +++ b/datum/dynamic_ruleset/midround/families.html @@ -0,0 +1,36 @@ + + + + + + + /datum/dynamic_ruleset/midround/families - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

families + + + +

+ + +

Vars

handlerA reference to the handler that is used to run pre_execute(), execute(), etc..
+

Var Details

handler + + + + +

+

A reference to the handler that is used to run pre_execute(), execute(), etc..

+ + + diff --git a/datum/dynamic_ruleset/midround/from_ghosts.html b/datum/dynamic_ruleset/midround/from_ghosts.html new file mode 100644 index 00000000000..45e683ca0cf --- /dev/null +++ b/datum/dynamic_ruleset/midround/from_ghosts.html @@ -0,0 +1,66 @@ + + + + + + + /datum/dynamic_ruleset/midround/from_ghosts - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

from_ghosts + + + +

+ + + + + + +

Vars

makeBodyWhether the ruleset should call generate_ruleset_body or not.
required_applicantsThe rule needs this many applicants to be properly executed.

Procs

attempt_replacementFired when there are no valid candidates. Will spawn a sleeper agent or latejoin traitor.
review_applicationsHere is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().
send_applicationsThis sends a poll to ghosts if they want to be a ghost spawn from a ruleset.
+

Var Details

makeBody + + + + +

+

Whether the ruleset should call generate_ruleset_body or not.

required_applicants + + + + +

+

The rule needs this many applicants to be properly executed.

Proc Details

attempt_replacement +

+

Fired when there are no valid candidates. Will spawn a sleeper agent or latejoin traitor.

review_applications +

+

Here is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().

send_applications +

+

This sends a poll to ghosts if they want to be a ghost spawn from a ruleset.

+ + + diff --git a/datum/dynamic_ruleset/roundstart.html b/datum/dynamic_ruleset/roundstart.html new file mode 100644 index 00000000000..d82cbe586d3 --- /dev/null +++ b/datum/dynamic_ruleset/roundstart.html @@ -0,0 +1,44 @@ + + + + + + + /datum/dynamic_ruleset/roundstart - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

roundstart + + + +

+ + + +

Procs

readyDo your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE
trim_candidatesChecks if candidates are connected and if they are banned or don't want to be the antagonist.

Proc Details

ready +

+

Do your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE

trim_candidates +

+

Checks if candidates are connected and if they are banned or don't want to be the antagonist.

+ + + diff --git a/datum/dynamic_ruleset/roundstart/families.html b/datum/dynamic_ruleset/roundstart/families.html new file mode 100644 index 00000000000..93c8a36baff --- /dev/null +++ b/datum/dynamic_ruleset/roundstart/families.html @@ -0,0 +1,36 @@ + + + + + + + /datum/dynamic_ruleset/roundstart/families - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

families + + + +

+ + +

Vars

handlerA reference to the handler that is used to run pre_execute(), execute(), etc..
+

Var Details

handler + + + + +

+

A reference to the handler that is used to run pre_execute(), execute(), etc..

+ + + diff --git a/datum/dynamic_ruleset/roundstart/revs.html b/datum/dynamic_ruleset/roundstart/revs.html new file mode 100644 index 00000000000..e7ad701ee7f --- /dev/null +++ b/datum/dynamic_ruleset/roundstart/revs.html @@ -0,0 +1,43 @@ + + + + + + + /datum/dynamic_ruleset/roundstart/revs - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

revs + + + +

+ + + +

Vars

revs_win_threat_injectionHow much threat should be injected when the revolution wins?

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.
+

Var Details

revs_win_threat_injection + + + + +

+

How much threat should be injected when the revolution wins?

Proc Details

check_eligible +

+

Checks for revhead loss conditions and other antag datums.

+ + + diff --git a/datum/dynamic_snapshot.html b/datum/dynamic_snapshot.html new file mode 100644 index 00000000000..3052ba0b51a --- /dev/null +++ b/datum/dynamic_snapshot.html @@ -0,0 +1,100 @@ + + + + + + + /datum/dynamic_snapshot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic_snapshot + + + +

+ +

A "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.

+ + + + + + + + + +

Vars

alive_antagsThe number of alive antags
alive_playersThe number of alive players
dead_playersThe number of dead players
observersThe number of observers
remaining_threatThe remaining midround threat
ruleset_chosenThe rulesets chosen this snapshot
serializationThe cached serialization of this snapshot
timeThe world.time when the snapshot was taken
total_playersThe total number of players in the server

Procs

to_listConvert the snapshot to an associative list
+

Var Details

alive_antags + + + + +

+

The number of alive antags

alive_players + + + + +

+

The number of alive players

dead_players + + + + +

+

The number of dead players

observers + + + + +

+

The number of observers

remaining_threat + + + + +

+

The remaining midround threat

ruleset_chosen + + + + +

+

The rulesets chosen this snapshot

serialization + + + + +

+

The cached serialization of this snapshot

time + + + + +

+

The world.time when the snapshot was taken

total_players + + + + +

+

The total number of players in the server

Proc Details

to_list +

+

Convert the snapshot to an associative list

+ + + diff --git a/datum/dynamic_snapshot_ruleset.html b/datum/dynamic_snapshot_ruleset.html new file mode 100644 index 00000000000..3c267956477 --- /dev/null +++ b/datum/dynamic_snapshot_ruleset.html @@ -0,0 +1,50 @@ + + + + + + + /datum/dynamic_snapshot_ruleset - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

dynamic_snapshot_ruleset + + + +

+ +

A ruleset chosen during a snapshot

+ + +

Vars

assignedThe number of assigned antags
nameThe name of the ruleset chosen
scaledIf it is a round start ruleset, how much it was scaled by
+

Var Details

assigned + + + + +

+

The number of assigned antags

name + + + + +

+

The name of the ruleset chosen

scaled + + + + +

+

If it is a round start ruleset, how much it was scaled by

+ + + diff --git a/datum/eldritch_knowledge.html b/datum/eldritch_knowledge.html new file mode 100644 index 00000000000..52449765e1f --- /dev/null +++ b/datum/eldritch_knowledge.html @@ -0,0 +1,181 @@ + + + + + + + /datum/eldritch_knowledge - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch_knowledge + + + +

+ +

#Eldritch Knowledge

+

Datum that makes eldritch cultist interesting.

+

Eldritch knowledge aren't instantiated anywhere roundstart, and are initalized and destroyed as the round goes on.

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

Vars

banned_knowledgeWhat knowledge is incompatible with this. This will simply make it impossible to research knowledges that are in banned_knowledge once this gets researched.
costCost of knowledge in souls
descDescription of the knowledge
gain_textWhat shows up
nameName of the knowledge
next_knowledgeNext knowledge in the research tree
required_atomsUsed with rituals, how many items this needs
result_atomsWhat do we get out of this
routeWhat path is this on defaults to "Side"
sacs_neededRequired sacrifices to unlock

Procs

cleanup_atomsUsed atom cleanup
on_deathA proc that handles the code when the mob dies
on_eldritch_bladeSickly blade act
on_finished_recipeWhat happens once the recipe is succesfully finished
on_gainWhat happens when this is assigned to an antag datum
on_lifeWhat happens every tick
on_loseWhat happens when you loose this
on_mansus_graspMansus grasp act
on_ranged_attack_eldritch_bladeSickly blade distant act
recipe_snowflake_checkSpecial check for recipes
+

Var Details

banned_knowledge + + + + +

+

What knowledge is incompatible with this. This will simply make it impossible to research knowledges that are in banned_knowledge once this gets researched.

cost + + + + +

+

Cost of knowledge in souls

desc + + + + +

+

Description of the knowledge

gain_text + + + + +

+

What shows up

name + + + + +

+

Name of the knowledge

next_knowledge + + + + +

+

Next knowledge in the research tree

required_atoms + + + + +

+

Used with rituals, how many items this needs

result_atoms + + + + +

+

What do we get out of this

route + + + + +

+

What path is this on defaults to "Side"

sacs_needed + + + + +

+

Required sacrifices to unlock

Proc Details

cleanup_atoms +

+

Used atom cleanup

+

Overide this proc if you dont want ALL ATOMS to be destroyed. useful in many situations.

on_death +

+

A proc that handles the code when the mob dies

+

This proc is primarily used to end any soundloops when the heretic dies

on_eldritch_blade +

+

Sickly blade act

+

Gives addtional effects to sickly blade weapon

on_finished_recipe +

+

What happens once the recipe is succesfully finished

+

By default this proc creates atoms from result_atoms list. Override this is you want something else to happen.

on_gain +

+

What happens when this is assigned to an antag datum

+

This proc is called whenever a new eldritch knowledge is added to an antag datum

on_life +

+

What happens every tick

+

This proc is called on SSprocess in eldritch cultist antag datum. SSprocess happens roughly every second

on_lose +

+

What happens when you loose this

+

This proc is called whenever antagonist looses his antag datum, put cleanup code in here

on_mansus_grasp +

+

Mansus grasp act

+

Gives addtional effects to mansus grasp spell

on_ranged_attack_eldritch_blade +

+

Sickly blade distant act

+

Same as /datum/eldritch_knowledge/proc/on_eldritch_blade but works on targets that are not in proximity to you.

recipe_snowflake_check +

+

Special check for recipes

+

If you are adding a more complex summoning or something that requires a special check that parses through all the atoms in an area override this.

+ + + diff --git a/datum/eldritch_knowledge/final/void_final.html b/datum/eldritch_knowledge/final/void_final.html new file mode 100644 index 00000000000..be721c9752d --- /dev/null +++ b/datum/eldritch_knowledge/final/void_final.html @@ -0,0 +1,43 @@ + + + + + + + /datum/eldritch_knowledge/final/void_final - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

void_final + + + +

+ + + +

Vars

sound_loopsoundloop for the void theme
stormReference to the ongoing voidstorm that surrounds the heretic
+

Var Details

sound_loop + + + + +

+

soundloop for the void theme

storm + + + + +

+

Reference to the ongoing voidstorm that surrounds the heretic

+ + + diff --git a/datum/element.html b/datum/element.html new file mode 100644 index 00000000000..2df0972fdee --- /dev/null +++ b/datum/element.html @@ -0,0 +1,61 @@ + + + + + + + /datum/element - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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/bed_tuckable.html b/datum/element/bed_tuckable.html new file mode 100644 index 00000000000..957c4b9c41b --- /dev/null +++ b/datum/element/bed_tuckable.html @@ -0,0 +1,68 @@ + + + + + + + /datum/element/bed_tuckable - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

bed_tuckable + + + +

+ +

Tucking element, for things that can be tucked into bed.

+ + + + +

Vars

rotation_degreeour rotation degree - how much the item turns when in bed (+degrees turns it more parallel)
x_offsetour pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)
y_offsetour pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Procs

tuck_into_bedTuck our object into bed.
untuckIf we rotate our object, then we need to un-rotate it when it's picked up
+

Var Details

rotation_degree + + + + +

+

our rotation degree - how much the item turns when in bed (+degrees turns it more parallel)

x_offset + + + + +

+

our pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)

y_offset + + + + +

+

our pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Proc Details

tuck_into_bed +

+

Tuck our object into bed.

+

tucked - the object being tucked +target_bed - the bed we're tucking them into +tucker - the guy doing the tucking

untuck +

+

If we rotate our object, then we need to un-rotate it when it's picked up

+

tucked - the object that is tucked

+ + + diff --git a/datum/element/connect_loc.html b/datum/element/connect_loc.html new file mode 100644 index 00000000000..6ef5d748f27 --- /dev/null +++ b/datum/element/connect_loc.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/connect_loc - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

connect_loc + + + +

+ +

This element hooks a signal onto the loc the current object is on. +When the object moves, it will unhook the signal and rehook it to the new object.

+

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

+ + + diff --git a/datum/element/contextual_screentip_bare_hands.html b/datum/element/contextual_screentip_bare_hands.html new file mode 100644 index 00000000000..0c73244a263 --- /dev/null +++ b/datum/element/contextual_screentip_bare_hands.html @@ -0,0 +1,59 @@ + + + + + + + /datum/element/contextual_screentip_bare_hands - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_bare_hands + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+ + + +

Vars

lmb_textIf set, the text to show for LMB
lmb_text_combat_modeIf set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.
rmb_textIf set, the text to show for RMB
rmb_text_combat_modeIf set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.
+

Var Details

lmb_text + + + + +

+

If set, the text to show for LMB

lmb_text_combat_mode + + + + +

+

If set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.

rmb_text + + + + +

+

If set, the text to show for RMB

rmb_text_combat_mode + + + + +

+

If set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.

+ + + diff --git a/datum/element/contextual_screentip_item_typechecks.html b/datum/element/contextual_screentip_item_typechecks.html new file mode 100644 index 00000000000..41435b21aaf --- /dev/null +++ b/datum/element/contextual_screentip_item_typechecks.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/contextual_screentip_item_typechecks - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_item_typechecks + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+

Vars

item_paths_to_contextsMap of item paths to contexts to usages
+

Var Details

item_paths_to_contexts + + + + +

+

Map of item paths to contexts to usages

+ + + diff --git a/datum/element/contextual_screentip_sharpness.html b/datum/element/contextual_screentip_sharpness.html new file mode 100644 index 00000000000..52b2831e976 --- /dev/null +++ b/datum/element/contextual_screentip_sharpness.html @@ -0,0 +1,45 @@ + + + + + + + /datum/element/contextual_screentip_sharpness - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_sharpness + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+ +

Vars

lmb_textIf set, the text to show for LMB
rmb_textIf set, the text to show for RMB
+

Var Details

lmb_text + + + + +

+

If set, the text to show for LMB

rmb_text + + + + +

+

If set, the text to show for RMB

+ + + diff --git a/datum/element/contextual_screentip_tools.html b/datum/element/contextual_screentip_tools.html new file mode 100644 index 00000000000..b2f0193b8c4 --- /dev/null +++ b/datum/element/contextual_screentip_tools.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/contextual_screentip_tools - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_tools + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+

Vars

tool_behaviorsMap of tool behaviors to contexts to usages
+

Var Details

tool_behaviors + + + + +

+

Map of tool behaviors to contexts to usages

+ + + diff --git a/datum/element/embed.html b/datum/element/embed.html new file mode 100644 index 00000000000..be2777d68d6 --- /dev/null +++ b/datum/element/embed.html @@ -0,0 +1,93 @@ + + + + + + + /datum/element/embed - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

embed + + + +

+ + + + + + + + + +

Vars

embed_chancewhether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Procs

checkEmbedMobChecking to see if we're gonna embed into a human
checkEmbedOtherWe need the hit_zone if we're embedding into a human, so this proc only handles if we're embedding into a turf
checkEmbedProjectilecheckEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.
detachFromWeaponIf we don't want to be embeddable anymore (deactivating an e-dagger for instance)
examinedSomeone inspected our embeddable item
severancePackageA different embed element has been attached, so we'll detach and let them handle things
tryForceEmbedArguments:
+

Var Details

embed_chance + + + + +

+

whether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Proc Details

checkEmbedMob +

+

Checking to see if we're gonna embed into a human

checkEmbedOther +

+

We need the hit_zone if we're embedding into a human, so this proc only handles if we're embedding into a turf

checkEmbedProjectile +

+

checkEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.

+

If we hit a valid target (carbon or closed turf), we create the shrapnel_type object and immediately call tryEmbed() on it, targeting what we impacted. That will lead +it to call tryForceEmbed() on its own embed element (it's out of our hands here, our projectile is done), where it will run through all the checks it needs to.

detachFromWeapon +

+

If we don't want to be embeddable anymore (deactivating an e-dagger for instance)

examined +

+

Someone inspected our embeddable item

severancePackage +

+

A different embed element has been attached, so we'll detach and let them handle things

tryForceEmbed +

+

Arguments:

+
+ + + diff --git a/datum/element/firestacker.html b/datum/element/firestacker.html new file mode 100644 index 00000000000..395ded9fca5 --- /dev/null +++ b/datum/element/firestacker.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/firestacker - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

firestacker + + + +

+ +

Can be applied to /atom/movable subtypes to make them apply fire stacks to things they hit

+

Vars

amountHow many firestacks to apply per hit
+

Var Details

amount + + + + +

+

How many firestacks to apply per hit

+ + + diff --git a/datum/element/flavor_text.html b/datum/element/flavor_text.html new file mode 100644 index 00000000000..4d01875f6dd --- /dev/null +++ b/datum/element/flavor_text.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/flavor_text - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

flavor_text + + + +

+ + + + +

Vars

examine_full_viewExamine FULLY views. Overrides examine_no_preview
examine_no_previewDo not attempt to render a preview on examine. If this is on, it will display as [flavor_name]
save_keyFor preference/DNA saving/loading. Null to prevent. Prefs are only loaded from obviously if it exists in preferences.features.
+

Var Details

examine_full_view + + + + +

+

Examine FULLY views. Overrides examine_no_preview

examine_no_preview + + + + +

+

Do not attempt to render a preview on examine. If this is on, it will display as [flavor_name]

save_key + + + + +

+

For preference/DNA saving/loading. Null to prevent. Prefs are only loaded from obviously if it exists in preferences.features.

+ + + diff --git a/datum/element/object_reskinning.html b/datum/element/object_reskinning.html new file mode 100644 index 00000000000..f66bcaedd81 --- /dev/null +++ b/datum/element/object_reskinning.html @@ -0,0 +1,40 @@ + + + + + + + /datum/element/object_reskinning - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

object_reskinning + + + +

+ + +

Procs

check_reskin_menuChecks if we are allowed to interact with a radial menu for reskins

Proc Details

check_reskin_menu +

+

Checks if we are allowed to interact with a radial menu for reskins

+

Arguments:

+
+ + + diff --git a/datum/element/photosynthesis.html b/datum/element/photosynthesis.html new file mode 100644 index 00000000000..60cec545f0e --- /dev/null +++ b/datum/element/photosynthesis.html @@ -0,0 +1,92 @@ + + + + + + + /datum/element/photosynthesis - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

photosynthesis + + + +

+ + + + + + + + + + +

Vars

attached_atomsList of atoms this element is attached to. Doubles as a multiplier if the same element is attached multiple times to a target multiple times.
bonus_lumthe minimum lum count over which where the target damage is adjusted.
light_brutehealhow much brute damage (or integrity, for objects) is healed (taken if positive) at maximum luminosity. (if lum_minus were 0)
light_burnhealhow much burn damage is restored/taken at maximum luminosity. Mobs only.
light_nutrition_gainhow nutrition recovery/expenses factor, not affected by bonus_lum and malus_lum. Mobs only.
light_oxyhealhow much oxy damage is restored/taken at maximum luminosity. Mobs only.
light_toxhealhow much tox damage is restored/taken at maximum luminosity. Mobs only.
lum_minusA value subtracted to the lum count, which allows targets to wilt or heal in the darkness.
malus_lumthe maximum lum count under which the target damage is inversely adjusted.
+

Var Details

attached_atoms + + + + +

+

List of atoms this element is attached to. Doubles as a multiplier if the same element is attached multiple times to a target multiple times.

bonus_lum + + + + +

+

the minimum lum count over which where the target damage is adjusted.

light_bruteheal + + + + +

+

how much brute damage (or integrity, for objects) is healed (taken if positive) at maximum luminosity. (if lum_minus were 0)

light_burnheal + + + + +

+

how much burn damage is restored/taken at maximum luminosity. Mobs only.

light_nutrition_gain + + + + +

+

how nutrition recovery/expenses factor, not affected by bonus_lum and malus_lum. Mobs only.

light_oxyheal + + + + +

+

how much oxy damage is restored/taken at maximum luminosity. Mobs only.

light_toxheal + + + + +

+

how much tox damage is restored/taken at maximum luminosity. Mobs only.

lum_minus + + + + +

+

A value subtracted to the lum count, which allows targets to wilt or heal in the darkness.

malus_lum + + + + +

+

the maximum lum count under which the target damage is inversely adjusted.

+ + + diff --git a/datum/element/scavenging.html b/datum/element/scavenging.html new file mode 100644 index 00000000000..f0abebf0a05 --- /dev/null +++ b/datum/element/scavenging.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/scavenging - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

scavenging + + + +

+ + +

Procs

scavengeThis proc has to be asynced (cough cough, do_after) in order to return the comsig values in time to stop the attack chain.

Proc Details

scavenge +

+

This proc has to be asynced (cough cough, do_after) in order to return the comsig values in time to stop the attack chain.

+ + + diff --git a/datum/element/skirt_peeking.html b/datum/element/skirt_peeking.html new file mode 100644 index 00000000000..d8fc4e4da34 --- /dev/null +++ b/datum/element/skirt_peeking.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/skirt_peeking - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

skirt_peeking + + + +

+ + +

Procs

try_noticeAlright, they've peeked us and everything, did we notice it though?

Proc Details

try_notice +

+

Alright, they've peeked us and everything, did we notice it though?

+ + + diff --git a/datum/element/strippable.html b/datum/element/strippable.html new file mode 100644 index 00000000000..5344a0ee4cf --- /dev/null +++ b/datum/element/strippable.html @@ -0,0 +1,54 @@ + + + + + + + /datum/element/strippable - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

strippable + + + +

+ +

An element for atoms that, when dragged and dropped onto a mob, opens a strip panel.

+ + +

Vars

itemsAn assoc list of keys to /datum/strippable_item
should_strip_proc_pathA proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).
strip_menusAn existing strip menus
+

Var Details

items + + + + +

+

An assoc list of keys to /datum/strippable_item

should_strip_proc_path + + + + +

+

A proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).

strip_menus + + + + +

+

An existing strip menus

+ + + diff --git a/datum/element/turf_z_transparency.html b/datum/element/turf_z_transparency.html new file mode 100644 index 00000000000..8c4367d972c --- /dev/null +++ b/datum/element/turf_z_transparency.html @@ -0,0 +1,49 @@ + + + + + + + /datum/element/turf_z_transparency - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

turf_z_transparency + + + +

+ + + + +

Procs

AttachThis proc sets up the signals to handle updating viscontents when turfs above/below update. Handle plane and layer here too so that they don't cover other obs/turfs in Dream Maker
show_bottom_levelCalled when there is no real turf below this turf
update_multizUpdates the viscontents or underlays below this tile.

Proc Details

Attach +

+

This proc sets up the signals to handle updating viscontents when turfs above/below update. Handle plane and layer here too so that they don't cover other obs/turfs in Dream Maker

show_bottom_level +

+

Called when there is no real turf below this turf

update_multiz +

+

Updates the viscontents or underlays below this tile.

+ + + diff --git a/datum/game_mode.html b/datum/game_mode.html new file mode 100644 index 00000000000..d0accfc19cf --- /dev/null +++ b/datum/game_mode.html @@ -0,0 +1,99 @@ + + + + + + + /datum/game_mode - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

game_mode + + + +

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

Vars

current_playersAssociative list of current players, in order: living players, living antagonists, dead players and observers.

Procs

admin_panelMode specific admin panel.
can_make_vassalVassalCheckAntagValid(target.mind, check_antag_or_loyal)) // HAS_TRAIT(target, TRAIT_MINDSHIELD, "implant") ||
can_startChecks to see if the game can be setup and ran with the current number of players or whatnot.
convert_roundtypeAllows rounds to basically be "rerolled" should the initial premise fall through. Also known as mulligan antags.
ghost_infoMode specific info for ghost game_info
make_antag_chanceHandles late-join antag assignments
post_setupEveryone should now be on the station and have their normal gear. This is the place to give the special roles extra things
pre_setupAttempts to select players for special roles the mode might have.
processCalled by the gameSSticker
+

Var Details

current_players + + + + +

+

Associative list of current players, in order: living players, living antagonists, dead players and observers.

Proc Details

admin_panel +

+

Mode specific admin panel.

can_make_vassal +

+

VassalCheckAntagValid(target.mind, check_antag_or_loyal)) // HAS_TRAIT(target, TRAIT_MINDSHIELD, "implant") ||

can_start +

+

Checks to see if the game can be setup and ran with the current number of players or whatnot.

convert_roundtype +

+

Allows rounds to basically be "rerolled" should the initial premise fall through. Also known as mulligan antags.

ghost_info +

+

Mode specific info for ghost game_info

make_antag_chance +

+

Handles late-join antag assignments

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 +

+

Attempts to select players for special roles the mode might have.

process +

+

Called by the gameSSticker

+ + + diff --git a/datum/game_mode/dynamic.html b/datum/game_mode/dynamic.html new file mode 100644 index 00000000000..96caa903e15 --- /dev/null +++ b/datum/game_mode/dynamic.html @@ -0,0 +1,554 @@ + + + + + + + /datum/game_mode/dynamic - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic + + + +

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

Vars

candidatesList of candidates used on roundstart rulesets.
configurationDynamic configuration, loaded on pre_setup
current_midround_rulesetsThe last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.
current_rulesRules that are processed, rule_process is called on the rules in this list.
executed_rulesList of executed rulesets.
forced_injectionWhen TRUE GetInjectionChance returns 100.
forced_latejoin_ruleForced ruleset to be executed for the next latejoin.
high_impact_ruleset_executedIf a high impact ruleset was executed. Only one will run at a time in most circumstances.
higher_injection_chanceThe chance of injection increase when above higher_injection_chance_minimum_threat
higher_injection_chance_minimum_threatIf above this threat, increase the chance of injection
hijacked_random_event_injection_chanceThe amount to inject when a round event is hijacked
initial_round_start_budgetThe initial round start budget for logging purposes, set once at the beginning of the round.
last_midround_injection_attemptThe time when the last midround injection was attempted, whether or not it was successful
latejoin_delay_maxThe maximum time the recurring latejoin ruleset timer is allowed to be.
latejoin_delay_minThe minimum time the recurring latejoin ruleset timer is allowed to be.
latejoin_injection_cooldownWhen world.time is over this number the mode tries to inject a latejoin ruleset.
latejoin_rulesList of latejoin rules used for selecting the rules.
lower_injection_chanceThe chance of injection decrease when above lower_injection_chance_minimum_threat
lower_injection_chance_minimum_threatIf below this threat, decrease the chance of injection
mid_round_budgetSet at the beginning of the round. Spent by midrounds and latejoins.
midround_delay_maxThe maximum time the recurring midround ruleset timer is allowed to be.
midround_delay_minThe minimum time the recurring midround ruleset timer is allowed to be.
midround_injection_cooldownWhen world.time is over this number the mode tries to inject a midround ruleset.
midround_injection_timer_idThe timer ID for the cancellable midround rule injection
midround_rulesList of midround rules used for selecting the rules.
only_ruleset_executedIf a only ruleset has been executed.
peaceful_percentageHow many percent of the rounds are more peaceful.
pop_per_requirement
random_event_hijack_maximumThe maximum amount of time for antag random events to be hijacked.
random_event_hijack_minimumThe minimum amount of time for antag random events to be hijacked.
random_event_hijackedWhether or not a random event has been hijacked this midround cycle
round_start_budgetSet at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.
roundstart_pop_readyNumber of players who were ready on roundstart.
roundstart_split_curve_centreA number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.
roundstart_split_curve_widthA number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.
shown_threatThe amount of threat shown on the piece of paper. +Can differ from the actual threat amount.
snapshotsA list of recorded "snapshots" of the round, stored in the dynamic.json log
threat_curve_centreA number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.
threat_curve_widthA number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.
threat_levelThe "threat cap", threat shouldn't normally go above this and is used in ruleset calculations
threat_logRunning information about the threat. Can store text or datum entries.

Procs

admin_cancel_midroundFired when an admin cancels the current midround injection.
admin_different_midroundFired when an admin requests a different midround injection.
check_blockingChecks if a type in blocking_list is in rule_list.
configure_rulesetApply configurations to rule.
create_threatGenerate threat and increase the threat_level if it goes beyond, capped at 100
dynamic_logLog to messages and to the game
execute_midround_latejoin_ruleMainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.
execute_midround_ruleFired after admins do not cancel a midround injection.
execute_roundstart_ruleMainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.
generate_budgetsGenerates the midround and roundstart budgets
generate_threatGenerates the threat level using lorentz distribution and assigns peaceful_percentage.
get_injection_chanceGets the chance for latejoin injection, the dry_run argument is only used for forced injection.
get_midround_injection_chanceGets the chance for midround injection, the dry_run argument is only used for forced injection. +Usually defers to the latejoin injection chance.
init_rulesetsReturns a list of the provided rulesets. +Configures their variables to match config.
lorentz_to_amountTurns the value generated by lorentz distribution to number between 0 and 100. +Used for threat level and splitting the budgets.
new_snapshotCreates a new snapshot with the given rulesets chosen, and writes to the JSON output.
pick_latejoin_ruleExecutes a random latejoin ruleset from the list of drafted rules.
pick_midround_ruleExecutes a random midround ruleset from the list of drafted rules.
pick_rulesetFrom a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.
picking_roundstart_ruleInitializes the round start ruleset provided to it. Returns how much threat to spend.
picking_specific_ruleAn experimental proc to allow admins to call rules on the fly or have rules call other rules.
refund_threatRefund threat, but no more than threat_level.
remove_from_listRemoves type from the list
rigged_roundstartA simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.
setup_rulesetsInitializes the internal ruleset variables
spend_midround_budgetExpend midround threat, can't fall under 0.
spend_roundstart_budgetExpend round start threat, can't fall under 0.
update_logUpdates the log for the current snapshots.
+

Var Details

candidates + + + + +

+

List of candidates used on roundstart rulesets.

configuration + + + + +

+

Dynamic configuration, loaded on pre_setup

current_midround_rulesets + + + + +

+

The last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.

current_rules + + + + +

+

Rules that are processed, rule_process is called on the rules in this list.

executed_rules + + + + +

+

List of executed rulesets.

forced_injection + + + + +

+

When TRUE GetInjectionChance returns 100.

forced_latejoin_rule + + + + +

+

Forced ruleset to be executed for the next latejoin.

high_impact_ruleset_executed + + + + +

+

If a high impact ruleset was executed. Only one will run at a time in most circumstances.

higher_injection_chance + + + + +

+

The chance of injection increase when above higher_injection_chance_minimum_threat

higher_injection_chance_minimum_threat + + + + +

+

If above this threat, increase the chance of injection

hijacked_random_event_injection_chance + + + + +

+

The amount to inject when a round event is hijacked

initial_round_start_budget + + + + +

+

The initial round start budget for logging purposes, set once at the beginning of the round.

last_midround_injection_attempt + + + + +

+

The time when the last midround injection was attempted, whether or not it was successful

latejoin_delay_max + + + + +

+

The maximum time the recurring latejoin ruleset timer is allowed to be.

latejoin_delay_min + + + + +

+

The minimum time the recurring latejoin ruleset timer is allowed to be.

latejoin_injection_cooldown + + + + +

+

When world.time is over this number the mode tries to inject a latejoin ruleset.

latejoin_rules + + + + +

+

List of latejoin rules used for selecting the rules.

lower_injection_chance + + + + +

+

The chance of injection decrease when above lower_injection_chance_minimum_threat

lower_injection_chance_minimum_threat + + + + +

+

If below this threat, decrease the chance of injection

mid_round_budget + + + + +

+

Set at the beginning of the round. Spent by midrounds and latejoins.

midround_delay_max + + + + +

+

The maximum time the recurring midround ruleset timer is allowed to be.

midround_delay_min + + + + +

+

The minimum time the recurring midround ruleset timer is allowed to be.

midround_injection_cooldown + + + + +

+

When world.time is over this number the mode tries to inject a midround ruleset.

midround_injection_timer_id + + + + +

+

The timer ID for the cancellable midround rule injection

midround_rules + + + + +

+

List of midround rules used for selecting the rules.

only_ruleset_executed + + + + +

+

If a only ruleset has been executed.

peaceful_percentage + + + + +

+

How many percent of the rounds are more peaceful.

pop_per_requirement + + + + +

+

random_event_hijack_maximum + + + + +

+

The maximum amount of time for antag random events to be hijacked.

random_event_hijack_minimum + + + + +

+

The minimum amount of time for antag random events to be hijacked.

random_event_hijacked + + + + +

+

Whether or not a random event has been hijacked this midround cycle

round_start_budget + + + + +

+

Set at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.

roundstart_pop_ready + + + + +

+

Number of players who were ready on roundstart.

roundstart_split_curve_centre + + + + +

+

A number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.

roundstart_split_curve_width + + + + +

+

A number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.

shown_threat + + + + +

+

The amount of threat shown on the piece of paper. +Can differ from the actual threat amount.

snapshots + + + + +

+

A list of recorded "snapshots" of the round, stored in the dynamic.json log

threat_curve_centre + + + + +

+

A number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.

threat_curve_width + + + + +

+

A number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.

threat_level + + + + +

+

The "threat cap", threat shouldn't normally go above this and is used in ruleset calculations

threat_log + + + + +

+

Running information about the threat. Can store text or datum entries.

Proc Details

admin_cancel_midround +

+

Fired when an admin cancels the current midround injection.

admin_different_midround +

+

Fired when an admin requests a different midround injection.

check_blocking +

+

Checks if a type in blocking_list is in rule_list.

configure_ruleset +

+

Apply configurations to rule.

create_threat +

+

Generate threat and increase the threat_level if it goes beyond, capped at 100

dynamic_log +

+

Log to messages and to the game

execute_midround_latejoin_rule +

+

Mainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.

execute_midround_rule +

+

Fired after admins do not cancel a midround injection.

execute_roundstart_rule +

+

Mainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.

generate_budgets +

+

Generates the midround and roundstart budgets

generate_threat +

+

Generates the threat level using lorentz distribution and assigns peaceful_percentage.

get_injection_chance +

+

Gets the chance for latejoin injection, the dry_run argument is only used for forced injection.

get_midround_injection_chance +

+

Gets the chance for midround injection, the dry_run argument is only used for forced injection. +Usually defers to the latejoin injection chance.

init_rulesets +

+

Returns a list of the provided rulesets. +Configures their variables to match config.

lorentz_to_amount +

+

Turns the value generated by lorentz distribution to number between 0 and 100. +Used for threat level and splitting the budgets.

new_snapshot +

+

Creates a new snapshot with the given rulesets chosen, and writes to the JSON output.

pick_latejoin_rule +

+

Executes a random latejoin ruleset from the list of drafted rules.

pick_midround_rule +

+

Executes a random midround ruleset from the list of drafted rules.

pick_ruleset +

+

From a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.

picking_roundstart_rule +

+

Initializes the round start ruleset provided to it. Returns how much threat to spend.

picking_specific_rule +

+

An experimental proc to allow admins to call rules on the fly or have rules call other rules.

refund_threat +

+

Refund threat, but no more than threat_level.

remove_from_list +

+

Removes type from the list

rigged_roundstart +

+

A simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.

setup_rulesets +

+

Initializes the internal ruleset variables

spend_midround_budget +

+

Expend midround threat, can't fall under 0.

spend_roundstart_budget +

+

Expend round start threat, can't fall under 0.

update_log +

+

Updates the log for the current snapshots.

+ + + diff --git a/datum/game_mode/gang.html b/datum/game_mode/gang.html new file mode 100644 index 00000000000..ce2f98e252b --- /dev/null +++ b/datum/game_mode/gang.html @@ -0,0 +1,36 @@ + + + + + + + /datum/game_mode/gang - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

gang + + + +

+ + +

Vars

handlerA reference to the handler that is used to run pre_setup(), post_setup(), etc..
+

Var Details

handler + + + + +

+

A reference to the handler that is used to run pre_setup(), post_setup(), etc..

+ + + diff --git a/datum/gang_handler.html b/datum/gang_handler.html new file mode 100644 index 00000000000..c6f260d3a0b --- /dev/null +++ b/datum/gang_handler.html @@ -0,0 +1,292 @@ + + + + + + + /datum/gang_handler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Families gamemode / dynamic ruleset handler + + + +

+ +

A special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.

+

This datum centralizes code used for the families gamemode / dynamic rulesets. Families incorporates a significant +amount of unique processing; without this datum, that could would be duplicated. To ensure the maintainability +of the families gamemode / rulesets, the code was moved to this datum. The gamemode / rulesets instance this +datum, pass it lists (lists are passed by reference; removing candidates here removes candidates in the gamemode), +and call its procs. Additionally, the families antagonist datum and families induction package also +contain vars that reference this datum, allowing for new families / family members to add themselves +to this datum's lists thereof (primarily used for point calculation). Despite this, the basic team mechanics +themselves should function regardless of this datum's instantiation, should a player have the gang or cop +antagonist datum added to them through methods external to the families gamemode / rulesets.

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

Vars

antag_candidatesList of all eligible starting family members / undercover cops. Set externally (passed by reference) by gamemode / ruleset; used internally. Note that dynamic uses a list of mobs to handle candidates while game_modes use lists of minds! Don't be fooled!
check_counterA counter used to minimize the overhead of computationally intensive, periodic family point gain checks. Used and set internally.
cops_arrivedWhether the space cops have arrived. Set internally; used internally, and for updating the wanted HUD.
current_themeThe current chosen gamemode theme. Decides the available Gangs, objectives, and equipment.
deaths_during_shift_at_beginningKeeps track of the amount of deaths since the calling of pre_setup_analogue() if this is a midround handler. Used to prevent a high wanted level due to a large amount of deaths during the shift prior to the activation of this handler / the midround ruleset.
end_timeThe time, in deciseconds, that the space cops will arrive at. Calculated based on wanted level and start_time. Used and set internally.
gang_balance_capThe number of family members more that a family may have over other active families. Can be set externally; used internally.
gangbangersList of all family member minds. Used internally; added to internally, and externally by /obj/item/gang_induction_package when used to induct a new family member.
gangsList of all /datum/team/gang. Used internally; added to externally by /datum/antagonist/gang when it generates a new /datum/team/gang.
gangs_to_generateThe number of families (and 1:1 corresponding undercover cops) that should be generated. Can be set externally; used internally.
midround_rulesetWhether the handler corresponds to a ruleset that does not trigger at round start. Should be set externally only if applicable; used internally.
restricted_jobsList of jobs not eligible for starting family member / undercover cop. Set externally (passed by reference) by gamemode / ruleset; used internally.
sent_announcementWhether the gamemode-announcing announcement has been sent. Used and set internally.
sent_second_announcementWhether the "5 minute warning" announcement has been sent. Used and set internally.
start_timeThe time, in deciseconds, that the datum's pre_setup() occured at. Used in end_time. Used and set internally.
undercover_copsList of all undercover cop minds. Used and set internally.
use_dynamic_timingWhether we want to use the 30 to 15 minute timer instead of the 60 to 30 minute timer, for Dynamic.
wanted_levelThe current wanted level. Set internally; used internally, and for updating the wanted HUD.

Procs

NewSets antag_candidates and restricted_jobs.
announce_gang_locationsInternal. Announces the presence of families to the entire station and sets sent_announcement to true to allow other checks to occur.
check_wanted_levelInternal. Checks if our wanted level has changed; calls update_wanted_level. Only updates wanted level post the initial announcement and until the cops show up. After that, it's locked.
on_gain_wanted_levelInternal. Updates the end_time and sends out an announcement if the wanted level has increased. Called by update_wanted_level().
on_lower_wanted_levelInternal. Updates the end_time and sends out an announcement if the wanted level has decreased. Called by update_wanted_level().
post_setup_analoguepost_setup() or execute() equivalent.
pre_setup_analoguepre_setup() or pre_execute() equivalent.
process_analogueprocess() or rule_process() equivalent.
send_in_the_fuzzInternal. Polls ghosts and sends in a team of space cops according to the wanted level, accompanied by an announcement. Will let the shuttle leave 10 minutes after sending. Freezes the wanted level.
set_round_result_analogueset_round_result() or round_result() equivalent.
update_wanted_levelInternal. Updates the icon states for everyone, and calls procs that send out announcements / change the end_time if the wanted level has changed.
+

Var Details

antag_candidates + + + + +

+

List of all eligible starting family members / undercover cops. Set externally (passed by reference) by gamemode / ruleset; used internally. Note that dynamic uses a list of mobs to handle candidates while game_modes use lists of minds! Don't be fooled!

check_counter + + + + +

+

A counter used to minimize the overhead of computationally intensive, periodic family point gain checks. Used and set internally.

cops_arrived + + + + +

+

Whether the space cops have arrived. Set internally; used internally, and for updating the wanted HUD.

current_theme + + + + +

+

The current chosen gamemode theme. Decides the available Gangs, objectives, and equipment.

deaths_during_shift_at_beginning + + + + +

+

Keeps track of the amount of deaths since the calling of pre_setup_analogue() if this is a midround handler. Used to prevent a high wanted level due to a large amount of deaths during the shift prior to the activation of this handler / the midround ruleset.

end_time + + + + +

+

The time, in deciseconds, that the space cops will arrive at. Calculated based on wanted level and start_time. Used and set internally.

gang_balance_cap + + + + +

+

The number of family members more that a family may have over other active families. Can be set externally; used internally.

gangbangers + + + + +

+

List of all family member minds. Used internally; added to internally, and externally by /obj/item/gang_induction_package when used to induct a new family member.

gangs + + + + +

+

List of all /datum/team/gang. Used internally; added to externally by /datum/antagonist/gang when it generates a new /datum/team/gang.

gangs_to_generate + + + + +

+

The number of families (and 1:1 corresponding undercover cops) that should be generated. Can be set externally; used internally.

midround_ruleset + + + + +

+

Whether the handler corresponds to a ruleset that does not trigger at round start. Should be set externally only if applicable; used internally.

restricted_jobs + + + + +

+

List of jobs not eligible for starting family member / undercover cop. Set externally (passed by reference) by gamemode / ruleset; used internally.

sent_announcement + + + + +

+

Whether the gamemode-announcing announcement has been sent. Used and set internally.

sent_second_announcement + + + + +

+

Whether the "5 minute warning" announcement has been sent. Used and set internally.

start_time + + + + +

+

The time, in deciseconds, that the datum's pre_setup() occured at. Used in end_time. Used and set internally.

undercover_cops + + + + +

+

List of all undercover cop minds. Used and set internally.

use_dynamic_timing + + + + +

+

Whether we want to use the 30 to 15 minute timer instead of the 60 to 30 minute timer, for Dynamic.

wanted_level + + + + +

+

The current wanted level. Set internally; used internally, and for updating the wanted HUD.

Proc Details

New +

+

Sets antag_candidates and restricted_jobs.

+

Sets the antag_candidates and restricted_jobs lists to the equivalent +lists of its instantiating game_mode / dynamic_ruleset datum. As lists +are passed by reference, the variable set in this datum and the passed list +list used to set it are literally the same; changes to one affect the other. +Like all New() procs, called when the datum is first instantiated. +There's an annoying caveat here, though -- dynamic rulesets don't have +lists of minds for candidates, they have lists of mobs. Ghost mobs, before +the round has started. But we still want to preserve the structure of the candidates +list by not duplicating it and making sure to remove the candidates as we use them. +So there's a little bit of boilerplate throughout to preserve the sanctity of this reference. +Arguments:

+

announce_gang_locations +

+

Internal. Announces the presence of families to the entire station and sets sent_announcement to true to allow other checks to occur.

check_wanted_level +

+

Internal. Checks if our wanted level has changed; calls update_wanted_level. Only updates wanted level post the initial announcement and until the cops show up. After that, it's locked.

on_gain_wanted_level +

+

Internal. Updates the end_time and sends out an announcement if the wanted level has increased. Called by update_wanted_level().

on_lower_wanted_level +

+

Internal. Updates the end_time and sends out an announcement if the wanted level has decreased. Called by update_wanted_level().

post_setup_analogue +

+

post_setup() or execute() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the post_setup() or execute() phase, after the pre_setup() / pre_execute() phase. +It is intended to take the place of the code that would normally occupy the pre_setup() +or pre_execute() proc. As such, it ensures that all prospective starting family members / +undercover cops are eligible, and picks replacements if there were ineligible cops / family members. +It then assigns gear to the finalized family members and undercover cops, adding them to its lists, +and sets the families announcement proc (that does the announcing) to trigger in five minutes. +Additionally, if given the argument TRUE, it will return FALSE if there are no eligible starting family members. +This is only to be done if the instantiating datum is a dynamic_ruleset, as these require returns +while a game_mode is not expected to return early during this phase. +Arguments:

+

pre_setup_analogue +

+

pre_setup() or pre_execute() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the pre_setup() or pre_execute() phase, after first instantiation +and the modification of gangs_to_generate, gang_balance_cap, and midround_ruleset. +It is intended to take the place of the code that would normally occupy the pre_setup() +or pre_execute() proc, were the code localized to the game_mode or dynamic_ruleset datum respectively +as opposed to this handler. As such, it picks players to be chosen for starting familiy members +or undercover cops prior to assignment to jobs. Sets start_time, default end_time, +and the current value of deaths_during_shift, to ensure the wanted level only cares about +the deaths since this proc has been called. +Takes no arguments.

process_analogue +

+

process() or rule_process() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the process() or rule_process() phase, after post_setup() or +execute() and at regular intervals thereafter. process() and rule_process() are optional +for a game_mode / dynamic_ruleset, but are important for this gamemode. It is of central +importance to the gamemode's flow, calculating wanted level updates, family point gain, +and announcing + executing the arrival of the space cops, achieved through calling internal procs. +Takes no arguments.

send_in_the_fuzz +

+

Internal. Polls ghosts and sends in a team of space cops according to the wanted level, accompanied by an announcement. Will let the shuttle leave 10 minutes after sending. Freezes the wanted level.

set_round_result_analogue +

+

set_round_result() or round_result() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done by the set_round_result() or round_result() procs, at roundend. +Sets the ticker subsystem to the correct result based off of the relative populations +of space cops and family members. +Takes no arguments.

update_wanted_level +

+

Internal. Updates the icon states for everyone, and calls procs that send out announcements / change the end_time if the wanted level has changed.

+ + + diff --git a/datum/gang_theme.html b/datum/gang_theme.html new file mode 100644 index 00000000000..5e2136225c7 --- /dev/null +++ b/datum/gang_theme.html @@ -0,0 +1,85 @@ + + + + + + + /datum/gang_theme - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

gang_theme + + + +

+ +

Gang themes for the Families gamemode. Used to determine the RP theme of the round, what gangs are present, and what their objectives are.

+ + + + + + + +

Vars

bonus_first_gangster_itemsStuff given to the starting gangster at roundstart. Assoc list, type = list(item_type)
bonus_itemsStuff given to every gangster in this theme.
descriptionThe radio announcement played after 5 minutes.
everyone_objectiveIf this isn't null, everyone gets this objective.
gang_objectivesThe objectives for the gangs. Associative list, type = "objective"
involved_gangsAll gangs in the theme, typepaths of gangs.
nameThe name of the theme.
starting_gangstersHow many gangsters should each gang start with? Recommend to keep this in the ballpark of ensuring 9-10 total gangsters spawn.
+

Var Details

bonus_first_gangster_items + + + + +

+

Stuff given to the starting gangster at roundstart. Assoc list, type = list(item_type)

bonus_items + + + + +

+

Stuff given to every gangster in this theme.

description + + + + +

+

The radio announcement played after 5 minutes.

everyone_objective + + + + +

+

If this isn't null, everyone gets this objective.

gang_objectives + + + + +

+

The objectives for the gangs. Associative list, type = "objective"

involved_gangs + + + + +

+

All gangs in the theme, typepaths of gangs.

name + + + + +

+

The name of the theme.

starting_gangsters + + + + +

+

How many gangsters should each gang start with? Recommend to keep this in the ballpark of ensuring 9-10 total gangsters spawn.

+ + + diff --git a/datum/gas_mixture.html b/datum/gas_mixture.html new file mode 100644 index 00000000000..c8cccb6eee0 --- /dev/null +++ b/datum/gas_mixture.html @@ -0,0 +1,36 @@ + + + + + + + /datum/gas_mixture - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

gas_mixture + + + +

+ + +

Vars

gas_list_view_onlyNever ever set this variable, hooked into vv_get_var for view variables viewing.
+

Var Details

gas_list_view_only + + + + +

+

Never ever set this variable, hooked into vv_get_var for view variables viewing.

+ + + diff --git a/datum/gateway_destination.html b/datum/gateway_destination.html new file mode 100644 index 00000000000..41e8a26936e --- /dev/null +++ b/datum/gateway_destination.html @@ -0,0 +1,51 @@ + + + + + + + /datum/gateway_destination - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

gateway_destination + + + +

+ +

Corresponds to single entry in gateway control.

+

Will NOT be added automatically to GLOB.gateway_destinations list.

+ + +

Vars

enabledHow long after roundstart this destination becomes active
hiddenIf disabled, the destination won't be available

Procs

is_availableWill not show on gateway controls at all.
+

Var Details

enabled + + + + +

+

How long after roundstart this destination becomes active

hidden + + + + +

+

If disabled, the destination won't be available

Proc Details

is_available +

+

Will not show on gateway controls at all.

+ + + diff --git a/datum/gateway_destination/gateway.html b/datum/gateway_destination/gateway.html new file mode 100644 index 00000000000..ecb48f815a0 --- /dev/null +++ b/datum/gateway_destination/gateway.html @@ -0,0 +1,36 @@ + + + + + + + /datum/gateway_destination/gateway - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

gateway + + + +

+ + +

Vars

target_gatewayThe gateway this destination points at
+

Var Details

target_gateway + + + + +

+

The gateway this destination points at

+ + + diff --git a/datum/gateway_destination/point.html b/datum/gateway_destination/point.html new file mode 100644 index 00000000000..f6557868564 --- /dev/null +++ b/datum/gateway_destination/point.html @@ -0,0 +1,36 @@ + + + + + + + /datum/gateway_destination/point - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

point + + + +

+ + +

Vars

idUsed by away landmarks
+

Var Details

id + + + + +

+

Used by away landmarks

+ + + diff --git a/datum/http_request.html b/datum/http_request.html new file mode 100644 index 00000000000..c237ba9413a --- /dev/null +++ b/datum/http_request.html @@ -0,0 +1,36 @@ + + + + + + + /datum/http_request - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

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 00000000000..9ab91119526 --- /dev/null +++ b/datum/hud.html @@ -0,0 +1,78 @@ + + + + + + + /datum/hud - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

hud + + + +

+ + + + + + +

Vars

extra_inventoryEquipped item screens that don't show up even if using the initial toggle
extra_shownExtra inventory slots visible?
hide_actions_toggleWhether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered). +The color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).
hungerUI element for hunger
screentip_textUI for screentips that appear when you mouse over things
+

Var Details

extra_inventory + + + + +

+

Equipped item screens that don't show up even if using the initial toggle

extra_shown + + + + +

+

Extra inventory slots visible?

hide_actions_toggle + + + + +

+

Whether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered). +The color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

hunger + + + + +

+

UI element for hunger

screentip_text + + + + +

+

UI for screentips that appear when you mouse over things

+ + + diff --git a/datum/instrument.html b/datum/instrument.html new file mode 100644 index 00000000000..48b20de34ef --- /dev/null +++ b/datum/instrument.html @@ -0,0 +1,127 @@ + + + + + + + /datum/instrument - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

instrument + + + +

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

Vars

HIGHEST_KEYDon't touch this
LOWEST_KEYDon't touch this x2
abstract_typeUsed for categorization subtypes
admin_onlyOh no - For truly troll instruments.
categoryCategory
idUniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.
instrument_flagsSee __DEFINES/flags/instruments.dm
legacy_instrument_extFor legacy instruments, our file extension
legacy_instrument_pathFor legacy instruments, the path to our notes
nameName of the instrument
real_samplesWrite here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127
samplesassoc list key = /datum/instrument_key. do not fill this yourself!
songs_usingWhat songs are using us
volume_multiplierVolume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)
+

Var Details

HIGHEST_KEY + + + + +

+

Don't touch this

LOWEST_KEY + + + + +

+

Don't touch this x2

abstract_type + + + + +

+

Used for categorization subtypes

admin_only + + + + +

+

Oh no - For truly troll instruments.

category + + + + +

+

Category

id + + + + +

+

Uniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.

instrument_flags + + + + +

+

See __DEFINES/flags/instruments.dm

legacy_instrument_ext + + + + +

+

For legacy instruments, our file extension

legacy_instrument_path + + + + +

+

For legacy instruments, the path to our notes

name + + + + +

+

Name of the instrument

real_samples + + + + +

+

Write here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127

samples + + + + +

+

assoc list key = /datum/instrument_key. do not fill this yourself!

songs_using + + + + +

+

What songs are using us

volume_multiplier + + + + +

+

Volume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)

+ + + diff --git a/datum/interaction.html b/datum/interaction.html new file mode 100644 index 00000000000..c4d7f1e6781 --- /dev/null +++ b/datum/interaction.html @@ -0,0 +1,71 @@ + + + + + + + /datum/interaction - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

interaction + + + +

+ +

The base of all interactions

+ + + + + +

Vars

additional_detailsRefuses to accept more than one entry for some reason, fix sometime

Procs

display_interactionDisplay the message
do_actionActually doing the action, has a few checks to see if it's valid, usually overwritten to be make things actually happen and what-not
evaluate_targetSame as evaluate_user, but for target
evaluate_userChecks if user can do an interaction, action_check is for whether you're actually doing it or not (useful for the menu and not removing the buttons)
post_interactionAfter the interaction, the base only plays the sound and only if it has one
+

Var Details

additional_details + + + + +

+

Refuses to accept more than one entry for some reason, fix sometime

Proc Details

display_interaction +

+

Display the message

do_action +

+

Actually doing the action, has a few checks to see if it's valid, usually overwritten to be make things actually happen and what-not

evaluate_target +

+

Same as evaluate_user, but for target

evaluate_user +

+

Checks if user can do an interaction, action_check is for whether you're actually doing it or not (useful for the menu and not removing the buttons)

post_interaction +

+

After the interaction, the base only plays the sound and only if it has one

+ + + diff --git a/datum/job.html b/datum/job.html new file mode 100644 index 00000000000..ae653af9a3d --- /dev/null +++ b/datum/job.html @@ -0,0 +1,128 @@ + + + + + + + /datum/job - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

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

Vars

allow_bureaucratic_errorShould this job be allowed to be picked for the bureaucratic error event?
always_can_respawn_asCan you always join as this job even while respawning (should probably only be on for assistant)
considered_combat_roleIs this job considered a combat role for respawning? (usually sec/command)
family_heirloomsList of family heirlooms this job can get with the family heirloom quirk. List of types.
random_spawns_possibleIs this job affected by weird spawns like the ones from station traits
starting_modifiersStarting skill modifiers.

Procs

after_latejoin_spawnCalled after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()
after_roundstart_spawnCalled after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()
get_default_roundstart_spawn_pointHandles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.
get_latejoin_spawn_pointFinds a valid latejoin spawn point, checking for events and special conditions.
get_roundstart_spawn_pointReturns an atom where the mob should spawn in.
map_checkChecks if we should be created on a certain map
process_map_overridesProcesses map specific overrides
+

Var Details

allow_bureaucratic_error + + + + +

+

Should this job be allowed to be picked for the bureaucratic error event?

always_can_respawn_as + + + + +

+

Can you always join as this job even while respawning (should probably only be on for assistant)

considered_combat_role + + + + +

+

Is this job considered a combat role for respawning? (usually sec/command)

family_heirlooms + + + + +

+

List of family heirlooms this job can get with the family heirloom quirk. List of types.

random_spawns_possible + + + + +

+

Is this job affected by weird spawns like the ones from station traits

starting_modifiers + + + + +

+

Starting skill modifiers.

Proc Details

after_latejoin_spawn +

+

Called after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()

after_roundstart_spawn +

+

Called after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()

get_default_roundstart_spawn_point +

+

Handles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.

get_latejoin_spawn_point +

+

Finds a valid latejoin spawn point, checking for events and special conditions.

get_roundstart_spawn_point +

+

Returns an atom where the mob should spawn in.

map_check +

+

Checks if we should be created on a certain map

process_map_overrides +

+

Processes map specific overrides

+ + + diff --git a/datum/job/mining.html b/datum/job/mining.html new file mode 100644 index 00000000000..843ffc0452c --- /dev/null +++ b/datum/job/mining.html @@ -0,0 +1,36 @@ + + + + + + + /datum/job/mining - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mining + + + +

+ + +

Vars

paycheck_departmentNot necessarily easy itself, but it can be trivial to make lot of cash on this job.
+

Var Details

paycheck_department + + + + +

+

Not necessarily easy itself, but it can be trivial to make lot of cash on this job.

+ + + diff --git a/datum/jps_node.html b/datum/jps_node.html new file mode 100644 index 00000000000..750306c3f8d --- /dev/null +++ b/datum/jps_node.html @@ -0,0 +1,78 @@ + + + + + + + /datum/jps_node - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

jps_node + + + +

+ +

The JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from

+ + + + + + +

Vars

f_valueThe A* node weight (f_value = number_of_tiles + heuristic)
heuristicThe A* node heuristic (a rough estimate of how far we are from the goal)
jumpsHow many steps it took to get here from the last node
node_goalNodes store the endgoal so they can process their heuristic without a reference to the pathfind datum
number_tilesHow many steps it's taken to get here from the start (currently pulling double duty as steps taken & cost to get here, since all moves incl diagonals cost 1 rn)
previous_nodeThe node we just came from
tileThe turf associated with this node
+

Var Details

f_value + + + + +

+

The A* node weight (f_value = number_of_tiles + heuristic)

heuristic + + + + +

+

The A* node heuristic (a rough estimate of how far we are from the goal)

jumps + + + + +

+

How many steps it took to get here from the last node

node_goal + + + + +

+

Nodes store the endgoal so they can process their heuristic without a reference to the pathfind datum

number_tiles + + + + +

+

How many steps it's taken to get here from the start (currently pulling double duty as steps taken & cost to get here, since all moves incl diagonals cost 1 rn)

previous_node + + + + +

+

The node we just came from

tile + + + + +

+

The turf associated with this node

+ + + diff --git a/datum/keybinding.html b/datum/keybinding.html new file mode 100644 index 00000000000..d009140efdc --- /dev/null +++ b/datum/keybinding.html @@ -0,0 +1,43 @@ + + + + + + + /datum/keybinding - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

keybinding + + + +

+ + + +

Vars

clientsideIs this a clientside verb trigger? If so, this should be set to the name of the verb.
specialSpecial - Needs to update special keys on update. clientside implis special.
+

Var Details

clientside + + + + +

+

Is this a clientside verb trigger? If so, this should be set to the name of the verb.

special + + + + +

+

Special - Needs to update special keys on update. clientside implis special.

+ + + diff --git a/datum/keybinding/living.html b/datum/keybinding/living.html new file mode 100644 index 00000000000..a5afa7014da --- /dev/null +++ b/datum/keybinding/living.html @@ -0,0 +1,35 @@ + + + + + + + /datum/keybinding/living - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

living + + + +

+ + +

Procs

can_useTechnically you shouldn't be doing any actions if you were sleeping either but...

Proc Details

can_use +

+

Technically you shouldn't be doing any actions if you were sleeping either but...

+ + + diff --git a/datum/language_holder.html b/datum/language_holder.html new file mode 100644 index 00000000000..419b713ed17 --- /dev/null +++ b/datum/language_holder.html @@ -0,0 +1,192 @@ + + + + + + + /datum/language_holder - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

language_holder + + + +

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

Vars

blocked_languagesA list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.
language_menuHandles displaying the language menu UI.
omnitongueIf true, overrides tongue limitations.
ownerTracks the entity that owns the holder.
selected_languageCurrently spoken language
spoken_languagesA list of languages that can be spoken. Tongue organ may also set limits beyond this list.
understood_languagesUnderstood languages.

Procs

NewInitializes, and copies in the languages from the current atom if available.
add_blocked_languageAdds a single language or list of languages to the blocked language list.
can_speak_languageChecks if you can speak the language. Tongue limitations should be supplied as an argument.
copy_languagesCopies all languages from the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.
get_atomGets the atom, since we some times need to check if the tongue has limitations.
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.
grant_all_languagesGrants every language to understood and spoken, and gives omnitongue.
grant_languageGrants the supplied language.
has_languageChecks if you have the language. If spoken is true, only checks if you can speak the language.
open_language_menuOpens a language menu reading from the language holder.
remove_all_languagesRemoves every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.
remove_blocked_languageRemoves a single language or list of languages from the blocked language list.
remove_languageRemoves a single language or source, removing all sources returns the pre-removal state of the language.
update_atom_languagesEmpties out the atom specific languages and updates them according to the supplied atoms language holder.
+

Var Details

blocked_languages + + + + +

+

A list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.

language_menu + + + + +

+

Handles displaying the language menu UI.

omnitongue + + + + +

+

If true, overrides tongue limitations.

owner + + + + +

+

Tracks the entity that owns the holder.

selected_language + + + + +

+

Currently spoken language

spoken_languages + + + + +

+

A list of languages that can be spoken. Tongue organ may also set limits beyond this list.

understood_languages + + + + +

+

Understood languages.

Proc Details

New +

+

Initializes, and copies in the languages from the current atom if available.

add_blocked_language +

+

Adds a single language or list of languages to the blocked language list.

can_speak_language +

+

Checks if you can speak the language. Tongue limitations should be supplied as an argument.

copy_languages +

+

Copies all languages from the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.

get_atom +

+

Gets the atom, since we some times need to check if the tongue has limitations.

get_random_spoken_language +

+

Gets a random spoken language, useful for forced speech and such.

get_random_understood_language +

+

Gets a random understood language, useful for hallucinations and such.

get_selected_language +

+

Returns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.

grant_all_languages +

+

Grants every language to understood and spoken, and gives omnitongue.

grant_language +

+

Grants the supplied language.

has_language +

+

Checks if you have the language. If spoken is true, only checks if you can speak the language.

open_language_menu +

+

Opens a language menu reading from the language holder.

remove_all_languages +

+

Removes every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.

remove_blocked_language +

+

Removes a single language or list of languages from the blocked language list.

remove_language +

+

Removes a single language or source, removing all sources returns the pre-removal state of the language.

update_atom_languages +

+

Empties out the atom specific languages and updates them according to the supplied atoms language holder.

+ + + diff --git a/datum/looping_sound.html b/datum/looping_sound.html new file mode 100644 index 00000000000..2f5351521f2 --- /dev/null +++ b/datum/looping_sound.html @@ -0,0 +1,43 @@ + + + + + + + /datum/looping_sound - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

looping_sound + + + +

+ + + +

Vars

end_volumeOverride for volume of end sound
start_volumeOverride for volume of start sound
+

Var Details

end_volume + + + + +

+

Override for volume of end sound

start_volume + + + + +

+

Override for volume of start sound

+ + + diff --git a/datum/mafia_controller.html b/datum/mafia_controller.html new file mode 100644 index 00000000000..6d28f546bdb --- /dev/null +++ b/datum/mafia_controller.html @@ -0,0 +1,555 @@ + + + + + + + /datum/mafia_controller - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_controller + + + +

+ +

The mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.

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

Vars

all_rolesall roles in the game, dead or alive. check their game status if you only want living or dead.
current_maptemplate picked when the game starts. used for the name and desc reading
current_setup_textReadable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")
custom_setupfor debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over
day_phase_periodtalk with others about the last night
debugused for debugging in testing (doesn't put people out of the game, some other shit i forgot, who knows just don't set this in live) honestly kinda deprecated
first_day_phase_periodfirst day has no voting, and thus is shorter
judgement_abstain_votesand these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!
judgement_lynch_periodguilty or innocent, we want a bit of time for players to process the outcome of the vote
judgement_phase_perioddefend yourself! don't get lynched! sometimes skipped if nobody votes.
landmarksspawn points for players, each one has a house
low_pop_modePrioritizes clients to have cool antag roles
map_deletermap generation tool that deletes the current map after the game finishes
max_playerMax player count
next_phase_timercurrent timer for phase
night_phase_periodmafia talk at night and pick someone to kill, some town roles use their actions, etc etc.
on_trialcurrent role on trial for the judgement phase, will die if guilty is greater than innocent
phasewhat part of the game you're playing in. day phases, night phases, judgement phases, etc.
player_outfitstarting outfit for all mafia players. it's just a grey jumpsuit.
player_role_lookupexists to speed up role retrieval, it's a dict. player_role_lookup[player ckey] will give you the role they play
required_playerRequired player count
spectatorslist of observers that should get game updates.
speed_upif enabled, the game has fallen under half pop and is sped up
town_center_landmarktown center for when people get put on trial
turnhow long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.
victory_lap_periodlike the lynch period, players need to see what the other players in the game's roles were
votesgroup voting on one person, like putting people to trial or choosing who to kill as mafia
voting_phase_periodvote someone to get put on trial

Procs

add_setup_roleHelper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.
award_rolePHASE ONE: TALLY UP ALL NUMBERS OF PEOPLE STILL ALIVE +PHASE TWO: SEND STATS TO SOLO ANTAGS, SEE IF THEY WON OR TEAMS CANNOT WIN +Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games
basic_setupCalled when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
check_signupsFilters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.
check_trialPlayers have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.
check_victoryChecks to see if a faction (or solo antagonist) has won.
create_bodiesCalled when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key
display_votesAdds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:
end_gameCleans up the game, resetting variables back to the beginning and removing the map with the generator.
generate_random_setupReturns a semirandom setup with 12 roles. balance not guaranteed!
get_random_voterReturns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:
get_vote_countReturns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:
get_vote_winnerReturns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:
lockdownAfter the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.
lynchPlayers have voted innocent or guilty on the person on trial, and that person is now killed or returned home.
prepare_gameTriggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game
reset_votesClears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched
resolve_nightThe end of the night, and a series of signals for the order of events on a night.
send_homeTeenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:
start_dayHow every day starts.
start_gameThe game by this point is now all set up, and so we can put people in their bodies and start the first phase.
start_nightThe actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.
start_the_endThe end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point.
start_voting_phasePlayers have finished the discussion period, and now must put up someone to the chopping block.
toggle_night_curtainsShuts poddoors attached to mafia. +Arguments:
try_autostartCalled when someone signs up, and sees if there are enough people in the signup list to begin.
vote_forProc that goes off when players vote for something with their mafia panel.
+

Var Details

all_roles + + + + +

+

all roles in the game, dead or alive. check their game status if you only want living or dead.

current_map + + + + +

+

template picked when the game starts. used for the name and desc reading

current_setup_text + + + + +

+

Readable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")

custom_setup + + + + +

+

for debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over

day_phase_period + + + + +

+

talk with others about the last night

debug + + + + +

+

used for debugging in testing (doesn't put people out of the game, some other shit i forgot, who knows just don't set this in live) honestly kinda deprecated

first_day_phase_period + + + + +

+

first day has no voting, and thus is shorter

judgement_abstain_votes + + + + +

+

and these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!

judgement_lynch_period + + + + +

+

guilty or innocent, we want a bit of time for players to process the outcome of the vote

judgement_phase_period + + + + +

+

defend yourself! don't get lynched! sometimes skipped if nobody votes.

landmarks + + + + +

+

spawn points for players, each one has a house

low_pop_mode + + + + +

+

Prioritizes clients to have cool antag roles

map_deleter + + + + +

+

map generation tool that deletes the current map after the game finishes

max_player + + + + +

+

Max player count

next_phase_timer + + + + +

+

current timer for phase

night_phase_period + + + + +

+

mafia talk at night and pick someone to kill, some town roles use their actions, etc etc.

on_trial + + + + +

+

current role on trial for the judgement phase, will die if guilty is greater than innocent

phase + + + + +

+

what part of the game you're playing in. day phases, night phases, judgement phases, etc.

player_outfit + + + + +

+

starting outfit for all mafia players. it's just a grey jumpsuit.

player_role_lookup + + + + +

+

exists to speed up role retrieval, it's a dict. player_role_lookup[player ckey] will give you the role they play

required_player + + + + +

+

Required player count

spectators + + + + +

+

list of observers that should get game updates.

speed_up + + + + +

+

if enabled, the game has fallen under half pop and is sped up

town_center_landmark + + + + +

+

town center for when people get put on trial

turn + + + + +

+

how long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.

victory_lap_period + + + + +

+

like the lynch period, players need to see what the other players in the game's roles were

votes + + + + +

+

group voting on one person, like putting people to trial or choosing who to kill as mafia

voting_phase_period + + + + +

+

vote someone to get put on trial

Proc Details

add_setup_role +

+

Helper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.

award_role +

+

PHASE ONE: TALLY UP ALL NUMBERS OF PEOPLE STILL ALIVE +PHASE TWO: SEND STATS TO SOLO ANTAGS, SEE IF THEY WON OR TEAMS CANNOT WIN +Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games

+

Arguments:

+

basic_setup +

+

Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.

+

Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game. +Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list. +If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real.

check_signups +

+

Filters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.

+

If a disconnected player gets a non-ghost mob and reconnects, they will be first put back into mafia_signup then filtered by that.

check_trial +

+

Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.

+

What players do in this phase:

+

check_victory +

+

Checks to see if a faction (or solo antagonist) has won.

+

Calculates in this order:

+

create_bodies +

+

Called when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key

+

Notably:

+

display_votes +

+

Adds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:

+

end_game +

+

Cleans up the game, resetting variables back to the beginning and removing the map with the generator.

generate_random_setup +

+

Returns a semirandom setup with 12 roles. balance not guaranteed!

+

please check the variables at the top of the proc to see how much of each role types it picks

get_random_voter +

+

Returns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:

+

get_vote_count +

+

Returns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:

+

get_vote_winner +

+

Returns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:

+

lockdown +

+

After the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.

lynch +

+

Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home.

+

What players do in this phase:

+

prepare_game +

+

Triggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

+

Does the following:

+

reset_votes +

+

Clears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched

resolve_night +

+

The end of the night, and a series of signals for the order of events on a night.

+

Order of events, and what they mean:

+

send_home +

+

Teenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:

+

start_day +

+

How every day starts.

+

What players do in this phase:

+

start_game +

+

The game by this point is now all set up, and so we can put people in their bodies and start the first phase.

+

Does the following:

+

start_night +

+

The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.

+

What players do in this phase:

+

start_the_end +

+

The end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point.

+

What players do in this phase:

+

start_voting_phase +

+

Players have finished the discussion period, and now must put up someone to the chopping block.

+

What players do in this phase:

+

toggle_night_curtains +

+

Shuts poddoors attached to mafia. +Arguments:

+

try_autostart +

+

Called when someone signs up, and sees if there are enough people in the signup list to begin.

+

Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup)

vote_for +

+

Proc that goes off when players vote for something with their mafia panel.

+

If teams, it hides the tally overlay and only sends the vote messages to the team that is voting +Arguments:

+
+ + + diff --git a/datum/mafia_role.html b/datum/mafia_role.html new file mode 100644 index 00000000000..a14c6d10e5c --- /dev/null +++ b/datum/mafia_role.html @@ -0,0 +1,122 @@ + + + + + + + /datum/mafia_role - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_role + + + +

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

Vars

actionsaction = uses
game_statusso mafia have to also kill them to have a majority
hud_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
revealed_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
revealed_outfitwhat they get equipped with when they are revealed
role_flagsrole flags (special status of roles like detection immune)
role_typehow the random setup chooses which roles get put in
special_themeset this to something cool for antagonists and their window will look different
vote_potentialhow many votes your role COULD count for, now or later. used in checking victory
vote_powerhow many votes submitted when you vote. used in voting, but not victory
winner_awardwhat the role gets when it wins a game

Procs

can_actionTests if a visitor can actually perform an action on this role. Verbose on purpose!
killTests kill immunities, if nothing prevents the kill, kills this role.
+

Var Details

actions + + + + +

+

action = uses

game_status + + + + +

+

so mafia have to also kill them to have a majority

hud_icon + + + + +

+

icon state in the mafia dmi of the hud of the role, used in the mafia ui

revealed_icon + + + + +

+

icon state in the mafia dmi of the hud of the role, used in the mafia ui

revealed_outfit + + + + +

+

what they get equipped with when they are revealed

role_flags + + + + +

+

role flags (special status of roles like detection immune)

role_type + + + + +

+

how the random setup chooses which roles get put in

special_theme + + + + +

+

set this to something cool for antagonists and their window will look different

vote_potential + + + + +

+

how many votes your role COULD count for, now or later. used in checking victory

vote_power + + + + +

+

how many votes submitted when you vote. used in voting, but not victory

winner_award + + + + +

+

what the role gets when it wins a game

Proc Details

can_action +

+

Tests if a visitor can actually perform an action on this role. Verbose on purpose!

+

Will return false if: Your visit is roleblocked, they have perished, or your visit was interrupted

kill +

+

Tests kill immunities, if nothing prevents the kill, kills this role.

+

Does not count as visiting, see visit proc.

+ + + diff --git a/datum/map_config.html b/datum/map_config.html new file mode 100644 index 00000000000..81ef7caee62 --- /dev/null +++ b/datum/map_config.html @@ -0,0 +1,99 @@ + + + + + + + /datum/map_config - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

map_config + + + +

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

Vars

job_access_addAdd these accesses to jobs - type = list()
job_access_overrideOverride job accesses - type = list() - overrides everything else
job_access_removeRemove these accesses from jobs - type = list()
job_blacklistJobs blacklist - if this is not empty, jobs in this aren't allowed.
job_override_spawn_positionsJob spawn position mod - type = number
job_override_total_positionsJob total position mod - type = number
job_whitelistJobs whitelist - if this is not empty, ONLY these jobs are allowed. Overrides blacklist.
orientationOrientation to load in by default.
persistence_keyPersistence key: Defaults to ckey(map_name). If set to "NO_PERSIST", this map will have NO persistence.

Procs

WriteNextMapbadmin moments. Keep up to date with LoadConfig()!
+

Var Details

job_access_add + + + + +

+

Add these accesses to jobs - type = list()

job_access_override + + + + +

+

Override job accesses - type = list() - overrides everything else

job_access_remove + + + + +

+

Remove these accesses from jobs - type = list()

job_blacklist + + + + +

+

Jobs blacklist - if this is not empty, jobs in this aren't allowed.

job_override_spawn_positions + + + + +

+

Job spawn position mod - type = number

job_override_total_positions + + + + +

+

Job total position mod - type = number

job_whitelist + + + + +

+

Jobs whitelist - if this is not empty, ONLY these jobs are allowed. Overrides blacklist.

orientation + + + + +

+

Orientation to load in by default.

persistence_key + + + + +

+

Persistence key: Defaults to ckey(map_name). If set to "NO_PERSIST", this map will have NO persistence.

Proc Details

WriteNextMap +

+

badmin moments. Keep up to date with LoadConfig()!

+ + + diff --git a/datum/map_generator.html b/datum/map_generator.html new file mode 100644 index 00000000000..162dc84ba0b --- /dev/null +++ b/datum/map_generator.html @@ -0,0 +1,35 @@ + + + + + + + /datum/map_generator - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

map_generator + + + +

+ +

This type is responsible for any map generation behavior that is done in areas, override this to allow for area-specific map generation. This generation is ran by areas in initialize.

+

Procs

generate_terrainThis proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.

Proc Details

generate_terrain +

+

This proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.

+ + + diff --git a/datum/map_generator/cave_generator.html b/datum/map_generator/cave_generator.html new file mode 100644 index 00000000000..33ec5e89887 --- /dev/null +++ b/datum/map_generator/cave_generator.html @@ -0,0 +1,120 @@ + + + + + + + /datum/map_generator/cave_generator - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cave_generator + + + +

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

Vars

birth_limitHow much neighbours does a dead cell need to become alive
closed_turf_typesWeighted list of the types that spawns if the turf is closed
death_limitHow little neighbours does a alive cell need to die
feature_spawn_chanceBase chance of spawning features
feature_spawn_listWeighted list of extra features that can spawn in the area, such as geysers.
flora_spawn_chanceBase chance of spawning flora
flora_spawn_listWeighted list of flora that can spawn in the area.
initial_closed_chanceChance of cells starting closed
mob_spawn_chanceBase chance of spawning a mob
mob_spawn_listWeighted list of mobs that can spawn in the area.
open_turf_typesWeighted list of the types that spawns if the turf is open
smoothing_iterationsAmount of smoothing iterations
string_genUnique ID for this spawner
+

Var Details

birth_limit + + + + +

+

How much neighbours does a dead cell need to become alive

closed_turf_types + + + + +

+

Weighted list of the types that spawns if the turf is closed

death_limit + + + + +

+

How little neighbours does a alive cell need to die

feature_spawn_chance + + + + +

+

Base chance of spawning features

feature_spawn_list + + + + +

+

Weighted list of extra features that can spawn in the area, such as geysers.

flora_spawn_chance + + + + +

+

Base chance of spawning flora

flora_spawn_list + + + + +

+

Weighted list of flora that can spawn in the area.

initial_closed_chance + + + + +

+

Chance of cells starting closed

mob_spawn_chance + + + + +

+

Base chance of spawning a mob

mob_spawn_list + + + + +

+

Weighted list of mobs that can spawn in the area.

open_turf_types + + + + +

+

Weighted list of the types that spawns if the turf is open

smoothing_iterations + + + + +

+

Amount of smoothing iterations

string_gen + + + + +

+

Unique ID for this spawner

+ + + diff --git a/datum/map_generator/jungle_generator.html b/datum/map_generator/jungle_generator.html new file mode 100644 index 00000000000..bcab64d1fa0 --- /dev/null +++ b/datum/map_generator/jungle_generator.html @@ -0,0 +1,50 @@ + + + + + + + /datum/map_generator/jungle_generator - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

jungle_generator + + + +

+ +

Spawning isn't done in procs to save on overhead on the 60k turfs we're going through.

+ + +

Vars

perlin_zoomUsed to select "zoom" level into the perlin noise, higher numbers result in slower transitions
possible_biomes2D list of all biomes based on heat and humidity combos.

Procs

generate_terrainSeeds the rust-g perlin noise with a random number.
+

Var Details

perlin_zoom + + + + +

+

Used to select "zoom" level into the perlin noise, higher numbers result in slower transitions

possible_biomes + + + + +

+

2D list of all biomes based on heat and humidity combos.

Proc Details

generate_terrain +

+

Seeds the rust-g perlin noise with a random number.

+ + + diff --git a/datum/map_report.html b/datum/map_report.html new file mode 100644 index 00000000000..67c434732e6 --- /dev/null +++ b/datum/map_report.html @@ -0,0 +1,43 @@ + + + + + + + /datum/map_report - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

map_report + + + +

+ +

An error report generated by /datum/parsed_map/proc/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/map_template.html b/datum/map_template.html new file mode 100644 index 00000000000..424a97f7169 --- /dev/null +++ b/datum/map_template.html @@ -0,0 +1,44 @@ + + + + + + + /datum/map_template - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

map_template + + + +

+ + +

Procs

loadProc to trigger a load at a specific area. Calls on_map_loaded(T.z, loaded_bounds) afterwards.

Proc Details

load +

+

Proc to trigger a load at a specific area. Calls on_map_loaded(T.z, loaded_bounds) afterwards.

+

@params

+
+ + + diff --git a/datum/map_template/shuttle.html b/datum/map_template/shuttle.html new file mode 100644 index 00000000000..f1bf00e47bb --- /dev/null +++ b/datum/map_template/shuttle.html @@ -0,0 +1,50 @@ + + + + + + + /datum/map_template/shuttle - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

shuttle + + + +

+ + + + +

Vars

can_be_boughtCan the be legitimately purchased by the station? Used by hardcoded or pre-mapped shuttles like the lavaland or cargo shuttle.
credit_costHow much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.
movement_forceIf set, overrides default movement_force on shuttle
+

Var Details

can_be_bought + + + + +

+

Can the be legitimately purchased by the station? Used by hardcoded or pre-mapped shuttles like the lavaland or cargo shuttle.

credit_cost + + + + +

+

How much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.

movement_force + + + + +

+

If set, overrides default movement_force on shuttle

+ + + diff --git a/datum/map_template/shuttle/emergency/narnar.html b/datum/map_template/shuttle/emergency/narnar.html new file mode 100644 index 00000000000..5fbca056639 --- /dev/null +++ b/datum/map_template/shuttle/emergency/narnar.html @@ -0,0 +1,35 @@ + + + + + + + /datum/map_template/shuttle/emergency/narnar - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

narnar + + + +

+ + +

Procs

prerequisites_metThe joke is the number so no defines

Proc Details

prerequisites_met +

+

The joke is the number so no defines

+ + + diff --git a/datum/martial_art.html b/datum/martial_art.html new file mode 100644 index 00000000000..45fb88badaf --- /dev/null +++ b/datum/martial_art.html @@ -0,0 +1,64 @@ + + + + + + + /datum/martial_art - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

martial_art + + + +

+ + + + + + +

Vars

block_parry_dataSet this variable to something not null, this'll be the preferred unarmed parry in most cases if [can_martial_parry] is TRUE. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!
can_martial_parryCan we be used to unarmed parry?

Procs

active_parry_reflex_counterCalled when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.
on_active_parryCalled when an attack is parried using this, whether or not the parry was successful.
on_projectile_hitGets called when a projectile hits the owner. Returning anything other than BULLET_ACT_HIT will stop the projectile from hitting the mob.
+

Var Details

block_parry_data + + + + +

+

Set this variable to something not null, this'll be the preferred unarmed parry in most cases if [can_martial_parry] is TRUE. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!

can_martial_parry + + + + +

+

Can we be used to unarmed parry?

Proc Details

active_parry_reflex_counter +

+

Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.

on_active_parry +

+

Called when an attack is parried using this, whether or not the parry was successful.

on_projectile_hit +

+

Gets called when a projectile hits the owner. Returning anything other than BULLET_ACT_HIT will stop the projectile from hitting the mob.

+ + + diff --git a/datum/martial_art/cqc/under_siege.html b/datum/martial_art/cqc/under_siege.html new file mode 100644 index 00000000000..4681ce79d8c --- /dev/null +++ b/datum/martial_art/cqc/under_siege.html @@ -0,0 +1,35 @@ + + + + + + + /datum/martial_art/cqc/under_siege - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

under_siege + + + +

+ +

Subtype of CQC. Only used for the chef.

+

Procs

can_usePrevents use if the cook is not in the kitchen.

Proc Details

can_use +

+

Prevents use if the cook is not in the kitchen.

+ + + diff --git a/datum/martial_art/the_sleeping_carp.html b/datum/martial_art/the_sleeping_carp.html new file mode 100644 index 00000000000..24d60b07d92 --- /dev/null +++ b/datum/martial_art/the_sleeping_carp.html @@ -0,0 +1,53 @@ + + + + + + + /datum/martial_art/the_sleeping_carp - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

the_sleeping_carp + + + +

+ + + + +

Procs

dropKickKeelhaul: Harm Grab combo, knocks people down, deals stamina damage while they're on the floor
launchKickthis var is so that the strong punch is always aiming for the body part the user is targeting and not trying to apply to the chest before deviating +this is the critical hit damage added to the attack if it rolls, it starts at 0 because it'll be changed when rolled +Crashing Wave Kick: Harm Disarm combo, throws people seven tiles backwards
strongPunchGnashing Teeth: Harm Harm, high force punch on every second harm punch, has a chance to crit for near triple damage

Proc Details

dropKick +

+

Keelhaul: Harm Grab combo, knocks people down, deals stamina damage while they're on the floor

launchKick +

+

this var is so that the strong punch is always aiming for the body part the user is targeting and not trying to apply to the chest before deviating +this is the critical hit damage added to the attack if it rolls, it starts at 0 because it'll be changed when rolled +Crashing Wave Kick: Harm Disarm combo, throws people seven tiles backwards

strongPunch +

+

Gnashing Teeth: Harm Harm, high force punch on every second harm punch, has a chance to crit for near triple damage

+ + + diff --git a/datum/material.html b/datum/material.html new file mode 100644 index 00000000000..51248cc2f49 --- /dev/null +++ b/datum/material.html @@ -0,0 +1,237 @@ + + + + + + + /datum/material - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

material + + + +

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

Vars

alphaBase alpha of the material, is used for greyscale icons.
armor_modifiersArmor modifiers, multiplies an items normal armor vars by these amounts.
beauty_modifierHow beautiful is this material per unit.
cached_texture_filtera cached icon for the texture filter
categoriesBitflags that influence how SSmaterials handles this material. +Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for
colorBase color of the material, is used for greyscale. Item isn't changed in color if this is null.
descA short description of the material. Not used anywhere, yet...
idWhat the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.
integrity_modifierThis is a modifier for integrity, and resembles the strength of the material
item_sound_overrideCan be used to override the sound items make, lets add some SLOSHing.
nameWhat the material is referred to as IC.
shard_typeWhat type of shard the material will shatter to
sheet_typeThe type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets
strength_modifierThis is a modifier for force, and resembles the strength of the material
texture_layer_icon_statewhat texture icon state to overlay
turf_sound_overrideCan be used to override the stepsound a turf makes. MORE SLOOOSH
value_per_unitThis is the amount of value per 1 unit of the material

Procs

Initialize
on_accidental_mat_consumptionThis proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments
on_appliedThis proc is called when the material is added to an object.
on_applied_objThis proc is called when the material is added to an object specifically.
on_removedThis proc is called when the material is removed from an object.
on_removed_objThis proc is called when the material is removed from an object specifically.
return_composition
+

Var Details

alpha + + + + +

+

Base alpha of the material, is used for greyscale icons.

armor_modifiers + + + + +

+

Armor modifiers, multiplies an items normal armor vars by these amounts.

beauty_modifier + + + + +

+

How beautiful is this material per unit.

cached_texture_filter + + + + +

+

a cached icon for the texture filter

categories + + + + +

+

Bitflags that influence how SSmaterials handles this material. +Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for

color + + + + +

+

Base color of the material, is used for greyscale. Item isn't changed in color if this is null.

desc + + + + +

+

A short description of the material. Not used anywhere, yet...

id + + + + +

+

What the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.

integrity_modifier + + + + +

+

This is a modifier for integrity, and resembles the strength of the material

item_sound_override + + + + +

+

Can be used to override the sound items make, lets add some SLOSHing.

name + + + + +

+

What the material is referred to as IC.

shard_type + + + + +

+

What type of shard the material will shatter to

sheet_type + + + + +

+

The type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets

strength_modifier + + + + +

+

This is a modifier for force, and resembles the strength of the material

texture_layer_icon_state + + + + +

+

what texture icon state to overlay

turf_sound_override + + + + +

+

Can be used to override the stepsound a turf makes. MORE SLOOOSH

value_per_unit + + + + +

+

This is the amount of value per 1 unit of the material

Proc Details

Initialize +

+

on_accidental_mat_consumption +

+

This proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments

+

on_applied +

+

This proc is called when the material is added to an object.

on_applied_obj +

+

This proc is called when the material is added to an object specifically.

on_removed +

+

This proc is called when the material is removed from an object.

on_removed_obj +

+

This proc is called when the material is removed from an object specifically.

return_composition +

+
+ + + diff --git a/datum/mind.html b/datum/mind.html new file mode 100644 index 00000000000..24d8c5b5b1f --- /dev/null +++ b/datum/mind.html @@ -0,0 +1,155 @@ + + + + + + + /datum/mind - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mind + + + +

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

Vars

ambitionsLazy list for antagonists to set goals they wish to achieve, to be shown at the round-end report.
original_characterWhat character we spawned in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not
skill_holderOur skill holder.
special_statusesA lazy list of statuses to add next to this mind in the traitor panel

Procs

action_skill_modGeneric value modifier proc that uses one skill. +Args:
auto_gain_experienceAutomatic skill increase, multiplied by skill affinity if existing. +Only works if skill is numerical or levelled..
boost_skill_value_toBoosts a skill to a value if not aobve
equip_traitor
get_hijack_speedSets our can_hijack to the fastest speed our antag datums allow.
get_skill_affinityGrabs our affinity for a skill. !!This is a multiplier!!
get_skill_levelGrabs the level of a skill. Only supported by skills with tiers or levels.
get_skill_valueGrabs the value of a skill.
item_action_skills_modGeneric value modifier proc that uses several skills, intended for items. +Args:
set_skill_valueSets the value of a skill.
+

Var Details

ambitions + + + + +

+

Lazy list for antagonists to set goals they wish to achieve, to be shown at the round-end report.

original_character + + + + +

+

What character we spawned in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not

skill_holder + + + + +

+

Our skill holder.

special_statuses + + + + +

+

A lazy list of statuses to add next to this mind in the traitor panel

Proc Details

action_skill_mod +

+

Generic value modifier proc that uses one skill. +Args:

+

auto_gain_experience +

+

Automatic skill increase, multiplied by skill affinity if existing. +Only works if skill is numerical or levelled..

boost_skill_value_to +

+

Boosts a skill to a value if not aobve

equip_traitor +

+ +

A mind proc for giving anyone an uplink. +arguments:

+

get_hijack_speed +

+

Sets our can_hijack to the fastest speed our antag datums allow.

get_skill_affinity +

+

Grabs our affinity for a skill. !!This is a multiplier!!

get_skill_level +

+

Grabs the level of a skill. Only supported by skills with tiers or levels.

get_skill_value +

+

Grabs the value of a skill.

item_action_skills_mod +

+

Generic value modifier proc that uses several skills, intended for items. +Args:

+

set_skill_value +

+

Sets the value of a skill.

+ + + diff --git a/datum/mod_theme.html b/datum/mod_theme.html new file mode 100644 index 00000000000..cae0081a37d --- /dev/null +++ b/datum/mod_theme.html @@ -0,0 +1,148 @@ + + + + + + + /datum/mod_theme - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mod_theme + + + +

+ +

MODsuit theme, instanced once and then used by MODsuits to grab various statistics.

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

Vars

armorArmor shared across the MOD pieces.
cell_drainHow much battery power the MOD uses by just being on
complexity_maxHow much modules can the MOD carry without malfunctioning.
default_skinDefault skin of the MOD.
descDescription added to the MOD.
inbuilt_modulesList of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.
max_heat_protection_temperatureMax heat protection shared across the MOD pieces.
min_cold_protection_temperatureMax cold protection shared across the MOD pieces.
module_blacklistModules blacklisted from the MOD.
nameTheme name for the MOD.
permeability_coefficientPermeability shared across the MOD pieces.
resistance_flagsResistance flags shared across the MOD pieces.
siemens_coefficientSiemens shared across the MOD pieces.
skinsList of skins with their appropriate clothing flags.
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
ui_themeTheme used by the MOD TGUI.
+

Var Details

armor + + + + +

+

Armor shared across the MOD pieces.

cell_drain + + + + +

+

How much battery power the MOD uses by just being on

complexity_max + + + + +

+

How much modules can the MOD carry without malfunctioning.

default_skin + + + + +

+

Default skin of the MOD.

desc + + + + +

+

Description added to the MOD.

inbuilt_modules + + + + +

+

List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.

max_heat_protection_temperature + + + + +

+

Max heat protection shared across the MOD pieces.

min_cold_protection_temperature + + + + +

+

Max cold protection shared across the MOD pieces.

module_blacklist + + + + +

+

Modules blacklisted from the MOD.

name + + + + +

+

Theme name for the MOD.

permeability_coefficient + + + + +

+

Permeability shared across the MOD pieces.

resistance_flags + + + + +

+

Resistance flags shared across the MOD pieces.

siemens_coefficient + + + + +

+

Siemens shared across the MOD pieces.

skins + + + + +

+

List of skins with their appropriate clothing flags.

slowdown_active + + + + +

+

Slowdown of the MOD when active.

slowdown_inactive + + + + +

+

Slowdown of the MOD when not active.

ui_theme + + + + +

+

Theme used by the MOD TGUI.

+ + + diff --git a/datum/mood_event.html b/datum/mood_event.html new file mode 100644 index 00000000000..4dda65d7218 --- /dev/null +++ b/datum/mood_event.html @@ -0,0 +1,36 @@ + + + + + + + /datum/mood_event - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mood_event + + + +

+ + +

Vars

mood_changeFor descriptions, use the span classes bold nicegreen, nicegreen, none, warning and boldwarning in order from great to horrible.
+

Var Details

mood_change + + + + +

+

For descriptions, use the span classes bold nicegreen, nicegreen, none, warning and boldwarning in order from great to horrible.

+ + + diff --git a/datum/movespeed_modifier.html b/datum/movespeed_modifier.html new file mode 100644 index 00000000000..ccf88b73ece --- /dev/null +++ b/datum/movespeed_modifier.html @@ -0,0 +1,106 @@ + + + + + + + /datum/movespeed_modifier - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

movespeed_modifier + + + +

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

Vars

absolute_max_tiles_per_secondAbsolute max tiles we can boost to
blacklisted_movetypesMovetypes this never applies to
complex_calculationNext two variables depend on this: Should we do advanced calculations?
conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
max_tiles_per_second_boostMax tiles per second we can boost
movetypesMovetypes this applies to
multiplicative_slowdownMultiplicative slowdown
priorityDetermines order. Lower priorities are applied first.
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

Procs

apply_multiplicativeReturns new multiplicative movespeed after modification.
+

Var Details

absolute_max_tiles_per_second + + + + +

+

Absolute max tiles we can boost to

blacklisted_movetypes + + + + +

+

Movetypes this never applies to

complex_calculation + + + + +

+

Next two variables depend on this: Should we do advanced calculations?

conflicts_with + + + + +

+

Other modification datums this conflicts with.

id + + + + +

+

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

max_tiles_per_second_boost + + + + +

+

Max tiles per second we can boost

movetypes + + + + +

+

Movetypes this applies to

multiplicative_slowdown + + + + +

+

Multiplicative slowdown

priority + + + + +

+

Determines order. Lower priorities are applied first.

variable + + + + +

+

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

Proc Details

apply_multiplicative +

+

Returns new multiplicative movespeed after modification.

+ + + diff --git a/datum/movespeed_modifier/sprinting.html b/datum/movespeed_modifier/sprinting.html new file mode 100644 index 00000000000..380595e5d13 --- /dev/null +++ b/datum/movespeed_modifier/sprinting.html @@ -0,0 +1,35 @@ + + + + + + + /datum/movespeed_modifier/sprinting - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

sprinting + + + +

+ + +

Procs

apply_multiplicativefor speed reasons this is sorta copypasty.

Proc Details

apply_multiplicative +

+

for speed reasons this is sorta copypasty.

+ + + diff --git a/datum/mutation/human/hulk.html b/datum/mutation/human/hulk.html new file mode 100644 index 00000000000..bc95926cdf7 --- /dev/null +++ b/datum/mutation/human/hulk.html @@ -0,0 +1,40 @@ + + + + + + + /datum/mutation/human/hulk - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

hulk + + + +

+ + +

Procs

break_an_armChecks damage of a hulk's arm and applies bone wounds as necessary.

Proc Details

break_an_arm +

+

Checks damage of a hulk's arm and applies bone wounds as necessary.

+

Called by specific atoms being attacked, such as walls. If an atom +does not call this proc, than punching that atom will not cause +arm breaking (even if the atom deals recoil damage to hulks). +Arguments: +arg1 is the arm to evaluate damage of and possibly break.

+ + + diff --git a/datum/nanite_program.html b/datum/nanite_program.html new file mode 100644 index 00000000000..af0c1a7e7f9 --- /dev/null +++ b/datum/nanite_program.html @@ -0,0 +1,108 @@ + + + + + + + /datum/nanite_program - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

nanite_program + + + +

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

Vars

corruptableCorruptable - able to have code/configuration changed
error_flickingerror flicking - able to be randomly toggled by errors
extra_settingsDon't ever override this or I will come to your house and stand menacingly behind a bush
immutableimmutable - cannot be overwritten by other programs

Procs

copy_extra_settings_toCopy of the list instead of direct reference for obvious reasons
get_extra_setting_valueYou probably shouldn't be overriding this one, but I'm not a cop.
get_extra_settings_frontendUsed for getting information about the extra settings to the frontend
is_permanentChecks if we're a permanent program
register_extra_settingsRegister extra settings by overriding this. +extra_settings[name] = new typepath() for each extra setting
self_destructAttempts to destroy ourselves
set_extra_settingYou can override this if you need to have special behavior after setting certain settings.
+

Var Details

corruptable + + + + +

+

Corruptable - able to have code/configuration changed

error_flicking + + + + +

+

error flicking - able to be randomly toggled by errors

extra_settings + + + + +

+

Don't ever override this or I will come to your house and stand menacingly behind a bush

immutable + + + + +

+

immutable - cannot be overwritten by other programs

Proc Details

copy_extra_settings_to +

+

Copy of the list instead of direct reference for obvious reasons

get_extra_setting_value +

+

You probably shouldn't be overriding this one, but I'm not a cop.

get_extra_settings_frontend +

+

Used for getting information about the extra settings to the frontend

is_permanent +

+

Checks if we're a permanent program

register_extra_settings +

+

Register extra settings by overriding this. +extra_settings[name] = new typepath() for each extra setting

self_destruct +

+

Attempts to destroy ourselves

set_extra_setting +

+

You can override this if you need to have special behavior after setting certain settings.

+ + + diff --git a/datum/ntnet_conversation.html b/datum/ntnet_conversation.html new file mode 100644 index 00000000000..7cd22711a06 --- /dev/null +++ b/datum/ntnet_conversation.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ntnet_conversation - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ntnet_conversation + + + +

+ + + + +

Vars

active_clientschat clients who are active or minimized
muted_clientsclients muted by operator
offline_clientschat clients who have exited out of the program.
+

Var Details

active_clients + + + + +

+

chat clients who are active or minimized

muted_clients + + + + +

+

clients muted by operator

offline_clients + + + + +

+

chat clients who have exited out of the program.

+ + + diff --git a/datum/objective/door_jack.html b/datum/objective/door_jack.html new file mode 100644 index 00000000000..690d67975a0 --- /dev/null +++ b/datum/objective/door_jack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/door_jack - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

door_jack + + + +

+ + +

Vars

doors_requiredHow many doors that need to be opened using the gloves to pass the objective
+

Var Details

doors_required + + + + +

+

How many doors that need to be opened using the gloves to pass the objective

+ + + diff --git a/datum/objective/hijack.html b/datum/objective/hijack.html new file mode 100644 index 00000000000..b9fc3c3ee62 --- /dev/null +++ b/datum/objective/hijack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/hijack - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

hijack + + + +

+ + +

Vars

hijack_speed_overrideOverrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.
+

Var Details

hijack_speed_override + + + + +

+

Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.

+ + + diff --git a/datum/outfit.html b/datum/outfit.html new file mode 100644 index 00000000000..f7ab0b84f9b --- /dev/null +++ b/datum/outfit.html @@ -0,0 +1,328 @@ + + + + + + + /datum/outfit - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Outfit datums + + + +

+ +

This is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.

+

You can also specify an outfit datum on a job to have it auto equipped to the mob on join

+

/mob/living/carbon/human/proc/equipOutfit(outfit) is the mob level proc to equip an outfit +and you pass it the relevant datum outfit

+

outfits can also be saved as json blobs downloadable by a client and then can be uploaded +by that user to recreate the outfit, this is used by admins to allow for custom event outfits +that can be restored at a later date

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

Vars

accessoryAny clothing accessory item
backType path of item to go in back slot
backpack_contentslist of items that should go in the backpack of the user
beltType path of item to go in belt slot
boxInternals box. Will be inserted at the start of backpack_contents
chameleon_extrasextra types for chameleon outfit changes, mostly guns
earsType path of item to go in ears slot
ears_extraSlot for the opposite ear.
glassesType path of item to go in the glasses slot
glovesType path of item to go in gloves slot
headType path of item to go in head slot
idType path of item to go in the idcard slot
implantsAny implants the mob should start implanted with
internals_slotID of the slot containing a gas tank
l_handType path of item to go in the right hand
l_pocketType path of item for left pocket slot
maskType path of item to go in mask slot
nameName of the outfit (shows up in the equip admin verb)
neckType path of item to go in neck slot
r_pocketType path of item for right pocket slot
shirtSlot for the undershirt (which is quite a foreign concept to me) or bras
shoesType path of item to go in shoes slot
socksSlot for socks, yes, the thing that usually goes before your shoes
suitType path of item to go in suit slot
suit_storeType path of item to go in suit storage slot
toggle_helmetShould the toggle helmet proc be called on the helmet during equip
underwearSlot for underwear like boxers and panties
uniformType path of item to go in uniform slot
wristsSlot for the part of your arms that isn't quite hands yet.

Procs

apply_fingerprintsApply a fingerprint from the passed in human to all items in the outfit
copy_fromCopy most vars from another outfit to this one
equipEquips all defined types and paths to the mob passed in
get_chameleon_disguise_infoReturn a list of all the types that are required to disguise as this outfit type
get_json_dataReturn a json list of this outfit
load_fromCreate an outfit datum from a list of json data
post_equipCalled after the equip proc has finished
pre_equipCalled at the start of the equip proc
save_to_filePrompt the passed in mob client to download this outfit as a json blob
+

Var Details

accessory + + + + +

+

Any clothing accessory item

back + + + + +

+

Type path of item to go in back slot

backpack_contents + + + + +

+

list of items that should go in the backpack of the user

+

Format of this list should be: list(path=count,otherpath=count)

belt + + + + +

+

Type path of item to go in belt slot

box + + + + +

+

Internals box. Will be inserted at the start of backpack_contents

chameleon_extras + + + + +

+

extra types for chameleon outfit changes, mostly guns

+

Format of this list is (typepath, typepath, typepath)

+

These are all added and returns in the list for get_chamelon_diguise_info proc

ears + + + + +

+

Type path of item to go in ears slot

ears_extra + + + + +

+

Slot for the opposite ear.

glasses + + + + +

+

Type path of item to go in the glasses slot

gloves + + + + +

+

Type path of item to go in gloves slot

head + + + + +

+

Type path of item to go in head slot

id + + + + +

+

Type path of item to go in the idcard slot

implants + + + + +

+

Any implants the mob should start implanted with

+

Format of this list is (typepath, typepath, typepath)

internals_slot + + + + +

+

ID of the slot containing a gas tank

l_hand + + + + +

+

Type path of item to go in the right hand

l_pocket + + + + +

+

Type path of item for left pocket slot

mask + + + + +

+

Type path of item to go in mask slot

name + + + + +

+

Name of the outfit (shows up in the equip admin verb)

neck + + + + +

+

Type path of item to go in neck slot

r_pocket + + + + +

+

Type path of item for right pocket slot

shirt + + + + +

+

Slot for the undershirt (which is quite a foreign concept to me) or bras

shoes + + + + +

+

Type path of item to go in shoes slot

socks + + + + +

+

Slot for socks, yes, the thing that usually goes before your shoes

suit + + + + +

+

Type path of item to go in suit slot

suit_store + + + + +

+

Type path of item to go in suit storage slot

+

(make sure it's valid for that suit)

toggle_helmet + + + + +

+

Should the toggle helmet proc be called on the helmet during equip

underwear + + + + +

+

Slot for underwear like boxers and panties

uniform + + + + +

+

Type path of item to go in uniform slot

wrists + + + + +

+

Slot for the part of your arms that isn't quite hands yet.

Proc Details

apply_fingerprints +

+

Apply a fingerprint from the passed in human to all items in the outfit

+

Used for forensics setup when the mob is first equipped at roundstart +essentially calls add_fingerprint to every defined item on the human

copy_from +

+

Copy most vars from another outfit to this one

equip +

+

Equips all defined types and paths to the mob passed in

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

get_chameleon_disguise_info +

+

Return a list of all the types that are required to disguise as this outfit type

get_json_data +

+

Return a json list of this outfit

load_from +

+

Create an outfit datum from a list of json data

post_equip +

+

Called after the equip proc has finished

+

All items are on the mob at this point, use this proc to toggle internals +fiddle with id bindings and accesses etc

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

pre_equip +

+

Called at the start of the equip proc

+

Override to change the value of the slots depending on client prefs, species and +other such sources of change

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

save_to_file +

+

Prompt the passed in mob client to download this outfit as a json blob

+ + + diff --git a/datum/parallax.html b/datum/parallax.html new file mode 100644 index 00000000000..f272694f403 --- /dev/null +++ b/datum/parallax.html @@ -0,0 +1,50 @@ + + + + + + + /datum/parallax - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

parallax + + + +

+ +

Holds parallax information.

+ + +

Vars

layersParallax layers
objectsList of parallax objects - these are cloned to a parallax holder using Clone on each.

Procs

GetObjectsGets a new version of the objects inside - used when applying to a holder.
+

Var Details

layers + + + + +

+

Parallax layers

objects + + + + +

+

List of parallax objects - these are cloned to a parallax holder using Clone on each.

Proc Details

GetObjects +

+

Gets a new version of the objects inside - used when applying to a holder.

+ + + diff --git a/datum/parallax_holder.html b/datum/parallax_holder.html new file mode 100644 index 00000000000..2905fd0f1a4 --- /dev/null +++ b/datum/parallax_holder.html @@ -0,0 +1,190 @@ + + + + + + + /datum/parallax_holder - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Parallax holders + + + +

+ +

Holds all the information about a client's parallax

+

Not on mob because parallax is area based, not mob based.

+

How parallax works:

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

Vars

cached_eyeEye we were last anchored to - used to detect eye changes
forced_eyeforce this eye as the "real" eye - useful for secondary maps
lastlast turf loc
last_arealast area - for parallax scrolling/loop animations
layersall layers
ownerClient that owns us
parallaxThe parallax object we're currently rendering
planemaster_overrideoverride planemaster we manipulate for turning and other effects
scroll_speedcurrent scroll speed in DS per scroll
scroll_turncurrent scroll turn - applied after angle. if angle is 0 (picture moving north) and turn is 90, it would be like if you turned your viewport 90 deg clockwise.
scrollingcurrently scrolling?
secondary_mapare we not on the main map? if so, put map id here
visvis contents
vis_holderHolder object for vis

Procs

AnimationRuns a modifier to parallax as an animation.
EyeGets the eye we should be centered on
GetPlaneMasterGets the base parallax planemaster for things like turning
HardResetAnimationsfully resets animation state
StopScrollingSmoothly stops the animation, turning to a certain angle as needed.
SyncSyncs us to our parallax objects. Does NOT check if we should have those objects, that's Reset()'s job.
UpdateMotionUpdates motion if needed
+

Var Details

cached_eye + + + + +

+

Eye we were last anchored to - used to detect eye changes

forced_eye + + + + +

+

force this eye as the "real" eye - useful for secondary maps

last + + + + +

+

last turf loc

last_area + + + + +

+

last area - for parallax scrolling/loop animations

layers + + + + +

+

all layers

owner + + + + +

+

Client that owns us

parallax + + + + +

+

The parallax object we're currently rendering

planemaster_override + + + + +

+

override planemaster we manipulate for turning and other effects

scroll_speed + + + + +

+

current scroll speed in DS per scroll

scroll_turn + + + + +

+

current scroll turn - applied after angle. if angle is 0 (picture moving north) and turn is 90, it would be like if you turned your viewport 90 deg clockwise.

scrolling + + + + +

+

currently scrolling?

secondary_map + + + + +

+

are we not on the main map? if so, put map id here

vis + + + + +

+

vis contents

vis_holder + + + + +

+

Holder object for vis

Proc Details

Animation +

+

Runs a modifier to parallax as an animation.

+

@params +speed - ds per loop +turn - angle clockwise from north to turn the motion to +windup - ds to spend on windups. 0 for immediate. +turn_speed - ds to spend on turning. 0 for immediate.

Eye +

+

Gets the eye we should be centered on

GetPlaneMaster +

+

Gets the base parallax planemaster for things like turning

HardResetAnimations +

+

fully resets animation state

StopScrolling +

+

Smoothly stops the animation, turning to a certain angle as needed.

Sync +

+

Syncs us to our parallax objects. Does NOT check if we should have those objects, that's Reset()'s job.

+

Doesn't move/update positions/screen locs either.

+

Also ensures movedirs are correct for the eye's pos.

UpdateMotion +

+

Updates motion if needed

+ + + diff --git a/datum/parsed_map.html b/datum/parsed_map.html new file mode 100644 index 00000000000..482c0a5ecc5 --- /dev/null +++ b/datum/parsed_map.html @@ -0,0 +1,71 @@ + + + + + + + /datum/parsed_map - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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. +Do not use the crop function unless strictly necessary. +WARNING: Crop function crops based on the tiles you'd see in the map editor. If you're planning to load it in in a different orientation later, you better have done the math. +It's recommended that you do not crop using this at all.
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. +Do not use the crop function unless strictly necessary. +WARNING: Crop function crops based on the tiles you'd see in the map editor. If you're planning to load it in in a different orientation later, you better have done the math. +It's recommended that you do not crop using this at all.

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/pathfind.html b/datum/pathfind.html new file mode 100644 index 00000000000..77fadb98f5f --- /dev/null +++ b/datum/pathfind.html @@ -0,0 +1,154 @@ + + + + + + + /datum/pathfind - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

pathfind + + + +

+ +

The datum used to handle the JPS pathfinding, completely self-contained

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

Vars

avoidA specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through
callerThe thing that we're actually trying to path for
endThe turf we're trying to path to (note that this won't track a moving target)
idAn ID card representing what access we have and what doors we can open. Its location relative to the pathing atom is irrelevant
max_distanceI don't know what this does vs , but they limit how far we can search before giving up on a path
mintargetdistHow far away we have to get to the end target before we can call it quits
openThe open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)
pathThe list we compile at the end if successful to pass back
simulated_onlySpace is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles
sourcesAn assoc list that serves as the closed list & tracks what turfs came from where. Key is the turf, and the value is what turf it came from
startThe turf where we started at

Procs

diag_scan_specFor performing diagonal scans from a given starting turf.
lateral_scan_specFor performing lateral scans from a given starting turf.
searchsearch() is the proc you call to kick off and handle the actual pathfinding, and kills the pathfind datum instance when it's done.
unwind_pathCalled when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by datum/pathfind/proc/search
+

Var Details

avoid + + + + +

+

A specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through

caller + + + + +

+

The thing that we're actually trying to path for

end + + + + +

+

The turf we're trying to path to (note that this won't track a moving target)

id + + + + +

+

An ID card representing what access we have and what doors we can open. Its location relative to the pathing atom is irrelevant

max_distance + + + + +

+

I don't know what this does vs , but they limit how far we can search before giving up on a path

mintargetdist + + + + +

+

How far away we have to get to the end target before we can call it quits

open + + + + +

+

The open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)

path + + + + +

+

The list we compile at the end if successful to pass back

simulated_only + + + + +

+

Space is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles

sources + + + + +

+

An assoc list that serves as the closed list & tracks what turfs came from where. Key is the turf, and the value is what turf it came from

start + + + + +

+

The turf where we started at

Proc Details

diag_scan_spec +

+

For performing diagonal scans from a given starting turf.

+

Unlike lateral scans, these only are called from the main search loop, so we don't need to worry about returning anything, +though we do need to handle the return values of our lateral subscans of course.

+

Arguments:

+

lateral_scan_spec +

+

For performing lateral scans from a given starting turf.

+

These scans are called from both the main search loop, as well as subscans for diagonal scans, and they treat finding interesting turfs slightly differently. +If we're doing a normal lateral scan, we already have a parent node supplied, so we just create the new node and immediately insert it into the heap, ezpz. +If we're part of a subscan, we still need for the diagonal scan to generate a parent node, so we return a node datum with just the turf and let the diag scan +proc handle transferring the values and inserting them into the heap.

+

Arguments:

+

search +

+

search() is the proc you call to kick off and handle the actual pathfinding, and kills the pathfind datum instance when it's done.

+

If a valid path was found, it's returned as a list. If invalid or cross-z-level params are entered, or if there's no valid path found, we +return null, which /proc/get_path_to translates to an empty list (notable for simple bots, who need empty lists)

unwind_path +

+

Called when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by datum/pathfind/proc/search

+ + + diff --git a/datum/physiology.html b/datum/physiology.html new file mode 100644 index 00000000000..ed7a4f46779 --- /dev/null +++ b/datum/physiology.html @@ -0,0 +1,36 @@ + + + + + + + /datum/physiology - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

physiology + + + +

+ + +

Vars

footstep_typefootstep type override for both shoeless and not footstep sounds.
+

Var Details

footstep_type + + + + +

+

footstep type override for both shoeless and not footstep sounds.

+ + + diff --git a/datum/plant_gene.html b/datum/plant_gene.html new file mode 100644 index 00000000000..7907db59847 --- /dev/null +++ b/datum/plant_gene.html @@ -0,0 +1,35 @@ + + + + + + + /datum/plant_gene - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

plant_gene + + + +

+ + +

Procs

get_nameThese flags tells the genemodder if we want the gene to be extractable, only removable or neither.

Proc Details

get_name +

+

These flags tells the genemodder if we want the gene to be extractable, only removable or neither.

+ + + diff --git a/datum/plant_gene/trait.html b/datum/plant_gene/trait.html new file mode 100644 index 00000000000..952a5684e92 --- /dev/null +++ b/datum/plant_gene/trait.html @@ -0,0 +1,35 @@ + + + + + + + /datum/plant_gene/trait - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

trait + + + +

+ + +

Procs

on_growThis proc triggers when the tray processes and a roll is sucessful, the success chance scales with production.

Proc Details

on_grow +

+

This proc triggers when the tray processes and a roll is sucessful, the success chance scales with production.

+ + + diff --git a/datum/plant_gene/trait/eyes.html b/datum/plant_gene/trait/eyes.html new file mode 100644 index 00000000000..f1db922103d --- /dev/null +++ b/datum/plant_gene/trait/eyes.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/eyes - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

eyes + + + +

+ + +

Vars

googlyOur googly eyes appearance.
+

Var Details

googly + + + + +

+

Our googly eyes appearance.

+ + + diff --git a/datum/plant_gene/trait/plant_laughter.html b/datum/plant_gene/trait/plant_laughter.html new file mode 100644 index 00000000000..6831de2ca5f --- /dev/null +++ b/datum/plant_gene/trait/plant_laughter.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/plant_laughter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

plant_laughter + + + +

+ + +

Vars

soundsSounds that play when this trait triggers
+

Var Details

sounds + + + + +

+

Sounds that play when this trait triggers

+ + + diff --git a/datum/powernet.html b/datum/powernet.html new file mode 100644 index 00000000000..d8650b39281 --- /dev/null +++ b/datum/powernet.html @@ -0,0 +1,42 @@ + + + + + + + /datum/powernet - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

powernet + + + +

+ + + +

Procs

add_cable... delete it
add_machine... delete it

Proc Details

add_cable +

+

... delete it

add_machine +

+

... delete it

+ + + diff --git a/datum/preferences.html b/datum/preferences.html new file mode 100644 index 00000000000..24fde5bb186 --- /dev/null +++ b/datum/preferences.html @@ -0,0 +1,281 @@ + + + + + + + /datum/preferences - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

preferences + + + +

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

Vars

auto_fit_viewportShould we automatically fit the viewport?
broadcast_login_logoutIf we want to broadcast deadchat connect/disconnect messages
characters_joined_asCharacters they have joined the round under - Lazylist of names
chat_on_mapRunechat preference. If true, certain messages will be displayed on the map, not ust on the chat area. Boolean.
deadminA separate variable for deadmin toggles, only deals with those.
dnr_triggereddid they DNR? used to prevent respawns.
favorite_outfitsWhat outfit typepaths we've favorited in the SelectEquipment menu
gear_pointsloadout stuff
hardcore_survival_scoreThis var stores the amount of points the owner will get for making it out alive.
heartedSomeone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)
hearted_untilIf we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed
key_bindingsCustom Keybindings
last_idLast CID the person was seen on
last_ipLast IP the person was seen on
log_clicksDo we log their clicks to disk?
long_strip_menuStrip menu style
max_chat_lengthLimit preference on the size of the message. Requires chat_on_map to have effect.
medical_recordsMedical record note section
modless_key_bindingsList with a key string associated to a list of keybindings. Unlike key_bindings, this one operates on raw key, allowing for binding a key that triggers regardless of if a modifier is depressed as long as the raw key is sent.
mutedFlags for admin mutes
persistent_scarsIf we have persistent scars enabled
pixel_sizeWhat size should pixels be displayed as? 0 is strech to fit
playtime_reward_cloakThe playtime_reward_cloak variable can be set to TRUE from the prefs menu only once the user has gained over 5K playtime hours. If true, it allows the user to get a cool looking roundstart cloak.
respawn_did_cryodid they cryo on their last ghost?
respawn_restrictions_activeAre we currently subject to respawn restrictions? Usually set by us using the "respawn" verb, but can be lifted by admins.
respawn_time_of_deathtime of death we consider for respawns
scaling_methodWhat scaling method should we use?
scars_indexWhich of the 5 persistent scar slots we randomly roll to load for this round, if enabled. Actually rolled in [/datum/preferences/proc/load_character(slot)]
scars_listWe have 5 slots for persistent scars, if enabled we pick a random one to load (empty by default) and scars at the end of the shift if we survived as our original person
security_recordsSecurity record note section
see_chat_non_mobWhether non-mob messages will be displayed, such as machine vendor announcements. Requires chat_on_map to have effect. Boolean.
see_rc_emotesWhether emotes will be displayed on runechat. Requires chat_on_map to have effect. Boolean.
slots_joined_asSlots they have joined the round under - Lazylist of numbers
widescreenprefShould we be in the widescreen mode set by the config?

Procs

force_reset_keybindingsResets the client's keybindings. Asks them for which
force_reset_keybindings_directDoes the actual reset
+

Var Details

auto_fit_viewport + + + + +

+

Should we automatically fit the viewport?

broadcast_login_logout + + + + +

+

If we want to broadcast deadchat connect/disconnect messages

characters_joined_as + + + + +

+

Characters they have joined the round under - Lazylist of names

chat_on_map + + + + +

+

Runechat preference. If true, certain messages will be displayed on the map, not ust on the chat area. Boolean.

deadmin + + + + +

+

A separate variable for deadmin toggles, only deals with those.

dnr_triggered + + + + +

+

did they DNR? used to prevent respawns.

favorite_outfits + + + + +

+

What outfit typepaths we've favorited in the SelectEquipment menu

gear_points + + + + +

+

loadout stuff

hardcore_survival_score + + + + +

+

This var stores the amount of points the owner will get for making it out alive.

hearted + + + + +

+

Someone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)

hearted_until + + + + +

+

If we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed

key_bindings + + + + +

+

Custom Keybindings

last_id + + + + +

+

Last CID the person was seen on

last_ip + + + + +

+

Last IP the person was seen on

log_clicks + + + + +

+

Do we log their clicks to disk?

long_strip_menu + + + + +

+

Strip menu style

max_chat_length + + + + +

+

Limit preference on the size of the message. Requires chat_on_map to have effect.

medical_records + + + + +

+

Medical record note section

modless_key_bindings + + + + +

+

List with a key string associated to a list of keybindings. Unlike key_bindings, this one operates on raw key, allowing for binding a key that triggers regardless of if a modifier is depressed as long as the raw key is sent.

muted + + + + +

+

Flags for admin mutes

persistent_scars + + + + +

+

If we have persistent scars enabled

pixel_size + + + + +

+

What size should pixels be displayed as? 0 is strech to fit

playtime_reward_cloak + + + + +

+

The playtime_reward_cloak variable can be set to TRUE from the prefs menu only once the user has gained over 5K playtime hours. If true, it allows the user to get a cool looking roundstart cloak.

respawn_did_cryo + + + + +

+

did they cryo on their last ghost?

respawn_restrictions_active + + + + +

+

Are we currently subject to respawn restrictions? Usually set by us using the "respawn" verb, but can be lifted by admins.

respawn_time_of_death + + + + +

+

time of death we consider for respawns

scaling_method + + + + +

+

What scaling method should we use?

scars_index + + + + +

+

Which of the 5 persistent scar slots we randomly roll to load for this round, if enabled. Actually rolled in [/datum/preferences/proc/load_character(slot)]

scars_list + + + + +

+

We have 5 slots for persistent scars, if enabled we pick a random one to load (empty by default) and scars at the end of the shift if we survived as our original person

security_records + + + + +

+

Security record note section

see_chat_non_mob + + + + +

+

Whether non-mob messages will be displayed, such as machine vendor announcements. Requires chat_on_map to have effect. Boolean.

see_rc_emotes + + + + +

+

Whether emotes will be displayed on runechat. Requires chat_on_map to have effect. Boolean.

slots_joined_as + + + + +

+

Slots they have joined the round under - Lazylist of numbers

widescreenpref + + + + +

+

Should we be in the widescreen mode set by the config?

Proc Details

force_reset_keybindings +

+

Resets the client's keybindings. Asks them for which

force_reset_keybindings_direct +

+

Does the actual reset

+ + + diff --git a/datum/progressbar.html b/datum/progressbar.html new file mode 100644 index 00000000000..dc49b9adca4 --- /dev/null +++ b/datum/progressbar.html @@ -0,0 +1,120 @@ + + + + + + + /datum/progressbar - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

progressbar + + + +

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

Vars

barThe progress bar visual element.
bar_locThe target where this progress bar is applied and where it is shown.
goalEffectively the number of steps the progress bar will need to do before reaching completion.
last_progressControl check to see if the progress was interrupted before reaching its goal.
listindexVariable to ensure smooth visual stacking on multiple progress bars.
userThe mob whose client sees the progress bar.
user_clientThe client seeing the progress bar.

Procs

add_prog_bar_image_to_clientAdds a smoothly-appearing progress bar image to the player's screen.
clean_user_clientRemoves the progress bar image from the user_client and nulls the variable, if it exists.
end_progressCalled on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.
on_user_deleteCalled right before the user's Destroy()
on_user_loginCalled by user's Login(), it transfers the progress bar image to the new client.
updateUpdates the progress bar image visually.
+

Var Details

bar + + + + +

+

The progress bar visual element.

bar_loc + + + + +

+

The target where this progress bar is applied and where it is shown.

goal + + + + +

+

Effectively the number of steps the progress bar will need to do before reaching completion.

last_progress + + + + +

+

Control check to see if the progress was interrupted before reaching its goal.

listindex + + + + +

+

Variable to ensure smooth visual stacking on multiple progress bars.

user + + + + +

+

The mob whose client sees the progress bar.

user_client + + + + +

+

The client seeing the progress bar.

Proc Details

add_prog_bar_image_to_client +

+

Adds a smoothly-appearing progress bar image to the player's screen.

clean_user_client +

+

Removes the progress bar image from the user_client and nulls the variable, if it exists.

end_progress +

+

Called on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.

on_user_delete +

+

Called right before the user's Destroy()

on_user_login +

+

Called by user's Login(), it transfers the progress bar image to the new client.

update +

+

Updates the progress bar image visually.

+ + + diff --git a/datum/quirk.html b/datum/quirk.html new file mode 100644 index 00000000000..7b6a977d83e --- /dev/null +++ b/datum/quirk.html @@ -0,0 +1,36 @@ + + + + + + + /datum/quirk - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

quirk + + + +

+ + +

Vars

on_spawn_immediateshould we immediately call on_spawn or add a timer to trigger
+

Var Details

on_spawn_immediate + + + + +

+

should we immediately call on_spawn or add a timer to trigger

+ + + diff --git a/datum/quirk/longtimer.html b/datum/quirk/longtimer.html new file mode 100644 index 00000000000..6144524d98c --- /dev/null +++ b/datum/quirk/longtimer.html @@ -0,0 +1,43 @@ + + + + + + + /datum/quirk/longtimer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

longtimer + + + +

+ + + +

Vars

max_scarsthe maximum amount of scars we can generate
min_scarsthe minimum amount of scars we can generate
+

Var Details

max_scars + + + + +

+

the maximum amount of scars we can generate

min_scars + + + + +

+

the minimum amount of scars we can generate

+ + + diff --git a/datum/quirk/nyctophobia.html b/datum/quirk/nyctophobia.html new file mode 100644 index 00000000000..e04637330ad --- /dev/null +++ b/datum/quirk/nyctophobia.html @@ -0,0 +1,35 @@ + + + + + + + /datum/quirk/nyctophobia - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

nyctophobia + + + +

+ + +

Procs

on_holder_movedCalled when the quirk holder moves. Updates the quirk holder's mood.

Proc Details

on_holder_moved +

+

Called when the quirk holder moves. Updates the quirk holder's mood.

+ + + diff --git a/datum/reagent.html b/datum/reagent.html new file mode 100644 index 00000000000..4d541173c37 --- /dev/null +++ b/datum/reagent.html @@ -0,0 +1,39 @@ + + + + + + + /datum/reagent - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

reagent + + + +

+ + +

Procs

on_hydroponics_applyNew, standardized method for chemicals to affect hydroponics trays. +Defined on a per-chem level as opposed to by the tray. +Can affect plant's health, stats, or cause the plant to react in certain ways.

Proc Details

on_hydroponics_apply +

+

New, standardized method for chemicals to affect hydroponics trays. +Defined on a per-chem level as opposed to by the tray. +Can affect plant's health, stats, or cause the plant to react in certain ways.

+ + + diff --git a/datum/reagent/determination.html b/datum/reagent/determination.html new file mode 100644 index 00000000000..c1b24b0b9fb --- /dev/null +++ b/datum/reagent/determination.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/determination - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

determination + + + +

+ + +

Vars

significantWhether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound
+

Var Details

significant + + + + +

+

Whether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound

+ + + diff --git a/datum/reagent/lube.html b/datum/reagent/lube.html new file mode 100644 index 00000000000..aa282fbc7d4 --- /dev/null +++ b/datum/reagent/lube.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/lube - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

lube + + + +

+ + +

Procs

reaction_turfWhat kind of slipperiness gets added to turfs.

Proc Details

reaction_turf +

+

What kind of slipperiness gets added to turfs.

+ + + diff --git a/datum/reagent/medicine/coagulant.html b/datum/reagent/medicine/coagulant.html new file mode 100644 index 00000000000..42c24f9b055 --- /dev/null +++ b/datum/reagent/medicine/coagulant.html @@ -0,0 +1,43 @@ + + + + + + + /datum/reagent/medicine/coagulant - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

coagulant + + + +

+ + + +

Vars

clot_coeff_per_woundIf we have multiple bleeding wounds, we count the number of bleeding wounds, then multiply the clot rate by this^(n) before applying it to each cut, so more cuts = less clotting per cut (though still more total clotting)
clot_rateHow much base clotting we do per bleeding wound, multiplied by the below number for each bleeding wound
+

Var Details

clot_coeff_per_wound + + + + +

+

If we have multiple bleeding wounds, we count the number of bleeding wounds, then multiply the clot rate by this^(n) before applying it to each cut, so more cuts = less clotting per cut (though still more total clotting)

clot_rate + + + + +

+

How much base clotting we do per bleeding wound, multiplied by the below number for each bleeding wound

+ + + diff --git a/datum/reagent/metalgen.html b/datum/reagent/metalgen.html new file mode 100644 index 00000000000..89481993bbb --- /dev/null +++ b/datum/reagent/metalgen.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/metalgen - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

metalgen + + + +

+ + +

Procs

metal_morphturn an object into a special material

Proc Details

metal_morph +

+

turn an object into a special material

+ + + diff --git a/datum/reagent/water.html b/datum/reagent/water.html new file mode 100644 index 00000000000..ef5945b8e2e --- /dev/null +++ b/datum/reagent/water.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/water - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

water + + + +

+ + +

Procs

on_hydroponics_applyFor weird backwards situations where water manages to get added to trays nutrients, as opposed to being snowflaked away like usual.

Proc Details

on_hydroponics_apply +

+

For weird backwards situations where water manages to get added to trays nutrients, as opposed to being snowflaked away like usual.

+ + + diff --git a/datum/reagents.html b/datum/reagents.html new file mode 100644 index 00000000000..8e4f6059dff --- /dev/null +++ b/datum/reagents.html @@ -0,0 +1,50 @@ + + + + + + + /datum/reagents - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

reagents + + + +

+ + + +

Procs

end_metabolizationSignals that metabolization has stopped, triggering the end of trait-based effects
metabolizeTriggers metabolizing for all the reagents in this holder

Proc Details

end_metabolization +

+

Signals that metabolization has stopped, triggering the end of trait-based effects

metabolize +

+

Triggers metabolizing for all the reagents in this holder

+

Arguments:

+
+ + + diff --git a/datum/reality_smash_tracker.html b/datum/reality_smash_tracker.html new file mode 100644 index 00000000000..61afe5f7f11 --- /dev/null +++ b/datum/reality_smash_tracker.html @@ -0,0 +1,86 @@ + + + + + + + /datum/reality_smash_tracker - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

reality_smash_tracker + + + +

+ +

#Reality smash tracker

+

Stupid fucking list holder, DONT create new ones, it will break the game, this is automnatically created whenever eldritch cultists are created.

+

Tracks relevant data, generates relevant data, useful tool

+ + + + + + +

Vars

smasheslist of tracked reality smashes
targetsList of mobs with ability to see the smashes

Procs

AddMindAdds a mind to the list of people that can see the reality smashes
GenerateGenerates a set amount of reality smashes based on the N value
RandomSpawnSmashCIT CHANGE
RemoveMindRemoves a mind from the list of people that can see the reality smashes
ReworkNetworkAutomatically fixes the target and smash network
+

Var Details

smashes + + + + +

+

list of tracked reality smashes

targets + + + + +

+

List of mobs with ability to see the smashes

Proc Details

AddMind +

+

Adds a mind to the list of people that can see the reality smashes

+

Use this whenever you want to add someone to the list

Generate +

+

Generates a set amount of reality smashes based on the N value

+

Automatically creates more reality smashes

RandomSpawnSmash +

+

CIT CHANGE

+

Creates a singular reality smash +Credit to slimelust

RemoveMind +

+

Removes a mind from the list of people that can see the reality smashes

+

Use this whenever you want to remove someone from the list

ReworkNetwork +

+

Automatically fixes the target and smash network

+

Fixes any bugs that are caused by late Generate() or exchanging clients

+ + + diff --git a/datum/round_event.html b/datum/round_event.html new file mode 100644 index 00000000000..e731da15de0 --- /dev/null +++ b/datum/round_event.html @@ -0,0 +1,95 @@ + + + + + + + /datum/round_event - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

round_event + + + +

+ + + + + + + + + +

Vars

activeForHow long the event has existed. You don't need to change this.
announce_chanceProbability of announcing, used in prob(), 0 to 100, default 100. Called in process, and for a second time in the ion storm event.
announce_whenWhen in the lifetime to call announce(). If you don't want it to announce use announce_chance, below. +This is in seconds - so 1 = ~2 seconds in.
current_playersAmount of of alive, non-AFK human players on server at the time of event start
end_whenWhen in the lifetime the event should end. +This is in seconds - so 1 = ~2 seconds in.
fakeableCan be faked by fake news event.
start_whenWhen in the lifetime to call start(). +This is in seconds - so 1 = ~2 seconds in.

Procs

announce_to_ghostsCalled after something followable has been spawned by an event +Provides ghosts a follow link to an atom if possible +Only called once.
+

Var Details

activeFor + + + + +

+

How long the event has existed. You don't need to change this.

announce_chance + + + + +

+

Probability of announcing, used in prob(), 0 to 100, default 100. Called in process, and for a second time in the ion storm event.

announce_when + + + + +

+

When in the lifetime to call announce(). If you don't want it to announce use announce_chance, below. +This is in seconds - so 1 = ~2 seconds in.

current_players + + + + +

+

Amount of of alive, non-AFK human players on server at the time of event start

end_when + + + + +

+

When in the lifetime the event should end. +This is in seconds - so 1 = ~2 seconds in.

fakeable + + + + +

+

Can be faked by fake news event.

start_when + + + + +

+

When in the lifetime to call start(). +This is in seconds - so 1 = ~2 seconds in.

Proc Details

announce_to_ghosts +

+

Called after something followable has been spawned by an event +Provides ghosts a follow link to an atom if possible +Only called once.

+ + + diff --git a/datum/round_event/ghost_role/sentience.html b/datum/round_event/ghost_role/sentience.html new file mode 100644 index 00000000000..b24e65f8421 --- /dev/null +++ b/datum/round_event/ghost_role/sentience.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/ghost_role/sentience - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

sentience + + + +

+ + +

Vars

blacklisted_biotypesBlacklisted mob_biotypes - Hey can we like, not have player controlled megafauna?
+

Var Details

blacklisted_biotypes + + + + +

+

Blacklisted mob_biotypes - Hey can we like, not have player controlled megafauna?

+ + + diff --git a/datum/round_event/stray_cargo.html b/datum/round_event/stray_cargo.html new file mode 100644 index 00000000000..04f6570e144 --- /dev/null +++ b/datum/round_event/stray_cargo.html @@ -0,0 +1,80 @@ + + + + + + + /datum/round_event/stray_cargo - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

stray_cargo + + + +

+ +

Spawns a cargo pod containing a random cargo supply pack on a random area of the station

+ + + + + + +

Vars

possible_pack_typesRandomly picked area
stray_spawnable_supply_packsList of possible supply packs dropped in the pod, if empty picks from the cargo list

Procs

announceList of default spawnable supply packs, filtered from the cargo list
find_event_areaPicks an area that wouldn't risk critical damage if hit by a pod explosion
make_podHandles the creation of the pod, in case it needs to be modified beforehand
setupTries to find a valid area, throws an error if none are found +Also randomizes the start timer
startSpawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area
+

Var Details

possible_pack_types + + + + +

+

Randomly picked area

stray_spawnable_supply_packs + + + + +

+

List of possible supply packs dropped in the pod, if empty picks from the cargo list

Proc Details

announce +

+

List of default spawnable supply packs, filtered from the cargo list

find_event_area +

+

Picks an area that wouldn't risk critical damage if hit by a pod explosion

make_pod +

+

Handles the creation of the pod, in case it needs to be modified beforehand

setup +

+

Tries to find a valid area, throws an error if none are found +Also randomizes the start timer

start +

+

Spawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area

+ + + diff --git a/datum/round_event/stray_cargo/syndicate.html b/datum/round_event/stray_cargo/syndicate.html new file mode 100644 index 00000000000..86e8f923c7e --- /dev/null +++ b/datum/round_event/stray_cargo/syndicate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event/stray_cargo/syndicate - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

syndicate + + + +

+ + +

Procs

make_podApply the syndicate pod skin

Proc Details

make_pod +

+

Apply the syndicate pod skin

+ + + diff --git a/datum/round_event_control.html b/datum/round_event_control.html new file mode 100644 index 00000000000..d97a15c9a4a --- /dev/null +++ b/datum/round_event_control.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event_control - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

round_event_control + + + +

+ + +

Vars

dynamic_should_hijackWhether or not dynamic should hijack this event
+

Var Details

dynamic_should_hijack + + + + +

+

Whether or not dynamic should hijack this event

+ + + diff --git a/datum/rust_spread.html b/datum/rust_spread.html new file mode 100644 index 00000000000..e2e1c2af26a --- /dev/null +++ b/datum/rust_spread.html @@ -0,0 +1,38 @@ + + + + + + + /datum/rust_spread - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

rust_spread + + + +

+ +

#Rust spread datum

+

Simple datum that automatically spreads rust around it

+

Simple implementation of automatically growing entity

+

Procs

compile_turfsCompile turfs

Proc Details

compile_turfs +

+

Compile turfs

+

Recreates all edge_turfs as well as normal turfs.

+ + + diff --git a/datum/scar.html b/datum/scar.html new file mode 100644 index 00000000000..9b05556c2d4 --- /dev/null +++ b/datum/scar.html @@ -0,0 +1,115 @@ + + + + + + + /datum/scar - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

scar + + + +

+ +

scars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars +look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"

+

Arguments:

+ + + + + + + + + + +

Vars

applicable_zonesWhat zones this scar can be applied to
coverableWhether this scar can actually be covered up by clothing
fakeScars from the longtimer quirk are "fake" and won't be saved with persistent scarring, since it makes you spawn with a lot by default
visibilityHow many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check

Procs

formatUsed to format a scar to safe in preferences for persistent scars
format_amputatedUsed to format a scar to safe in preferences for persistent scars
generategenerate() is used to actually fill out the info for a scar, according to the limb and wound it is provided.
get_examine_descriptionWhat will show up in examine_more() if this scar is visible
is_visibleWhether a scar can currently be seen by the viewer
lazy_attachUsed when we finalize a scar from a healing cut
loadUsed to "load" a persistent scar
+

Var Details

applicable_zones + + + + +

+

What zones this scar can be applied to

coverable + + + + +

+

Whether this scar can actually be covered up by clothing

fake + + + + +

+

Scars from the longtimer quirk are "fake" and won't be saved with persistent scarring, since it makes you spawn with a lot by default

visibility + + + + +

+

How many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check

Proc Details

format +

+

Used to format a scar to safe in preferences for persistent scars

format_amputated +

+

Used to format a scar to safe in preferences for persistent scars

generate +

+

generate() is used to actually fill out the info for a scar, according to the limb and wound it is provided.

+

After creating a scar, call this on it while targeting the scarred bodypart with a given wound to apply the scar.

+

Arguments:

+

get_examine_description +

+

What will show up in examine_more() if this scar is visible

is_visible +

+

Whether a scar can currently be seen by the viewer

lazy_attach +

+

Used when we finalize a scar from a healing cut

load +

+

Used to "load" a persistent scar

+ + + diff --git a/datum/secrets_menu.html b/datum/secrets_menu.html new file mode 100644 index 00000000000..bd9a79f0b9b --- /dev/null +++ b/datum/secrets_menu.html @@ -0,0 +1,35 @@ + + + + + + + /datum/secrets_menu - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

secrets_menu + + + +

+ + +

Procs

ui_actfun! buttons.

Proc Details

ui_act +

+

fun! buttons.

+ + + diff --git a/datum/select_equipment.html b/datum/select_equipment.html new file mode 100644 index 00000000000..750b514e679 --- /dev/null +++ b/datum/select_equipment.html @@ -0,0 +1,60 @@ + + + + + + + /datum/select_equipment - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

select_equipment + + + +

+ + +

Procs

outfit_entryPacks up data about an outfit as an assoc list to send to the UI as an outfit entry.

Proc Details

outfit_entry +

+

Packs up data about an outfit as an assoc list to send to the UI as an outfit entry.

+

Args:

+ +

Returns (list) An outfit entry

+ + + diff --git a/datum/signal/subspace.html b/datum/signal/subspace.html new file mode 100644 index 00000000000..4a176af002e --- /dev/null +++ b/datum/signal/subspace.html @@ -0,0 +1,63 @@ + + + + + + + /datum/signal/subspace - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

subspace + + + +

+ +

Here is the big, bad function that broadcasts a message given the appropriate +parameters.

+

@param M: +Reference to the mob/speaker, stored in signal.data["mob"]

+

@param vmask: +Boolean value if the mob is "hiding" its identity via voice mask, stored in +signal.data["vmask"]

+

@param vmessage: +If specified, will display this as the message; such as "chimpering" +for monkeys if the mob is not understood. Stored in signal.data["vmessage"].

+

@param radio: +Reference to the radio broadcasting the message, stored in signal.data["radio"]

+

@param message: +The actual string message to display to mobs who understood mob M. Stored in +signal.data["message"]

+

@param name: +The name to display when a mob receives the message. signal.data["name"]

+

@param job: +The name job to display for the AI when it receives the message. signal.data["job"]

+

@param realname: +The "real" name associated with the mob. signal.data["realname"]

+

@param vname: +If specified, will use this name when mob M is not understood. signal.data["vname"]

+

@param data: +If specified: +1 -- Will only broadcast to intercoms +2 -- Will only broadcast to intercoms and station-bounced radios +3 -- Broadcast to syndicate frequency +4 -- AI can't track down this person. Useful for imitation broadcasts where you can't find the actual mob

+

@param compression: +If 0, the signal is audible +If nonzero, the signal may be partially inaudible or just complete gibberish.

+

@param level: +The list of Z levels that the sending radio is broadcasting to. Having 0 in the list broadcasts on all levels

+

@param freq +The frequency of the signal

+ + + diff --git a/datum/skill.html b/datum/skill.html new file mode 100644 index 00000000000..dbea306e405 --- /dev/null +++ b/datum/skill.html @@ -0,0 +1,150 @@ + + + + + + + /datum/skill - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

skill + + + +

+ +

Skill datums

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

Vars

abstract_typeAbstract type
base_multiplierBase multiplier used in skill competency operations.
competency_multiplierValue added to the base multiplier depending on overall competency compared to maximum value/level.
competency_thresholdsskill threshold used in generic skill competency operations.
descOur description
item_skill_gain_multiExperience gain multiplier gained from using items.
max_levelsList of max levels. Only used in level skills, but present here for helper macros.
nameOur name
name_colorColor of the name as shown in the html readout
progression_typeOur progression type. These are mostly used to skip typechecks overhead, don't go around messing with these.
skill_gain_quantisationSkill gain quantisation
skill_traitsA list of ways this skill can affect or be affected through actions and skill modifiers.
ui_categoryIndex of this skill in the UI

Procs

get_skill_dataGet a list of data used in the skill panel menu.
is_value_greaterChecks if a value is greater
sanitize_valueEnsures what someone's setting as a value for this skill is valid.
set_skill_valueSets the new value of this skill in the holder skills list. +As well as possible feedback messages or secondary effects on value change, that's on you.
+

Var Details

abstract_type + + + + +

+

Abstract type

base_multiplier + + + + +

+

Base multiplier used in skill competency operations.

competency_multiplier + + + + +

+

Value added to the base multiplier depending on overall competency compared to maximum value/level.

competency_thresholds + + + + +

+

skill threshold used in generic skill competency operations.

desc + + + + +

+

Our description

item_skill_gain_multi + + + + +

+

Experience gain multiplier gained from using items.

max_levels + + + + +

+

List of max levels. Only used in level skills, but present here for helper macros.

name + + + + +

+

Our name

name_color + + + + +

+

Color of the name as shown in the html readout

progression_type + + + + +

+

Our progression type. These are mostly used to skip typechecks overhead, don't go around messing with these.

skill_gain_quantisation + + + + +

+

Skill gain quantisation

skill_traits + + + + +

+

A list of ways this skill can affect or be affected through actions and skill modifiers.

ui_category + + + + +

+

Index of this skill in the UI

Proc Details

get_skill_data +

+

Get a list of data used in the skill panel menu.

is_value_greater +

+

Checks if a value is greater

sanitize_value +

+

Ensures what someone's setting as a value for this skill is valid.

set_skill_value +

+

Sets the new value of this skill in the holder skills list. +As well as possible feedback messages or secondary effects on value change, that's on you.

+ + + diff --git a/datum/skill/enum.html b/datum/skill/enum.html new file mode 100644 index 00000000000..42861f2cf22 --- /dev/null +++ b/datum/skill/enum.html @@ -0,0 +1,36 @@ + + + + + + + /datum/skill/enum - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

enum + + + +

+ + +

Vars

valid_valuesValid values for the skill
+

Var Details

valid_values + + + + +

+

Valid values for the skill

+ + + diff --git a/datum/skill/level.html b/datum/skill/level.html new file mode 100644 index 00000000000..a4c2bbc20e5 --- /dev/null +++ b/datum/skill/level.html @@ -0,0 +1,35 @@ + + + + + + + /datum/skill/level - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

level + + + +

+ +

Classing r p g styled skills, tiered by lvl, and current/nextlvl experience.

+

Procs

get_skill_level_valueGets the base value required to reach a level specified by the 'num' arg.

Proc Details

get_skill_level_value +

+

Gets the base value required to reach a level specified by the 'num' arg.

+ + + diff --git a/datum/skill/numerical.html b/datum/skill/numerical.html new file mode 100644 index 00000000000..d9f0cc3b15b --- /dev/null +++ b/datum/skill/numerical.html @@ -0,0 +1,43 @@ + + + + + + + /datum/skill/numerical - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

numerical + + + +

+ + + +

Vars

max_valueMax value of this skill
min_valueMin value of this skill
+

Var Details

max_value + + + + +

+

Max value of this skill

min_value + + + + +

+

Min value of this skill

+ + + diff --git a/datum/skill_holder.html b/datum/skill_holder.html new file mode 100644 index 00000000000..d67e515101b --- /dev/null +++ b/datum/skill_holder.html @@ -0,0 +1,102 @@ + + + + + + + /datum/skill_holder - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

skill_holder + + + +

+ +

Skill holder datums +All procs are tied to the mind, since they are always expected to have a skill holder anyway.

+ + + + + + + + + +

Vars

all_current_skill_modifiersList of all current skill modifiers, so we don't add the same ones twice.
need_static_data_updateFor UI updates.
original_valuesList of original values stored at the time a modifier with the MODIFIER_SKILL_ORIGIN_DIFF enabled was added.
ownerThe mind datum this skill is associated with, only used for the check_skills UI
see_skill_modsWhether modifiers and final skill values or only base values are displayed.
selected_categoryThe current selected skill category.
skill_affinitiesSame as [skills] but affinities, which are multiplied to increase amount when gaining skills.
skill_levelsLet's say we want to get a specific skill "level" without looping through a proc everytime. +Only supported by skills with tiers or levels.
skill_value_modscurrent skill modifiers lists, per value, affinity, level.
skillsOur list of skills and values. Lazylist. Associative. Keys are datum typepaths to the skill.
+

Var Details

all_current_skill_modifiers + + + + +

+

List of all current skill modifiers, so we don't add the same ones twice.

need_static_data_update + + + + +

+

For UI updates.

original_values + + + + +

+

List of original values stored at the time a modifier with the MODIFIER_SKILL_ORIGIN_DIFF enabled was added.

owner + + + + +

+

The mind datum this skill is associated with, only used for the check_skills UI

see_skill_mods + + + + +

+

Whether modifiers and final skill values or only base values are displayed.

selected_category + + + + +

+

The current selected skill category.

skill_affinities + + + + +

+

Same as [skills] but affinities, which are multiplied to increase amount when gaining skills.

skill_levels + + + + +

+

Let's say we want to get a specific skill "level" without looping through a proc everytime. +Only supported by skills with tiers or levels.

skill_value_mods + + + + +

+

current skill modifiers lists, per value, affinity, level.

skills + + + + +

+

Our list of skills and values. Lazylist. Associative. Keys are datum typepaths to the skill.

+ + + diff --git a/datum/skill_modifier.html b/datum/skill_modifier.html new file mode 100644 index 00000000000..709380f7dda --- /dev/null +++ b/datum/skill_modifier.html @@ -0,0 +1,100 @@ + + + + + + + /datum/skill_modifier - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

skill_modifier + + + +

+ +

Base skill modifier datum, used to modify a player skills without directly touching their values, levels and affinity +and cause lots of edge cases. These are fairly simple overall... make a subtype though, don't use this one.

+ + + + + + + + + +

Vars

affinity_modskill affinity modifier, can be a multiplier or addendum, depending on the modifier_flags.
identifierThe identifier key this skill modifier is associated with.
level_modskill level modifier, see above.
modifier_flagsflags for this skill modifier.
nameName and description of the skill modifier, used in the UI
priorityPriority of this skill modifier compared to other ones.
target_skillstarget skills, can be a specific skill typepath or a list of skill traits.
target_skills_keythe GLOB.potential_skills_per_mod key generated on runtime. You shouldn't be var-editing it.
value_modskill value modifier, see above.

Procs

on_mind_transferBody bound modifier signal procs.
+

Var Details

affinity_mod + + + + +

+

skill affinity modifier, can be a multiplier or addendum, depending on the modifier_flags.

identifier + + + + +

+

The identifier key this skill modifier is associated with.

level_mod + + + + +

+

skill level modifier, see above.

modifier_flags + + + + +

+

flags for this skill modifier.

name + + + + +

+

Name and description of the skill modifier, used in the UI

priority + + + + +

+

Priority of this skill modifier compared to other ones.

target_skills + + + + +

+

target skills, can be a specific skill typepath or a list of skill traits.

target_skills_key + + + + +

+

the GLOB.potential_skills_per_mod key generated on runtime. You shouldn't be var-editing it.

value_mod + + + + +

+

skill value modifier, see above.

Proc Details

on_mind_transfer +

+

Body bound modifier signal procs.

+ + + diff --git a/datum/song.html b/datum/song.html new file mode 100644 index 00000000000..69e77a59d4a --- /dev/null +++ b/datum/song.html @@ -0,0 +1,525 @@ + + + + + + + /datum/song - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Song datum + + + +

+ +

These are the actual backend behind instruments. +They attach to an atom and provide the editor + playback functionality.

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

Vars

allowed_instrument_idsWhat instruments our built in picker can use. The picker won't show unless this is longer than one.
cached_exponential_dropoffDo not directly set, use update_sustain()
cached_legacy_dirCached legacy dir for legacy instruments
cached_legacy_extCached legacy ext for legacy instruments
cached_linear_dropoff/////// DO NOT DIRECTLY SET THESE! +Do not directly set, use update_sustain()
cached_samplesCached list of samples, referenced directly from the instrument for synthesized instruments
channels_idleList of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments.
channels_playingChannel as text = current volume percentage but it's 0 to 100 instead of 0 to 1.
compiled_chordsPlaying variables +Build by compile_chords() +Must be rebuilt on instrument switch. +Compilation happens when we start playing and is cleared after we finish playing. +Format: list of chord lists, with chordlists having (key1, key2, key3, tempodiv)
current_chordCurrent chord we're on.
debug_modeIf this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop)
delay_byAmount of delay to wait before playing the next chord
editingAre we currently editing?
elapsed_delayCurrent section of a long chord we're on, so we don't need to make a billion chords, one for every unit ticklag.
full_sustain_held_noteShould we not decay our last played note?
hearing_mobsThe list of mobs that can hear us
helpIs the help screen open?
instrument_rangeHow far we can be heard
last_channel_playedLast channel to play. text.
last_hearcheckLast world.time we checked for who can hear us
legacyAre we operating in legacy mode (so if the instrument is a legacy instrument)
linesOur song lines
max_repeatsMaximum times we can repeat
max_sound_channelsMax sound channels to occupy
max_volumeMax volume
min_volumeMin volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs.
nameName of the song
note_shift////////// !!FUN!! - Only works in synthesized mode! ///////////////// +Note numbers to shift.
octave_minDO NOT TOUCH THESE
parentThe atom we're attached to/playing from
playingAre we currently playing?
repeatRepeats left
sustain_dropoff_volumeWhen a note is considered dead if it is below this in volume
sustain_exponential_dropoffExponential sustain dropoff rate per decisecond
sustain_linear_durationTotal duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF
sustain_modeThe kind of sustain we're using
tempodelay between notes in deciseconds
user_playingPerson playing us
using_instrument///////// Cached instrument variables ///////////// +Instrument we are currently using
using_sound_channelsCurrent channels, so we can save a length() call.
volumeOur volume

Procs

compile_chordsCompiles chords.
compile_legacyCompiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.
compile_synthesizedCompiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.
do_hearcheckChecks and stores which mobs can hear us. Terminates sounds for mobs that leave our range.
get_bpmGets our beats per minute based on our tempo.
play_chordPlays a chord.
playkey_legacyProc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.
playkey_synthPlays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.
pop_channelPops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.
process_decayDecays our channels and updates their volumes to mobs who can hear us.
process_songProcesses our song.
sanitize_tempoSanitizes tempo to a value that makes sense and fits the current world.tick_lag.
set_bpmSets our tempo from a beats-per-minute, sanitizing it to a valid number first.
set_dropoff_volumeSetter for setting how low the volume has to get before a note is considered "dead" and dropped
set_exponential_drop_rateSetter for setting exponential falloff factor.
set_instrumentSets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.
set_linear_falloff_durationSetter for setting linear falloff duration.
set_volumeSetter for setting output volume.
should_stop_playingChecks if we should halt playback.
start_playingAttempts to start playing our song.
stop_playingStops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.
tempodiv_to_delayConverts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.
terminate_all_soundsStops all sounds we are "responsible" for. Only works in synthesized mode.
terminate_sound_mobStops all sounds we are responsible for in a given person. Only works in synthesized mode.
updateDialogUpdates the window for our users. Override down the line.
update_sustainUpdates our cached linear/exponential falloff stuff, saving calculations down the line.
+

Var Details

allowed_instrument_ids + + + + +

+

What instruments our built in picker can use. The picker won't show unless this is longer than one.

cached_exponential_dropoff + + + + +

+

Do not directly set, use update_sustain()

cached_legacy_dir + + + + +

+

Cached legacy dir for legacy instruments

cached_legacy_ext + + + + +

+

Cached legacy ext for legacy instruments

cached_linear_dropoff + + + + +

+

/////// DO NOT DIRECTLY SET THESE! +Do not directly set, use update_sustain()

cached_samples + + + + +

+

Cached list of samples, referenced directly from the instrument for synthesized instruments

channels_idle + + + + +

+

List of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments.

channels_playing + + + + +

+

Channel as text = current volume percentage but it's 0 to 100 instead of 0 to 1.

compiled_chords + + + + +

+

Playing variables +Build by compile_chords() +Must be rebuilt on instrument switch. +Compilation happens when we start playing and is cleared after we finish playing. +Format: list of chord lists, with chordlists having (key1, key2, key3, tempodiv)

current_chord + + + + +

+

Current chord we're on.

debug_mode + + + + +

+

If this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop)

delay_by + + + + +

+

Amount of delay to wait before playing the next chord

editing + + + + +

+

Are we currently editing?

elapsed_delay + + + + +

+

Current section of a long chord we're on, so we don't need to make a billion chords, one for every unit ticklag.

full_sustain_held_note + + + + +

+

Should we not decay our last played note?

hearing_mobs + + + + +

+

The list of mobs that can hear us

help + + + + +

+

Is the help screen open?

instrument_range + + + + +

+

How far we can be heard

last_channel_played + + + + +

+

Last channel to play. text.

last_hearcheck + + + + +

+

Last world.time we checked for who can hear us

legacy + + + + +

+

Are we operating in legacy mode (so if the instrument is a legacy instrument)

lines + + + + +

+

Our song lines

max_repeats + + + + +

+

Maximum times we can repeat

max_sound_channels + + + + +

+

Max sound channels to occupy

max_volume + + + + +

+

Max volume

min_volume + + + + +

+

Min volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs.

name + + + + +

+

Name of the song

note_shift + + + + +

+

////////// !!FUN!! - Only works in synthesized mode! ///////////////// +Note numbers to shift.

octave_min + + + + +

+

DO NOT TOUCH THESE

parent + + + + +

+

The atom we're attached to/playing from

playing + + + + +

+

Are we currently playing?

repeat + + + + +

+

Repeats left

sustain_dropoff_volume + + + + +

+

When a note is considered dead if it is below this in volume

sustain_exponential_dropoff + + + + +

+

Exponential sustain dropoff rate per decisecond

sustain_linear_duration + + + + +

+

Total duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF

sustain_mode + + + + +

+

The kind of sustain we're using

tempo + + + + +

+

delay between notes in deciseconds

user_playing + + + + +

+

Person playing us

using_instrument + + + + +

+

///////// Cached instrument variables ///////////// +Instrument we are currently using

using_sound_channels + + + + +

+

Current channels, so we can save a length() call.

volume + + + + +

+

Our volume

Proc Details

compile_chords +

+

Compiles chords.

compile_legacy +

+

Compiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

compile_synthesized +

+

Compiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

do_hearcheck +

+

Checks and stores which mobs can hear us. Terminates sounds for mobs that leave our range.

get_bpm +

+

Gets our beats per minute based on our tempo.

play_chord +

+

Plays a chord.

playkey_legacy +

+

Proc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.

+

Arguments:

+

playkey_synth +

+

Plays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.

pop_channel +

+

Pops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.

process_decay +

+

Decays our channels and updates their volumes to mobs who can hear us.

+

Arguments:

+

process_song +

+

Processes our song.

sanitize_tempo +

+

Sanitizes tempo to a value that makes sense and fits the current world.tick_lag.

set_bpm +

+

Sets our tempo from a beats-per-minute, sanitizing it to a valid number first.

set_dropoff_volume +

+

Setter for setting how low the volume has to get before a note is considered "dead" and dropped

set_exponential_drop_rate +

+

Setter for setting exponential falloff factor.

set_instrument +

+

Sets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.

set_linear_falloff_duration +

+

Setter for setting linear falloff duration.

set_volume +

+

Setter for setting output volume.

should_stop_playing +

+

Checks if we should halt playback.

start_playing +

+

Attempts to start playing our song.

stop_playing +

+

Stops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.

tempodiv_to_delay +

+

Converts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.

terminate_all_sounds +

+

Stops all sounds we are "responsible" for. Only works in synthesized mode.

terminate_sound_mob +

+

Stops all sounds we are responsible for in a given person. Only works in synthesized mode.

updateDialog +

+

Updates the window for our users. Override down the line.

update_sustain +

+

Updates our cached linear/exponential falloff stuff, saving calculations down the line.

+ + + diff --git a/datum/sortInstance.html b/datum/sortInstance.html new file mode 100644 index 00000000000..289aa50ffee --- /dev/null +++ b/datum/sortInstance.html @@ -0,0 +1,45 @@ + + + + + + + /datum/sortInstance - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

sortInstance + + + +

+ + +

Procs

gallopRightLike gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

Proc Details

gallopRight +

+

Like gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

+

@param key the key whose insertion point to search for +@param a the array in which to search +@param base the index of the first element in the range +@param len the length of the range; must be > 0 +@param hint the index at which to begin the search, 0 <= hint < n. +The closer hint is to the result, the faster this method will run. +@param c the comparator used to order the range, and to search +@return the int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k]

+ + + diff --git a/datum/species.html b/datum/species.html new file mode 100644 index 00000000000..fcd4d172170 --- /dev/null +++ b/datum/species.html @@ -0,0 +1,587 @@ + + + + + + + /datum/species - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

species datum + + + +

+ +

Datum that handles different species in the game.

+

This datum handles species in the game, such as lizardpeople, mothmen, zombies, skeletons, etc. +It is used in carbon humans to determine various things about them, like their food preferences, if they have biological genders, their damage resistances, and more.

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

Vars

armorPercentage modifier for overall defense of the race, or less defense, if it's negative.
ass_imageFor custom overrides for species ass images
attack_typeType of damage attack does. Ethereals attack with burn damage for example.
attack_verbPunch-specific attack verb.
breathidWhat gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]
brutemodmultiplier for brute damage
burnmodmultiplier for burn damage
cold_offsetmoves their safe minimum temp by this value.
coldmodmultiplier for damage from cold temperature
damage_overlay_typeWhat kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay.
disliked_foodBitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.
exotic_bloodIf your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.
exotic_blood_blend_modeWhich blend mode should this species blood use?
exotic_blood_colorAssume human as the default blood colour, override this default by species subtypes
exotic_bloodtypeIf your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.
family_heirloomsList of family heirlooms this species can get with the family heirloom quirk. List of types.
fixed_mut_colorTo use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.
flyThe actual flying ability given to flying species
flying_speciesIs this species a flying species? Used as an easy check for some things
grab_soundSpecial sound for grabbing
grad_colorThe gradient color used to color the gradient.
grad_styleThe gradient style used for the mob's hair.
hair_alphaThe alpha used by the hair. 255 is completely solid, 0 is invisible.
hair_colorThis allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor
heatmodmultiplier for damage from hot temperature
hot_offsetmoves their safe maximum temp by this value.
idIf the game needs to manually check your race to do something not included in a proc here, it will use this.
inert_mutationSpecial mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
inherent_biotypesList of biotypes the mob belongs to. Used by diseases.
inherent_traitsGeneric traits tied to having the species.
liked_foodBitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.
meatWhat the species drops when gibbed by a gibber machine.
mutant_bodypartsVisible CURRENT bodyparts that are unique to a species. +DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK +SHIT UP! Changes to this list for non-species specific bodyparts (ie +cat ears and tails) should be assigned at organ level if possible. +Assoc values are defaults for given bodyparts, also modified by aforementioned organs. +They also allow for faster '[]' list access versus 'in'. Other than that, they are useless right now. +Layer hiding is handled by [/datum/species/proc/handle_mutant_bodyparts] below.
mutant_brainReplaces default brain with a different organ
mutant_heartReplaces default heart with a different organ
mutant_organsInternal organs that are unique to this race, like a tail.
mutantappendixReplaces default appendix with a different organ.
mutantearsReplaces default ears with a different organ
mutanteyesReplaces default lungs with a different organ +Replaces default eyes with a different organ
mutanthandsForces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research.
mutantliverReplaces default liver with a different organ
mutantstomachReplaces default stomach with a different organ
mutanttailCIT SPECIFIC Mutant tail
mutanttongueReplaces default tongue with a different organ
nameThis is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize.
no_equipInventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.
nojumpsuitAllows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.
offset_featuresClothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.
outfit_important_for_lifeA path to an outfit that is important for species life e.g. plasmaman outfit
payday_modifiermultiplier for money paid at payday
punchdamagehighHighest possible punch damage this species can give.
punchdamagelowLowest possible punch damage this species can give. If this is set to 0, punches will always miss.
punchstunthresholdDamage at which punches from this race will stun
say_modAffects the speech message, for example: Motharula flutters, "My speech message is flutters!"
sexesWhether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows
siemens_coeffBase electrocution coefficient. Basically a multiplier for damage from electrocutions.
skinned_typeWhat skin the species drops when gibbed by a gibber machine.
special_step_soundsSounds to override barefeet walking
species_language_holderWhat languages this species can understand and say. Use a language holder datum in this var.
species_traitsSpecies-only traits. Can be found in code/__DEFINES/DNA.dm
speedmodMultiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.
stunmodmultiplier for stun durations
toxic_foodBitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.
typing_indicator_stateOur default override for typing indicator state
use_skintonesDoes the species use skintones or not? As of now only used by humans.
wings_iconCurrent wings icon

Procs

check_roundstart_eligibleChecks if a species is eligible to be picked at roundstart.
copy_properties_fromCopies some vars and properties over that should be kept when creating a copy of this species.
get_biological_stateThe human species version of /mob/living/carbon/proc/get_biological_state. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds
handle_digestionLIFE
on_species_gainProc called when a carbon becomes this species.
random_nameGenerates a random name for a carbon.
regenerate_organsCorrects organs in a carbon, removing ones it doesn't need and adding ones it does.
+

Var Details

armor + + + + +

+

Percentage modifier for overall defense of the race, or less defense, if it's negative.

ass_image + + + + +

+

For custom overrides for species ass images

attack_type + + + + +

+

Type of damage attack does. Ethereals attack with burn damage for example.

attack_verb + + + + +

+

Punch-specific attack verb.

breathid + + + + +

+

What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]

brutemod + + + + +

+

multiplier for brute damage

burnmod + + + + +

+

multiplier for burn damage

cold_offset + + + + +

+

moves their safe minimum temp by this value.

coldmod + + + + +

+

multiplier for damage from cold temperature

damage_overlay_type + + + + +

+

What kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay.

disliked_food + + + + +

+

Bitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.

exotic_blood + + + + +

+

If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.

exotic_blood_blend_mode + + + + +

+

Which blend mode should this species blood use?

exotic_blood_color + + + + +

+

Assume human as the default blood colour, override this default by species subtypes

exotic_bloodtype + + + + +

+

If your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.

family_heirlooms + + + + +

+

List of family heirlooms this species can get with the family heirloom quirk. List of types.

fixed_mut_color + + + + +

+

To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.

fly + + + + +

+

The actual flying ability given to flying species

flying_species + + + + +

+

Is this species a flying species? Used as an easy check for some things

grab_sound + + + + +

+

Special sound for grabbing

grad_color + + + + +

+

The gradient color used to color the gradient.

grad_style + + + + +

+

The gradient style used for the mob's hair.

hair_alpha + + + + +

+

The alpha used by the hair. 255 is completely solid, 0 is invisible.

hair_color + + + + +

+

This allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor

heatmod + + + + +

+

multiplier for damage from hot temperature

hot_offset + + + + +

+

moves their safe maximum temp by this value.

id + + + + +

+

If the game needs to manually check your race to do something not included in a proc here, it will use this.

inert_mutation + + + + +

+

Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache

inherent_biotypes + + + + +

+

List of biotypes the mob belongs to. Used by diseases.

inherent_traits + + + + +

+

Generic traits tied to having the species.

liked_food + + + + +

+

Bitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.

meat + + + + +

+

What the species drops when gibbed by a gibber machine.

mutant_bodyparts + + + + +

+

Visible CURRENT bodyparts that are unique to a species. +DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK +SHIT UP! Changes to this list for non-species specific bodyparts (ie +cat ears and tails) should be assigned at organ level if possible. +Assoc values are defaults for given bodyparts, also modified by aforementioned organs. +They also allow for faster '[]' list access versus 'in'. Other than that, they are useless right now. +Layer hiding is handled by [/datum/species/proc/handle_mutant_bodyparts] below.

mutant_brain + + + + +

+

Replaces default brain with a different organ

mutant_heart + + + + +

+

Replaces default heart with a different organ

mutant_organs + + + + +

+

Internal organs that are unique to this race, like a tail.

mutantappendix + + + + +

+

Replaces default appendix with a different organ.

mutantears + + + + +

+

Replaces default ears with a different organ

mutanteyes + + + + +

+

Replaces default lungs with a different organ +Replaces default eyes with a different organ

mutanthands + + + + +

+

Forces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research.

mutantliver + + + + +

+

Replaces default liver with a different organ

mutantstomach + + + + +

+

Replaces default stomach with a different organ

mutanttail + + + + +

+

CIT SPECIFIC Mutant tail

mutanttongue + + + + +

+

Replaces default tongue with a different organ

name + + + + +

+

This is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize.

no_equip + + + + +

+

Inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.

nojumpsuit + + + + +

+

Allows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.

offset_features + + + + +

+

Clothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.

outfit_important_for_life + + + + +

+

A path to an outfit that is important for species life e.g. plasmaman outfit

payday_modifier + + + + +

+

multiplier for money paid at payday

punchdamagehigh + + + + +

+

Highest possible punch damage this species can give.

punchdamagelow + + + + +

+

Lowest possible punch damage this species can give. If this is set to 0, punches will always miss.

punchstunthreshold + + + + +

+

Damage at which punches from this race will stun

say_mod + + + + +

+

Affects the speech message, for example: Motharula flutters, "My speech message is flutters!"

sexes + + + + +

+

Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows

siemens_coeff + + + + +

+

Base electrocution coefficient. Basically a multiplier for damage from electrocutions.

skinned_type + + + + +

+

What skin the species drops when gibbed by a gibber machine.

special_step_sounds + + + + +

+

Sounds to override barefeet walking

species_language_holder + + + + +

+

What languages this species can understand and say. Use a language holder datum in this var.

species_traits + + + + +

+

Species-only traits. Can be found in code/__DEFINES/DNA.dm

speedmod + + + + +

+

Multiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.

stunmod + + + + +

+

multiplier for stun durations

toxic_food + + + + +

+

Bitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.

typing_indicator_state + + + + +

+

Our default override for typing indicator state

use_skintones + + + + +

+

Does the species use skintones or not? As of now only used by humans.

wings_icon + + + + +

+

Current wings icon

Proc Details

check_roundstart_eligible +

+

Checks if a species is eligible to be picked at roundstart.

+

Checks the config to see if this species is allowed to be picked in the character setup menu. +Used by /proc/generate_selectable_species.

copy_properties_from +

+

Copies some vars and properties over that should be kept when creating a copy of this species.

+

Used by slimepeople to copy themselves, and by the DNA datum to hardset DNA to a species +Arguments:

+

get_biological_state +

+

The human species version of /mob/living/carbon/proc/get_biological_state. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds

handle_digestion +

+

LIFE

on_species_gain +

+

Proc called when a carbon becomes this species.

+

This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. +Produces a [COMSIG_SPECIES_GAIN] signal. +Arguments:

+

random_name +

+

Generates a random name for a carbon.

+

This generates a random unique name based on a human's species and gender. +Arguments:

+

regenerate_organs +

+

Corrects organs in a carbon, removing ones it doesn't need and adding ones it does.

+

Takes all organ slots, removes organs a species should not have, adds organs a species should have. +can use replace_current to refresh all organs, creating an entirely new set.

+

Arguments:

+
+ + + diff --git a/datum/sprite_accessory/snouts/mam_snouts.html b/datum/sprite_accessory/snouts/mam_snouts.html new file mode 100644 index 00000000000..023ba0c4df8 --- /dev/null +++ b/datum/sprite_accessory/snouts/mam_snouts.html @@ -0,0 +1,129 @@ + + + + + + + /datum/sprite_accessory/snouts/mam_snouts - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

mam_snouts + + + +

+ +

************ Lizard compatable snoots *********** +/datum/sprite_accessory/snouts/bird +name = "Beak" +icon_state = "bird" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/bigbeak +name = "Big Beak" +icon_state = "bigbeak" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/bug +name = "Bug" +icon_state = "bug" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +extra2 = TRUE +extra2_color_src = MUTCOLORS3

+

/datum/sprite_accessory/snouts/elephant +name = "Elephant" +icon_state = "elephant" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED +extra = TRUE +extra_color_src = MUTCOLORS3

+

/datum/sprite_accessory/snouts/lcanid +name = "Mammal, Long" +icon_state = "lcanid" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/lcanidalt +name = "Mammal, Long ALT" +icon_state = "lcanidalt" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/scanid +name = "Mammal, Short" +icon_state = "scanid" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/scanidalt +name = "Mammal, Short ALT" +icon_state = "scanidalt" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/wolf +name = "Mammal, Thick" +icon_state = "wolf" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/wolfalt +name = "Mammal, Thick ALT" +icon_state = "wolfalt" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/redpanda +name = "WahCoon" +icon_state = "wah" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/rhino +name = "Horn" +icon_state = "rhino" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED +extra = TRUE +extra = MUTCOLORS3

+

/datum/sprite_accessory/snouts/rodent +name = "Rodent" +icon_state = "rodent" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/husky +name = "Husky" +icon_state = "husky" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/otie +name = "Otie" +icon_state = "otie" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/pede +name = "Scolipede" +icon_state = "pede" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/sergal +name = "Sergal" +icon_state = "sergal" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/shark +name = "Shark" +icon_state = "shark" +color_src = MATRIXED +icon = 'modular_citadel/icons/mob/mam_snouts.dmi'

+

/datum/sprite_accessory/snouts/toucan +name = "Toucan" +icon_state = "toucan" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

Mammal Snouts

+ + + diff --git a/datum/sprite_accessory/tails_animated/lizard.html b/datum/sprite_accessory/tails_animated/lizard.html new file mode 100644 index 00000000000..13326c99c31 --- /dev/null +++ b/datum/sprite_accessory/tails_animated/lizard.html @@ -0,0 +1,35 @@ + + + + + + + /datum/sprite_accessory/tails_animated/lizard - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

lizard + + + +

+ + +

Procs

is_not_visibleLizard Tails

Proc Details

is_not_visible +

+

Lizard Tails

+ + + diff --git a/datum/stack_canary.html b/datum/stack_canary.html new file mode 100644 index 00000000000..161a33d1a4f --- /dev/null +++ b/datum/stack_canary.html @@ -0,0 +1,35 @@ + + + + + + + /datum/stack_canary - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

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 00000000000..1c6aa46e0a7 --- /dev/null +++ b/datum/stack_end_detector.html @@ -0,0 +1,47 @@ + + + + + + + /datum/stack_end_detector - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

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/stack_recipe.html b/datum/stack_recipe.html new file mode 100644 index 00000000000..7748bab6a10 --- /dev/null +++ b/datum/stack_recipe.html @@ -0,0 +1,113 @@ + + + + + + + /datum/stack_recipe - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

stack_recipe + + + +

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

Vars

applies_matsIf TRUE, the created atom will gain custom mat datums
max_res_amountMax amount of resulting atoms made
on_floorIf the atom requires a floor below
one_per_turfIf only one of the resulting atom is allowed per turf
placement_checksBitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT)
req_amountAmount of stack required to make
res_amountAmount of resulting atoms made
result_typeWhat atom the recipe makes, typepath
timeHow long it takes to make
titleThe title of the recipe
trait_boosterWhat trait, if any, boosts the construction speed of this item
trait_modifierHow much the trait above, if supplied, boosts the construct speed of this item
+

Var Details

applies_mats + + + + +

+

If TRUE, the created atom will gain custom mat datums

max_res_amount + + + + +

+

Max amount of resulting atoms made

on_floor + + + + +

+

If the atom requires a floor below

one_per_turf + + + + +

+

If only one of the resulting atom is allowed per turf

placement_checks + + + + +

+

Bitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT)

req_amount + + + + +

+

Amount of stack required to make

res_amount + + + + +

+

Amount of resulting atoms made

result_type + + + + +

+

What atom the recipe makes, typepath

time + + + + +

+

How long it takes to make

title + + + + +

+

The title of the recipe

trait_booster + + + + +

+

What trait, if any, boosts the construction speed of this item

trait_modifier + + + + +

+

How much the trait above, if supplied, boosts the construct speed of this item

+ + + diff --git a/datum/station_trait.html b/datum/station_trait.html new file mode 100644 index 00000000000..afe7bb40f18 --- /dev/null +++ b/datum/station_trait.html @@ -0,0 +1,127 @@ + + + + + + + /datum/station_trait - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

station_trait + + + +

+ +

Base class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.

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

Vars

blacklistWhat traits are incompatible with this one?
can_revertWhether or not this trait can be reverted by an admin
forceWhether this trait is always enabled; generally used for debugging
nameName of the trait
report_messageWhat message to show in the centcom report?
show_in_reportDoes this trait show in the centcom report?
trait_flagsExtra flags for station traits such as it being abstract
trait_processesWhether or not this trait uses process()
trait_to_giveWhat code-trait does this station trait give? gives none if null
trait_typeThe type of this trait. Used to classify how this trait influences the station
weightChance relative to other traits of its type to be picked

Procs

get_reporttype of info the centcom report has on this trait, if any.
on_round_startProc ran when round starts. Use this for roundstart effects.
revertWill attempt to revert the station trait, used by admins.
+

Var Details

blacklist + + + + +

+

What traits are incompatible with this one?

can_revert + + + + +

+

Whether or not this trait can be reverted by an admin

force + + + + +

+

Whether this trait is always enabled; generally used for debugging

name + + + + +

+

Name of the trait

report_message + + + + +

+

What message to show in the centcom report?

show_in_report + + + + +

+

Does this trait show in the centcom report?

trait_flags + + + + +

+

Extra flags for station traits such as it being abstract

trait_processes + + + + +

+

Whether or not this trait uses process()

trait_to_give + + + + +

+

What code-trait does this station trait give? gives none if null

trait_type + + + + +

+

The type of this trait. Used to classify how this trait influences the station

weight + + + + +

+

Chance relative to other traits of its type to be picked

Proc Details

get_report +

+

type of info the centcom report has on this trait, if any.

on_round_start +

+

Proc ran when round starts. Use this for roundstart effects.

revert +

+

Will attempt to revert the station trait, used by admins.

+ + + diff --git a/datum/station_trait/bot_languages.html b/datum/station_trait/bot_languages.html new file mode 100644 index 00000000000..5f1b282f1fa --- /dev/null +++ b/datum/station_trait/bot_languages.html @@ -0,0 +1,35 @@ + + + + + + + /datum/station_trait/bot_languages - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

bot_languages + + + +

+ + +

Procs

on_round_startWhat "caused" our robots to go haywire (fluff)

Proc Details

on_round_start +

+

What "caused" our robots to go haywire (fluff)

+ + + diff --git a/datum/station_trait/ian_adventure.html b/datum/station_trait/ian_adventure.html new file mode 100644 index 00000000000..deae6564d0b --- /dev/null +++ b/datum/station_trait/ian_adventure.html @@ -0,0 +1,35 @@ + + + + + + + /datum/station_trait/ian_adventure - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

ian_adventure + + + +

+ + +

Procs

do_corgi_respawnMoves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

Proc Details

do_corgi_respawn +

+

Moves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

+ + + diff --git a/datum/station_trait/random_event_weight_modifier.html b/datum/station_trait/random_event_weight_modifier.html new file mode 100644 index 00000000000..0301de2fa71 --- /dev/null +++ b/datum/station_trait/random_event_weight_modifier.html @@ -0,0 +1,50 @@ + + + + + + + /datum/station_trait/random_event_weight_modifier - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

random_event_weight_modifier + + + +

+ + + + +

Vars

event_control_pathThe path to the round_event_control that we modify.
max_occurrences_modifierFlat modifier added to the amount of max occurances the random event can have.
weight_multiplierMultiplier applied to the weight of the event.
+

Var Details

event_control_path + + + + +

+

The path to the round_event_control that we modify.

max_occurrences_modifier + + + + +

+

Flat modifier added to the amount of max occurances the random event can have.

weight_multiplier + + + + +

+

Multiplier applied to the weight of the event.

+ + + diff --git a/datum/status_effect.html b/datum/status_effect.html new file mode 100644 index 00000000000..fece213638a --- /dev/null +++ b/datum/status_effect.html @@ -0,0 +1,64 @@ + + + + + + + /datum/status_effect - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

status_effect + + + +

+ + + + + + +

Vars

blocks_sprintIf this is TRUE, the user will have sprint forcefully disabled while this is active.
status_typeHow many of the effect can be on one mob, and what happens when you try to add another
tickdo we tick()?

Procs

action_cooldown_modMultiplied to clickdelays
before_removeCalled before being removed; returning FALSE will cancel removal
+

Var Details

blocks_sprint + + + + +

+

If this is TRUE, the user will have sprint forcefully disabled while this is active.

status_type + + + + +

+

How many of the effect can be on one mob, and what happens when you try to add another

tick + + + + +

+

do we tick()?

Proc Details

action_cooldown_mod +

+

Multiplied to clickdelays

before_remove +

+

Called before being removed; returning FALSE will cancel removal

+ + + diff --git a/datum/status_effect/cloudstruck.html b/datum/status_effect/cloudstruck.html new file mode 100644 index 00000000000..7d902d59590 --- /dev/null +++ b/datum/status_effect/cloudstruck.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/cloudstruck - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cloudstruck + + + +

+ + +

Vars

mob_overlayThis overlay is applied to the owner for the duration of the effect.
+

Var Details

mob_overlay + + + + +

+

This overlay is applied to the owner for the duration of the effect.

+ + + diff --git a/datum/status_effect/eldritch.html b/datum/status_effect/eldritch.html new file mode 100644 index 00000000000..2901bbd359f --- /dev/null +++ b/datum/status_effect/eldritch.html @@ -0,0 +1,51 @@ + + + + + + + /datum/status_effect/eldritch - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch + + + +

+ + + + +

Vars

effect_spritepath for the underlay
marked_underlayunderlay used to indicate that someone is marked

Procs

on_effectWhat happens when this mark gets popped
+

Var Details

effect_sprite + + + + +

+

path for the underlay

marked_underlay + + + + +

+

underlay used to indicate that someone is marked

Proc Details

on_effect +

+

What happens when this mark gets popped

+

Adds actual functionality to each mark

+ + + diff --git a/datum/status_effect/eldritch/ash.html b/datum/status_effect/eldritch/ash.html new file mode 100644 index 00000000000..f50835b9f21 --- /dev/null +++ b/datum/status_effect/eldritch/ash.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/eldritch/ash - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ash + + + +

+ + +

Vars

repetitionsDictates how much damage and stamina loss this mark will cause.
+

Var Details

repetitions + + + + +

+

Dictates how much damage and stamina loss this mark will cause.

+ + + diff --git a/datum/status_effect/ice_block_talisman.html b/datum/status_effect/ice_block_talisman.html new file mode 100644 index 00000000000..a61a395c247 --- /dev/null +++ b/datum/status_effect/ice_block_talisman.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/ice_block_talisman - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

ice_block_talisman + + + +

+ + + +

Vars

cubeStored icon overlay for the hit mob, removed when effect is removed

Procs

owner_movedBlocks movement from the status effect owner
+

Var Details

cube + + + + +

+

Stored icon overlay for the hit mob, removed when effect is removed

Proc Details

owner_moved +

+

Blocks movement from the status effect owner

+ + + diff --git a/datum/status_effect/limp.html b/datum/status_effect/limp.html new file mode 100644 index 00000000000..6f9a9d4c95e --- /dev/null +++ b/datum/status_effect/limp.html @@ -0,0 +1,64 @@ + + + + + + + /datum/status_effect/limp - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

limp + + + +

+ + + + + + +

Vars

leftThe left leg of the limping person
next_legWhich leg we're limping with next
rightThe right leg of the limping person
slowdown_leftHow many deciseconds we limp for on the left leg
slowdown_rightHow many deciseconds we limp for on the right leg
+

Var Details

left + + + + +

+

The left leg of the limping person

next_leg + + + + +

+

Which leg we're limping with next

right + + + + +

+

The right leg of the limping person

slowdown_left + + + + +

+

How many deciseconds we limp for on the left leg

slowdown_right + + + + +

+

How many deciseconds we limp for on the right leg

+ + + diff --git a/datum/status_effect/offering.html b/datum/status_effect/offering.html new file mode 100644 index 00000000000..17f7681dace --- /dev/null +++ b/datum/status_effect/offering.html @@ -0,0 +1,85 @@ + + + + + + + /datum/status_effect/offering - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

offering + + + +

+ + + + + + + + + +

Vars

give_alert_typeThe type of alert given to people when offered, in case you need to override some behavior (like for high-fives)
offered_itemThe actual item being offered
possible_takersThe people who were offered this item at the start

Procs

check_owner_in_rangeThe offerer moved, see if anyone is out of range now
check_taker_in_rangeOne of our possible takers moved, see if they left us hanging
dropped_itemWe lost the item, give it up
register_candidateHook up the specified carbon mob to be offered the item in question, give them the alert and signals and all
remove_candidateRemove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker
+

Var Details

give_alert_type + + + + +

+

The type of alert given to people when offered, in case you need to override some behavior (like for high-fives)

offered_item + + + + +

+

The actual item being offered

possible_takers + + + + +

+

The people who were offered this item at the start

Proc Details

check_owner_in_range +

+

The offerer moved, see if anyone is out of range now

check_taker_in_range +

+

One of our possible takers moved, see if they left us hanging

dropped_item +

+

We lost the item, give it up

register_candidate +

+

Hook up the specified carbon mob to be offered the item in question, give them the alert and signals and all

remove_candidate +

+

Remove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker

+ + + diff --git a/datum/status_effect/wound.html b/datum/status_effect/wound.html new file mode 100644 index 00000000000..43f1975f485 --- /dev/null +++ b/datum/status_effect/wound.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/wound - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

wound + + + +

+ + +

Procs

check_removecheck if the wound getting removed is the wound we're tied to

Proc Details

check_remove +

+

check if the wound getting removed is the wound we're tied to

+ + + diff --git a/datum/strip_menu.html b/datum/strip_menu.html new file mode 100644 index 00000000000..d421402eb60 --- /dev/null +++ b/datum/strip_menu.html @@ -0,0 +1,57 @@ + + + + + + + /datum/strip_menu - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

strip_menu + + + +

+ +

A representation of the stripping UI

+ + + +

Vars

interactionsA lazy list of user mobs to a list of strip menu keys that they're interacting with
ownerThe owner who has the element /datum/element/strippable
strippableThe strippable element itself

Procs

ui_actCustomize the strip menu
+

Var Details

interactions + + + + +

+

A lazy list of user mobs to a list of strip menu keys that they're interacting with

owner + + + + +

+

The owner who has the element /datum/element/strippable

strippable + + + + +

+

The strippable element itself

Proc Details

ui_act +

+

Customize the strip menu

+ + + diff --git a/datum/strippable_item.html b/datum/strippable_item.html new file mode 100644 index 00000000000..02e0092bd22 --- /dev/null +++ b/datum/strippable_item.html @@ -0,0 +1,142 @@ + + + + + + + /datum/strippable_item - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

strippable_item + + + +

+ +

A representation of an item that can be stripped down

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

Vars

keyThe STRIPPABLE_ITEM_* key
warn_dangerous_clothingShould we warn about dangerous clothing?

Procs

alternate_actionPerforms an alternative action on this strippable_item. +has_alternate_action needs to be TRUE.
finish_equipThe proc that places the item on the source. This should not yield.
finish_unequipThe proc that unequips the item from the source. This should not yield.
get_alternate_actionReturns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.
get_itemGets the item from the given source.
get_obscuringReturns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.
should_showReturns whether or not this item should show.
start_equipStart the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
start_unequipStart the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
try_equipTries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.
try_unequipTries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.
+

Var Details

key + + + + +

+

The STRIPPABLE_ITEM_* key

warn_dangerous_clothing + + + + +

+

Should we warn about dangerous clothing?

Proc Details

alternate_action +

+

Performs an alternative action on this strippable_item. +has_alternate_action needs to be TRUE.

finish_equip +

+

The proc that places the item on the source. This should not yield.

finish_unequip +

+

The proc that unequips the item from the source. This should not yield.

get_alternate_action +

+

Returns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.

get_item +

+

Gets the item from the given source.

get_obscuring +

+

Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.

should_show +

+

Returns whether or not this item should show.

start_equip +

+

Start the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

start_unequip +

+

Start the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

try_equip +

+

Tries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.

try_unequip +

+

Tries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.

+ + + diff --git a/datum/strippable_item/hand.html b/datum/strippable_item/hand.html new file mode 100644 index 00000000000..60afe8e28a4 --- /dev/null +++ b/datum/strippable_item/hand.html @@ -0,0 +1,36 @@ + + + + + + + /datum/strippable_item/hand - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

hand + + + +

+ +

A strippable item for a hand

+

Vars

hand_indexWhich hand?
+

Var Details

hand_index + + + + +

+

Which hand?

+ + + diff --git a/datum/strippable_item/mob_item_slot.html b/datum/strippable_item/mob_item_slot.html new file mode 100644 index 00000000000..77e3d61fbe9 --- /dev/null +++ b/datum/strippable_item/mob_item_slot.html @@ -0,0 +1,43 @@ + + + + + + + /datum/strippable_item/mob_item_slot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob_item_slot + + + +

+ +

A preset for equipping items onto mob slots

+ +

Vars

item_slotThe ITEM_SLOT_* to equip to.

Procs

get_equip_delayReturns the delay of equipping this item to a mob
+

Var Details

item_slot + + + + +

+

The ITEM_SLOT_* to equip to.

Proc Details

get_equip_delay +

+

Returns the delay of equipping this item to a mob

+ + + diff --git a/datum/strippable_item/mob_item_slot/pocket.html b/datum/strippable_item/mob_item_slot/pocket.html new file mode 100644 index 00000000000..50f684f4de9 --- /dev/null +++ b/datum/strippable_item/mob_item_slot/pocket.html @@ -0,0 +1,36 @@ + + + + + + + /datum/strippable_item/mob_item_slot/pocket - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

pocket + + + +

+ + +

Vars

pocket_sideWhich pocket we're referencing. Used for visible text.
+

Var Details

pocket_side + + + + +

+

Which pocket we're referencing. Used for visible text.

+ + + diff --git a/datum/summon_weapon.html b/datum/summon_weapon.html new file mode 100644 index 00000000000..e49c4ce95d1 --- /dev/null +++ b/datum/summon_weapon.html @@ -0,0 +1,226 @@ + + + + + + + /datum/summon_weapon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

summon_weapon + + + +

+ +

A singular summoned object

+

How summon weapons work:

+

Reset() - makes it go back to its master. +Target() - locks onto a target for a duration

+

The biggest challenge is synchronizing animations. +Variables keep track of when things tick, but, +animations are client-timed, and not server-timed

+

Animations: +The weapon can only track its "intended" angle and dist +"Current" pixel x/y are always calculated relative to a target from the current orbiting atom the physical effect is on +There's 3 animations, +MoveTo(location, angle, dist, rotation) +Orbit(location) +Rotate(degrees)

+

And an non-animation that just snaps it to a location, +HardReset(location)

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

Vars

anglecurrent angle from victim - clockwise from 0. null if not attacking.
angle_varyrand dist to rotate during reattack phase
animation_lockanimation locked until
animation_timeridanimation lock timer
appearancemutable_appearance to use, will skip making from icon/icon state if so
atomthe actual effect
attack_damageattack damage
attack_lengthattack length in deciseconds - this is the attack animation speed in total
attack_soundattack sound
attack_speedattack delay in deciseconds - this is time spent between attacks
attack_typeattack damtype
attack_verbattack verb
distcurrent distance from victim - pixels
hosthost
iconicon file
icon_stateicon state
namename
orbit_distorbit distance from victim - pixels
orbit_dist_varyorbit distance variation from victim
reset_speedreset animation duration
reset_timeridreset timerid
rotationcurrent rotation - angles clockwise from north
statecurrent state
victimcurrently locked attack target

Procs

MoveTorelative to defaults to current location
Rotaterotation defaults to facing towards locked atom
+

Var Details

angle + + + + +

+

current angle from victim - clockwise from 0. null if not attacking.

angle_vary + + + + +

+

rand dist to rotate during reattack phase

animation_lock + + + + +

+

animation locked until

animation_timerid + + + + +

+

animation lock timer

appearance + + + + +

+

mutable_appearance to use, will skip making from icon/icon state if so

atom + + + + +

+

the actual effect

attack_damage + + + + +

+

attack damage

attack_length + + + + +

+

attack length in deciseconds - this is the attack animation speed in total

attack_sound + + + + +

+

attack sound

attack_speed + + + + +

+

attack delay in deciseconds - this is time spent between attacks

attack_type + + + + +

+

attack damtype

attack_verb + + + + +

+

attack verb

dist + + + + +

+

current distance from victim - pixels

host + + + + +

+

host

icon + + + + +

+

icon file

icon_state + + + + +

+

icon state

name + + + + +

+

name

orbit_dist + + + + +

+

orbit distance from victim - pixels

orbit_dist_vary + + + + +

+

orbit distance variation from victim

reset_speed + + + + +

+

reset animation duration

reset_timerid + + + + +

+

reset timerid

rotation + + + + +

+

current rotation - angles clockwise from north

state + + + + +

+

current state

victim + + + + +

+

currently locked attack target

Proc Details

MoveTo +

+

relative to defaults to current location

Rotate +

+

rotation defaults to facing towards locked atom

+ + + diff --git a/datum/summon_weapon_host.html b/datum/summon_weapon_host.html new file mode 100644 index 00000000000..aa3d04202eb --- /dev/null +++ b/datum/summon_weapon_host.html @@ -0,0 +1,85 @@ + + + + + + + /datum/summon_weapon_host - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

summon_weapon_host + + + +

+ +

Serves as the master datum for summon weapons

+ + + + + + + +

Vars

activesuppressed?
attackingactive projectiles - refreshing a projectile reorders the list, so if they all have the same stack durations, you can trust the list to have last-refreshed at [1]
controlledactual projectiles
idleidle projectiles
mastermaster atom
rangerange
stack_timedefault stack time
weapon_typeprojectile type
+

Var Details

active + + + + +

+

suppressed?

attacking + + + + +

+

active projectiles - refreshing a projectile reorders the list, so if they all have the same stack durations, you can trust the list to have last-refreshed at [1]

controlled + + + + +

+

actual projectiles

idle + + + + +

+

idle projectiles

master + + + + +

+

master atom

range + + + + +

+

range

stack_time + + + + +

+

default stack time

weapon_type + + + + +

+

projectile type

+ + + diff --git a/datum/supply_pack/misc/syndicate.html b/datum/supply_pack/misc/syndicate.html new file mode 100644 index 00000000000..bcc3f8dd025 --- /dev/null +++ b/datum/supply_pack/misc/syndicate.html @@ -0,0 +1,50 @@ + + + + + + + /datum/supply_pack/misc/syndicate - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

syndicate + + + +

+ +

Special supply crate that generates random syndicate gear up to a determined TC value

+ + +

Vars

containsCannot be ordered via cargo
uplink_flagsTotal TC worth of contained uplink items

Procs

fillSyndicate Packs
+

Var Details

contains + + + + +

+

Cannot be ordered via cargo

+

Total TC worth of contained uplink items

Proc Details

fill +

+

Syndicate Packs

+ + + diff --git a/datum/team/gang.html b/datum/team/gang.html new file mode 100644 index 00000000000..776fbf2ef61 --- /dev/null +++ b/datum/team/gang.html @@ -0,0 +1,71 @@ + + + + + + + /datum/team/gang - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

gang + + + +

+ + + + + + + +

Vars

acceptable_clothesThe list of clothes that are acceptable to show allegiance to this family.
current_themeThe current theme. Used to pull important stuff such as spawning equipment and objectives.
free_clothesThe list of clothes that are given to family members upon induction into the family.
gang_idThe abbreviation of this family.
my_gang_datumThe specific, occupied family member antagonist datum that is used to reach the handler / check objectives, and from which the above properties (sans points) are inherited.

Procs

rename_gangsterAllow gangs to have custom naming schemes for their gangsters.
+

Var Details

acceptable_clothes + + + + +

+

The list of clothes that are acceptable to show allegiance to this family.

current_theme + + + + +

+

The current theme. Used to pull important stuff such as spawning equipment and objectives.

free_clothes + + + + +

+

The list of clothes that are given to family members upon induction into the family.

gang_id + + + + +

+

The abbreviation of this family.

my_gang_datum + + + + +

+

The specific, occupied family member antagonist datum that is used to reach the handler / check objectives, and from which the above properties (sans points) are inherited.

Proc Details

rename_gangster +

+

Allow gangs to have custom naming schemes for their gangsters.

+ + + diff --git a/datum/team/revolution.html b/datum/team/revolution.html new file mode 100644 index 00000000000..ed43930124a --- /dev/null +++ b/datum/team/revolution.html @@ -0,0 +1,60 @@ + + + + + + + /datum/team/revolution - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

revolution + + + +

+ + + + + +

Procs

check_heads_victoryChecks if heads have won
check_rev_victoryChecks if revs have won
process_victoryUpdates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called. +If revs_win_injection_amount is passed, then that amount of threat will be added if the revs win.
round_resultMutates the ticker to report that the revs have won

Proc Details

check_heads_victory +

+

Checks if heads have won

check_rev_victory +

+

Checks if revs have won

process_victory +

+

Updates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called. +If revs_win_injection_amount is passed, then that amount of threat will be added if the revs win.

round_result +

+

Mutates the ticker to report that the revs have won

+ + + diff --git a/datum/tgs_chat_channel.html b/datum/tgs_chat_channel.html new file mode 100644 index 00000000000..99d5ad6db04 --- /dev/null +++ b/datum/tgs_chat_channel.html @@ -0,0 +1,71 @@ + + + + + + + /datum/tgs_chat_channel - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

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
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

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 00000000000..40bfa429bb5 --- /dev/null +++ b/datum/tgs_chat_command.html @@ -0,0 +1,59 @@ + + + + + + + /datum/tgs_chat_command - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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
nameThe string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ...

Procs

RunProcess command activation. Should return a string 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

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 string 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_user.html b/datum/tgs_chat_user.html new file mode 100644 index 00000000000..e95f41fedf5 --- /dev/null +++ b/datum/tgs_chat_user.html @@ -0,0 +1,43 @@ + + + + + + + /datum/tgs_chat_user - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

tgs_chat_user + + + +

+ + + +

Vars

channelThe /datum/tgs_chat_channel the user was from
idTGS internal user ID.
+

Var Details

channel + + + + +

+

The /datum/tgs_chat_channel the user was from

id + + + + +

+

TGS internal user ID.

+ + + diff --git a/datum/tgs_event_handler.html b/datum/tgs_event_handler.html new file mode 100644 index 00000000000..ffa11f3b512 --- /dev/null +++ b/datum/tgs_event_handler.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgs_event_handler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

tgs_event_handler + + + +

+ + +

Procs

HandleEventUser definable callback for handling TGS 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_revision_information.html b/datum/tgs_revision_information.html new file mode 100644 index 00000000000..85656bbb2c4 --- /dev/null +++ b/datum/tgs_revision_information.html @@ -0,0 +1,50 @@ + + + + + + + /datum/tgs_revision_information - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

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 00000000000..1a5e3da8cfb --- /dev/null +++ b/datum/tgs_revision_information/test_merge.html @@ -0,0 +1,78 @@ + + + + + + + /datum/tgs_revision_information/test_merge - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

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 00000000000..40e110c9d54 --- /dev/null +++ b/datum/tgs_version.html @@ -0,0 +1,71 @@ + + + + + + + /datum/tgs_version - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

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 00000000000..8566b275fd4 --- /dev/null +++ b/datum/tgui.html @@ -0,0 +1,235 @@ + + + + + + + /datum/tgui - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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.
opened_atTime of opening the window.
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_messageprivate
openpublic
processprivate
process_statusprivate
send_assetpublic
send_full_updatepublic
send_updatepublic
set_autoupdatepublic
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.

opened_at + + + + +

+

Time of opening the window.

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_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_state +

+

public

+

Replace current ui.state with a new one.

+

required state datum/ui_state/state Next state

+ + + diff --git a/datum/tgui_list_input.html b/datum/tgui_list_input.html new file mode 100644 index 00000000000..6f9796e025e --- /dev/null +++ b/datum/tgui_list_input.html @@ -0,0 +1,95 @@ + + + + + + + /datum/tgui_list_input - Nostra-13 + + +
+ Nostra-13 - + 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
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_list_input was closed by the user.
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_list_input was created, for displaying timeout progress.
timeoutThe lifespan of the tgui_list_input, 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_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

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_list_input was closed by the user.

message + + + + +

+

The textual body of the TGUI window

start_time + + + + +

+

The time at which the tgui_list_input was created, for displaying timeout progress.

timeout + + + + +

+

The lifespan of the tgui_list_input, 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_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 00000000000..92f48160723 --- /dev/null +++ b/datum/tgui_list_input/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_list_input/async - Nostra-13 + + +
+ Nostra-13 - + 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_list_input upon having a choice made.
+

Var Details

callback + + + + +

+

The callback to be invoked by the tgui_list_input upon having a choice made.

+ + + diff --git a/datum/tgui_modal.html b/datum/tgui_modal.html new file mode 100644 index 00000000000..b5ec207d6e6 --- /dev/null +++ b/datum/tgui_modal.html @@ -0,0 +1,95 @@ + + + + + + + /datum/tgui_modal - Nostra-13 + + +
+ Nostra-13 - + 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

autofocusThe bool that controls if this modal should grab window focus
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

autofocus + + + + +

+

The bool that controls if this modal should grab window focus

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 00000000000..9acaec6f326 --- /dev/null +++ b/datum/tgui_modal/async.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgui_modal/async - Nostra-13 + + +
+ Nostra-13 - + 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 00000000000..ac2565a4733 --- /dev/null +++ b/datum/tgui_panel.html @@ -0,0 +1,132 @@ + + + + + + + /datum/tgui_panel - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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_window.html b/datum/tgui_window.html new file mode 100644 index 00000000000..911fe4e7c9b --- /dev/null +++ b/datum/tgui_window.html @@ -0,0 +1,164 @@ + + + + + + + /datum/tgui_window - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

tgui_window + + + +

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

Procs

Newpublic
acquire_lockpublic
can_be_suspendedpublic
closepublic
flush_message_queueprivate
initializepublic
is_readypublic
on_messageprivate
release_lockpublic
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 inline_assets list List of assets to inline into the html. +optional inline_html string Custom HTML to inject. +optional fancy bool If TRUE, will hide the window titlebar.

is_ready +

+

public

+

Checks if the window is ready to receive data.

+

return bool

on_message +

+

private

+

Callback for handling incoming tgui messages.

release_lock +

+

public

+

Release the window lock.

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/thrownthing.html b/datum/thrownthing.html new file mode 100644 index 00000000000..8a6934222ad --- /dev/null +++ b/datum/thrownthing.html @@ -0,0 +1,35 @@ + + + + + + + /datum/thrownthing - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

thrownthing + + + +

+ + +

Procs

on_thrownthing_qdelDefines the datum behavior on the thrownthing's qdeletion event.

Proc Details

on_thrownthing_qdel +

+

Defines the datum behavior on the thrownthing's qdeletion event.

+ + + diff --git a/datum/timedevent.html b/datum/timedevent.html new file mode 100644 index 00000000000..42a568429ae --- /dev/null +++ b/datum/timedevent.html @@ -0,0 +1,135 @@ + + + + + + + /datum/timedevent - Nostra-13 + + +
+ Nostra-13 - + 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

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
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

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

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/traitor_class.html b/datum/traitor_class.html new file mode 100644 index 00000000000..e10cc9dab2d --- /dev/null +++ b/datum/traitor_class.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_class - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

traitor_class + + + +

+ + + +

Vars

min_playersMinimum players for this to randomly roll via get_random_traitor_kind().
tgui_themeSpecific tgui theme for the player's antag info panel.
+

Var Details

min_players + + + + +

+

Minimum players for this to randomly roll via get_random_traitor_kind().

tgui_theme + + + + +

+

Specific tgui theme for the player's antag info panel.

+ + + diff --git a/datum/ui_state.html b/datum/ui_state.html new file mode 100644 index 00000000000..7873c3a0213 --- /dev/null +++ b/datum/ui_state.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ui_state - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

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 00000000000..80ceb4062c1 --- /dev/null +++ b/datum/unit_test.html @@ -0,0 +1,59 @@ + + + + + + + /datum/unit_test - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

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
+

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

+ + + diff --git a/datum/unit_test/binary_insert.html b/datum/unit_test/binary_insert.html new file mode 100644 index 00000000000..b9988da59e9 --- /dev/null +++ b/datum/unit_test/binary_insert.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/binary_insert - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

binary_insert + + + +

+ + +

Procs

RunA test to ensure the sanity of BINARY_INSERT

Proc Details

Run +

+

A test to ensure the sanity of BINARY_INSERT

+ + + diff --git a/datum/unit_test/container_resist.html b/datum/unit_test/container_resist.html new file mode 100644 index 00000000000..ff1aede80b5 --- /dev/null +++ b/datum/unit_test/container_resist.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/container_resist - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

container_resist + + + +

+ + +

Procs

RunTest that you can resist out of a container

Proc Details

Run +

+

Test that you can resist out of a container

+ + + diff --git a/datum/unit_test/interactions.html b/datum/unit_test/interactions.html new file mode 100644 index 00000000000..54dc36f20c6 --- /dev/null +++ b/datum/unit_test/interactions.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/interactions - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

interactions + + + +

+ + +

Procs

RunSANDSTORM TESTS

Proc Details

Run +

+

SANDSTORM TESTS

+ + + diff --git a/datum/unit_test/machine_disassembly.html b/datum/unit_test/machine_disassembly.html new file mode 100644 index 00000000000..131a00a5f46 --- /dev/null +++ b/datum/unit_test/machine_disassembly.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/machine_disassembly - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

machine_disassembly + + + +

+ + +

Procs

RunEnsures that when disassembling a machine, all the parts are given back

Proc Details

Run +

+

Ensures that when disassembling a machine, all the parts are given back

+ + + diff --git a/datum/unit_test/merge_type.html b/datum/unit_test/merge_type.html new file mode 100644 index 00000000000..24e5e92bc06 --- /dev/null +++ b/datum/unit_test/merge_type.html @@ -0,0 +1,39 @@ + + + + + + + /datum/unit_test/merge_type - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

merge_type + + + +

+ + +

Procs

Runthe limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh

Proc Details

Run +

+

the limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh

+ + + 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 00000000000..f4d19fd76d2 --- /dev/null +++ b/datum/unit_test/stop_drop_and_roll.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/stop_drop_and_roll - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

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/unit_test/test_human_base.html b/datum/unit_test/test_human_base.html new file mode 100644 index 00000000000..f0a0bd6c457 --- /dev/null +++ b/datum/unit_test/test_human_base.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/test_human_base - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

test_human_base + + + +

+ + +

Procs

RunThis test is used to make sure a flesh-and-bone base human can suffer all the types of wounds, and that suffering more severe wounds removes and replaces the lesser wound. Also tests that [/mob/living/carbon/proc/fully_heal] removes all wounds

Proc Details

Run +

+

This test is used to make sure a flesh-and-bone base human can suffer all the types of wounds, and that suffering more severe wounds removes and replaces the lesser wound. Also tests that [/mob/living/carbon/proc/fully_heal] removes all wounds

+ + + diff --git a/datum/unit_test/test_human_bone.html b/datum/unit_test/test_human_bone.html new file mode 100644 index 00000000000..3bb44fa8dc4 --- /dev/null +++ b/datum/unit_test/test_human_bone.html @@ -0,0 +1,41 @@ + + + + + + + /datum/unit_test/test_human_bone - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

test_human_bone + + + +

+ + +

Procs

Runthe limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh +This test is used for making sure species with bones but no flesh (skeletons, plasmamen) can only suffer BONE_WOUNDS, and nothing tagged with FLESH_WOUND (it's possible to require both)

Proc Details

Run +

+

the limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh +This test is used for making sure species with bones but no flesh (skeletons, plasmamen) can only suffer BONE_WOUNDS, and nothing tagged with FLESH_WOUND (it's possible to require both)

+ + + diff --git a/datum/uplink_item.html b/datum/uplink_item.html new file mode 100644 index 00000000000..79df22944dd --- /dev/null +++ b/datum/uplink_item.html @@ -0,0 +1,39 @@ + + + + + + + /datum/uplink_item - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

uplink_item + + + +

+ +

Uplink Items

+

Items that can be spawned from an uplink. Can be limited by gamemode.

+

Vars

purchasable_fromA bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].
+

Var Details

purchasable_from + + + + +

+

A bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].

+ + + diff --git a/datum/wave_explosion.html b/datum/wave_explosion.html new file mode 100644 index 00000000000..60e14889d0c --- /dev/null +++ b/datum/wave_explosion.html @@ -0,0 +1,234 @@ + + + + + + + /datum/wave_explosion - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

wave_explosion + + + +

+ +

New force-blastwave explosion system

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

Vars

block_resistanceblock = block / this, if 0 any block is absolute
cycleWhat cycle are we on?
cycle_speedTime to wait between cycles
cycle_startWhen we started the current cycle
edgesThe "edges" + dirs that need to be processed this cycle. turf = dir flags
exploded_lastThe last ring that's been exploded. Any turfs in this will completely ignore the current cycle. Turf = TRUE
finishedAre we currently finished?
fire_probabilityFire probability per tile
flash_rangeFlash range
hard_obstacle_modHard obstcales get this mod INSTEAD of object damage mod
idOur unique nuumerical ID
indexCurrent index for list
mob_damage_modMob damage mod
mob_deafen_modMob deafen mod
mob_gib_modMob gib mod
next_idNext unique numerical ID
object_damage_modObject damage mod
power_considered_deadExplosion power at which point to consider to be a dead expansion
power_falloff_constantBase explosion power falloff subtract (applied second)
power_falloff_factorBase explosion power falloff multiplier (applied first)
power_initialExplosion power we were initially at
powersThe powers of the current turf edges. turf = power
runningAre we currently running?
silentAre we silent/do we make the screenshake/sounds?
sourceWhat atom we originated from, if any
start_timeworld.time we started at
wall_destroy_modWall destruction mod
window_shatter_modWindow shatter mod. Overrides both [hard_obstcale_mod] and [object_damage_mod]

Procs

tickCalled by SSexplosions to propagate this. +Return TRUE if postponed
+

Var Details

block_resistance + + + + +

+

block = block / this, if 0 any block is absolute

cycle + + + + +

+

What cycle are we on?

cycle_speed + + + + +

+

Time to wait between cycles

cycle_start + + + + +

+

When we started the current cycle

edges + + + + +

+

The "edges" + dirs that need to be processed this cycle. turf = dir flags

exploded_last + + + + +

+

The last ring that's been exploded. Any turfs in this will completely ignore the current cycle. Turf = TRUE

finished + + + + +

+

Are we currently finished?

fire_probability + + + + +

+

Fire probability per tile

flash_range + + + + +

+

Flash range

hard_obstacle_mod + + + + +

+

Hard obstcales get this mod INSTEAD of object damage mod

id + + + + +

+

Our unique nuumerical ID

index + + + + +

+

Current index for list

mob_damage_mod + + + + +

+

Mob damage mod

mob_deafen_mod + + + + +

+

Mob deafen mod

mob_gib_mod + + + + +

+

Mob gib mod

next_id + + + + +

+

Next unique numerical ID

object_damage_mod + + + + +

+

Object damage mod

power_considered_dead + + + + +

+

Explosion power at which point to consider to be a dead expansion

power_falloff_constant + + + + +

+

Base explosion power falloff subtract (applied second)

power_falloff_factor + + + + +

+

Base explosion power falloff multiplier (applied first)

power_initial + + + + +

+

Explosion power we were initially at

powers + + + + +

+

The powers of the current turf edges. turf = power

running + + + + +

+

Are we currently running?

silent + + + + +

+

Are we silent/do we make the screenshake/sounds?

source + + + + +

+

What atom we originated from, if any

start_time + + + + +

+

world.time we started at

wall_destroy_mod + + + + +

+

Wall destruction mod

window_shatter_mod + + + + +

+

Window shatter mod. Overrides both [hard_obstcale_mod] and [object_damage_mod]

Proc Details

tick +

+

Called by SSexplosions to propagate this. +Return TRUE if postponed

+ + + diff --git a/datum/weather.html b/datum/weather.html new file mode 100644 index 00000000000..c27f0fd8aec --- /dev/null +++ b/datum/weather.html @@ -0,0 +1,313 @@ + + + + + + + /datum/weather - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

weather + + + +

+ +

Causes weather to occur on a z level in certain area types

+

The effects of weather occur across an entire z-level. For instance, lavaland has periodic ash storms that scorch most unprotected creatures. +Weather always occurs on different z levels at different times, regardless of weather type. +Can have custom durations, targets, and can automatically protect indoor areas.

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

Vars

aestheticIf the weather has no purpose but aesthetics.
area_typeTypes of area to affect
barometer_predictableWhether a barometer can predict when the weather will happen
descdescription of weather
end_durationIn deciseconds, how long the "wind-down" graphic will appear before vanishing entirely
end_messageDisplayed once the weather is over
end_overlayArea overlay while weather is ending
end_soundSound that plays while weather is ending
immunity_typeUsed by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.
impacted_areasAreas to be affected by the weather, calculated when the weather begins
impacted_z_levelsThe list of z-levels that this weather is actively affecting
namename of weather
next_hit_timeFor barometers to know when the next storm will hit
overlay_layerSince it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
overlay_planePlane for the overlay
perpetualThis causes the weather to only end if forced to
probabilityWeight amongst other eligible weather. if zero, will never happen randomly.
protect_indoorsTRUE value protects areas with outdoors marked as false, regardless of area type
protected_areasAreas that are protected and excluded from the affected areas.
stageThe stage of the weather, from 1-4
target_traitThe z-level trait to affect when run randomly or when not overridden.
telegraph_durationIn deciseconds, how long from the beginning of the telegraph until the weather begins
telegraph_messageThe message displayed in chat to foreshadow the weather's beginning
telegraph_overlayThe overlay applied to all tiles on the z-level
telegraph_soundThe sound file played to everyone on an affected z-level
weather_colorColor to apply to the area while weather is occuring
weather_durationIn deciseconds, how long the weather lasts once it begins
weather_duration_lowerSee above - this is the lowest possible duration
weather_duration_upperSee above - this is the highest possible duration
weather_messageDisplayed in chat once the weather begins in earnest
weather_overlayArea overlay while the weather is occuring
weather_soundLooping sound while weather is occuring

Procs

can_weather_actReturns TRUE if the living mob can be affected by the weather
endFully ends the weather
startStarts the actual weather and effects from it
telegraphTelegraphs the beginning of the weather on the impacted z levels
update_areasUpdates the overlays on impacted areas
weather_actAffects the mob with whatever the weather does
wind_downWeather enters the winding down phase, stops effects
+

Var Details

aesthetic + + + + +

+

If the weather has no purpose but aesthetics.

area_type + + + + +

+

Types of area to affect

barometer_predictable + + + + +

+

Whether a barometer can predict when the weather will happen

desc + + + + +

+

description of weather

end_duration + + + + +

+

In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely

end_message + + + + +

+

Displayed once the weather is over

end_overlay + + + + +

+

Area overlay while weather is ending

end_sound + + + + +

+

Sound that plays while weather is ending

immunity_type + + + + +

+

Used by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.

impacted_areas + + + + +

+

Areas to be affected by the weather, calculated when the weather begins

impacted_z_levels + + + + +

+

The list of z-levels that this weather is actively affecting

name + + + + +

+

name of weather

next_hit_time + + + + +

+

For barometers to know when the next storm will hit

overlay_layer + + + + +

+

Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.

overlay_plane + + + + +

+

Plane for the overlay

perpetual + + + + +

+

This causes the weather to only end if forced to

probability + + + + +

+

Weight amongst other eligible weather. if zero, will never happen randomly.

protect_indoors + + + + +

+

TRUE value protects areas with outdoors marked as false, regardless of area type

protected_areas + + + + +

+

Areas that are protected and excluded from the affected areas.

stage + + + + +

+

The stage of the weather, from 1-4

target_trait + + + + +

+

The z-level trait to affect when run randomly or when not overridden.

telegraph_duration + + + + +

+

In deciseconds, how long from the beginning of the telegraph until the weather begins

telegraph_message + + + + +

+

The message displayed in chat to foreshadow the weather's beginning

telegraph_overlay + + + + +

+

The overlay applied to all tiles on the z-level

telegraph_sound + + + + +

+

The sound file played to everyone on an affected z-level

weather_color + + + + +

+

Color to apply to the area while weather is occuring

weather_duration + + + + +

+

In deciseconds, how long the weather lasts once it begins

weather_duration_lower + + + + +

+

See above - this is the lowest possible duration

weather_duration_upper + + + + +

+

See above - this is the highest possible duration

weather_message + + + + +

+

Displayed in chat once the weather begins in earnest

weather_overlay + + + + +

+

Area overlay while the weather is occuring

weather_sound + + + + +

+

Looping sound while weather is occuring

Proc Details

can_weather_act +

+

Returns TRUE if the living mob can be affected by the weather

end +

+

Fully ends the weather

+

Effects no longer occur and area overlays are removed +Removes weather from processing completely

start +

+

Starts the actual weather and effects from it

+

Updates area overlays and sends sounds and messages to mobs to notify them +Begins dealing effects from weather to mobs in the area

telegraph +

+

Telegraphs the beginning of the weather on the impacted z levels

+

Sends sounds and details to mobs in the area +Calculates duration and hit areas, and makes a callback for the actual weather to start

update_areas +

+

Updates the overlays on impacted areas

weather_act +

+

Affects the mob with whatever the weather does

wind_down +

+

Weather enters the winding down phase, stops effects

+

Updates areas to be in the winding down phase +Sends sounds and messages to mobs to notify them

+ + + diff --git a/datum/wires.html b/datum/wires.html new file mode 100644 index 00000000000..70d1b669c6c --- /dev/null +++ b/datum/wires.html @@ -0,0 +1,35 @@ + + + + + + + /datum/wires - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

wires + + + +

+ + +

Procs

emp_pulseCalled from [/atom/proc/emp_act]

Proc Details

emp_pulse +

+

Called from [/atom/proc/emp_act]

+ + + diff --git a/datum/wound.html b/datum/wound.html new file mode 100644 index 00000000000..d752bef3e6f --- /dev/null +++ b/datum/wound.html @@ -0,0 +1,397 @@ + + + + + + + /datum/wound - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

wound + + + +

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

Vars

a_or_fromneeded for "your arm has a compound fracture" vs "your arm has some third degree burns"
already_scarredIf we've already tried scarring while removing (since remove_wound calls qdel, and qdel calls remove wound, .....) TODO: make this cleaner
attached_surgeryIf we're operating on this wound and it gets healed, we'll nix the surgery too
base_treat_timeHow long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery
blood_flowHow much we're contributing to this limb's bleed_rate
cryo_progressif you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * 25 power
damage_mulitplier_penaltyIncoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).
descThe description shown on the scanners
disablingIf having this wound makes currently makes the parent bodypart unusable
examine_descWhat the limb looks like on a cursory examine
from_smiteIf we forced this wound through badmin smite, we won't count it towards the round totals
interaction_efficiency_penaltyUsing this limb in a do_after interaction will multiply the length by this duration (arms)
limbThe bodypart we're parented to
limp_slowdownIf set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg
nameWhat it's named
occur_textThe visible message when this happens
processesIf we need to process each life tick
scar_keywordWhat kind of scars this wound will create description wise once healed
severityEither WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)
sound_effectThis sound will be played upon the wound being applied
status_effect_typeWhat status effect we assign on application
threshold_minimumThe minimum we need to roll on /obj/item/bodypart/proc/check_wounding to begin suffering this wound, see check_wounding_mods() for more
threshold_penaltyHow much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage
treat_textThe basic treatment suggested by health analyzers
treatable_bySpecific items such as bandages or sutures that can try directly treating this wound
treatable_by_grabbedSpecific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher
treatable_toolTools with the specified tool flag will also be able to try directly treating this wound
viable_zonesWhat body zones can we affect
victimWho owns the body part that we're wounding
wound_flagsWhat flags apply to this wound
wound_typeThe list of wounds it belongs in, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN

Procs

apply_woundapply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.
check_grab_treatmentsReturn TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat
crushCalled when we're crushed in an airlock or firedoor, for one of the improvised joint dislocation fixes
drag_bleed_amountUsed when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood
get_examine_descriptionget_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.
handle_processIf var/processing is TRUE, this is run on each life tick
on_stasisCalled when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them
on_synthfleshWhen synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future
on_xadoneCalled from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh
receive_damageWhen our parent bodypart is hurt
remove_woundRemove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim
replace_woundreplace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)
second_windAdditional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand
still_existsFor use in do_after callback checks
treatSomeone is using something that might be used for treating the wound on this limb
try_handlingLike try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example.
try_treatingtry_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.
wound_injuryThe immediate negative effects faced as a result of the wound
+

Var Details

a_or_from + + + + +

+

needed for "your arm has a compound fracture" vs "your arm has some third degree burns"

already_scarred + + + + +

+

If we've already tried scarring while removing (since remove_wound calls qdel, and qdel calls remove wound, .....) TODO: make this cleaner

attached_surgery + + + + +

+

If we're operating on this wound and it gets healed, we'll nix the surgery too

base_treat_time + + + + +

+

How long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery

blood_flow + + + + +

+

How much we're contributing to this limb's bleed_rate

cryo_progress + + + + +

+

if you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * 25 power

damage_mulitplier_penalty + + + + +

+

Incoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).

desc + + + + +

+

The description shown on the scanners

disabling + + + + +

+

If having this wound makes currently makes the parent bodypart unusable

examine_desc + + + + +

+

What the limb looks like on a cursory examine

from_smite + + + + +

+

If we forced this wound through badmin smite, we won't count it towards the round totals

interaction_efficiency_penalty + + + + +

+

Using this limb in a do_after interaction will multiply the length by this duration (arms)

limb + + + + +

+

The bodypart we're parented to

limp_slowdown + + + + +

+

If set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg

name + + + + +

+

What it's named

occur_text + + + + +

+

The visible message when this happens

processes + + + + +

+

If we need to process each life tick

scar_keyword + + + + +

+

What kind of scars this wound will create description wise once healed

severity + + + + +

+

Either WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)

sound_effect + + + + +

+

This sound will be played upon the wound being applied

status_effect_type + + + + +

+

What status effect we assign on application

threshold_minimum + + + + +

+

The minimum we need to roll on /obj/item/bodypart/proc/check_wounding to begin suffering this wound, see check_wounding_mods() for more

threshold_penalty + + + + +

+

How much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage

treat_text + + + + +

+

The basic treatment suggested by health analyzers

treatable_by + + + + +

+

Specific items such as bandages or sutures that can try directly treating this wound

treatable_by_grabbed + + + + +

+

Specific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher

treatable_tool + + + + +

+

Tools with the specified tool flag will also be able to try directly treating this wound

viable_zones + + + + +

+

What body zones can we affect

victim + + + + +

+

Who owns the body part that we're wounding

wound_flags + + + + +

+

What flags apply to this wound

wound_type + + + + +

+

The list of wounds it belongs in, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN

Proc Details

apply_wound +

+

apply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.

+

Arguments:

+

check_grab_treatments +

+

Return TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat

crush +

+

Called when we're crushed in an airlock or firedoor, for one of the improvised joint dislocation fixes

drag_bleed_amount +

+

Used when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood

get_examine_description +

+

get_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.

+

Return the full string line you want to show, note that we're already dealing with the 'warning' span at this point, and that \n is already appended for you in the place this is called from

+

Arguments:

+

handle_process +

+

If var/processing is TRUE, this is run on each life tick

on_stasis +

+

Called when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them

on_synthflesh +

+

When synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future

on_xadone +

+

Called from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh

receive_damage +

+

When our parent bodypart is hurt

remove_wound +

+

Remove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim

replace_wound +

+

replace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)

+

This proc actually instantiates the new wound based off the specific type path passed, then returns the new instantiated wound datum.

+

Arguments:

+

second_wind +

+

Additional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand

still_exists +

+

For use in do_after callback checks

treat +

+

Someone is using something that might be used for treating the wound on this limb

try_handling +

+

Like try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example.

try_treating +

+

try_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.

+

This proc leads into /datum/wound/proc/treat and probably shouldn't be added onto in children types. You can specify what items or tools you want to be intercepted +with var/list/treatable_by and var/treatable_tool, then if an item fulfills one of those requirements and our wound claims it first, it goes over to treat() and treat_self().

+

Arguments:

+

wound_injury +

+

The immediate negative effects faced as a result of the wound

+ + + diff --git a/datum/wound/blunt.html b/datum/wound/blunt.html new file mode 100644 index 00000000000..45dd049f0ee --- /dev/null +++ b/datum/wound/blunt.html @@ -0,0 +1,113 @@ + + + + + + + /datum/wound/blunt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

blunt + + + +

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

Vars

active_traumaIf we suffer severe head booboos, we can get brain traumas tied to them
brain_trauma_groupWhat brain trauma group, if any, we can draw from for head wounds
gelledHave we been bone gel'd?
internal_bleeding_chanceIf this is a chest wound and this is set, we have this chance to cough up blood when hit in the chest
next_trauma_cycleIf we deal brain traumas, when is the next one due?
regen_points_currentOur current counter for gel + surgical tape regeneration
regen_points_neededIf we did the gel + surgical tape healing method for fractures, how many regen points we need
tapedHave we been taped?
trauma_cycle_cooldownHow long do we wait +/- 20% for the next trauma?

Procs

attack_with_hurt_handIf we're a human who's punching something with a broken arm, we might hurt ourselves doing so
gelif someone is using bone gel on our wound
tapeif someone is using surgical tape on our wound
+

Var Details

active_trauma + + + + +

+

If we suffer severe head booboos, we can get brain traumas tied to them

brain_trauma_group + + + + +

+

What brain trauma group, if any, we can draw from for head wounds

gelled + + + + +

+

Have we been bone gel'd?

internal_bleeding_chance + + + + +

+

If this is a chest wound and this is set, we have this chance to cough up blood when hit in the chest

next_trauma_cycle + + + + +

+

If we deal brain traumas, when is the next one due?

regen_points_current + + + + +

+

Our current counter for gel + surgical tape regeneration

regen_points_needed + + + + +

+

If we did the gel + surgical tape healing method for fractures, how many regen points we need

taped + + + + +

+

Have we been taped?

trauma_cycle_cooldown + + + + +

+

How long do we wait +/- 20% for the next trauma?

Proc Details

attack_with_hurt_hand +

+

If we're a human who's punching something with a broken arm, we might hurt ourselves doing so

gel +

+

if someone is using bone gel on our wound

tape +

+

if someone is using surgical tape on our wound

+ + + diff --git a/datum/wound/blunt/moderate.html b/datum/wound/blunt/moderate.html new file mode 100644 index 00000000000..131cbdc15d5 --- /dev/null +++ b/datum/wound/blunt/moderate.html @@ -0,0 +1,42 @@ + + + + + + + /datum/wound/blunt/moderate - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

moderate + + + +

+ + + +

Procs

chiropracticeIf someone is snapping our dislocated joint back into place by hand with an aggro grab and help intent
malpracticeIf someone is snapping our dislocated joint into a fracture by hand with an aggro grab and harm or disarm intent

Proc Details

chiropractice +

+

If someone is snapping our dislocated joint back into place by hand with an aggro grab and help intent

malpractice +

+

If someone is snapping our dislocated joint into a fracture by hand with an aggro grab and harm or disarm intent

+ + + diff --git a/datum/wound/burn.html b/datum/wound/burn.html new file mode 100644 index 00000000000..7024a73da36 --- /dev/null +++ b/datum/wound/burn.html @@ -0,0 +1,92 @@ + + + + + + + /datum/wound/burn - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

burn + + + +

+ + + + + + + + + + +

Vars

flesh_damageHow much damage to our flesh we currently have. Once both this and infestation reach 0, the wound is considered healed
flesh_healingOur current counter for how much flesh regeneration we have stacked from regenerative mesh/synthflesh/whatever, decrements each tick and lowers flesh_damage
infestationOur current level of infection
infestation_rateHow quickly infection breeds on this burn if we don't have disinfectant
sanitizationOur current level of sanitization/anti-infection, from disinfectants/alcohol/UV lights. While positive, totally pauses and slowly reverses infestation effects each tick
strikes_to_lose_limbOnce we reach infestation beyond WOUND_INFESTATION_SEPSIS, we get this many warnings before the limb is completely paralyzed (you'd have to ignore a really bad burn for a really long time for this to happen)

Procs

meshif someone is using mesh on our burns
ointmentif someone is using ointment on our burns
uvParamedic UV penlights
+

Var Details

flesh_damage + + + + +

+

How much damage to our flesh we currently have. Once both this and infestation reach 0, the wound is considered healed

flesh_healing + + + + +

+

Our current counter for how much flesh regeneration we have stacked from regenerative mesh/synthflesh/whatever, decrements each tick and lowers flesh_damage

infestation + + + + +

+

Our current level of infection

infestation_rate + + + + +

+

How quickly infection breeds on this burn if we don't have disinfectant

sanitization + + + + +

+

Our current level of sanitization/anti-infection, from disinfectants/alcohol/UV lights. While positive, totally pauses and slowly reverses infestation effects each tick

strikes_to_lose_limb + + + + +

+

Once we reach infestation beyond WOUND_INFESTATION_SEPSIS, we get this many warnings before the limb is completely paralyzed (you'd have to ignore a really bad burn for a really long time for this to happen)

Proc Details

mesh +

+

if someone is using mesh on our burns

ointment +

+

if someone is using ointment on our burns

uv +

+

Paramedic UV penlights

+ + + diff --git a/datum/wound/loss.html b/datum/wound/loss.html new file mode 100644 index 00000000000..d85cd2bcff4 --- /dev/null +++ b/datum/wound/loss.html @@ -0,0 +1,35 @@ + + + + + + + /datum/wound/loss - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

loss + + + +

+ + +

Procs

apply_dismemberOur special proc for our special dismembering, the wounding type only matters for what text we have

Proc Details

apply_dismember +

+

Our special proc for our special dismembering, the wounding type only matters for what text we have

+ + + diff --git a/datum/wound/pierce.html b/datum/wound/pierce.html new file mode 100644 index 00000000000..dcf94eecc34 --- /dev/null +++ b/datum/wound/pierce.html @@ -0,0 +1,71 @@ + + + + + + + /datum/wound/pierce - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

pierce + + + +

+ + + + + + + +

Vars

gauzed_clot_rateIf gauzed, what percent of the internal bleeding actually clots of the total absorption rate
initial_flowHow much blood we start losing when this wound is first applied
internal_bleeding_chanceWhen hit on this bodypart, we have this chance of losing some blood + the incoming damage
internal_bleeding_coefficientIf we let off blood when hit, the max blood lost is this * the incoming damage

Procs

sutureIf someone is using a suture to close this cut
tool_cauterizeIf someone is using either a cautery tool or something with heat to cauterize this pierce
+

Var Details

gauzed_clot_rate + + + + +

+

If gauzed, what percent of the internal bleeding actually clots of the total absorption rate

initial_flow + + + + +

+

How much blood we start losing when this wound is first applied

internal_bleeding_chance + + + + +

+

When hit on this bodypart, we have this chance of losing some blood + the incoming damage

internal_bleeding_coefficient + + + + +

+

If we let off blood when hit, the max blood lost is this * the incoming damage

Proc Details

suture +

+

If someone is using a suture to close this cut

tool_cauterize +

+

If someone is using either a cautery tool or something with heat to cauterize this pierce

+ + + diff --git a/datum/wound/slash.html b/datum/wound/slash.html new file mode 100644 index 00000000000..c3f36e08f66 --- /dev/null +++ b/datum/wound/slash.html @@ -0,0 +1,106 @@ + + + + + + + /datum/wound/slash - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

slash + + + +

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

Vars

clot_rateHow fast our blood flow will naturally decrease per tick, not only do larger cuts bleed more faster, they clot slower
demotes_toOnce the blood flow drops below minimum_flow, we demote it to this type of wound. If there's none, we're all better
highest_flowThe maximum flow we've had so far
highest_scarA bad system I'm using to track the worst scar we earned (since we can demote, we want the biggest our wound has been, not what it was when it was cured (probably moderate))
initial_flowHow much blood we start losing when this wound is first applied
max_per_typeHow much staunching per type (cautery, suturing, bandaging) you can have before that type is no longer effective for this cut NOT IMPLEMENTED
minimum_flowWhen we have less than this amount of flow, either from treatment or clotting, we demote to a lower cut or are healed of the wound

Procs

las_cauterizeIf someone's putting a laser gun up to our cut to cauterize it
lick_woundsif a felinid is licking this cut to reduce bleeding
sutureIf someone is using a suture to close this cut
tool_cauterizeIf someone is using either a cautery tool or something with heat to cauterize this cut
+

Var Details

clot_rate + + + + +

+

How fast our blood flow will naturally decrease per tick, not only do larger cuts bleed more faster, they clot slower

demotes_to + + + + +

+

Once the blood flow drops below minimum_flow, we demote it to this type of wound. If there's none, we're all better

highest_flow + + + + +

+

The maximum flow we've had so far

highest_scar + + + + +

+

A bad system I'm using to track the worst scar we earned (since we can demote, we want the biggest our wound has been, not what it was when it was cured (probably moderate))

initial_flow + + + + +

+

How much blood we start losing when this wound is first applied

max_per_type + + + + +

+

How much staunching per type (cautery, suturing, bandaging) you can have before that type is no longer effective for this cut NOT IMPLEMENTED

minimum_flow + + + + +

+

When we have less than this amount of flow, either from treatment or clotting, we demote to a lower cut or are healed of the wound

Proc Details

las_cauterize +

+

If someone's putting a laser gun up to our cut to cauterize it

lick_wounds +

+

if a felinid is licking this cut to reduce bleeding

suture +

+

If someone is using a suture to close this cut

tool_cauterize +

+

If someone is using either a cautery tool or something with heat to cauterize this cut

+ + + diff --git a/dmdoc.css b/dmdoc.css new file mode 100644 index 00000000000..f43e551129d --- /dev/null +++ b/dmdoc.css @@ -0,0 +1,108 @@ +body { + margin: auto; + background: #f4f4f4; + color: #333333; + font-size: 16px; + line-height: 1.3; + max-width: 73%; + overflow-y: scroll; +} +pre, code { + background: white; + tab-size: 4; + -moz-tab-size: 4; +} +pre { + padding: 8px; + white-space: pre-wrap; +} +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 00000000000..6bf31f7e944 --- /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 00000000000..c190e8538b5 Binary files /dev/null and b/git.png differ diff --git a/global.html b/global.html new file mode 100644 index 00000000000..a69d6f593d7 --- /dev/null +++ b/global.html @@ -0,0 +1,1479 @@ + + + + + + + (global) - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

(global) + + + +

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

Vars

FailsafeFailsafe
MasterStonedMC
SSfastprocessobj/item/weapon/implant/integrated_circuit
SSrunechat
SStguitgui subsystem
SStimer

Procs

CreateBansDEBUG
GetJobNameGets the job title, if the job name is an alt title, locates the original title using a prebuilt cache
HeapPathWeightCompareTODO: Macro this to reduce proc overhead
WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
___TraitAddDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
___TraitRemoveDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
_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.
_turf_in_offsetLocating turfs
actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
add_keybindingAdds an instanced keybinding to the global tracker
add_verbhandles adding verbs and updating the stat panel browser
announce_arrivalSend a message in common radio when a player arrives
baseturfs_string_listA wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues
block_calculate_resultant_damageConsiders a block return_list and calculates damage to use from that.
callHook@file hooks.dm +Implements hooks, a simple way to run code on pre-defined events.
call_emergency_meetingIf the announcer overrides alert messages, use that message. +Summon the crew for an emergency meeting
callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
check_admin_pingsChecks a given message to see if any of the words contain an active admin's ckey with an @ before it
color_matrix_contrast_percentExxagerates or removes brightness
color_matrix_hsvBuilds a color matrix that transforms the hue, saturation, and value, all in one operation.
color_matrix_rotationMoves all colors angle degrees around the color wheel while maintaining intensity of the color and not affecting whites +TODO: Need a version that only affects one color (ie shift red to blue but leave greens and blues alone)
color_matrix_saturation_percentExxagerates or removes colors
completed_bounty_countSubtype Gens
create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.
create_strippable_listCreates an assoc list of keys to /datum/strippable_item
cultslurMakes you talk like you got cult stunned, which is slurring but with some dark messages
dd_file2listReading files
dd_hasprefixPrefix checking
dd_hassuffixSuffix checking
dd_replacetextReplacing text
dd_text2listTurning text into lists
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
emissive_appearanceProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.
end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
english_list_assocEnglish_list but associative supporting. Higher overhead. +@depricated
find_recordReturns datum/data/record
finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
format_frequencyFormat frequency by moving the decimal.
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
generate_chemwiki_linedatum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium, +datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi, /datum/reagent/drug, /datum/reagent/impure
generate_selectable_speciesGenerates species available to choose in character setup at roundstart
get_allowed_instrument_idsGet all non admin_only instruments.
get_atom_on_turfReturns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.
get_base_areaReturns the base area the target is located in if there is one. +Alternatively, returns the area as is.
get_bbox_of_atomsGet a bounding box of a list of atoms.
get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_path_toThis file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.
get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
get_sub_areasReturns either null, or a list containing every sub area associated with our base area. +If include_base is TRUE, the base area will also be added to the return list.
get_sub_areas_contentsSimple proc that returns a sum of all contents from every sub area, +Think of the above but for all contents, not just turfs, and without target z.
get_sub_areas_turfsProc used for purposes similar to get_areas_turfs(), but aimed to include associated areas. +Only accepts area instances and paths for the first arg, no text strings. +Returns a list of all turfs found in the sub areas (including the base's if include_base is TRUE) +and located in a z level matching target_z, or anywhere if target_z is 0
get_vog_specialget special role multiplier for voice of god. No double dipping.
getleftblocksDNA HELPER-PROCS
hull_shielding_get_tiles_around_areaHELPER FILE FOR SHIELDING +Gets hull exterior adjacent tiles of a certain area +Area method. +EXPENSIVE. +If the area itself is already considered exterior, it'll find all tiles inside it that's next to an interior area.
hull_shielding_get_tiles_in_zGets hull adjacent exterior tiles of an entire zlevel +EXPENSIVE. +Gets the tiles in the exterior area touching to a non-exterior area
icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
init_keybindingsCreates and sorts all the keybinding datums
is_ctf_targethey uhhh don't hit anyone behind them
is_energy_reflectable_projectile//// MISC HELPERS //////// +Is this atom reflectable with ""standardized"" reflection methods like you know eshields and deswords and similar
is_guest_keyReturns whether or not a player is a guest using their ckey as an input
isemptylist@depricated
json_deserialize_datumConvert a list of json to datum
json_serialize_datumConvert a datum into a json blob
listgetindex@depricated
load_mapShortcut function to parse a map and apply it to the world.
log_combatLog a combat message in the attack log
log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
log_tguiAppends a tgui-related log entry. All arguments are optional.
log_woundlog_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over
make_datum_references_listsInitial Building
md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
md5filepathReturns the md5 of a file at a given path.
message_centcomUsed by communications consoles to message CentCom
message_syndicateUsed by communications consoles to message the Syndicate
message_to_htmlMessage-related procs
movespeed_data_null_checkChecks if a move speed modifier is valid and not missing any data
nuke_requestUsed by communications consoles to request the nuclear launch codes
parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
pick_n_takePick a random element from the list and remove it from the list.
process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
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_organ_check
release_gas_toReleases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure. +a global proc due to rustmos
remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
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_unused_frequencyreturns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
rgb_construct_color_matrixAssembles a color matrix, defaulting to identity
rgba_construct_color_matrixAssembles a color matrix, defaulting to identity
rustg_get_versionGets the version of rust_g
safepick@depricated
sanitize_css_class_nameSandstorm content +Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts
sanitize_frequencyEnsure the frequency is within bounds of what it should be sending/receiving at
sanitize_hexcolorSanitizes a hexadecimal color. Always outputs lowercase.
sanitize_ooccolorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
seedifyFinds and extracts seeds from an object
send2adminchatSends a message to TGS admin chat channels.
send2chatSends a message to TGS chat channels.
send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
single_path_typecache_immutableMakes a typecache of a single typecache
slurMakes you speak like you're drunk
sound_to_playing_playersCitadel edit - Citadel reverb +End
starsConvert random parts of a passed in message to stars
start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
string_listCaches lists with non-numeric stringify-able values (text or typepath).
stripped_multiline_input_or_reflectstripped_multiline_input but reflects to the user instead if it's too big and returns null.
stutterAdds stuttering to the message passed in
tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
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.
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.
transform_matrix_constructconstructs a transform matrix, defaulting to identity
typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list
ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
ui_status_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
ui_status_user_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
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.
unformat_frequencyOpposite of format, returns as a number
url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
valid_window_locationChecks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.
velvetspeechFermiChem
voice_of_godVOICE OF GOD
wave_explosionCreates a wave explosion at a certain place
woundscanDisplays wounds with extended information on their status vs medscanners
zone2body_parts_coveredFor finding out what body parts a body zone covers, the inverse of the below basically
+

Var Details

Failsafe + + + + +

+

Failsafe

+

Pretty much pokes the MC to make sure it's still alive.

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

SSfastprocess + + + + +

+

obj/item/weapon/implant/integrated_circuit

SSrunechat + + + + +

+

Runechat Subsystem

+

Maintains a timer-like system to handle destruction of runechat messages. Much of this code is modeled +after or adapted from the timer subsystem.

+

Note that this has the same structure for storing and queueing messages as the timer subsystem does +for handling timers: the bucket_list is a list of chatmessage datums, each of which are the head +of a circularly linked list. Any given index in bucket_list could be null, representing an empty bucket.

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 circular doubly-linked +lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a circular list, which has prev +and next references for the respective elements in that bucket's circular list.

Proc Details

CreateBans +

+

DEBUG

GetJobName +

+

Gets the job title, if the job name is an alt title, locates the original title using a prebuilt cache

HeapPathWeightCompare +

+

TODO: Macro this to reduce proc overhead

WrapAdminProcCall +

+

Wrapper for proccalls where the datum is flagged as vareditted

___TraitAdd +

+

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

___TraitRemove +

+

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

_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:

+

_turf_in_offset +

+

Locating turfs

actionspeed_data_null_check +

+

Checks if a action speed modifier is valid and not missing any data

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:

+

announce_arrival +

+

Send a message in common radio when a player arrives

baseturfs_string_list +

+

A wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues

block_calculate_resultant_damage +

+

Considers a block return_list and calculates damage to use from that.

callHook +

+

@file hooks.dm +Implements hooks, a simple way to run code on pre-defined events.

+ +

Calls a hook, executing every piece of code that's attached to it. +@param hook Identifier of the hook to call. +@returns 1 if all hooked code runs successfully, 0 otherwise.

call_emergency_meeting +

+

If the announcer overrides alert messages, use that message. +Summon the crew for an emergency meeting

+

Teleports the crew to a specified area, and tells everyone (via an announcement) who called the meeting. Should only be used during april fools! +Arguments:

+

callback_select +

+

Runs a list of callbacks asyncronously, returning only when all have finished

+

Callbacks can be repeated, to call it multiple times

+

Arguments:

+

check_admin_pings +

+

Checks a given message to see if any of the words contain an active admin's ckey with an @ before it

+

Returns nothing if no pings are found, otherwise returns an associative list with ckey -> client +Also modifies msg to underline the pings, then stores them in the key ADMINSAY_PING_UNDERLINE_NAME_INDEX for returning

+

Arguments:

+

color_matrix_contrast_percent +

+

Exxagerates or removes brightness

color_matrix_hsv +

+

Builds a color matrix that transforms the hue, saturation, and value, all in one operation.

color_matrix_rotation +

+

Moves all colors angle degrees around the color wheel while maintaining intensity of the color and not affecting whites +TODO: Need a version that only affects one color (ie shift red to blue but leave greens and blues alone)

color_matrix_saturation_percent +

+

Exxagerates or removes colors

completed_bounty_count +

+

Subtype Gens

+

Strict Type Gens

+

Dynamic Gens

+

Cutoff for Non-Low Priority Bounties

+

Low Priority Gens

create_mafia_game +

+

Creates the global datum for playing mafia games, destroys the last if that's required and returns the new.

create_strippable_list +

+

Creates an assoc list of keys to /datum/strippable_item

cultslur +

+

Makes you talk like you got cult stunned, which is slurring but with some dark messages

dd_file2list +

+

Reading files

dd_hasprefix +

+

Prefix checking

dd_hassuffix +

+

Suffix checking

dd_replacetext +

+

Replacing text

dd_text2list +

+

Turning text into lists

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:

+

emissive_appearance +

+

Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.

end_cooldown +

+

Callback called by a timer to end an associative-list-indexed cooldown.

+

Arguments:

+ +

This sends a signal reporting the cooldown end.

english_list_assoc +

+

English_list but associative supporting. Higher overhead. +@depricated

find_record +

+

Returns datum/data/record

finish_unequip_mob +

+

A utility function for /datum/strippable_items to finish unequipping an item from a mob.

firing_squad +

+

firing_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense

+

Hilariously, if you drag someone away mid smite, the bullets will still chase after them from the original spot, possibly hitting other people. Too funny to fix imo

+

Arguments:

+

format_frequency +

+

Format frequency by moving the decimal.

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

generate_chemwiki_line +

+

datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium, +datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi, /datum/reagent/drug, /datum/reagent/impure

generate_selectable_species +

+

Generates species available to choose in character setup at roundstart

+

This proc generates which species are available to pick from in character setup. +If there are no available roundstart species, defaults to human.

get_allowed_instrument_ids +

+

Get all non admin_only instruments.

get_atom_on_turf +

+

Returns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.

+

Arguments

+

get_base_area +

+

Returns the base area the target is located in if there is one. +Alternatively, returns the area as is.

get_bbox_of_atoms +

+

Get a bounding box of a list of atoms.

+

Arguments:

+ +

Returns: list(x1, y1, x2, y2)

get_cached_actionspeed_modifier +

+

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_cached_movespeed_modifier +

+

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_path_to +

+

This file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.

+

This is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing". +If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing.

+

Arguments:

+

get_ranged_target_turf_direct +

+

Get ranged target turf, but with direct targets as opposed to directions

+

Starts at atom A and gets the exact angle between A and target +Moves from A with that angle, Range amount of times, until it stops, bound to map size +Arguments:

+

get_sub_areas +

+

Returns either null, or a list containing every sub area associated with our base area. +If include_base is TRUE, the base area will also be added to the return list.

get_sub_areas_contents +

+

Simple proc that returns a sum of all contents from every sub area, +Think of the above but for all contents, not just turfs, and without target z.

get_sub_areas_turfs +

+

Proc used for purposes similar to get_areas_turfs(), but aimed to include associated areas. +Only accepts area instances and paths for the first arg, no text strings. +Returns a list of all turfs found in the sub areas (including the base's if include_base is TRUE) +and located in a z level matching target_z, or anywhere if target_z is 0

get_vog_special +

+

get special role multiplier for voice of god. No double dipping.

getleftblocks +

+

DNA HELPER-PROCS

hull_shielding_get_tiles_around_area +

+

HELPER FILE FOR SHIELDING +Gets hull exterior adjacent tiles of a certain area +Area method. +EXPENSIVE. +If the area itself is already considered exterior, it'll find all tiles inside it that's next to an interior area.

hull_shielding_get_tiles_in_z +

+

Gets hull adjacent exterior tiles of an entire zlevel +EXPENSIVE. +Gets the tiles in the exterior area touching to a non-exterior area

icon2base64 +

+

Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)

init_keybindings +

+

Creates and sorts all the keybinding datums

is_ctf_target +

+

hey uhhh don't hit anyone behind them

is_energy_reflectable_projectile +

+

//// MISC HELPERS //////// +Is this atom reflectable with ""standardized"" reflection methods like you know eshields and deswords and similar

is_guest_key +

+

Returns whether or not a player is a guest using their ckey as an input

isemptylist +

+

@depricated

json_deserialize_datum +

+

Convert a list of json to datum

json_serialize_datum +

+

Convert a datum into a json blob

listgetindex +

+

@depricated

load_map +

+

Shortcut function to parse a map and apply it to the world.

+

log_combat +

+

Log a combat message in the attack log

+

Arguments:

+

log_suspicious_login +

+

Writes to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.

+

Mirrors this log entry to log_access when access_log_mirror is TRUE, so this proc +doesn't need to be used alongside log_access and can replace it where appropriate.

log_tgui +

+

Appends a tgui-related log entry. All arguments are optional.

log_wound +

+

log_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over

+

Note that this has no info on the attack that dealt the wound: information about where damage came from isn't passed to the bodypart's damaged proc. When in doubt, check the attack log for attacks at that same time +TODO later: Add logging for healed wounds, though that will require some rewriting of healing code to prevent admin heals from spamming the logs. Not high priority

+

Arguments:

+

make_datum_references_lists +

+

Initial Building

md5asfile +

+

Save file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.

md5filepath +

+

Returns the md5 of a file at a given path.

message_centcom +

+

Used by communications consoles to message CentCom

message_syndicate +

+

Used by communications consoles to message the Syndicate

message_to_html +

+

Message-related procs

+

Message format (/list):

+ +

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

movespeed_data_null_check +

+

Checks if a move speed modifier is valid and not missing any data

nuke_request +

+

Used by communications consoles to request the nuclear launch codes

parse_caught_click_modifiers +

+

Returns a turf based on text inputs, original turf and viewing client

pick_n_take +

+

Pick a random element from the list and remove it from the list.

process_teleport_locs +

+

Generate a list of turfs you can teleport to from the areas list

+

Includes areas if they're not a shuttle or not not teleport or have no contents

+

The chosen turf is the first item in the areas contents that is a station level

+

The returned list of turfs is sorted by name

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_organ_check +

+

release_gas_to +

+

Releases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure. +a global proc due to rustmos

remove_image_from_client +

+

Removes an image from a client's .images. Useful as a callback.

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_unused_frequency +

+

returns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE

rgb_construct_color_matrix +

+

Assembles a color matrix, defaulting to identity

rgba_construct_color_matrix +

+

Assembles a color matrix, defaulting to identity

rustg_get_version +

+

Gets the version of rust_g

safepick +

+

@depricated

sanitize_css_class_name +

+

Sandstorm content +Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts

sanitize_frequency +

+

Ensure the frequency is within bounds of what it should be sending/receiving at

sanitize_hexcolor +

+

Sanitizes a hexadecimal color. Always outputs lowercase.

+

@params

+

sanitize_ooccolor +

+

Makes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY

scramble_message_replace_chars +

+

Slightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!

seedify +

+

Finds and extracts seeds from an object

+

Checks if the object is such that creates a seed when extracted. Used by seed +extractors or posably anything that would create seeds in some way. The seeds +are dropped either at the extractor, if it exists, or where the original object +was and it qdel's the object

+

Arguments:

+

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).

send2otherserver +

+

Sends a message to a set of cross-communications-enabled servers using world topic calls

+

Arguments:

+

setup_mod_themes +

+

Global proc that sets up all MOD themes as singletons in a list and returns it.

single_path_typecache_immutable +

+

Makes a typecache of a single typecache

+

Obviously in BYOND we don't have the efficiency around here to have proper enforcement so +If you use this you better know what you're doing. The list you get back is globally cached and if it's modified, you might break multiple things.

slur +

+

Makes you speak like you're drunk

sound_to_playing_players +

+

Citadel edit - Citadel reverb +End

stars +

+

Convert random parts of a passed in message to stars

+ +

This proc is dangerously laggy, avoid it or die

start_unequip_mob +

+

A utility function for /datum/strippable_items to start unequipping an item from a mob.

string_list +

+

Caches lists with non-numeric stringify-able values (text or typepath).

stripped_multiline_input_or_reflect +

+

stripped_multiline_input but reflects to the user instead if it's too big and returns null.

stutter +

+

Adds stuttering to the message passed in

tgalert +

+

DEPRECATED: USE tgui_alert(...) INSTEAD

+

Designed as a drop in replacement for alert(); functions the same. (outside of needing User specified) +Arguments:

+

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:

+

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:

+

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:

+

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:

+

timeleft +

+

Get the remaining deciseconds on a timer

+

Arguments:

+

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.

transform_matrix_construct +

+

constructs a transform matrix, defaulting to identity

typecacheof +

+

Like typesof() or subtypesof(), but returns a typecache instead of a list

ui_status_only_living +

+

Returns a UI status such that the dead will be able to watch, but not interact.

ui_status_silicon_has_access +

+

Returns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.

ui_status_user_has_free_hands +

+

Returns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.

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.

unformat_frequency +

+

Opposite of format, returns as a number

url2htmlloader +

+

Return html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.

valid_window_location +

+

Checks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.

+

Returns FALSE if the target turf cannot accept a directional window or railing. +Returns TRUE otherwise.

+

Arguments:

+

velvetspeech +

+

FermiChem

voice_of_god +

+

VOICE OF GOD

wave_explosion +

+

Creates a wave explosion at a certain place

woundscan +

+

Displays wounds with extended information on their status vs medscanners

zone2body_parts_covered +

+

For finding out what body parts a body zone covers, the inverse of the below basically

+ + + diff --git a/index.html b/index.html new file mode 100644 index 00000000000..75422239f9e --- /dev/null +++ b/index.html @@ -0,0 +1,3198 @@ + + + + + + + Index - Nostra-13 + + + + + +
+ Nostra-13 - + Modules - + Types +
+
+

Nostra-13

+ + + +

Modules +

+ + + + +

Types +

+ + + +
+ + + diff --git a/mob.html b/mob.html new file mode 100644 index 00000000000..01fd5c3def0 --- /dev/null +++ b/mob.html @@ -0,0 +1,1090 @@ + + + + + + + /mob - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob + + + +

+ +

CLICKDELAY HANDLING SYSTEM +How this works is mobs can never do actions until their next_action is at or below world.time, but things can specify extra cooldown +to check for either from the time of last_action or from the end of next_action.

+

Clickdelay should always be checked via [CheckActionCooldown()], never manually!

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

Vars

LAssailantThe last mob/living/carbon to push/drag/grab this mob (mostly used by slimes friend recognition)
ability_actionsability = action button instance.
ability_propertiesability = list(data). see __DEFINES/mobs/innate_abilities.dm
action_cooldown_adjustSimple modification variable added to amount on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified via addition.
action_cooldown_modSimple modification variable multiplied to next action modifier on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified using multipliers.
actionspeed_mod_immunitiesList of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)
actionspeed_modificationList of action speed modifiers applying to this mob
cached_multiplicative_actions_slowdownThe calculated mob action speed slowdown based on the modifiers list
cached_multiplicative_slowdownThe calculated mob speed slowdown based on the modifiers list
deathsoundThe sound made on death
do_aftersFor storing what do_after's someone has, in case we want to restrict them to only one of a certain do_after at a time
examine_cursor_iconCursor icon used when holding shift over things
focusWhat receives our keyboard input. src by default.
fullscreensFullscreen objects
innate_abilitiesAbility system based on action buttons. Can be ported to base /mob or /mob/living later if needed, easily - the procs are currently on living/carbon/human/innate_abilities.dm +datum traits-style lazylist of abilities
is_shiftedWhether the mob is pixel shifted or not
last_actionGeneric clickdelay variable. Marks down the last world.time we did something that should cause or impact generic clickdelay. This should be directly set or set using [DelayNextAction()]. This should only be checked using [CheckActionCooldown()].
last_action_immediateThe difference between the above and this is this is set immediately before even the pre-attack begins to ensure clickdelay is respected. +Then, it is flushed or discarded using [FlushLastAttack()] or [DiscardLastAttack()] respectively.
mob_transformingWhether or not the mob is currently being transformed into another mob or into another state of being. This will prevent it from moving or doing realistically anything. +Don't you DARE use this for a cheap way to ensure someone is stunned in your code.
mock_clientA mock client, provided by tests and friends
movespeed_mod_immunitiesList of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)
movespeed_modificationList of movement speed modifiers applying to this mob
next_actionGeneric clickdelay variable. Next world.time we should be able to do something that respects generic clickdelay. This should be set using [DelayNextAction()] This should only be checked using [CheckActionCooldown()].
next_action_immediateDitto
next_resistMinimum world time for another resist. This should only be checked using [CheckResistCooldown()].
passthroughableTakes the four cardinal direction defines. Any atoms moving into this atom's tile will be allowed to from the added directions.
resist_cooldownHow long we should wait before allowing another resist. This should only be manually modified using multipliers.
shiftingIf we are in the shifting setting.
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
typing_indicator_currentCurrent state of our typing indicator. Used for cut overlay, DO NOT RUNTIME ASSIGN OTHER THAN FROM SHOW/CLEAR. Used to absolutely ensure we do not get stuck overlays.
typing_indicator_enabled////TYPING INDICATORS/////// +Set to true if we want to show typing indicators.
typing_indicator_stateDefault icon_state of our typing indicator. Currently only supports paths (because anything else is, as of time of typing this, unnecesary.
typing_indicator_timeridThe timer that will remove our indicator for early aborts (like when an user finishes their message)
unarmed_attack_speedDefault clickdelay for an UnarmedAttack() that successfully passes. Respects action_cooldown_mod.

Procs

CheckActionCooldownChecks if we can do another action. +Returns TRUE if we can and FALSE if we cannot.
CheckResistCooldownChecks if we can resist again.
CommonClickOnCommon mob click code
DelayNextActionApplies a delay to next_action before we can do our next action.
DiscardCurrentActionDiscards last_action and next_action
DizzySet the dizzyness of a mob to a passed in amount
EstimatedNextActionTimeGet estimated time of next attack.
FlushCurrentActionFlushes last_action and next_action
GetActionCooldownAdjustGets action_cooldown_adjust
GetActionCooldownModGets action_cooldown_mod.
JitterSet the jitter of a mob
MarkResistTimeMark the last resist as now.
Process_SpacemoveProcess_Spacemove +Called by /client/Move() +For moving in space +return TRUE for movement 0 for none
SetNextActionSets our next action to. The difference is DelayNextAction cannot reduce next_action under any circumstances while this can.
add_actionspeed_modifierAdd a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_movespeed_modifierAdd a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_to_alive_mob_listAdds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.
add_to_current_dead_playersAdds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.
add_to_current_living_antagsAdds the cliented mob reference to the list of living antag player-mobs.
add_to_current_living_playersAdds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.
add_to_dead_mob_listAdds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
add_to_mob_listAdds the mob reference to the list and directory of all mobs. Called on Initialize().
add_to_player_listAdds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().
adjust_blindnessAdjust a mobs blindness by an amount
adjust_blurrinessAdjust the current blurriness of the mobs vision by amount
adjust_bodytemperatureAdjust the body temperature of a mob, with min/max settings
adjust_disgustAdjust the disgust level of a mob
adjust_drugginessAdjust the drugginess of a mob
adjust_nutritionAdjust the nutrition of a mob
attempt_resist_grabProc to resist a grab. moving_resist is TRUE if this began by someone attempting to move. Return FALSE if still grabbed/failed to break out. Use this instead of resist_grab() directly.
audible_messageShow a message to all mobs in earshot of this one
blind_eyesSets a mob's blindness to an amount if it was not above it already, similar to how status effects work
blur_eyesMake the mobs vision blurry
can_resistSet position +Set rotation
check_obscured_slotsChecks for slots that are currently obscured by other garments.
clear_fullscreenWipes a fullscreen of a certain category
clear_typing_indicatorRemoves typing indicator.
create_chat_messageCreates a message overlay at a defined location for a given speaker
display_typing_indicatorDisplays typing indicator. +@param timeout_override - Sets how long until this will disappear on its own without the user finishing their message or logging out. Defaults to src.typing_indicator_timeout +@param state_override - Sets the state that we will fetch. Defaults to src.get_typing_indicator_icon_state() +@param force - shows even if src.typing_indcator_enabled is FALSE.
dispose_renderingdestroys screen rendering. call on mob del
equipped_speed_modsGets the combined speed modification of all worn items +Except base mob type doesnt really wear items
examinateExamine a mob
generate_typing_indicatorGenerates the mutable appearance for typing indicator. Should prevent stuck overlays.
get_ability_propertyGets an ability property
get_actionspeed_modifiersGet the action speed modifiers list of the mob
get_active_handGet the bodypart for whatever hand we have active, Only relevant for carbons
get_config_multiplicative_speedGet the global config movespeed of a mob by type
get_indicator_overlayFetches the typing indicator we'll use from GLOB.typing_indicator_overlays
get_movespeed_modifier_datumGets the movespeed modifier datum of a modifier on a mob. Returns null if not found. +DANGER: IT IS UP TO THE PERSON USING THIS TO MAKE SURE THE MODIFIER IS NOT MODIFIED IF IT HAPPENS TO BE GLOBAL/CACHED.
get_movespeed_modifiersGet the move speed modifiers list of the mob
get_num_held_itemsFind number of held items, multihand compatible
get_proc_holdersGets all relevant proc holders for the browser statpenl
get_spells_for_statpanelConvert a list of spells into a displyable list for the statpanel
get_status_tab_itemsAdds this list to the output to the stat browser
get_top_level_mobSUBTLE COMMAND
get_typing_indicator_icon_stateGets the state we will use for typing indicators. Defaults to src.typing_indicator_state
grant_ability_from_sourceGrants an ability from a source
handle_eye_contacthandle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last second within 5 tiles, we make eye contact!
has_actionspeed_modifierIs there a actionspeed modifier for this mob
has_movespeed_modifierIs there a movespeed modifier for this mob
hide_fullscreensRemoves fullscreens from client but not the mob
init_renderinginitializes screen rendering. call on mob new
initialize_actionspeedAdds a default action speed
interact_withAttempts to open the tgui menu
list_interaction_attributes
onShuttleMoveMob move procs
on_item_droppedMostly called by doUnEquip() +Like item dropped() on mob side.
overlay_fullscreenAdds a fullscreen overlay
pointedPoint at an atom
reload_fullscreenEnsures all fullscreens are on client.
reload_renderingloads screen rendering. call on mob login
remove_ability_from_sourceRemoves an ability from a source
remove_actionspeed_modifierRemove a action speed modifier from a mob, whether static or variable.
remove_from_alive_mob_listRemoves the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.
remove_from_current_dead_playersRemoves the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.
remove_from_current_living_antagsRemoves the mob reference from the list of living antag player-mobs.
remove_from_current_living_playersRemoves the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.
remove_from_dead_mob_listRemvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
remove_from_mob_listRemoves the mob reference from the list and directory of all mobs. Called on Destroy().
remove_from_player_listRemoves the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().
remove_movespeed_modifierRemove a move speed modifier from a mob, whether static or variable.
setGrabStateUpdates the grab state of the mob and updates movespeed
set_ability_propertySets an ability property
set_blindnessForce set the blindness of a mob to some level
set_blurrinessSet the mobs blurriness of vision to an amount
set_disgustSet the disgust level of a mob
set_dizzinessFOrce set the dizzyness of a mob
set_drugginessSet the drugginess of a mob
set_nutritionForce set the mob nutrition
set_speciesDNA MOB-PROCS
shared_ui_interactionpublic
shuttleRotateMob rotate procs
total_multiplicative_slowdownCalculate the total slowdown of all movespeed modifiers
update_actionspeedGo through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_blindnessproc that adds and removes blindness overlays when necessary
update_config_movespeedSet or update the global movespeed config on a mob
update_movespeedGo through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
visible_messageAdds the functionality to self_message.
vv_edit_varHandles the special case of editing the movement var
wipe_fullscreensWipes all fullscreens
+

Var Details

LAssailant + + + + +

+

The last mob/living/carbon to push/drag/grab this mob (mostly used by slimes friend recognition)

ability_actions + + + + +

+

ability = action button instance.

ability_properties + + + + +

+

ability = list(data). see __DEFINES/mobs/innate_abilities.dm

action_cooldown_adjust + + + + +

+

Simple modification variable added to amount on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified via addition.

action_cooldown_mod + + + + +

+

Simple modification variable multiplied to next action modifier on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified using multipliers.

actionspeed_mod_immunities + + + + +

+

List of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)

actionspeed_modification + + + + +

+

List of action speed modifiers applying to this mob

cached_multiplicative_actions_slowdown + + + + +

+

The calculated mob action speed slowdown based on the modifiers list

cached_multiplicative_slowdown + + + + +

+

The calculated mob speed slowdown based on the modifiers list

deathsound + + + + +

+

The sound made on death

+

leave null for no sound. used for *deathgasp

do_afters + + + + +

+

For storing what do_after's someone has, in case we want to restrict them to only one of a certain do_after at a time

examine_cursor_icon + + + + +

+

Cursor icon used when holding shift over things

focus + + + + +

+

What receives our keyboard input. src by default.

fullscreens + + + + +

+

Fullscreen objects

innate_abilities + + + + +

+

Ability system based on action buttons. Can be ported to base /mob or /mob/living later if needed, easily - the procs are currently on living/carbon/human/innate_abilities.dm +datum traits-style lazylist of abilities

is_shifted + + + + +

+

Whether the mob is pixel shifted or not

last_action + + + + +

+

Generic clickdelay variable. Marks down the last world.time we did something that should cause or impact generic clickdelay. This should be directly set or set using [DelayNextAction()]. This should only be checked using [CheckActionCooldown()].

last_action_immediate + + + + +

+

The difference between the above and this is this is set immediately before even the pre-attack begins to ensure clickdelay is respected. +Then, it is flushed or discarded using [FlushLastAttack()] or [DiscardLastAttack()] respectively.

mob_transforming + + + + +

+

Whether or not the mob is currently being transformed into another mob or into another state of being. This will prevent it from moving or doing realistically anything. +Don't you DARE use this for a cheap way to ensure someone is stunned in your code.

mock_client + + + + +

+

A mock client, provided by tests and friends

movespeed_mod_immunities + + + + +

+

List of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)

movespeed_modification + + + + +

+

List of movement speed modifiers applying to this mob

next_action + + + + +

+

Generic clickdelay variable. Next world.time we should be able to do something that respects generic clickdelay. This should be set using [DelayNextAction()] This should only be checked using [CheckActionCooldown()].

next_action_immediate + + + + +

+

Ditto

next_resist + + + + +

+

Minimum world time for another resist. This should only be checked using [CheckResistCooldown()].

passthroughable + + + + +

+

Takes the four cardinal direction defines. Any atoms moving into this atom's tile will be allowed to from the added directions.

resist_cooldown + + + + +

+

How long we should wait before allowing another resist. This should only be manually modified using multipliers.

shifting + + + + +

+

If we are in the shifting setting.

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.

typing_indicator_current + + + + +

+

Current state of our typing indicator. Used for cut overlay, DO NOT RUNTIME ASSIGN OTHER THAN FROM SHOW/CLEAR. Used to absolutely ensure we do not get stuck overlays.

typing_indicator_enabled + + + + +

+

////TYPING INDICATORS/////// +Set to true if we want to show typing indicators.

typing_indicator_state + + + + +

+

Default icon_state of our typing indicator. Currently only supports paths (because anything else is, as of time of typing this, unnecesary.

typing_indicator_timerid + + + + +

+

The timer that will remove our indicator for early aborts (like when an user finishes their message)

unarmed_attack_speed + + + + +

+

Default clickdelay for an UnarmedAttack() that successfully passes. Respects action_cooldown_mod.

Proc Details

CheckActionCooldown +

+

Checks if we can do another action. +Returns TRUE if we can and FALSE if we cannot.

+

@params

+

CheckResistCooldown +

+

Checks if we can resist again.

CommonClickOn +

+

Common mob click code

DelayNextAction +

+

Applies a delay to next_action before we can do our next action.

+

@params

+

DiscardCurrentAction +

+

Discards last_action and next_action

Dizzy +

+

Set the dizzyness of a mob to a passed in amount

+

Except if dizziness is already higher in which case it does nothing

EstimatedNextActionTime +

+

Get estimated time of next attack.

FlushCurrentAction +

+

Flushes last_action and next_action

GetActionCooldownAdjust +

+

Gets action_cooldown_adjust

GetActionCooldownMod +

+

Gets action_cooldown_mod.

Jitter +

+

Set the jitter of a mob

MarkResistTime +

+

Mark the last resist as now.

+

@params

+

Process_Spacemove +

+

Process_Spacemove +Called by /client/Move() +For moving in space +return TRUE for movement 0 for none

SetNextAction +

+

Sets our next action to. The difference is DelayNextAction cannot reduce next_action under any circumstances while this can.

add_actionspeed_modifier +

+

Add a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_movespeed_modifier +

+

Add a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_to_alive_mob_list +

+

Adds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.

add_to_current_dead_players +

+

Adds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.

add_to_current_living_antags +

+

Adds the cliented mob reference to the list of living antag player-mobs.

add_to_current_living_players +

+

Adds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.

add_to_dead_mob_list +

+

Adds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

add_to_mob_list +

+

Adds the mob reference to the list and directory of all mobs. Called on Initialize().

add_to_player_list +

+

Adds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().

adjust_blindness +

+

Adjust a mobs blindness by an amount

+

Will apply the blind alerts if needed

adjust_blurriness +

+

Adjust the current blurriness of the mobs vision by amount

adjust_bodytemperature +

+

Adjust the body temperature of a mob, with min/max settings

adjust_disgust +

+

Adjust the disgust level of a mob

adjust_drugginess +

+

Adjust the drugginess of a mob

adjust_nutrition +

+

Adjust the nutrition of a mob

attempt_resist_grab +

+

Proc to resist a grab. moving_resist is TRUE if this began by someone attempting to move. Return FALSE if still grabbed/failed to break out. Use this instead of resist_grab() directly.

audible_message +

+

Show a message to all mobs in earshot of this one

+

This would be for audible actions by the src mob

+

vars:

+

blind_eyes +

+

Sets a mob's blindness to an amount if it was not above it already, similar to how status effects work

blur_eyes +

+

Make the mobs vision blurry

can_resist +

+

Set position +Set rotation

check_obscured_slots +

+

Checks for slots that are currently obscured by other garments.

clear_fullscreen +

+

Wipes a fullscreen of a certain category

+

Second argument is for animation delay.

clear_typing_indicator +

+

Removes typing indicator.

create_chat_message +

+

Creates a message overlay at a defined location for a given speaker

+

Arguments:

+

display_typing_indicator +

+

Displays typing indicator. +@param timeout_override - Sets how long until this will disappear on its own without the user finishing their message or logging out. Defaults to src.typing_indicator_timeout +@param state_override - Sets the state that we will fetch. Defaults to src.get_typing_indicator_icon_state() +@param force - shows even if src.typing_indcator_enabled is FALSE.

dispose_rendering +

+

destroys screen rendering. call on mob del

equipped_speed_mods +

+

Gets the combined speed modification of all worn items +Except base mob type doesnt really wear items

examinate +

+

Examine a mob

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/examine()

generate_typing_indicator +

+

Generates the mutable appearance for typing indicator. Should prevent stuck overlays.

get_ability_property +

+

Gets an ability property

get_actionspeed_modifiers +

+

Get the action speed modifiers list of the mob

get_active_hand +

+

Get the bodypart for whatever hand we have active, Only relevant for carbons

get_config_multiplicative_speed +

+

Get the global config movespeed of a mob by type

get_indicator_overlay +

+

Fetches the typing indicator we'll use from GLOB.typing_indicator_overlays

get_movespeed_modifier_datum +

+

Gets the movespeed modifier datum of a modifier on a mob. Returns null if not found. +DANGER: IT IS UP TO THE PERSON USING THIS TO MAKE SURE THE MODIFIER IS NOT MODIFIED IF IT HAPPENS TO BE GLOBAL/CACHED.

get_movespeed_modifiers +

+

Get the move speed modifiers list of the mob

get_num_held_items +

+

Find number of held items, multihand compatible

get_proc_holders +

+

Gets all relevant proc holders for the browser statpenl

get_spells_for_statpanel +

+

Convert a list of spells into a displyable list for the statpanel

+

Shows charge and other important info

get_status_tab_items +

+

Adds this list to the output to the stat browser

get_top_level_mob +

+

SUBTLE COMMAND

get_typing_indicator_icon_state +

+

Gets the state we will use for typing indicators. Defaults to src.typing_indicator_state

grant_ability_from_source +

+

Grants an ability from a source

handle_eye_contact +

+

handle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last second within 5 tiles, we make eye contact!

+

Note that if either party has their face obscured, the other won't get the notice about the eye contact +Also note that examine_more() doesn't proc this or extend the timer, just because it's simpler this way and doesn't lose much. +The nice part about relying on examining is that we don't bother checking visibility, because we already know they were both visible to each other within the last second, and the one who triggers it is currently seeing them

has_actionspeed_modifier +

+

Is there a actionspeed modifier for this mob

has_movespeed_modifier +

+

Is there a movespeed modifier for this mob

hide_fullscreens +

+

Removes fullscreens from client but not the mob

init_rendering +

+

initializes screen rendering. call on mob new

initialize_actionspeed +

+

Adds a default action speed

interact_with +

+

Attempts to open the tgui menu

list_interaction_attributes +

+
# Interactions code by HONKERTRON feat TestUnit
+
+

onShuttleMove +

+

Mob move procs

on_item_dropped +

+

Mostly called by doUnEquip() +Like item dropped() on mob side.

overlay_fullscreen +

+

Adds a fullscreen overlay

+

@params

+

pointed +

+

Point at an atom

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/pointed()

+

note: ghosts can point, this is intended

+

visible_message will handle invisibility properly

+

overridden here and in /mob/dead/observer for different point span classes and sanity checks

reload_fullscreen +

+

Ensures all fullscreens are on client.

reload_rendering +

+

loads screen rendering. call on mob login

remove_ability_from_source +

+

Removes an ability from a source

remove_actionspeed_modifier +

+

Remove a action speed modifier from a mob, whether static or variable.

remove_from_alive_mob_list +

+

Removes the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.

remove_from_current_dead_players +

+

Removes the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.

remove_from_current_living_antags +

+

Removes the mob reference from the list of living antag player-mobs.

remove_from_current_living_players +

+

Removes the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.

remove_from_dead_mob_list +

+

Remvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

remove_from_mob_list +

+

Removes the mob reference from the list and directory of all mobs. Called on Destroy().

remove_from_player_list +

+

Removes the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().

remove_movespeed_modifier +

+

Remove a move speed modifier from a mob, whether static or variable.

setGrabState +

+

Updates the grab state of the mob and updates movespeed

set_ability_property +

+

Sets an ability property

set_blindness +

+

Force set the blindness of a mob to some level

set_blurriness +

+

Set the mobs blurriness of vision to an amount

set_disgust +

+

Set the disgust level of a mob

set_dizziness +

+

FOrce set the dizzyness of a mob

set_drugginess +

+

Set the drugginess of a mob

set_nutrition +

+

Force set the mob nutrition

set_species +

+

DNA MOB-PROCS

shared_ui_interaction +

+

public

+

Standard interaction/sanity checks. Different mob types may have overrides.

+

return UI_state The state of the UI.

shuttleRotate +

+

Mob rotate procs

total_multiplicative_slowdown +

+

Calculate the total slowdown of all movespeed modifiers

update_actionspeed +

+

Go through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_blindness +

+

proc that adds and removes blindness overlays when necessary

update_config_movespeed +

+

Set or update the global movespeed config on a mob

update_movespeed +

+

Go through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

visible_message +

+

Adds the functionality to self_message.

vv_edit_var +

+

Handles the special case of editing the movement var

wipe_fullscreens +

+

Wipes all fullscreens

+ + + diff --git a/mob/dead/new_player.html b/mob/dead/new_player.html new file mode 100644 index 00000000000..d26c6ae9b97 --- /dev/null +++ b/mob/dead/new_player.html @@ -0,0 +1,49 @@ + + + + + + + /mob/dead/new_player - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

new_player + + + +

+ + + + +

Procs

respawn_latejoin_checkChecks if we can latejoin on the currently selected slot, taking into account respawn status.
vote_on_irv_pollProcesses vote form data and saves results to the database for an IRV type poll.
vote_on_multi_pollProcesses vote form data and saves results to the database for a multiple choice type poll.

Proc Details

respawn_latejoin_check +

+

Checks if we can latejoin on the currently selected slot, taking into account respawn status.

vote_on_irv_poll +

+

Processes vote form data and saves results to the database for an IRV type poll.

vote_on_multi_poll +

+

Processes vote form data and saves results to the database for a multiple choice type poll.

+ + + diff --git a/mob/dead/observer.html b/mob/dead/observer.html new file mode 100644 index 00000000000..56157d7910c --- /dev/null +++ b/mob/dead/observer.html @@ -0,0 +1,57 @@ + + + + + + + /mob/dead/observer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

observer + + + +

+ + + + + +

Procs

do_respawnHandles respawning
respawnAttempts to respawn.
time_left_to_respawnGets time left until we can respawn. Returns 0 if we can respawn now.
transfer_to_lobbyActual proc that removes us and puts us back on lobby

Proc Details

do_respawn +

+

Handles respawning

respawn +

+

Attempts to respawn.

time_left_to_respawn +

+

Gets time left until we can respawn. Returns 0 if we can respawn now.

transfer_to_lobby +

+

Actual proc that removes us and puts us back on lobby

+

Returns the new mob.

+ + + diff --git a/mob/living.html b/mob/living.html new file mode 100644 index 00000000000..1075b5cdf91 --- /dev/null +++ b/mob/living.html @@ -0,0 +1,719 @@ + + + + + + + /mob/living - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

living + + + +

+ +

Mob Living

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

Vars

active_block_itemThe item the user is actively blocking with if any.
active_parry_itemThe itme the user is currently parrying with, if any.
block_parry_dataOur block_parry_data for unarmed blocks/parries. Currently only used for parrying, as unarmed block isn't implemented yet. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!
buckle_message_cooldownNext world.time when we can get the "you can't move while buckled to [thing]" message.
combat_flags/ CITADEL STATION COMBAT //// +See __DEFINES/combat.dm
combatmessagecooldownNext world.time when we will show a visible message on entering combat mode voluntarily again.
default_block_parry_dataDefault
last_autoparryLast autoparry
next_preyloopNext time vore sounds get played for the prey, do not change manually as it is intended to be set automatically
parry_end_time_lastworld.time of last parry end
parry_start_timeworld.time of parry action start
parry_visual_effectCurrent parry effect.
parryingWhether or not the user is in the middle of an active parry. Set to UNARMED_PARRY, [ITEM_PARRY], [MARTIAL_PARRY] if parrying.
pugilist_block_parry_dataIf we're a pugilist
stamina_bufferOur stamina buffer
stamina_buffer_last_useLast time we used stamina buffer
stamina_buffer_regen_lastLast time stamina buffer regen was done
stamina_buffer_regen_modStamina buffer regen modifier
successful_parriesSuccessful parries within the current parry cycle. It's a list of efficiency percentages.
successful_parry_counterattacksCurrent parry counterattacks. Makes sure we can only counterattack someone once per parry.
vore_organsList of vore containers inside a mob
vore_selectedDefault to no vore capability.
vore_smellWhat the character smells like
vore_tasteWhat the character tastes like

Procs

BiologicalLifeHandles biological life processes like chemical metabolism, breathing, etc +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.
HealAllImmobilityUpToMakes sure all 5 of the non-knockout immobilizing status effects are lower or equal to amount.
IsDazedDAZED
IsFrozenFROZEN
IsImmobilizedIMMOBILIZED
IsKnockdownKNOCKDOWN
IsParalyzedPARALYZED
IsSleepingSLEEPING
IsStaggeredSTAGGERED
IsStunSTUN
IsUnconsciousUNCONSCIOUS
LifeCalled by SSmobs at an interval of 2 seconds. +Splits off into PhysicalLife() and BiologicalLife(). Override those instead of this.
PhysicalLifeHandles physical life processes like being on fire. Don't ask why this is considered "Life". +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.
RechargeStaminaBufferBoosts our stamina buffer by this much.
ShoveOffBalanceOFF BALANCE/SHOVIES
UpdateStaminaBufferUpdates our stamina buffer amount.
UseStaminaBufferAttempts to use an amount of stamina from our stamina buffer. +Does not use anything if we don't have enough.
active_block_effect_endVisual effect cleanup for starting a directional block
active_block_effect_startVisual effect setup for starting a directional block
active_parry_reflex_counterCalled when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.
add_movespeed_mod_immunitiesIgnores specific slowdowns. Accepts a list of slowdowns.
add_quirkDISABILITIES
add_stun_absorptionSTUN ABSORPTION
apply_damageApplies damage to this mob
attempt_auto_parryAttempts to automatically parry an attacker.
bleedDragAmountReturns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail]
can_move_under_livingwhether or not we can slide under another living mob. defaults to if we're not dense. CanPass should check "overriding circumstances" like buckled mobs/having PASSMOB flag, etc.
check_unarmed_parry_activation_specialCheck if we can unarmed parry
cure_blindTRAIT PROCS
determine_parry_methodMassive snowflake proc for getting something to parry with.
do_resistThe actual proc for resisting. Return TRUE to give CLICK_CD_RESIST clickdelay.
do_run_block
electrocute_actAs the name suggests, this should be called to apply electric shocks.
end_parry_sequenceCalled via timer when the parry sequence ends.
find_active_block_itemGets the first item we can that can block, but if that fails, default to active held item.COMSIG_ENABLE_COMBAT_MODE
find_backup_parry_itemTries to find a backup parry item. +Does not look at active held item.
get_blocking_itemsGets an unsortedlist of objects to run block checks on. List must have associative values for priorities!
get_equipped_itemsUsed to return a list of equipped items on a mob; does not include held items (use get_all_gear)
get_parry_dataGets the datum/block_parry_data we're going to use to parry.
get_parry_stageGets the stage of our parry sequence we're currently in.
get_parry_timeGets the current decisecond "frame" of an active parry.
handle_block_parryCalled every life tick to handle blocking/parrying effects.
handle_parry_ending_effectsHandles ending effects for parrying.
handle_parry_starting_effectsHandles starting effects for parrying.
handle_post_sexHandles the sex, if cumming returns true.
hasparasitesparasite tracking/finding procs
hud_set_nanite_indicatorDiagnostic HUDs!
ignore_slowdownIgnores all slowdowns that lack the IGNORE_NOSLOW flag.
initiate_parry_sequenceInitiates a parrying sequence.
is_barefootAre we wearing something that covers our shoes?
is_bottomlessAre we wearing something that covers our groin?
is_toplessAre we wearing something that covers our chest?
keybind_parryCalled from keybindings.
keybind_start_active_blockingProc called by keybindings to start active blocking.
keybind_stop_active_blockingProc called by keybindings to stop active blocking.
keybind_toggle_active_blockingProc called by keybindings to toggle active blocking.
remove_movespeed_mod_immunitiesUnignores specific slowdowns. Accepts a list of slowdowns.
resistResist verb for attempting to get out of whatever is restraining your motion. Gives you resist clickdelay if do_resist() returns true.
run_parrysame return values as normal blocking, called with absolute highest priority in the block "chain".
run_parry_countereffectsRun counterattack if any
shared_living_ui_distancepublic
subtleVERB CODE
subtlerVERB CODE 2
subtler_tableVERB CODE 3
transfer_blood_toBLOOD TRANSFERS
unignore_slowdownUnignores all slowdowns that lack the IGNORE_NOSLOW flag.
update_sizeReturns false on failure
+

Var Details

active_block_item + + + + +

+

The item the user is actively blocking with if any.

active_parry_item + + + + +

+

The itme the user is currently parrying with, if any.

block_parry_data + + + + +

+

Our block_parry_data for unarmed blocks/parries. Currently only used for parrying, as unarmed block isn't implemented yet. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!

buckle_message_cooldown + + + + +

+

Next world.time when we can get the "you can't move while buckled to [thing]" message.

combat_flags + + + + +

+

/ CITADEL STATION COMBAT //// +See __DEFINES/combat.dm

combatmessagecooldown + + + + +

+

Next world.time when we will show a visible message on entering combat mode voluntarily again.

default_block_parry_data + + + + +

+

Default

last_autoparry + + + + +

+

Last autoparry

next_preyloop + + + + +

+

Next time vore sounds get played for the prey, do not change manually as it is intended to be set automatically

parry_end_time_last + + + + +

+

world.time of last parry end

parry_start_time + + + + +

+

world.time of parry action start

parry_visual_effect + + + + +

+

Current parry effect.

parrying + + + + +

+

Whether or not the user is in the middle of an active parry. Set to UNARMED_PARRY, [ITEM_PARRY], [MARTIAL_PARRY] if parrying.

pugilist_block_parry_data + + + + +

+

If we're a pugilist

stamina_buffer + + + + +

+

Our stamina buffer

stamina_buffer_last_use + + + + +

+

Last time we used stamina buffer

stamina_buffer_regen_last + + + + +

+

Last time stamina buffer regen was done

stamina_buffer_regen_mod + + + + +

+

Stamina buffer regen modifier

successful_parries + + + + +

+

Successful parries within the current parry cycle. It's a list of efficiency percentages.

successful_parry_counterattacks + + + + +

+

Current parry counterattacks. Makes sure we can only counterattack someone once per parry.

vore_organs + + + + +

+

List of vore containers inside a mob

vore_selected + + + + +

+

Default to no vore capability.

vore_smell + + + + +

+

What the character smells like

vore_taste + + + + +

+

What the character tastes like

Proc Details

BiologicalLife +

+

Handles biological life processes like chemical metabolism, breathing, etc +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.

HealAllImmobilityUpTo +

+

Makes sure all 5 of the non-knockout immobilizing status effects are lower or equal to amount.

IsDazed +

+

DAZED

IsFrozen +

+

FROZEN

IsImmobilized +

+

IMMOBILIZED

IsKnockdown +

+

KNOCKDOWN

IsParalyzed +

+

PARALYZED

IsSleeping +

+

SLEEPING

IsStaggered +

+

STAGGERED

IsStun +

+

STUN

IsUnconscious +

+

UNCONSCIOUS

Life +

+

Called by SSmobs at an interval of 2 seconds. +Splits off into PhysicalLife() and BiologicalLife(). Override those instead of this.

PhysicalLife +

+

Handles physical life processes like being on fire. Don't ask why this is considered "Life". +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.

RechargeStaminaBuffer +

+

Boosts our stamina buffer by this much.

ShoveOffBalance +

+

OFF BALANCE/SHOVIES

UpdateStaminaBuffer +

+

Updates our stamina buffer amount.

UseStaminaBuffer +

+

Attempts to use an amount of stamina from our stamina buffer. +Does not use anything if we don't have enough.

+

Returns TRUE or FALSE based on if we have it.

active_block_effect_end +

+

Visual effect cleanup for starting a directional block

active_block_effect_start +

+

Visual effect setup for starting a directional block

active_parry_reflex_counter +

+

Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.

add_movespeed_mod_immunities +

+

Ignores specific slowdowns. Accepts a list of slowdowns.

add_quirk +

+

DISABILITIES

add_stun_absorption +

+

STUN ABSORPTION

apply_damage +

+

Applies damage to this mob

+

Sends [COMSIG_MOB_APPLY_DAMAGE]

+

Arguuments:

+ +

Returns TRUE if damage applied

attempt_auto_parry +

+

Attempts to automatically parry an attacker.

bleedDragAmount +

+

Returns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail]

can_move_under_living +

+

whether or not we can slide under another living mob. defaults to if we're not dense. CanPass should check "overriding circumstances" like buckled mobs/having PASSMOB flag, etc.

check_unarmed_parry_activation_special +

+

Check if we can unarmed parry

cure_blind +

+

TRAIT PROCS

determine_parry_method +

+

Massive snowflake proc for getting something to parry with.

+

@return list of [method, data, tool], where method is the parry method define, data is the block_parry_data var that must be run through return_block_parry_data, and tool is the concept/object/martial art/etc used.

do_resist +

+

The actual proc for resisting. Return TRUE to give CLICK_CD_RESIST clickdelay.

do_run_block +

+

electrocute_act +

+

As the name suggests, this should be called to apply electric shocks.

end_parry_sequence +

+

Called via timer when the parry sequence ends.

find_active_block_item +

+

Gets the first item we can that can block, but if that fails, default to active held item.COMSIG_ENABLE_COMBAT_MODE

find_backup_parry_item +

+

Tries to find a backup parry item. +Does not look at active held item.

get_blocking_items +

+

Gets an unsortedlist of objects to run block checks on. List must have associative values for priorities!

get_equipped_items +

+

Used to return a list of equipped items on a mob; does not include held items (use get_all_gear)

+

Argument(s):

+

get_parry_data +

+

Gets the datum/block_parry_data we're going to use to parry.

get_parry_stage +

+

Gets the stage of our parry sequence we're currently in.

get_parry_time +

+

Gets the current decisecond "frame" of an active parry.

handle_block_parry +

+

Called every life tick to handle blocking/parrying effects.

handle_parry_ending_effects +

+

Handles ending effects for parrying.

handle_parry_starting_effects +

+

Handles starting effects for parrying.

handle_post_sex +

+

Handles the sex, if cumming returns true.

hasparasites +

+

parasite tracking/finding procs

hud_set_nanite_indicator +

+

Diagnostic HUDs!

ignore_slowdown +

+

Ignores all slowdowns that lack the IGNORE_NOSLOW flag.

initiate_parry_sequence +

+

Initiates a parrying sequence.

is_barefoot +

+

Are we wearing something that covers our shoes?

is_bottomless +

+

Are we wearing something that covers our groin?

is_topless +

+

Are we wearing something that covers our chest?

keybind_parry +

+

Called from keybindings.

keybind_start_active_blocking +

+

Proc called by keybindings to start active blocking.

keybind_stop_active_blocking +

+

Proc called by keybindings to stop active blocking.

keybind_toggle_active_blocking +

+

Proc called by keybindings to toggle active blocking.

remove_movespeed_mod_immunities +

+

Unignores specific slowdowns. Accepts a list of slowdowns.

resist +

+

Resist verb for attempting to get out of whatever is restraining your motion. Gives you resist clickdelay if do_resist() returns true.

run_parry +

+

same return values as normal blocking, called with absolute highest priority in the block "chain".

run_parry_countereffects +

+

Run counterattack if any

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.

subtle +

+

VERB CODE

subtler +

+

VERB CODE 2

subtler_table +

+

VERB CODE 3

transfer_blood_to +

+

BLOOD TRANSFERS

unignore_slowdown +

+

Unignores all slowdowns that lack the IGNORE_NOSLOW flag.

update_size +

+

Returns false on failure

+ + + diff --git a/mob/living/brain.html b/mob/living/brain.html new file mode 100644 index 00000000000..eca2ea72cf9 --- /dev/null +++ b/mob/living/brain.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/brain - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

brain + + + +

+ + + +

Procs

blind_eyesEYE_BLIND
blur_eyesEYE_BLURRY

Proc Details

blind_eyes +

+

EYE_BLIND

blur_eyes +

+

EYE_BLURRY

+ + + diff --git a/mob/living/carbon.html b/mob/living/carbon.html new file mode 100644 index 00000000000..faa9b3e1d96 --- /dev/null +++ b/mob/living/carbon.html @@ -0,0 +1,240 @@ + + + + + + + /mob/living/carbon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

carbon + + + +

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

Vars

all_scarsAll of the scars a carbon has afflicted throughout their limbs
all_woundsAll of the wounds a carbon has afflicted throughout their limbs
cold_protectionProtection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection
heat_protectionProtection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection
transformation_timerTimer id of any transformation

Procs

adjustOrganLoss
check_self_for_injuriesCheck ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel
check_virusMedical HUD! Basic mode needs suit sensors on.
doSprintLossTilesSprint buffer
electrocute_actAdds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.
generate_fake_scarsgenerate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake)
getOrganLoss
get_biological_stateget_biological_state is a helper used to see what kind of wounds we roll for. By default we just assume carbons (read:monkeys) are flesh and bone, but humans rely on their species datums
get_traumasTRAUMAS
get_wounded_bodypartsReturns a list of bodyparts with wounds (in case someone has a wound on an otherwise fully healed limb)
giveProc called when offering an item to another player
humanizeHumanize
immortalityFor the Wishgranter
remove_all_embedded_objectsRemove all embedded objects from all limbs on the carbon mob
remove_embedded_objectRemove a specific embedded item from the carbon mob
secondary_shockCalled slightly after electrocute act to reduce jittering and apply a secondary stun.
setOrganLoss
takeProc called when the player clicks the give alert
take_overall_damagedamage MANY bodyparts, in random order
+

Var Details

all_scars + + + + +

+

All of the scars a carbon has afflicted throughout their limbs

all_wounds + + + + +

+

All of the wounds a carbon has afflicted throughout their limbs

cold_protection + + + + +

+

Protection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection

heat_protection + + + + +

+

Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection

transformation_timer + + + + +

+

Timer id of any transformation

Proc Details

adjustOrganLoss +

+

check_self_for_injuries +

+

Check ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel

check_virus +

+

Medical HUD! Basic mode needs suit sensors on.

doSprintLossTiles +

+

Sprint buffer

electrocute_act +

+

Adds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.

generate_fake_scars +

+

generate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake)

+

If you want a specific wound scar, pass that wound type as the second arg, otherwise you can pass a list like WOUND_LIST_SLASH to generate a random cut scar.

+

Arguments:

+

getOrganLoss +

+

get_biological_state +

+

get_biological_state is a helper used to see what kind of wounds we roll for. By default we just assume carbons (read:monkeys) are flesh and bone, but humans rely on their species datums

+

go look at the species def for more info /datum/species/proc/get_biological_state

get_traumas +

+

TRAUMAS

get_wounded_bodyparts +

+

Returns a list of bodyparts with wounds (in case someone has a wound on an otherwise fully healed limb)

give +

+

Proc called when offering an item to another player

+

This handles creating an alert and adding an overlay to it

humanize +

+

Humanize

immortality +

+

For the Wishgranter

remove_all_embedded_objects +

+

Remove all embedded objects from all limbs on the carbon mob

remove_embedded_object +

+

Remove a specific embedded item from the carbon mob

secondary_shock +

+

Called slightly after electrocute act to reduce jittering and apply a secondary stun.

setOrganLoss +

+

take +

+

Proc called when the player clicks the give alert

+

Handles checking if the player taking the item has open slots and is in range of the offerer +Also deals with the actual transferring of the item to the players hands +Arguments:

+

take_overall_damage +

+

damage MANY bodyparts, in random order

+ + + diff --git a/mob/living/carbon/alien.html b/mob/living/carbon/alien.html new file mode 100644 index 00000000000..a989110f3ed --- /dev/null +++ b/mob/living/carbon/alien.html @@ -0,0 +1,66 @@ + + + + + + + /mob/living/carbon/alien - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

alien + + + +

+ + + + + + +

Vars

can_ventcrawlWhether they can ventcrawl; this is set individually for 'humanoid' and 'royal' types +'royal' types (Praetorian, Queen) cannot ventcrawl
meleeKnockdownPowerHow much power they have for DefaultCombatKnockdown when attacking humans
meleeSlashHumanPowerHow much brute damage without armor piercing they do against mobs in melee
meleeSlashSAPowerHow much brute damage they do to simple animals

Procs

update_damage_overlaysSTUN
+

Var Details

can_ventcrawl + + + + +

+

Whether they can ventcrawl; this is set individually for 'humanoid' and 'royal' types +'royal' types (Praetorian, Queen) cannot ventcrawl

meleeKnockdownPower + + + + +

+

How much power they have for DefaultCombatKnockdown when attacking humans

meleeSlashHumanPower + + + + +

+

How much brute damage without armor piercing they do against mobs in melee

meleeSlashSAPower + + + + +

+

How much brute damage they do to simple animals

Proc Details

update_damage_overlays +

+

STUN

+ + + diff --git a/mob/living/carbon/human.html b/mob/living/carbon/human.html new file mode 100644 index 00000000000..d0aff51e9ab --- /dev/null +++ b/mob/living/carbon/human.html @@ -0,0 +1,169 @@ + + + + + + + /mob/living/carbon/human - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

human + + + +

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

Vars

afk_theftsWhen an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds
combat_flagsEnable stamina combat
grad_colorColour used for the hair gradient.
grad_styleStyle used for the hair gradient.

Procs

canUseHUDHUDs
clothingonpartGet all the clothing on a specific body part
copy_clothing_prefscopies over clothing preferences like underwear to another human
electrocute_actCalculates the siemens coeff based on clothing and species, can also restart hearts.
format_scarsFor use formatting all of the scars this human has for saving for persistent scarring
get_equipped_itemsUsed to return a list of equipped items on a human mob; does not include held items (use get_all_gear)
handle_fireFIRE CODE
load_scarTakes a single scar from the persistent scar loader and recreates it from the saved data
sec_hud_set_IDSecurity HUDs! Basic mode shows only the job.
socks_hiddenProc to check if socks are hidden.
something_horribleDNA HELPER-PROCS
spec_trait_examine_font
undershirt_hiddenProc to check if undershirt is hidden.
underwear_hiddenProc to check if underwear is hidden.
+

Var Details

afk_thefts + + + + +

+

When an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds

combat_flags + + + + +

+

Enable stamina combat

grad_color + + + + +

+

Colour used for the hair gradient.

grad_style + + + + +

+

Style used for the hair gradient.

Proc Details

canUseHUD +

+

HUDs

clothingonpart +

+

Get all the clothing on a specific body part

copy_clothing_prefs +

+

copies over clothing preferences like underwear to another human

electrocute_act +

+

Calculates the siemens coeff based on clothing and species, can also restart hearts.

format_scars +

+

For use formatting all of the scars this human has for saving for persistent scarring

get_equipped_items +

+

Used to return a list of equipped items on a human mob; does not include held items (use get_all_gear)

+

Argument(s):

+

handle_fire +

+

FIRE CODE

load_scar +

+

Takes a single scar from the persistent scar loader and recreates it from the saved data

sec_hud_set_ID +

+

Security HUDs! Basic mode shows only the job.

socks_hidden +

+

Proc to check if socks are hidden.

something_horrible +

+

DNA HELPER-PROCS

spec_trait_examine_font +

+

spec_trait_examine_font()

+

This gets a humanoid's special examine font, which is used to color their species name during examine / health analyzing. +The first of these that applies is returned. +Returns:

+

undershirt_hidden +

+

Proc to check if undershirt is hidden.

underwear_hidden +

+

Proc to check if underwear is hidden.

+ + + diff --git a/mob/living/silicon.html b/mob/living/silicon.html new file mode 100644 index 00000000000..3bcd3b3f01a --- /dev/null +++ b/mob/living/silicon.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/silicon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

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/silicon/ai.html b/mob/living/silicon/ai.html new file mode 100644 index 00000000000..31de57c2d3b --- /dev/null +++ b/mob/living/silicon/ai.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/silicon/ai - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ai + + + +

+ + + +

Vars

alert_controlStation alert datum for showing alerts UI
lastlocremember AI's last location
+

Var Details

alert_control + + + + +

+

Station alert datum for showing alerts UI

lastloc + + + + +

+

remember AI's last location

+ + + diff --git a/mob/living/silicon/robot.html b/mob/living/silicon/robot.html new file mode 100644 index 00000000000..d48800807fb --- /dev/null +++ b/mob/living/silicon/robot.html @@ -0,0 +1,430 @@ + + + + + + + /mob/living/silicon/robot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

robot + + + +

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

Vars

can_ride_typecacheWhat types of mobs are allowed to ride/buckle to this mob
disabled_modulesFor checking which modules are disabled or not.
identRandom serial number generated for each cyborg upon its initialization
lampButtonLamp button reference
lamp_colorSet lamp color
lamp_doomSet to true if a doomsday event is locking our lamp to on and RED
lamp_enabledIf the lamp is turned on
lamp_functionalIf the lamp isn't broken.
lamp_intensityLamp brightness. Starts at 3, but can be 1 - 5.
modularInterfaceThe reference to the built-in tablet that borgs carry.
openedIf this is a path, this gets created as an object in Initialize.
previous_healththe last health before updating - to check net change in health
vtec_disabledvtec shorted out

Procs

ExitedChecking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.
activate_moduleFinds the first available slot and attemps to put item item_module in it.
activatedChecks if the item is currently in a slot.
add_to_upgradesUse this to add upgrades to robots. It'll register signals for when the upgrade is moved or deleted, if not single use.
break_all_cyborg_slotsBreaks all of a cyborg's slots.
break_cyborg_slotBreaks the slot number, changing the icon.
cycle_modulesCycles through the list of enabled modules, deselecting the current one and selecting the next one.
deploy_initdeploy_init: Deploys AI unit into AI shell
deselect_moduleDeselects the module in the slot module_num. +Arguments
equip_module_to_slotWhat's the first free slot for the borg? +Is passed an item and a module slot. Equips the item to that borg slot.
get_active_held_itemReturns the thing in our active hand (whatever is in our active module-slot, in this case)
get_selected_moduleThe number of module slots we're checking +Returns the slot number of the selected module, or zero if no modules are selected.
is_invalid_module_numberChecks if the provided module number is a valid number.
logeventRecords an IC event log entry in the cyborg's internal tablet.
make_shellmake_shell: Makes an AI shell out of a cyborg unit
observer_screen_updateUpdates the observers's screens with cyborg itemss. +Arguments
on_upgrade_deletedCalled when an applied upgrade is deleted.
remove_from_upgradesCalled when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.
repair_all_cyborg_slotsRepairs all slots. Unbroken slots are unaffected.
repair_cyborg_slotRepairs the slot number, updating the icon.
revert_shellrevert_shell: Reverts AI shell back into a normal cyborg unit
select_moduleSelects the module in the slot module_num. +Arguments
smash_headlampHandles headlamp smashing
toggle_genderAllows "cyborg" players to change gender at will
toggle_headlampHandles headlamp toggling, disabling, and color setting.
toggle_moduleToggles selection of the module in the slot module_num. +Arguments
uneq_activeUnequips the active held item, if there is one.
uneq_allUnequips all held items.
unequip_module_from_slotUnequips item item_module from slot module_num. Deletes it if delete_after = TRUE.
update_iconsthis is bad code
update_sightthe current percent health of the robot (-1 to 1)
+

Var Details

can_ride_typecache + + + + +

+

What types of mobs are allowed to ride/buckle to this mob

disabled_modules + + + + +

+

For checking which modules are disabled or not.

ident + + + + +

+

Random serial number generated for each cyborg upon its initialization

lampButton + + + + +

+

Lamp button reference

lamp_color + + + + +

+

Set lamp color

lamp_doom + + + + +

+

Set to true if a doomsday event is locking our lamp to on and RED

lamp_enabled + + + + +

+

If the lamp is turned on

lamp_functional + + + + +

+

If the lamp isn't broken.

lamp_intensity + + + + +

+

Lamp brightness. Starts at 3, but can be 1 - 5.

modularInterface + + + + +

+

The reference to the built-in tablet that borgs carry.

opened + + + + +

+

If this is a path, this gets created as an object in Initialize.

previous_health + + + + +

+

the last health before updating - to check net change in health

vtec_disabled + + + + +

+

vtec shorted out

Proc Details

Exited +

+

Checking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.

activate_module +

+

Finds the first available slot and attemps to put item item_module in it.

+

Arguments

+

activated +

+

Checks if the item is currently in a slot.

+

If the item is found in a slot, this returns TRUE. Otherwise, it returns FALSE +Modified to accept items inside of grippers, used for code\modules\tgui\states\hands.dm:27 +Arguments

+

add_to_upgrades +

+

Use this to add upgrades to robots. It'll register signals for when the upgrade is moved or deleted, if not single use.

break_all_cyborg_slots +

+

Breaks all of a cyborg's slots.

break_cyborg_slot +

+

Breaks the slot number, changing the icon.

+

Arguments

+

cycle_modules +

+

Cycles through the list of enabled modules, deselecting the current one and selecting the next one.

deploy_init +

+

deploy_init: Deploys AI unit into AI shell

+

Arguments:

+

deselect_module +

+

Deselects the module in the slot module_num. +Arguments

+

equip_module_to_slot +

+

What's the first free slot for the borg? +Is passed an item and a module slot. Equips the item to that borg slot.

+

Arguments

+

get_active_held_item +

+

Returns the thing in our active hand (whatever is in our active module-slot, in this case)

+

Arguments

+

get_selected_module +

+

The number of module slots we're checking +Returns the slot number of the selected module, or zero if no modules are selected.

is_invalid_module_number +

+

Checks if the provided module number is a valid number.

+

If the number is between 1 and 3 (if check_all_slots is true) or between 1 and the number of disabled +modules (if check_all_slots is false), then it returns FALSE. Otherwise, it returns TRUE. +Arguments

+

logevent +

+

Records an IC event log entry in the cyborg's internal tablet.

+

Creates an entry in the borglog list of the cyborg's internal tablet, listing the current +in-game time followed by the message given. These logs can be seen by the cyborg in their +BorgUI tablet app. By design, logging fails if the cyborg is dead.

+

Arguments: +arg1: a string containing the message to log.

make_shell +

+

make_shell: Makes an AI shell out of a cyborg unit

+

Arguments:

+

observer_screen_update +

+

Updates the observers's screens with cyborg itemss. +Arguments

+

on_upgrade_deleted +

+

Called when an applied upgrade is deleted.

remove_from_upgrades +

+

Called when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.

repair_all_cyborg_slots +

+

Repairs all slots. Unbroken slots are unaffected.

repair_cyborg_slot +

+

Repairs the slot number, updating the icon.

+

Arguments

+

revert_shell +

+

revert_shell: Reverts AI shell back into a normal cyborg unit

select_module +

+

Selects the module in the slot module_num. +Arguments

+

smash_headlamp +

+

Handles headlamp smashing

+

When called (such as by the shadowperson lighteater's attack), this proc will break the borg's headlamp +and then call toggle_headlamp to disable the light. It also plays a sound effect of glass breaking, and +tells the borg what happened to its chat. Broken lights can be repaired by using a flashlight on the borg.

toggle_gender +

+

Allows "cyborg" players to change gender at will

toggle_headlamp +

+

Handles headlamp toggling, disabling, and color setting.

+

The initial if statment is a bit long, but the gist of it is that should the lamp be on AND the update_color +arg be true, we should simply change the color of the lamp but not disable it. Otherwise, should the turn_off +arg be true, the lamp already be enabled, any of the normal reasons the lamp would turn off happen, or the +update_color arg be passed with the lamp not on, we should set the lamp off. The update_color arg is only +ever true when this proc is called from the borg tablet, when the color selection feature is used.

+

Arguments:

+

toggle_module +

+

Toggles selection of the module in the slot module_num. +Arguments

+

uneq_active +

+

Unequips the active held item, if there is one.

+

Will always consider dropping gripper contents first.

uneq_all +

+

Unequips all held items.

unequip_module_from_slot +

+

Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE.

+

Arguments

+

update_icons +

+

this is bad code

update_sight +

+

the current percent health of the robot (-1 to 1)

+ + + diff --git a/mob/living/simple_animal.html b/mob/living/simple_animal.html new file mode 100644 index 00000000000..9d24be7f552 --- /dev/null +++ b/mob/living/simple_animal.html @@ -0,0 +1,374 @@ + + + + + + + /mob/living/simple_animal - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

simple_animal + + + +

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

Vars

AIStatusThe Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players).
access_cardInnate access uses an internal ID card.
animal_speciesSorry, no spider+corgi buttbabies.
armour_penetrationHow much armour they ignore, as a flat reduction from the targets armour value.
atmos_requirementsAtmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage
attack_verb_continuousAttacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attacked_soundPlayed when someone punches the creature.
blood_volumeHow much blud it has for bloodsucking
buffedIn the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to TRUE, so we have something to check against.
can_have_aionce we have become sentient, we can never go back.
childtypeHot simple_animal baby making vars.
damage_coeff1 for full damage , 0 for none , -1 for 1:1 heal from that source.
death_soundThe sound played on death.
del_on_deathcauses mob to be deleted on death, useful for mobs that spawn lootable corpses.
dextrousIf the creature has, and can use, hands.
emote_hearHearable emotes
emote_seeUnlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps.
environment_smashSet to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.
footstep_typeWhat kind of footstep this mob should have. Null if it shouldn't have any.
force_thresholdMinimum force required to deal any damage.
friendly_verb_continuousAttacking, but without damage, verb in present continuous tense.
friendly_verb_simpleAttacking, but without damage, verb in present simple tense.
gold_core_spawnableIf the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.
healableHealable by medical stacks? Defaults to yes.
icon_deadicon when the animal is dead. Don't use animated icons for this.
icon_gibWe only try to show a gibbing animation if this exists.
lootlist of things spawned at mob's loc when it dies.
melee_damage_lowerLETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly.
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
minbodytempTemperature effect.
my_zI don't want to confuse this with client registered_z.
obj_damageHow much damage this simple animal does to objects, if any.
response_disarm_continuousDisarm-intent verb in present continuous tense.
response_disarm_simpleDisarm-intent verb in present simple tense.
response_harm_continuousHarm-intent verb in present continuous tense.
response_harm_simpleHarm-intent verb in present simple tense.
response_help_continuousWhen someone interacts with the simple animal. +Help-intent verb in present continuous tense.
response_help_simpleHelp-intent verb in present simple tense.
sentience_typeSentience type, for slime potions.
shouldwakeupconvenience var for forcibly waking up an idling AI on next check.
speak_emoteEmotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.
speedLETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.
stop_automated_movementUse this to temporarely stop random movement or to if you write special movement code for animals.
stop_automated_movement_when_pulledWhen set to 1 this stops the animal from moving when someone is pulling it.
tameDomestication.
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above.
wanderDoes the mob wander around when idle?
weather_immunitiesList of weather immunity traits that are then added on Initialize(), see traits.dm.
+

Var Details

AIStatus + + + + +

+

The Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players).

access_card + + + + +

+

Innate access uses an internal ID card.

animal_species + + + + +

+

Sorry, no spider+corgi buttbabies.

armour_penetration + + + + +

+

How much armour they ignore, as a flat reduction from the targets armour value.

atmos_requirements + + + + +

+

Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage

attack_verb_continuous + + + + +

+

Attacking verb in present continuous tense.

attack_verb_simple + + + + +

+

Attacking verb in present simple tense.

attacked_sound + + + + +

+

Played when someone punches the creature.

blood_volume + + + + +

+

How much blud it has for bloodsucking

buffed + + + + +

+

In the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to TRUE, so we have something to check against.

can_have_ai + + + + +

+

once we have become sentient, we can never go back.

childtype + + + + +

+

Hot simple_animal baby making vars.

damage_coeff + + + + +

+

1 for full damage , 0 for none , -1 for 1:1 heal from that source.

death_sound + + + + +

+

The sound played on death.

del_on_death + + + + +

+

causes mob to be deleted on death, useful for mobs that spawn lootable corpses.

dextrous + + + + +

+

If the creature has, and can use, hands.

emote_hear + + + + +

+

Hearable emotes

emote_see + + + + +

+

Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps.

environment_smash + + + + +

+

Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.

footstep_type + + + + +

+

What kind of footstep this mob should have. Null if it shouldn't have any.

force_threshold + + + + +

+

Minimum force required to deal any damage.

friendly_verb_continuous + + + + +

+

Attacking, but without damage, verb in present continuous tense.

friendly_verb_simple + + + + +

+

Attacking, but without damage, verb in present simple tense.

gold_core_spawnable + + + + +

+

If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.

healable + + + + +

+

Healable by medical stacks? Defaults to yes.

icon_dead + + + + +

+

icon when the animal is dead. Don't use animated icons for this.

icon_gib + + + + +

+

We only try to show a gibbing animation if this exists.

loot + + + + +

+

list of things spawned at mob's loc when it dies.

melee_damage_lower + + + + +

+

LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly.

melee_damage_type + + + + +

+

Damage type of a simple mob's melee attack, should it do damage.

minbodytemp + + + + +

+

Temperature effect.

my_z + + + + +

+

I don't want to confuse this with client registered_z.

obj_damage + + + + +

+

How much damage this simple animal does to objects, if any.

response_disarm_continuous + + + + +

+

Disarm-intent verb in present continuous tense.

response_disarm_simple + + + + +

+

Disarm-intent verb in present simple tense.

response_harm_continuous + + + + +

+

Harm-intent verb in present continuous tense.

response_harm_simple + + + + +

+

Harm-intent verb in present simple tense.

response_help_continuous + + + + +

+

When someone interacts with the simple animal. +Help-intent verb in present continuous tense.

response_help_simple + + + + +

+

Help-intent verb in present simple tense.

sentience_type + + + + +

+

Sentience type, for slime potions.

shouldwakeup + + + + +

+

convenience var for forcibly waking up an idling AI on next check.

speak_emote + + + + +

+

Emotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.

speed + + + + +

+

LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.

stop_automated_movement + + + + +

+

Use this to temporarely stop random movement or to if you write special movement code for animals.

stop_automated_movement_when_pulled + + + + +

+

When set to 1 this stops the animal from moving when someone is pulling it.

tame + + + + +

+

Domestication.

unsuitable_atmos_damage + + + + +

+

This damage is taken when atmos doesn't fit all the requirements above.

wander + + + + +

+

Does the mob wander around when idle?

weather_immunities + + + + +

+

List of weather immunity traits that are then added on Initialize(), see traits.dm.

+ + + diff --git a/mob/living/simple_animal/bot.html b/mob/living/simple_animal/bot.html new file mode 100644 index 00000000000..3624148c246 --- /dev/null +++ b/mob/living/simple_animal/bot.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/bot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

bot + + + +

+ + +

Procs

get_mode_uiReturns a status string about the bot's current status, if it's moving, manually controlled, or idle.

Proc Details

get_mode_ui +

+

Returns a status string about the bot's current status, if it's moving, manually controlled, or idle.

+ + + diff --git a/mob/living/simple_animal/bot/floorbot.html b/mob/living/simple_animal/bot/floorbot.html new file mode 100644 index 00000000000..0483ec999ae --- /dev/null +++ b/mob/living/simple_animal/bot/floorbot.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/bot/floorbot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

floorbot + + + +

+ + +

Procs

check_bot_workingChecks a given turf to see if another floorbot is there, working as well.

Proc Details

check_bot_working +

+

Checks a given turf to see if another floorbot is there, working as well.

+ + + diff --git a/mob/living/simple_animal/drone.html b/mob/living/simple_animal/drone.html new file mode 100644 index 00000000000..4782245a236 --- /dev/null +++ b/mob/living/simple_animal/drone.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/drone - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

drone + + + +

+ + +

Procs

freeCameraThis isn't currently needed since drones do jack shit with cameras. I hate this code so much

Proc Details

freeCamera +

+

This isn't currently needed since drones do jack shit with cameras. I hate this code so much

+ + + diff --git a/mob/living/simple_animal/hostile.html b/mob/living/simple_animal/hostile.html new file mode 100644 index 00000000000..450872d9218 --- /dev/null +++ b/mob/living/simple_animal/hostile.html @@ -0,0 +1,120 @@ + + + + + + + /mob/living/simple_animal/hostile - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

hostile + + + +

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

Vars

charge_cooldownDeclares a cooldown for potential charges right off the bat.
charge_distanceIn a charge, how many tiles will the charger travel?
charge_frequencyHow often can the charging mob actually charge? Effects the cooldown between charges.
charge_stateTracks if the target is actively charging.
chargerWhen a target is found, will the mob attempt to charge at it's target?
knockdown_timeIf the mob is charging, how long will it stun it's target on success, and itself on failure?

Procs

AICanContinueAI Status
ListTargetsHOSTILE MOB TARGETTING AND AGGRESSION
charge_endProc that handles a charge attack after it's concluded.
deathEND HOSTILE MOB TARGETTING AND AGGRESSION
enter_chargeProc that handles a charge attack windup for a mob.
handle_charge_targetProc that throws the mob at the target after the windup.
throw_impactProc that handles the charge impact of the charging mob.
+

Var Details

charge_cooldown + + + + +

+

Declares a cooldown for potential charges right off the bat.

charge_distance + + + + +

+

In a charge, how many tiles will the charger travel?

charge_frequency + + + + +

+

How often can the charging mob actually charge? Effects the cooldown between charges.

charge_state + + + + +

+

Tracks if the target is actively charging.

charger + + + + +

+

When a target is found, will the mob attempt to charge at it's target?

knockdown_time + + + + +

+

If the mob is charging, how long will it stun it's target on success, and itself on failure?

Proc Details

AICanContinue +

+

AI Status

ListTargets +

+

HOSTILE MOB TARGETTING AND AGGRESSION

charge_end +

+

Proc that handles a charge attack after it's concluded.

death +

+

END HOSTILE MOB TARGETTING AND AGGRESSION

enter_charge +

+

Proc that handles a charge attack windup for a mob.

handle_charge_target +

+

Proc that throws the mob at the target after the windup.

throw_impact +

+

Proc that handles the charge impact of the charging mob.

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html b/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html new file mode 100644 index 00000000000..7034f9cd7c6 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/broodmother - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Goliath Broodmother + + + +

+ +

A stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. +When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. +It's attacks are as follows:

+
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/drakeling.html b/mob/living/simple_animal/hostile/asteroid/elite/drakeling.html new file mode 100644 index 00000000000..194a9f22e74 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/drakeling.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/drakeling - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Drakeling + + + +

+ +

A small drake/dragon. +Has four attacks.

+
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/herald.html b/mob/living/simple_animal/hostile/asteroid/elite/herald.html new file mode 100644 index 00000000000..f19fe10c3b0 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/herald.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/herald - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Herald + + + +

+ +

A slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. +As it's health gets lower, the amount of projectiles fired per-attack increases. +It's attacks are as follows:

+
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html b/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html new file mode 100644 index 00000000000..0616069221f --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/legionnaire - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Legionnaire + + + +

+ +

A towering skeleton, embodying the power of Legion. +As it's health gets lower, the head does more damage. +It's attacks are as follows:

+
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/minerpriest.html b/mob/living/simple_animal/hostile/asteroid/elite/minerpriest.html new file mode 100644 index 00000000000..f4ae4126b1b --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/minerpriest.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/minerpriest - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Necropolis priest + + + +

+ +

Kind of like BD miner's son trying to impress their dad. +Has four attacks.

+
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/pandora.html b/mob/living/simple_animal/hostile/asteroid/elite/pandora.html new file mode 100644 index 00000000000..d2f923a19e8 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/pandora.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/pandora - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Pandora + + + +

+ +

A box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. +As it's health gets lower, the time between it's attacks decrease. +It's attacks are as follows:

+
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/ice_demon.html b/mob/living/simple_animal/hostile/asteroid/ice_demon.html new file mode 100644 index 00000000000..8078cf75c52 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/ice_demon.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/ice_demon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ice_demon + + + +

+ + +

Vars

teleport_distanceDistance the demon will teleport from the target
+

Var Details

teleport_distance + + + + +

+

Distance the demon will teleport from the target

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/ice_whelp.html b/mob/living/simple_animal/hostile/asteroid/ice_whelp.html new file mode 100644 index 00000000000..5bd0dcdbd07 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/ice_whelp.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/ice_whelp - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ice_whelp + + + +

+ + +

Vars

fire_rangeHow far the whelps fire can go
+

Var Details

fire_range + + + + +

+

How far the whelps fire can go

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/lobstrosity.html b/mob/living/simple_animal/hostile/asteroid/lobstrosity.html new file mode 100644 index 00000000000..247ecaf93b5 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/lobstrosity.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/lobstrosity - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

lobstrosity + + + +

+ +
Lobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones.
+
+

Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits.

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/polarbear.html b/mob/living/simple_animal/hostile/asteroid/polarbear.html new file mode 100644 index 00000000000..9cb7b246bc5 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/polarbear.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/polarbear - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

polarbear + + + +

+ + +

Vars

aggressive_message_saidMessage for when the polar bear starts to attack faster
+

Var Details

aggressive_message_said + + + + +

+

Message for when the polar bear starts to attack faster

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/wolf.html b/mob/living/simple_animal/hostile/asteroid/wolf.html new file mode 100644 index 00000000000..dc23dbeb518 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/wolf.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/wolf - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

wolf + + + +

+ + +

Vars

retreat_message_saidMessage for when the wolf decides to start running away
+

Var Details

retreat_message_said + + + + +

+

Message for when the wolf decides to start running away

+ + + diff --git a/mob/living/simple_animal/hostile/carp/cayenne.html b/mob/living/simple_animal/hostile/carp/cayenne.html new file mode 100644 index 00000000000..10354a1a8b4 --- /dev/null +++ b/mob/living/simple_animal/hostile/carp/cayenne.html @@ -0,0 +1,45 @@ + + + + + + + /mob/living/simple_animal/hostile/carp/cayenne - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cayenne + + + +

+ + + +

Vars

colored_disk_mouthLocation of the file storing disk overlays +Colored disk mouth appearance for adding it as a mouth overlay
diskyKeeping track of the nuke disk for the functionality of storing it.
+

Var Details

colored_disk_mouth + + + + +

+

Location of the file storing disk overlays +Colored disk mouth appearance for adding it as a mouth overlay

disky + + + + +

+

Keeping track of the nuke disk for the functionality of storing it.

+ + + diff --git a/mob/living/simple_animal/hostile/construct.html b/mob/living/simple_animal/hostile/construct.html new file mode 100644 index 00000000000..e85b6bbc10f --- /dev/null +++ b/mob/living/simple_animal/hostile/construct.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/construct - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

construct + + + +

+ + +

Procs

update_health_hudui stuff

Proc Details

update_health_hud +

+

ui stuff

+ + + diff --git a/mob/living/simple_animal/hostile/eldritch.html b/mob/living/simple_animal/hostile/eldritch.html new file mode 100644 index 00000000000..bdbc408d008 --- /dev/null +++ b/mob/living/simple_animal/hostile/eldritch.html @@ -0,0 +1,44 @@ + + + + + + + /mob/living/simple_animal/hostile/eldritch - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch + + + +

+ + + +

Vars

spells_to_addInnate spells that are supposed to be added when a beast is created

Procs

add_spellsAdd_spells
+

Var Details

spells_to_add + + + + +

+

Innate spells that are supposed to be added when a beast is created

Proc Details

add_spells +

+

Add_spells

+

Goes through spells_to_add and adds each spell to the mind.

+ + + diff --git a/mob/living/simple_animal/hostile/eldritch/armsy.html b/mob/living/simple_animal/hostile/eldritch/armsy.html new file mode 100644 index 00000000000..5caf2dbf295 --- /dev/null +++ b/mob/living/simple_animal/hostile/eldritch/armsy.html @@ -0,0 +1,96 @@ + + + + + + + /mob/living/simple_animal/hostile/eldritch/armsy - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

armsy + + + +

+ + + + + + + + + + +

Vars

allow_pullingAllow / disallow pulling
backPrevious segment in the chain
current_stacksCurrently eaten arms
frontNext segment in the chain
oldlocYour old location
stacks_to_growHow many arms do we have to eat to expand?

Procs

contract_next_chain_into_single_tileUpdates chain links to force move onto a single tile
has_gravitynext link +previous link +current link
update_chain_linksUpdates the next mob in the chain to move to our last location, fixed the worm if somehow broken.
+

Var Details

allow_pulling + + + + +

+

Allow / disallow pulling

back + + + + +

+

Previous segment in the chain

current_stacks + + + + +

+

Currently eaten arms

front + + + + +

+

Next segment in the chain

oldloc + + + + +

+

Your old location

stacks_to_grow + + + + +

+

How many arms do we have to eat to expand?

Proc Details

contract_next_chain_into_single_tile +

+

Updates chain links to force move onto a single tile

has_gravity +

+

next link +previous link +current link

+

Updates the next mob in the chain to move to our last location, fixed the worm if somehow broken.

+ + + diff --git a/mob/living/simple_animal/hostile/guardian.html b/mob/living/simple_animal/hostile/guardian.html new file mode 100644 index 00000000000..9fd9c6543f7 --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/guardian - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

guardian + + + +

+ + +

Vars

music_datumsigh, fine.
+

Var Details

music_datum + + + + +

+

sigh, fine.

+ + + diff --git a/mob/living/simple_animal/hostile/guardian/gravitokinetic.html b/mob/living/simple_animal/hostile/guardian/gravitokinetic.html new file mode 100644 index 00000000000..2a04ede7435 --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian/gravitokinetic.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/guardian/gravitokinetic - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

gravitokinetic + + + +

+ + +

Procs

deathRemoves gravity from affected mobs upon guardian death to prevent permanent effects

Proc Details

death +

+

Removes gravity from affected mobs upon guardian death to prevent permanent effects

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna.html b/mob/living/simple_animal/hostile/megafauna.html new file mode 100644 index 00000000000..bc297cd3447 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna.html @@ -0,0 +1,127 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

megafauna + + + +

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

Vars

achievement_typeAchievement given to surrounding players when the megafauna is killed
anger_modifierModifies attacks when at lower health
attack_action_typesAttack actions, sets chosen_attack to the number in the action
chosen_attackThe chosen attack by the megafauna
crusher_achievement_typeCrusher achievement given to players when megafauna is killed
crusher_lootCrusher loot dropped when the megafauna is killed with a crusher
eliminationIf the megafauna was actually killed (not just dying, then transforming into another type)
internalInternal tracking GPS inside fauna
nest_rangeRange the megafauna can move from their nest (if they have one
recovery_timeNext time the megafauna can use a melee attack
score_achievement_typeScore given to players when megafauna is killed
small_sprite_typeIf there is a small sprite icon for players controlling the megafauna to use
true_spawnIf this is a megafauna that is real (has achievements, gps signal)

Procs

grant_achievementGrants medals and achievements to surrounding players
+

Var Details

achievement_type + + + + +

+

Achievement given to surrounding players when the megafauna is killed

anger_modifier + + + + +

+

Modifies attacks when at lower health

attack_action_types + + + + +

+

Attack actions, sets chosen_attack to the number in the action

chosen_attack + + + + +

+

The chosen attack by the megafauna

crusher_achievement_type + + + + +

+

Crusher achievement given to players when megafauna is killed

crusher_loot + + + + +

+

Crusher loot dropped when the megafauna is killed with a crusher

elimination + + + + +

+

If the megafauna was actually killed (not just dying, then transforming into another type)

internal + + + + +

+

Internal tracking GPS inside fauna

nest_range + + + + +

+

Range the megafauna can move from their nest (if they have one

recovery_time + + + + +

+

Next time the megafauna can use a melee attack

score_achievement_type + + + + +

+

Score given to players when megafauna is killed

small_sprite_type + + + + +

+

If there is a small sprite icon for players controlling the megafauna to use

true_spawn + + + + +

+

If this is a megafauna that is real (has achievements, gps signal)

Proc Details

grant_achievement +

+

Grants medals and achievements to surrounding players

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/bubblegum.html b/mob/living/simple_animal/hostile/megafauna/bubblegum.html new file mode 100644 index 00000000000..eec77f00e0f --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/bubblegum.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/bubblegum - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

bubblegum + + + +

+ + +

Procs

attackbyAttack by override for bubblegum

Proc Details

attackby +

+

Attack by override for bubblegum

+

This is used to award the frenching achievement for hitting bubblegum with a tongue

+

Arguments:

+
+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html b/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html new file mode 100644 index 00000000000..c47715ed8d4 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html @@ -0,0 +1,78 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/demonic_frost_miner - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

demonic_frost_miner + + + +

+ + + + + + + + +

Vars

enragedIf the demonic frost miner is in its enraged state
enragingIf the demonic frost miner is currently transforming to its enraged state
projectile_speed_multiplierModifies the speed of the projectiles the demonic frost miner shoots out

Procs

check_enragedChecks if the demonic frost miner is ready to be enraged
frost_orbsShoots out homing frost orbs that explode into ice blast projectiles after a couple seconds
ice_shotgunShoots out ice blasts in a shotgun like pattern
snowball_machine_gunShoots out snowballs with a random spread
+

Var Details

enraged + + + + +

+

If the demonic frost miner is in its enraged state

enraging + + + + +

+

If the demonic frost miner is currently transforming to its enraged state

projectile_speed_multiplier + + + + +

+

Modifies the speed of the projectiles the demonic frost miner shoots out

Proc Details

check_enraged +

+

Checks if the demonic frost miner is ready to be enraged

frost_orbs +

+

Shoots out homing frost orbs that explode into ice blast projectiles after a couple seconds

ice_shotgun +

+

Shoots out ice blasts in a shotgun like pattern

snowball_machine_gun +

+

Shoots out snowballs with a random spread

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/legion.html b/mob/living/simple_animal/hostile/megafauna/legion.html new file mode 100644 index 00000000000..9bc2591546c --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/legion.html @@ -0,0 +1,98 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/legion - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

legion + + + +

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

Procs

AttackingTargetIn addition to parent functionality, this will also turn the target into a small legion if they are unconcious.
SplitSplits legion into smaller skulls.
adjustHealthThis makes sure that the legion door opens on taking damage, so you can't cheese this boss.
charge_targetAttack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player.
create_legion_skullAttack proc. Spawns a singular legion skull.
create_legion_turretsAttack proc. Creates up to three legion turrets on suitable turfs nearby.
reset_chargeResets the charge buffs.
setVarsAfterSplitSets the variables for new legion skulls. Usually called after splitting.
throw_impactDeals some extra damage on throw impact.
throw_thyselfThis is the proc that actually does the throwing. Charge only adds a timer for this.

Proc Details

AttackingTarget +

+

In addition to parent functionality, this will also turn the target into a small legion if they are unconcious.

Split +

+

Splits legion into smaller skulls.

adjustHealth +

+

This makes sure that the legion door opens on taking damage, so you can't cheese this boss.

charge_target +

+

Attack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player.

create_legion_skull +

+

Attack proc. Spawns a singular legion skull.

create_legion_turrets +

+

Attack proc. Creates up to three legion turrets on suitable turfs nearby.

reset_charge +

+

Resets the charge buffs.

setVarsAfterSplit +

+

Sets the variables for new legion skulls. Usually called after splitting.

throw_impact +

+

Deals some extra damage on throw impact.

throw_thyself +

+

This is the proc that actually does the throwing. Charge only adds a timer for this.

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/wendigo.html b/mob/living/simple_animal/hostile/megafauna/wendigo.html new file mode 100644 index 00000000000..5a32ab96429 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/wendigo.html @@ -0,0 +1,85 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/wendigo - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

wendigo + + + +

+ + + + + + + + + +

Vars

can_moveIf the wendigo is allowed to move
startingSaves the turf the megafauna was created at (spawns exit portal here)
stomp_rangeRange for wendigo stomping when it moves
stored_move_dirsStores directions the mob is moving, then calls that a move has fully ended when these directions are removed in moved

Procs

disorienting_screamShakes all nearby enemies screens and animates the wendigo shaking up and down
ground_slamSlams the ground around the wendigo throwing back enemies caught nearby
heavy_stompLarger but slower ground stomp
teleportTeleports to a location 4 turfs away from the enemy in view
+

Var Details

can_move + + + + +

+

If the wendigo is allowed to move

starting + + + + +

+

Saves the turf the megafauna was created at (spawns exit portal here)

stomp_range + + + + +

+

Range for wendigo stomping when it moves

stored_move_dirs + + + + +

+

Stores directions the mob is moving, then calls that a move has fully ended when these directions are removed in moved

Proc Details

disorienting_scream +

+

Shakes all nearby enemies screens and animates the wendigo shaking up and down

ground_slam +

+

Slams the ground around the wendigo throwing back enemies caught nearby

heavy_stomp +

+

Larger but slower ground stomp

teleport +

+

Teleports to a location 4 turfs away from the enemy in view

+ + + diff --git a/mob/living/simple_animal/hostile/plaguerat.html b/mob/living/simple_animal/hostile/plaguerat.html new file mode 100644 index 00000000000..3089f278046 --- /dev/null +++ b/mob/living/simple_animal/hostile/plaguerat.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/plaguerat - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

plaguerat + + + +

+ + +

Procs

be_fruitfulChecks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.

Proc Details

be_fruitful +

+

Checks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.

+ + + diff --git a/mob/living/simple_animal/hostile/regalrat.html b/mob/living/simple_animal/hostile/regalrat.html new file mode 100644 index 00000000000..1a2c48fa090 --- /dev/null +++ b/mob/living/simple_animal/hostile/regalrat.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/regalrat - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

regalrat + + + +

+ + +

Procs

InitializeNumber assigned to rats and mice, checked when determining infighting.

Proc Details

Initialize +

+

Number assigned to rats and mice, checked when determining infighting.

+ + + diff --git a/mob/living/simple_animal/hostile/space_dragon.html b/mob/living/simple_animal/hostile/space_dragon.html new file mode 100644 index 00000000000..d7c7c1642d0 --- /dev/null +++ b/mob/living/simple_animal/hostile/space_dragon.html @@ -0,0 +1,300 @@ + + + + + + + /mob/living/simple_animal/hostile/space_dragon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Space Dragon + + + +

+ +

A space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event.

+

A space-faring monstrosity who has the ability to breathe dangerous fire breath and uses its powerful wings to knock foes away. +Normally spawned as an antagonist during the Space Dragon event, Space Dragon's main goal is to open three rifts from which to pull a great tide of carp onto the station. +Space Dragon can summon only one rift at a time, and can do so anywhere a blob is allowed to spawn. In order to trigger his victory condition, Space Dragon must summon and defend three rifts while they charge. +Space Dragon, when spawned, has five minutes to summon the first rift. Failing to do so will cause Space Dragon to return from whence he came. +When the rift spawns, ghosts can interact with it to spawn in as space carp to help complete the mission. One carp is granted when the rift is first summoned, with an extra one every 30 seconds. +Once the victory condition is met, all current rifts become invulnerable to damage, are allowed to spawn infinite sentient space carp, and Space Dragon gets unlimited rage. +Alternatively, if the shuttle arrives while Space Dragon is still active, their victory condition will automatically be met and all the rifts will immediately become fully charged. +If a charging rift is destroyed, Space Dragon will be incredibly slowed, and the endlag on his gust attack is greatly increased on each use. +Space Dragon has the following abilities to assist him with his objective:

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

Vars

chosen_colorThe color of the space dragon.
gust_distanceThe distance Space Dragon's gust reaches
gust_tirednessThe amount of tiredness to add to Space Dragon per use of gust
maxRiftTimerMaximum amount of time which can pass without a rift before Space Dragon despawns.
objective_completeWhether or not Space Dragon has completed their objective, and thus triggered the ending sequence.
riftThe innate ability to summon rifts
riftTimerCurrent time since the the last rift was activated. If set to -1, does not increment.
rift_listA list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.
rifts_chargedHow many rifts have been successfully charged
tearing_wallDetermines whether or not Space Dragon is currently tearing through a wall.
tirednessHow much endlag using Wing Gust should apply. Each use of wing gust increments this, and it decreases over time.
tiredness_multA multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed.
using_specialDetermines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions.

Procs

add_dragon_overlayAdds the proper overlay to the space dragon.
color_selectionAllows space dragon to choose a color for itself.
destroy_riftsDestroys all of Space Dragon's current rifts.
dragon_fire_lineWhat occurs on each tile to actually create the fire.
dragon_nameAllows space dragon to choose its own name.
eatHandles consuming and storing consumed things inside Space Dragon
empty_contentsDisperses the contents of the mob on the surrounding tiles.
fire_streamSpawns fire at each position in a line from the source to the target.
line_targetDetermines a line of turfs from sources's position to the target with length range.
permanant_empowerGives Space Dragon their the rift speed buff permanantly.
reset_statusResets Space Dragon's status after using wing gust.
rift_depowerRemoves Space Dragon's rift speed buff.
rift_empowerHandles Space Dragon's temporary empowerment after boosting a rift.
useGustHandles wing gust from the windup all the way to the endlag at the end.
victorySets up Space Dragon's victory for completing the objectives.
+

Var Details

chosen_color + + + + +

+

The color of the space dragon.

gust_distance + + + + +

+

The distance Space Dragon's gust reaches

gust_tiredness + + + + +

+

The amount of tiredness to add to Space Dragon per use of gust

maxRiftTimer + + + + +

+

Maximum amount of time which can pass without a rift before Space Dragon despawns.

objective_complete + + + + +

+

Whether or not Space Dragon has completed their objective, and thus triggered the ending sequence.

rift + + + + +

+

The innate ability to summon rifts

riftTimer + + + + +

+

Current time since the the last rift was activated. If set to -1, does not increment.

rift_list + + + + +

+

A list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.

rifts_charged + + + + +

+

How many rifts have been successfully charged

tearing_wall + + + + +

+

Determines whether or not Space Dragon is currently tearing through a wall.

tiredness + + + + +

+

How much endlag using Wing Gust should apply. Each use of wing gust increments this, and it decreases over time.

tiredness_mult + + + + +

+

A multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed.

using_special + + + + +

+

Determines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions.

Proc Details

add_dragon_overlay +

+

Adds the proper overlay to the space dragon.

+

Clears the current overlay on space dragon and adds a proper one for whatever animation he's in.

color_selection +

+

Allows space dragon to choose a color for itself.

+

Prompts the space dragon to choose a color, from which it will then apply to itself. +If an invalid color is given, will re-prompt the dragon until a proper color is chosen.

destroy_rifts +

+

Destroys all of Space Dragon's current rifts.

+

QDeletes all the current rifts after removing their references to other objects. +Currently, the only reference they have is to the Dragon which created them, so we clear that before deleting them. +Currently used when Space Dragon dies or one of his rifts is destroyed.

dragon_fire_line +

+

What occurs on each tile to actually create the fire.

+

Creates a fire on the given turf. +It creates a hotspot on the given turf, damages any living mob with 30 burn damage, and damages mechs by 50. +It can only hit any given target once. +Arguments:

+

dragon_name +

+

Allows space dragon to choose its own name.

+

Prompts the space dragon to choose a name, which it will then apply to itself. +If the name is invalid, will re-prompt the dragon until a proper name is chosen.

eat +

+

Handles consuming and storing consumed things inside Space Dragon

+

Plays a sound and then stores the consumed thing inside Space Dragon. +Used in AttackingTarget(), paired with a heal should it succeed. +Arguments:

+

empty_contents +

+

Disperses the contents of the mob on the surrounding tiles.

+

Randomly places the contents of the mob onto surrounding tiles. +Has a 10% chance to place on the same tile as the mob.

fire_stream +

+

Spawns fire at each position in a line from the source to the target.

+

Spawns fire at each position in a line from the source to the target. +Stops if it comes into contact with a solid wall, a window, or a door. +Delays the spawning of each fire by 1.5 deciseconds. +Arguments:

+

line_target +

+

Determines a line of turfs from sources's position to the target with length range.

+

Determines a line of turfs from the source's position to the target with length range. +The line will extend on past the target if the range is large enough, and not reach the target if range is small enough. +Arguments:

+

permanant_empower +

+

Gives Space Dragon their the rift speed buff permanantly.

+

Gives Space Dragon the enraged speed buff from charging rifts permanantly. +Only happens in circumstances where Space Dragon completes their objective.

reset_status +

+

Resets Space Dragon's status after using wing gust.

+

Resets Space Dragon's status after using wing gust. +If it isn't dead by the time it calls this method, reset the sprite back to the normal living sprite. +Also sets the using_special variable to FALSE, allowing Space Dragon to move and attack freely again.

rift_depower +

+

Removes Space Dragon's rift speed buff.

+

Removes Space Dragon's speed buff from charging a rift. This is only called +in rift_empower, which uses a timer to call this after 30 seconds. Also +removes the red glow from Space Dragon which is synonymous with the speed buff.

rift_empower +

+

Handles Space Dragon's temporary empowerment after boosting a rift.

+

Empowers and depowers Space Dragon after a successful rift charge. +Empowered, Space Dragon regains all his health and becomes temporarily faster for 30 seconds, along with being tinted red.

useGust +

+

Handles wing gust from the windup all the way to the endlag at the end.

+

Handles the wing gust attack from start to finish, based on the timer. +When intially triggered, starts at 0. Until the timer reaches 10, increase Space Dragon's y position by 2 and call back to the function in 1.5 deciseconds. +When the timer is at 10, trigger the attack. Change Space Dragon's sprite. reset his y position, and push all living creatures back in a 3 tile radius and stun them for 5 seconds. +Stay in the ending state for how much our tiredness dictates and add to our tiredness. +Arguments:

+

victory +

+

Sets up Space Dragon's victory for completing the objectives.

+

Triggers when Space Dragon completes his objective. +Calls the shuttle with a coefficient of 3, making it impossible to recall. +Sets all of his rifts to allow for infinite sentient carp spawns +Also plays appropiate sounds and CENTCOM messages.

+ + + diff --git a/mob/living/simple_animal/hostile/swarmer.html b/mob/living/simple_animal/hostile/swarmer.html new file mode 100644 index 00000000000..9743cb59c06 --- /dev/null +++ b/mob/living/simple_animal/hostile/swarmer.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/simple_animal/hostile/swarmer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

swarmer + + + +

+ +

The Mob itself

+ +

Procs

AttackingTargetCTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S
FabricateEND CTRL CLICK FOR SWARMERS

Proc Details

AttackingTarget +

+

CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S

Fabricate +

+

END CTRL CLICK FOR SWARMERS

+ + + diff --git a/mob/living/simple_animal/hostile/venus_human_trap.html b/mob/living/simple_animal/hostile/venus_human_trap.html new file mode 100644 index 00000000000..6d270ae69f3 --- /dev/null +++ b/mob/living/simple_animal/hostile/venus_human_trap.html @@ -0,0 +1,99 @@ + + + + + + + /mob/living/simple_animal/hostile/venus_human_trap - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

venus_human_trap + + + +

+ +

Venus Human Trap

+

The result of a kudzu flower bud, these enemies use vines to drag prey close to them for attack.

+

A carnivorious plant which uses vines to catch and ensnare prey. Spawns from kudzu flower buds. +Each one has a maximum of four vines, which can be attached to a variety of things. Carbons are stunned when a vine is attached to them, and movable entities are pulled closer over time. +Attempting to attach a vine to something with a vine already attached to it will pull all movable targets closer on command. +Once the prey is in melee range, melee attacks from the venus human trap heals itself for 10% of its max health, assuming the target is alive. +Akin to certain spiders, venus human traps can also be possessed and controlled by ghosts.

+ + + + + + +

Vars

max_vinesThe maximum amount of vines a plant can have at one time
playable_plantWhether or not this plant is ghost possessable
vine_grab_distanceHow far away a plant can attach a vine to something
vinesA list of all the plant's vines

Procs

humanize_plantSets a ghost to control the plant if the plant is eligible
pull_vinesManages how the vines should affect the things they're attached to.
remove_vineRemoves a vine from the list.
+

Var Details

max_vines + + + + +

+

The maximum amount of vines a plant can have at one time

playable_plant + + + + +

+

Whether or not this plant is ghost possessable

vine_grab_distance + + + + +

+

How far away a plant can attach a vine to something

vines + + + + +

+

A list of all the plant's vines

Proc Details

humanize_plant +

+

Sets a ghost to control the plant if the plant is eligible

+

Asks the interacting ghost if they would like to control the plant. +If they answer yes, and another ghost hasn't taken control, sets the ghost to control the plant. +Arguments:

+

pull_vines +

+

Manages how the vines should affect the things they're attached to.

+

Pulls all movable targets of the vines closer to the plant +If the target is on the same tile as the plant, destroy the vine +Removes any QDELETED vines from the vines list.

remove_vine +

+

Removes a vine from the list.

+

Removes the vine from our list. +Called specifically when the vine is about to be destroyed, so we don't have any null references. +Arguments:

+
+ + + diff --git a/mob/living/simple_animal/jacq.html b/mob/living/simple_animal/jacq.html new file mode 100644 index 00000000000..96702ff77be --- /dev/null +++ b/mob/living/simple_animal/jacq.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/jacq - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

jacq + + + +

+ +

MOBS

+

Vars

busyI'm busy, don't move.
+

Var Details

busy + + + + +

+

I'm busy, don't move.

+ + + diff --git a/mob/living/simple_animal/mouse.html b/mob/living/simple_animal/mouse.html new file mode 100644 index 00000000000..dc3628c68df --- /dev/null +++ b/mob/living/simple_animal/mouse.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/simple_animal/mouse - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mouse + + + +

+ + + +

Procs

be_fruitfulChecks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.
evolveSpawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind.

Proc Details

be_fruitful +

+

Checks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.

evolve +

+

Spawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind.

+ + + diff --git a/mob/living/simple_animal/parrot.html b/mob/living/simple_animal/parrot.html new file mode 100644 index 00000000000..28643450411 --- /dev/null +++ b/mob/living/simple_animal/parrot.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/parrot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

parrot + + + +

+ + +

Vars

spawns_with_headsetspawns with headset
+

Var Details

spawns_with_headset + + + + +

+

spawns with headset

+ + + diff --git a/mob/living/simple_animal/slime.html b/mob/living/simple_animal/slime.html new file mode 100644 index 00000000000..70a6b14fa46 --- /dev/null +++ b/mob/living/simple_animal/slime.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/slime - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

slime + + + +

+ + + +

Vars

colourTIME FOR SUBSPECIES
effectmodCORE-CROSSING CODE
+

Var Details

colour + + + + +

+

TIME FOR SUBSPECIES

effectmod + + + + +

+

CORE-CROSSING CODE

+ + + diff --git a/modular_citadel.html b/modular_citadel.html new file mode 100644 index 00000000000..e514e71510f --- /dev/null +++ b/modular_citadel.html @@ -0,0 +1,29 @@ + + + + + + + modular_citadel/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_citadel/README.md + +

+ + +

Hooray modularity!

+

Things that modify core files without directly touching said core files go here. This is similar to how Hippie handles things. +This stops dreammaker from throwing errors and warnings if you try to compile these files while they're inside code/citadel/.

+ + + diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.html b/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.html new file mode 100644 index 00000000000..79fdd653f51 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.html @@ -0,0 +1,28 @@ + + + + + + + modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm + +

+ + + +
/obj/item/gun/ballistic/automatic/toy/pistol/stealthfoam stealth pistol
/obj/item/projectile/beam/lasertag/rayRAYGUN MEMES
+ + + diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.html b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.html new file mode 100644 index 00000000000..415ec6c3311 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.html @@ -0,0 +1,36 @@ + + + + + + + modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm + +

+ + + + + + + + + +
/obj/item/gun/ballistic/automatic/x9XCOM X9 AR
/obj/item/ammo_box/magazine/toy/x9toy memes +toy memes
/obj/item/ammo_casing/c46x30mm/rubbersecurity rifles special ammo
/obj/item/projectile/bullet/cflechetteap///Flechette Launcher/// +projectiles
/obj/item/ammo_casing/caseless/flechetteapammo casings (CASELESS AMMO CASINGS WOOOOOOOO)
/obj/item/ammo_box/magazine/flechettemagazine
/obj/item/gun/ballistic/automatic/flechettethe gun itself
/obj/item/projectile/bullet/cflechetteshredderunique variant
+ + + diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.html b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.html new file mode 100644 index 00000000000..8c539012941 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.html @@ -0,0 +1,27 @@ + + + + + + + modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm + +

+ + +
/obj/item/projectile/bullet/spinfusorspinfusor stuff
+ + + diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.html b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.html new file mode 100644 index 00000000000..a2b2bb03dfa --- /dev/null +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.html @@ -0,0 +1,27 @@ + + + + + + + modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm + +

+ + +
/datum/reagent/fermi/butt_enlargerAss enhancer
+ + + diff --git a/modular_citadel/sound/voice/pain emote credits.html b/modular_citadel/sound/voice/pain emote credits.html new file mode 100644 index 00000000000..40ea1bb71f2 --- /dev/null +++ b/modular_citadel/sound/voice/pain emote credits.html @@ -0,0 +1,28 @@ + + + + + + + modular_citadel/sound/voice/pain emote credits.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_citadel/sound/voice/pain emote credits.txt + +

+ + +
pain emote sound ported from https://gitlab.com/cmdevs/colonial-warfare```
+
+ + + diff --git a/modular_nostra.html b/modular_nostra.html new file mode 100644 index 00000000000..f595f6083d3 --- /dev/null +++ b/modular_nostra.html @@ -0,0 +1,29 @@ + + + + + + + modular_nostra/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_nostra/README.md + +

+ + +

Hooray modularity!

+

Things that modify core files without directly touching said core files go here. This is similar to how Hippie handles things. +This stops dreammaker from throwing errors and warnings if you try to compile these files while they're inside code/citadel/.

+ + + diff --git a/modular_nostra/code/game/objects/items/polearms.html b/modular_nostra/code/game/objects/items/polearms.html new file mode 100644 index 00000000000..be939d5a183 --- /dev/null +++ b/modular_nostra/code/game/objects/items/polearms.html @@ -0,0 +1,27 @@ + + + + + + + modular_nostra/code/game/objects/items/polearms.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_nostra/code/game/objects/items/polearms.dm + +

+ + +
/obj/item/carrotglaiveobj/item/murasama/dropped(mob/living/user)
+ + + diff --git a/modular_nostra/code/modules/clothing/suits/mgr.html b/modular_nostra/code/modules/clothing/suits/mgr.html new file mode 100644 index 00000000000..4edf27fdf89 --- /dev/null +++ b/modular_nostra/code/modules/clothing/suits/mgr.html @@ -0,0 +1,27 @@ + + + + + + + modular_nostra/code/modules/clothing/suits/mgr.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_nostra/code/modules/clothing/suits/mgr.dm + +

+ + +
/obj/effect/proc_holder/spell/targeted/conjure_item/fuckinginvincibleobj/item/clothing/head/helmet/space/hardsuit/invismime/update_icon_state()
+ + + diff --git a/modular_nostra/code/modules/food_and_drinks/food/lizards/lizard.html b/modular_nostra/code/modules/food_and_drinks/food/lizards/lizard.html new file mode 100644 index 00000000000..af2ea046ccc --- /dev/null +++ b/modular_nostra/code/modules/food_and_drinks/food/lizards/lizard.html @@ -0,0 +1,29 @@ + + + + + + + modular_nostra/code/modules/food_and_drinks/food/lizards/lizard.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_nostra/code/modules/food_and_drinks/food/lizards/lizard.dm + +

+ + + + +
/obj/item/reagent_containers/food/snacks/tiziran_sausageobj/item/reagent_containers/food/snacks/raw_tiziran_sausage/Initialize(mapload)
/obj/item/reagent_containers/food/snacks/headcheeseobj/item/reagent_containers/food/snacks/raw_headcheese/Initialize(mapload)
/obj/item/reagent_containers/food/snacks/pizza/rustic_flatbreadobj/item/reagent_containers/food/snacks/breadslice/root/Initialize(mapload)
+ + + diff --git a/modular_nostra/code/modules/hydroponics/grown/misc.html b/modular_nostra/code/modules/hydroponics/grown/misc.html new file mode 100644 index 00000000000..8f8b934000d --- /dev/null +++ b/modular_nostra/code/modules/hydroponics/grown/misc.html @@ -0,0 +1,28 @@ + + + + + + + modular_nostra/code/modules/hydroponics/grown/misc.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_nostra/code/modules/hydroponics/grown/misc.dm + +

+ + + +
/obj/item/seeds/watermelon/barrelBarrel melon Seeds
/obj/item/reagent_containers/food/snacks/grown/barrelmelonBarrel melon Fruit
+ + + diff --git a/modular_sand/code/controllers/configuration/entries/sandstorm_balance.html b/modular_sand/code/controllers/configuration/entries/sandstorm_balance.html new file mode 100644 index 00000000000..bbbcd397826 --- /dev/null +++ b/modular_sand/code/controllers/configuration/entries/sandstorm_balance.html @@ -0,0 +1,31 @@ + + + + + + + modular_sand/code/controllers/configuration/entries/sandstorm_balance.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/controllers/configuration/entries/sandstorm_balance.dm + +

+ + + + + + +
/datum/config_entry/flag/crypto_ignore_atmosCRYPTOMINERS
/datum/config_entry/number/autodoc_time_surgery_baseAUTODOC
/datum/config_entry/number/bluespaceminer_mult_outputBLUESPACE MINER
/datum/config_entry/flag/tetris_no_scienceTETRIS ARCADE MACHINE
/datum/config_entry/flag/protolock_during_lowpopR&D Machinery
+ + + diff --git a/modular_sand/code/datums/components/container_item/container_item.html b/modular_sand/code/datums/components/container_item/container_item.html new file mode 100644 index 00000000000..b3a0cdf10fb --- /dev/null +++ b/modular_sand/code/datums/components/container_item/container_item.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/datums/components/container_item/container_item.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/datums/components/container_item/container_item.dm + +

+ + +
/datum/component/container_itemContainer item, an item which can be stored by specialized containers.
+ + + diff --git a/modular_sand/code/datums/components/container_item/tank_holder.html b/modular_sand/code/datums/components/container_item/tank_holder.html new file mode 100644 index 00000000000..4b9954d3382 --- /dev/null +++ b/modular_sand/code/datums/components/container_item/tank_holder.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/datums/components/container_item/tank_holder.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/datums/components/container_item/tank_holder.dm + +

+ + +
/datum/component/container_item/tank_holderTank holder item - Added to an object which can be added to a tank holder.
+ + + diff --git a/modular_sand/code/datums/components/interaction_menu_granter.html b/modular_sand/code/datums/components/interaction_menu_granter.html new file mode 100644 index 00000000000..5c1a29f573e --- /dev/null +++ b/modular_sand/code/datums/components/interaction_menu_granter.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/datums/components/interaction_menu_granter.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/datums/components/interaction_menu_granter.dm + +

+ + +
/datum/component/interaction_menu_granterThe menu itself, only var is target which is the mob you are interacting with
+ + + diff --git a/modular_sand/code/datums/interactions/_interaction.html b/modular_sand/code/datums/interactions/_interaction.html new file mode 100644 index 00000000000..933322c6bf4 --- /dev/null +++ b/modular_sand/code/datums/interactions/_interaction.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/datums/interactions/_interaction.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/datums/interactions/_interaction.dm + +

+ + +
/datum/interactionThe base of all interactions
+ + + diff --git a/modular_sand/code/game/mecha/mecha_parts.html b/modular_sand/code/game/mecha/mecha_parts.html new file mode 100644 index 00000000000..7ae10bfea8c --- /dev/null +++ b/modular_sand/code/game/mecha/mecha_parts.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/game/mecha/mecha_parts.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/game/mecha/mecha_parts.dm + +

+ + +
/obj/item/mecha_parts/chassis/powerarmorCustom Mech Parts //////
+ + + diff --git a/modular_sand/code/game/objects/items/fleshlight.html b/modular_sand/code/game/objects/items/fleshlight.html new file mode 100644 index 00000000000..44ad7bebe3e --- /dev/null +++ b/modular_sand/code/game/objects/items/fleshlight.html @@ -0,0 +1,31 @@ + + + + + + + modular_sand/code/game/objects/items/fleshlight.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/game/objects/items/fleshlight.dm + +

+ + + + +
/obj/item/fleshlightHumbley request this doesnt get ported to other code bases, we strive to make things unique on our server and we dont have a lot of coders +but if you absolutely must. please give us some credit~ <3 +made by quotefox and heavily modified by SandPoot
/obj/item/portallightkinky!
/obj/item/clothing/underwear/briefs/panties/portalpantiesWear it, cannot be worn if not pointing to the bits you have.
+ + + diff --git a/modular_sand/code/game/objects/structures/ghost_role_spawners.html b/modular_sand/code/game/objects/structures/ghost_role_spawners.html new file mode 100644 index 00000000000..93e2d7df3e8 --- /dev/null +++ b/modular_sand/code/game/objects/structures/ghost_role_spawners.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/game/objects/structures/ghost_role_spawners.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/game/objects/structures/ghost_role_spawners.dm + +

+ + +
/obj/effect/mob_spawn/robotobj/item/kirbyplants/diamond
+ + + diff --git a/modular_sand/code/game/objects/structures/tank_holder.html b/modular_sand/code/game/objects/structures/tank_holder.html new file mode 100644 index 00000000000..3d2c4e20760 --- /dev/null +++ b/modular_sand/code/game/objects/structures/tank_holder.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/game/objects/structures/tank_holder.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/game/objects/structures/tank_holder.dm + +

+ + +
/obj/structure/tank_holder?
+ + + diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.html b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.html new file mode 100644 index 00000000000..c93dec20c1b --- /dev/null +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.html @@ -0,0 +1,32 @@ + + + + + + + modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/candyKind of like bubblegum's rebellious teenage son/daughter. +Has 4 attacks. +Charge - Charges at it's target. +Bloody Trap - Traps it's target between some walls, and then charges at them. +Meat Shield - Knockbacks all targets in the 3 tiles he faces, and then creates a wall. +Knockdown - Deals damage and knockbacks all targets in a 2 tile radius.
+ + + diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.html b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.html new file mode 100644 index 00000000000..a2b7cecb265 --- /dev/null +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.html @@ -0,0 +1,28 @@ + + + + + + + modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/drakelingA small drake/dragon. +Has four attacks.
+ + + diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.html b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.html new file mode 100644 index 00000000000..59ead6b5772 --- /dev/null +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.html @@ -0,0 +1,28 @@ + + + + + + + modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/minerpriestKind of like BD miner's son trying to impress their dad. +Has four attacks.
+ + + diff --git a/modular_sand/code/modules/research/designs/mechfabricator_designs.html b/modular_sand/code/modules/research/designs/mechfabricator_designs.html new file mode 100644 index 00000000000..1f2728eb98d --- /dev/null +++ b/modular_sand/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/modules/research/designs/mechfabricator_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/modules/research/designs/mechfabricator_designs.dm + +

+ + +
/datum/design/powerarmor_skeletonPower Armor
+ + + diff --git a/modular_sand/code/modules/research/designs/medical_designs.html b/modular_sand/code/modules/research/designs/medical_designs.html new file mode 100644 index 00000000000..6ffbfb3015c --- /dev/null +++ b/modular_sand/code/modules/research/designs/medical_designs.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/modules/research/designs/medical_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/modules/research/designs/medical_designs.dm + +

+ + +
/datum/design/ultimatebeakerEnd of Power Armor
+ + + diff --git a/modular_sand/code/modules/research/designs/telecomms_designs.html b/modular_sand/code/modules/research/designs/telecomms_designs.html new file mode 100644 index 00000000000..dbc5d9a14b2 --- /dev/null +++ b/modular_sand/code/modules/research/designs/telecomms_designs.html @@ -0,0 +1,28 @@ + + + + + + + modular_sand/code/modules/research/designs/telecomms_designs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/modules/research/designs/telecomms_designs.dm + +

+ + + +
/datum/design/encryptionHeadset Encryption
/datum/design/board/message_serverTelecomm Server
+ + + diff --git a/modular_sand/code/modules/telescience/telepad.html b/modular_sand/code/modules/telescience/telepad.html new file mode 100644 index 00000000000..c4b0124d075 --- /dev/null +++ b/modular_sand/code/modules/telescience/telepad.html @@ -0,0 +1,27 @@ + + + + + + + modular_sand/code/modules/telescience/telepad.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/code/modules/telescience/telepad.dm + +

+ + +
/obj/machinery/telepadSCI TELEPAD
+ + + diff --git a/modular_sand/icons/mob/cyborg/Drakeborg-licensing.html b/modular_sand/icons/mob/cyborg/Drakeborg-licensing.html new file mode 100644 index 00000000000..c5cff90f9bd --- /dev/null +++ b/modular_sand/icons/mob/cyborg/Drakeborg-licensing.html @@ -0,0 +1,96 @@ + + + + + + + modular_sand/icons/mob/cyborg/Drakeborg-licensing.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/icons/mob/cyborg/Drakeborg-licensing.txt + +

+ + +
Drakeborg & drakeplushies are created by deviantart.com/mizartz
+
+https://creativecommons.org/licenses/by-nc-sa/3.0/
+Attribution-NonCommercial-ShareAlike 3.0 Unported
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+License
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+"Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+"License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike.
+"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+to Distribute and Publicly Perform Adaptations.
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested.
+You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
+You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works.
+If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+For the avoidance of doubt:
+
+Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
+Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c).
+Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+8. Miscellaneous
+
+Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+Creative Commons Notice
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at https://creativecommons.org/.```
+
+ + + diff --git a/modular_sand/icons/obj/license.html b/modular_sand/icons/obj/license.html new file mode 100644 index 00000000000..dcc6b265f89 --- /dev/null +++ b/modular_sand/icons/obj/license.html @@ -0,0 +1,30 @@ + + + + + + + modular_sand/icons/obj/license.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

modular_sand/icons/obj/license.txt + +

+ + +
modular_sand/icons/obj/plushies.dmi's icon state of secdrake and meddrake by Mizartz. It has been licensed under the CC BY-NC-SA 3.0 license.
+
+CC BY-NC-SA 3.0 https://creativecommons.org/licenses/by-nc-sa/3.0/```
+
+ + + diff --git a/obj.html b/obj.html new file mode 100644 index 00000000000..5ddf04723b0 --- /dev/null +++ b/obj.html @@ -0,0 +1,114 @@ + + + + + + + /obj - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

obj + + + +

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

Vars

always_reskinnableCan always be modified
bare_wound_bonusIf this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh
current_skinThe item reskin
damage_deflectionDamage under this value will be completely ignored
reskin_bindingHow to bring up the reskinning menu
unique_reskinList of options to reskin.
wound_bonusHow good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds.

Procs

CanAStarPassThis proc is used for telling whether something can pass by this object in a given direction, for use by the pathfinding system.
fire_actFIRE
reskin_objDo you want to make overrides, of course you do! Will be called if an object was reskinned successfully
setAnchored@depricated DO NOT USE
+

Var Details

always_reskinnable + + + + +

+

Can always be modified

bare_wound_bonus + + + + +

+

If this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh

current_skin + + + + +

+

The item reskin

damage_deflection + + + + +

+

Damage under this value will be completely ignored

reskin_binding + + + + +

+

How to bring up the reskinning menu

unique_reskin + + + + +

+

List of options to reskin.

wound_bonus + + + + +

+

How good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds.

Proc Details

CanAStarPass +

+

This proc is used for telling whether something can pass by this object in a given direction, for use by the pathfinding system.

+

Trying to generate one long path across the station will call this proc on every single object on every single tile that we're seeing if we can move through, likely +multiple times per tile since we're likely checking if we can access said tile from multiple directions, so keep these as lightweight as possible.

+

Arguments:

+

fire_act +

+

FIRE

reskin_obj +

+

Do you want to make overrides, of course you do! Will be called if an object was reskinned successfully

setAnchored +

+

@depricated DO NOT USE

+ + + diff --git a/obj/belly.html b/obj/belly.html new file mode 100644 index 00000000000..ef89c803484 --- /dev/null +++ b/obj/belly.html @@ -0,0 +1,38 @@ + + + + + + + /obj/belly - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

belly + + + +

+ +

Non-object variables +Object-holding variables

+

Procs

process_bellyNon-object variables +Object-holding variables

Proc Details

process_belly +

+

Non-object variables +Object-holding variables

+ + + diff --git a/obj/docking_port.html b/obj/docking_port.html new file mode 100644 index 00000000000..0dc8c114d24 --- /dev/null +++ b/obj/docking_port.html @@ -0,0 +1,140 @@ + + + + + + + /obj/docking_port - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

docking_port + + + +

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

Vars

delete_afterDelete this port after ship fly off.
dheightposition relative to covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
dirCommon standard is for this to point -away- from the dockingport door, ie towards the ship
dwidthposition relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.
heightsize of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
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. You shouldn't modify this for mobile dockingports, set automatically.

Procs

registerregister to SSshuttles
return_coordsreturns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle
return_ordered_turfsreturns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation
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. You shouldn't modify this for mobile dockingports, set automatically.

dir + + + + +

+

Common standard is for this to point -away- from the dockingport door, ie towards the ship

dwidth + + + + +

+

position relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

height + + + + +

+

size of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.

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. You shouldn't modify this for mobile dockingports, set automatically.

Proc Details

register +

+

register to SSshuttles

return_coords +

+

returns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle

return_ordered_turfs +

+

returns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation

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 00000000000..e89b41b8ad6 --- /dev/null +++ b/obj/docking_port/mobile.html @@ -0,0 +1,133 @@ + + + + + + + /obj/docking_port/mobile - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mobile + + + +

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

Vars

callTimetime spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.
can_move_docking_portsif this shuttle can move docking ports other than the one it is docked at
ignitionTimetime spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.
modecurrent shuttle mode
movement_forceWhether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.
parallax_speedparallax speed in seconds per loop
port_directionrelative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.
prearrivalTimetime spent after transit 'landing' before actually arriving
preferred_directionThe direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in
rechargeTimetime spent after arrival before being able to begin ignition
timerused as a timer (if you want time left to complete move, use timeLeft proc)

Procs

get_status_text_tguiGets shuttle location status in a form of string for tgui interfaces
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
+

Var Details

callTime + + + + +

+

time spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.

can_move_docking_ports + + + + +

+

if this shuttle can move docking ports other than the one it is docked at

ignitionTime + + + + +

+

time spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.

mode + + + + +

+

current shuttle mode

movement_force + + + + +

+

Whether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.

parallax_speed + + + + +

+

parallax speed in seconds per loop

port_direction + + + + +

+

relative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.

prearrivalTime + + + + +

+

time spent after transit 'landing' before actually arriving

preferred_direction + + + + +

+

The direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in

rechargeTime + + + + +

+

time spent after arrival before being able to begin ignition

timer + + + + +

+

used as a timer (if you want time left to complete move, use timeLeft proc)

Proc Details

get_status_text_tgui +

+

Gets shuttle location status in a form of string for tgui interfaces

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

+ + + diff --git a/obj/docking_port/stationary/picked.html b/obj/docking_port/stationary/picked.html new file mode 100644 index 00000000000..ce634a5fc06 --- /dev/null +++ b/obj/docking_port/stationary/picked.html @@ -0,0 +1,36 @@ + + + + + + + /obj/docking_port/stationary/picked - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

picked + + + +

+ + +

Vars

shuttlekeysHolds a list of map name strings for the port to pick from
+

Var Details

shuttlekeys + + + + +

+

Holds a list of map name strings for the port to pick from

+ + + diff --git a/obj/durand_shield.html b/obj/durand_shield.html new file mode 100644 index 00000000000..43cf40ef0e8 --- /dev/null +++ b/obj/durand_shield.html @@ -0,0 +1,66 @@ + + + + + + + /obj/durand_shield - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

durand_shield + + + +

+ +

Shield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.

+ + +

Vars

chassisOur link back to the durand
switchingTo keep track of things during the animation

Procs

activateHandles activating and deactivating the shield. This proc is called by a signal sent from the mech's action button +and relayed by the mech itself. The "forced" variabe, signal_args[1], will skip the to-pilot text and is meant for when +the shield is disabled by means other than the action button (like running out of power) +Arguments:
+

Var Details

chassis + + + + +

+

Our link back to the durand

switching + + + + +

+

To keep track of things during the animation

Proc Details

activate +

+

Handles activating and deactivating the shield. This proc is called by a signal sent from the mech's action button +and relayed by the mech itself. The "forced" variabe, signal_args[1], will skip the to-pilot text and is meant for when +the shield is disabled by means other than the action button (like running out of power) +Arguments:

+
+ + + diff --git a/obj/effect/abstract/parry.html b/obj/effect/abstract/parry.html new file mode 100644 index 00000000000..8a56ee2154b --- /dev/null +++ b/obj/effect/abstract/parry.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/abstract/parry - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

parry + + + +

+ +

Effects

+

Vars

ownerThe person we're on
+

Var Details

owner + + + + +

+

The person we're on

+ + + diff --git a/obj/effect/anomaly.html b/obj/effect/anomaly.html new file mode 100644 index 00000000000..970225c53df --- /dev/null +++ b/obj/effect/anomaly.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/anomaly - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

anomaly + + + +

+ + +

Vars

core_drop_chancechance we drop a core when neutralized
+

Var Details

core_drop_chance + + + + +

+

chance we drop a core when neutralized

+ + + diff --git a/obj/effect/broken_illusion.html b/obj/effect/broken_illusion.html new file mode 100644 index 00000000000..7a28d4013b5 --- /dev/null +++ b/obj/effect/broken_illusion.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/broken_illusion - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

broken_illusion + + + +

+ + +

Procs

show_presenceMakes this obj appear out of nothing

Proc Details

show_presence +

+

Makes this obj appear out of nothing

+ + + diff --git a/obj/effect/decal/chempuff.html b/obj/effect/decal/chempuff.html new file mode 100644 index 00000000000..72b0a76df0a --- /dev/null +++ b/obj/effect/decal/chempuff.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/decal/chempuff - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

chempuff + + + +

+ + +

Procs

hit_thingproc called to handle us hitting something

Proc Details

hit_thing +

+

proc called to handle us hitting something

+ + + diff --git a/obj/effect/decal/cleanable.html b/obj/effect/decal/cleanable.html new file mode 100644 index 00000000000..95cbf5ab7be --- /dev/null +++ b/obj/effect/decal/cleanable.html @@ -0,0 +1,66 @@ + + + + + + + /obj/effect/decal/cleanable - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

cleanable + + + +

+ + + + + + +

Vars

persistence_allow_stackingCan we stack multiple in one tile?
persistentIs this kind of cleanable decal persistent
wiped_by_floor_changeAre we deleted by turf changes?

Procs

PersistenceLoadLoads from a data list.
PersistenceSaveA data list is passed into this. +This should return null to skip saving, or the type of data to save. Type must be /cleanable.
+

Var Details

persistence_allow_stacking + + + + +

+

Can we stack multiple in one tile?

persistent + + + + +

+

Is this kind of cleanable decal persistent

wiped_by_floor_change + + + + +

+

Are we deleted by turf changes?

Proc Details

PersistenceLoad +

+

Loads from a data list.

PersistenceSave +

+

A data list is passed into this. +This should return null to skip saving, or the type of data to save. Type must be /cleanable.

+ + + diff --git a/obj/effect/decal/cleanable/conveyor_sorter.html b/obj/effect/decal/cleanable/conveyor_sorter.html new file mode 100644 index 00000000000..c9a141b65be --- /dev/null +++ b/obj/effect/decal/cleanable/conveyor_sorter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/decal/cleanable/conveyor_sorter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

conveyor_sorter + + + +

+ + + + +

Vars

parent_itemthe parent conveyor sorter lister item, used for deletion
sorting_listthe list of items that will be sorted to the sorted direction
use_cooldownTo prevent spam
+

Var Details

parent_item + + + + +

+

the parent conveyor sorter lister item, used for deletion

sorting_list + + + + +

+

the list of items that will be sorted to the sorted direction

use_cooldown + + + + +

+

To prevent spam

+ + + diff --git a/obj/effect/eldritch.html b/obj/effect/eldritch.html new file mode 100644 index 00000000000..2337abb98c5 --- /dev/null +++ b/obj/effect/eldritch.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/eldritch - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

eldritch + + + +

+ + +

Vars

is_in_useUsed mainly for summoning ritual to prevent spamming the rune to create millions of monsters.
+

Var Details

is_in_use + + + + +

+

Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

+ + + diff --git a/obj/effect/landmark/start/hangover.html b/obj/effect/landmark/start/hangover.html new file mode 100644 index 00000000000..42915c63643 --- /dev/null +++ b/obj/effect/landmark/start/hangover.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/landmark/start/hangover - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

hangover + + + +

+ + + +

Vars

debrisA list of everything this hangover spawn created

Procs

make_hungoverSpawns the mob with some drugginess/drunkeness, and some disgust.
+

Var Details

debris + + + + +

+

A list of everything this hangover spawn created

Proc Details

make_hungover +

+

Spawns the mob with some drugginess/drunkeness, and some disgust.

+ + + diff --git a/obj/effect/mapping_helpers/custom_icon.html b/obj/effect/mapping_helpers/custom_icon.html new file mode 100644 index 00000000000..9f8ea2c466c --- /dev/null +++ b/obj/effect/mapping_helpers/custom_icon.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/mapping_helpers/custom_icon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

custom_icon + + + +

+ +

Fetches an external dmi and applies to the target object

+ + + + + +

Vars

first_match_onlyWill inject into all fitting the criteria if false, otherwise first found.
icon_urlThis should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"
target_nameWill inject into atoms with this name.
target_typeWill inject into atoms of this type.
target_variableThis is the var tha will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.

Procs

fetch_iconTODO put this injector stuff under common root
+

Var Details

first_match_only + + + + +

+

Will inject into all fitting the criteria if false, otherwise first found.

icon_url + + + + +

+

This should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"

target_name + + + + +

+

Will inject into atoms with this name.

target_type + + + + +

+

Will inject into atoms of this type.

target_variable + + + + +

+

This is the var tha will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.

Proc Details

fetch_icon +

+

TODO put this injector stuff under common root

+ + + diff --git a/obj/effect/mapping_helpers/network_builder.html b/obj/effect/mapping_helpers/network_builder.html new file mode 100644 index 00000000000..6e8ef5ad642 --- /dev/null +++ b/obj/effect/mapping_helpers/network_builder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/network_builder - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

network_builder + + + +

+ + + + +

Vars

custom_spawnedset var to true to not del on lateload
network_directionswhat directions we know connections are in

Procs

LateInitializeHow this works: On LateInitialize, detect all directions that this should be applicable to, and do what it needs to do, and then inform all network builders in said directions that it's been around since it won't be around afterwards.
+

Var Details

custom_spawned + + + + +

+

set var to true to not del on lateload

network_directions + + + + +

+

what directions we know connections are in

Proc Details

LateInitialize +

+

How this works: On LateInitialize, detect all directions that this should be applicable to, and do what it needs to do, and then inform all network builders in said directions that it's been around since it won't be around afterwards.

+ + + diff --git a/obj/effect/mapping_helpers/network_builder/atmos_pipe.html b/obj/effect/mapping_helpers/network_builder/atmos_pipe.html new file mode 100644 index 00000000000..0f255fb2dcc --- /dev/null +++ b/obj/effect/mapping_helpers/network_builder/atmos_pipe.html @@ -0,0 +1,64 @@ + + + + + + + /obj/effect/mapping_helpers/network_builder/atmos_pipe - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

atmos_pipe + + + +

+ + + + + + +

Vars

pipe_colorColor to set our pipes to
pipe_layerLayer to put our pipes on
visible_pipesWhether or not pipes we make are visible

Procs

build_networkDirections should only ever have cardinals.
scan_directionsScans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.
+

Var Details

pipe_color + + + + +

+

Color to set our pipes to

pipe_layer + + + + +

+

Layer to put our pipes on

visible_pipes + + + + +

+

Whether or not pipes we make are visible

Proc Details

build_network +

+

Directions should only ever have cardinals.

scan_directions +

+

Scans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.

+ + + diff --git a/obj/effect/mapping_helpers/network_builder/power_cable.html b/obj/effect/mapping_helpers/network_builder/power_cable.html new file mode 100644 index 00000000000..797b1f17c00 --- /dev/null +++ b/obj/effect/mapping_helpers/network_builder/power_cable.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/mapping_helpers/network_builder/power_cable - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

power_cable + + + +

+ +

Automatically links on init to power cables and other cable builder helpers. Only supports cardinals.

+ + + +

Vars

cable_colorcable color as from GLOB.cable_colors
knotWhether or not we forcefully make a knot

Procs

build_networkDirections should only ever have cardinals.
scan_directionsScans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.
+

Var Details

cable_color + + + + +

+

cable color as from GLOB.cable_colors

knot + + + + +

+

Whether or not we forcefully make a knot

Proc Details

build_network +

+

Directions should only ever have cardinals.

scan_directions +

+

Scans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.

+ + + diff --git a/obj/effect/mapping_helpers/trait_injector.html b/obj/effect/mapping_helpers/trait_injector.html new file mode 100644 index 00000000000..dc5f8029df6 --- /dev/null +++ b/obj/effect/mapping_helpers/trait_injector.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/mapping_helpers/trait_injector - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

trait_injector + + + +

+ + + + + +

Vars

first_match_onlyWill inject into all fitting the criteria if false, otherwise first found.
target_nameWill inject into atoms with this name.
target_typeWill inject into atoms of this type.
trait_nameName of the trait, in the lower-case text (NOT the upper-case define) form.
+

Var Details

first_match_only + + + + +

+

Will inject into all fitting the criteria if false, otherwise first found.

target_name + + + + +

+

Will inject into atoms with this name.

target_type + + + + +

+

Will inject into atoms of this type.

trait_name + + + + +

+

Name of the trait, in the lower-case text (NOT the upper-case define) form.

+ + + diff --git a/obj/effect/mine.html b/obj/effect/mine.html new file mode 100644 index 00000000000..b86ccce641f --- /dev/null +++ b/obj/effect/mine.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mine - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mine + + + +

+ + +

Vars

triggeredWe manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations
+

Var Details

triggered + + + + +

+

We manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations

+ + + diff --git a/obj/effect/mob_spawn.html b/obj/effect/mob_spawn.html new file mode 100644 index 00000000000..6d78bc0f9e9 --- /dev/null +++ b/obj/effect/mob_spawn.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/mob_spawn - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mob_spawn + + + +

+ + +

Procs

allow_spawnoverride this to add special spawn conditions to a ghost role

Proc Details

allow_spawn +

+

override this to add special spawn conditions to a ghost role

+ + + diff --git a/obj/effect/overlay/vis.html b/obj/effect/overlay/vis.html new file mode 100644 index 00000000000..5df09bde102 --- /dev/null +++ b/obj/effect/overlay/vis.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/overlay/vis - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

vis + + + +

+ + + +

Vars

cache_expirationoverlays which go unused for this amount of time get cleaned up
unusedWhen detected to be unused it gets set to world.time, after a while it gets removed
+

Var Details

cache_expiration + + + + +

+

overlays which go unused for this amount of time get cleaned up

unused + + + + +

+

When detected to be unused it gets set to world.time, after a while it gets removed

+ + + diff --git a/obj/effect/proc_holder/spell.html b/obj/effect/proc_holder/spell.html new file mode 100644 index 00000000000..80c1e49c5be --- /dev/null +++ b/obj/effect/proc_holder/spell.html @@ -0,0 +1,41 @@ + + + + + + + /obj/effect/proc_holder/spell - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

spell + + + +

+ + +

Procs

can_targetcan_target: Checks if we are allowed to cast the spell on a target.

Proc Details

can_target +

+

can_target: Checks if we are allowed to cast the spell on a target.

+

Arguments:

+
+ + + diff --git a/obj/effect/proc_holder/spell/cone.html b/obj/effect/proc_holder/spell/cone.html new file mode 100644 index 00000000000..abe8a420cc8 --- /dev/null +++ b/obj/effect/proc_holder/spell/cone.html @@ -0,0 +1,85 @@ + + + + + + + /obj/effect/proc_holder/spell/cone - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

cone + + + +

+ + + + + + + + + +

Vars

cone_levelsThis controls how many levels the cone has, increase this value to make a bigger cone.
respect_densityThis value determines if the cone penetrates walls.

Procs

calculate_cone_shapeThis proc adjusts the cones width depending on the level.
cone_helperThis proc creates a list of turfs that are hit by the cone
do_cone_effectsThis proc does obj, mob and turf cone effects on all targets in a list
do_mob_cone_effectThis proc deterimines how the spell will affect mobs.
do_obj_cone_effectThis proc deterimines how the spell will affect objects.
do_turf_cone_effectThis proc deterimines how the spell will affect turfs.
+

Var Details

cone_levels + + + + +

+

This controls how many levels the cone has, increase this value to make a bigger cone.

respect_density + + + + +

+

This value determines if the cone penetrates walls.

Proc Details

calculate_cone_shape +

+

This proc adjusts the cones width depending on the level.

cone_helper +

+

This proc creates a list of turfs that are hit by the cone

do_cone_effects +

+

This proc does obj, mob and turf cone effects on all targets in a list

do_mob_cone_effect +

+

This proc deterimines how the spell will affect mobs.

do_obj_cone_effect +

+

This proc deterimines how the spell will affect objects.

do_turf_cone_effect +

+

This proc deterimines how the spell will affect turfs.

+ + + diff --git a/obj/effect/proc_holder/spell/pointed.html b/obj/effect/proc_holder/spell/pointed.html new file mode 100644 index 00000000000..9f50d390776 --- /dev/null +++ b/obj/effect/proc_holder/spell/pointed.html @@ -0,0 +1,92 @@ + + + + + + + /obj/effect/proc_holder/spell/pointed - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

pointed + + + +

+ + + + + + + + +

Vars

active_msgMessage showing to the spell owner upon activating pointed spell.
aim_assistVariable dictating if the spell will use turf based aim assist
deactive_msgMessage showing to the spell owner upon deactivating pointed spell.
self_castableVariable dictating if the user is allowed to cast a spell on himself.

Procs

intercept_checkintercept_check: Specific spell checks for InterceptClickOn() targets.
on_activationon_activation: What happens upon pointed spell activation.
on_deactivationon_activation: What happens upon pointed spell deactivation.
+

Var Details

active_msg + + + + +

+

Message showing to the spell owner upon activating pointed spell.

aim_assist + + + + +

+

Variable dictating if the spell will use turf based aim assist

deactive_msg + + + + +

+

Message showing to the spell owner upon deactivating pointed spell.

self_castable + + + + +

+

Variable dictating if the user is allowed to cast a spell on himself.

Proc Details

intercept_check +

+

intercept_check: Specific spell checks for InterceptClickOn() targets.

+

Arguments:

+

on_activation +

+

on_activation: What happens upon pointed spell activation.

+

Arguments:

+

on_deactivation +

+

on_activation: What happens upon pointed spell deactivation.

+

Arguments:

+
+ + + diff --git a/obj/effect/proc_holder/spell/pointed/barnyardcurse.html b/obj/effect/proc_holder/spell/pointed/barnyardcurse.html new file mode 100644 index 00000000000..f1794057f61 --- /dev/null +++ b/obj/effect/proc_holder/spell/pointed/barnyardcurse.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/proc_holder/spell/pointed/barnyardcurse - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

barnyardcurse + + + +

+ + +

Vars

compatible_mobs_typecacheList of mobs which are allowed to be a target of the spell
+

Var Details

compatible_mobs_typecache + + + + +

+

List of mobs which are allowed to be a target of the spell

+ + + diff --git a/obj/effect/proc_holder/spell/pointed/mind_transfer.html b/obj/effect/proc_holder/spell/pointed/mind_transfer.html new file mode 100644 index 00000000000..9926c2ebe17 --- /dev/null +++ b/obj/effect/proc_holder/spell/pointed/mind_transfer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/proc_holder/spell/pointed/mind_transfer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mind_transfer + + + +

+ + + +

Vars

unconscious_amount_casterFor how long is the caster stunned for after the spell
unconscious_amount_victimFor how long is the victim stunned for after the spell
+

Var Details

unconscious_amount_caster + + + + +

+

For how long is the caster stunned for after the spell

unconscious_amount_victim + + + + +

+

For how long is the victim stunned for after the spell

+ + + diff --git a/obj/effect/proc_holder/spell/targeted/fire_sworn.html b/obj/effect/proc_holder/spell/targeted/fire_sworn.html new file mode 100644 index 00000000000..bebc44e5ed2 --- /dev/null +++ b/obj/effect/proc_holder/spell/targeted/fire_sworn.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/proc_holder/spell/targeted/fire_sworn - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

fire_sworn + + + +

+ + + + +

Vars

current_userwho casted it right now
durationhow long it lasts
has_fire_ringDetermines if you get the fire ring effect
+

Var Details

current_user + + + + +

+

who casted it right now

duration + + + + +

+

how long it lasts

has_fire_ring + + + + +

+

Determines if you get the fire ring effect

+ + + diff --git a/obj/effect/reality_smash.html b/obj/effect/reality_smash.html new file mode 100644 index 00000000000..3d6f9fc2730 --- /dev/null +++ b/obj/effect/reality_smash.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/reality_smash - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

reality_smash + + + +

+ + + + + + + +

Vars

image_stateWe cannot use icon_state since this is invisible, functions the same way but with custom behaviour.
imgTracked image
mindsWho can see us?

Procs

AddMindMakes the mind able to see this effect
RemoveMindMakes the mind not able to see this effect
generate_nameGenerates random name
+

Var Details

image_state + + + + +

+

We cannot use icon_state since this is invisible, functions the same way but with custom behaviour.

img + + + + +

+

Tracked image

minds + + + + +

+

Who can see us?

Proc Details

AddMind +

+

Makes the mind able to see this effect

RemoveMind +

+

Makes the mind not able to see this effect

generate_name +

+

Generates random name

+ + + diff --git a/obj/item.html b/obj/item.html new file mode 100644 index 00000000000..c46279200a5 --- /dev/null +++ b/obj/item.html @@ -0,0 +1,627 @@ + + + + + + + /obj/item - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

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

Vars

attack_speedAmount of time to check for from a mob's last attack, checked before an attack happens. Lower = faster attacks
attack_unwieldlynessAmount of time to hard-stagger (no clicking at all) the mob when attacking. Lower = better
block_chanceThe 0% to 100% chance for the default implementation of random block rolls.
block_priorityBlock priority, higher means we check this higher in the "chain".
clickdelay_from_next_actionThis item checks clickdelay from a user's delayed next action variable rather than the last time they attacked.
clickdelay_ignores_next_actionThis item ignores next action delays.
clickdelay_mod_bypassThis item bypasses any click delay mods
drop_soundSound uses when dropping the item, or when its thrown.
dye_colorUsed as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm
dying_keyWhat dye registry should be looked at when dying this item; see washing_machine.dm
equip_soundSound used when equipping the item into a valid slot
force_stringstring form of an item's force. Edit this var only to set a custom force string
hitsoundSound played when you hit something with the item
item_flagsItem flags for the item
item_stateicon state name for inhand overlays
lefthand_fileIcon file for left hand inhand overlays
mob_overlay_iconIcon file for mob worn overlays. +no var for state because it should always be the same as icon_state
mob_throw_hit_soundUsed when yate into a mob
pickup_soundSound uses when picking the item up (into your hands)
righthand_fileIcon file for right inhand overlays
sharpnessAll items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.
stagger_forceHow long, in deciseconds, this staggers for, if null it will autocalculate from w_class and force. Unlike total mass this supports 0 and negatives.
stealthy_audioWhether or not we use stealthy audio levels for this item's attack sounds
total_massThe amount of stamina it takes to swing an item in a normal melee attack do not lie to me and say it's for realism because it ain't. If null it will autocalculate from w_class.
undyeableWhether the item is unaffected by standard dying.
used_skillsSkills vars
usesoundPlayed when the item is used, for example tools
w_classWeight class for how much storage capacity it uses and how big it physically is meaning storages can't hold it if their maximum weight class isn't as high as it.
w_volumeVolume override for the item, otherwise automatically calculated from w_class.

Procs

ApplyAttackCooldownCalled after a successful attack to set a mob's clickdelay.
CheckAttackCooldownChecks if a user's clickdelay is met for a standard attack, this is called before an attack happens.
GetEstimatedAttackSpeedGet estimated time that a user has to not attack for to use us
UseStaminaBufferStandardUses the amount of stamina required for a standard hit
active_block_calculate_final_damageCalculates FINAL ATTACK DAMAGE after mitigation
active_block_do_stamina_damageApply the stamina damage to our user, notice how damage argument is stamina_amount.
active_block_stamina_costAmount of stamina from damage blocked. Note that the damage argument is damage_blocked.
active_parry_reflex_counterCalled when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.
add_item_contextCreates a "Type-A" contextual screentip interaction. +When a user hovers over something with this item in hand, this proc will be called in order +to provide context for contextual screentips. +You must call register_item_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.
afterattackCalled after attacking something if the melee attack chain isn't interrupted before. +Also called when clicking on something with an item without being in melee range
attackCalled when someone uses us to attack a mob in melee combat.
blockable_directionsGets the block direction bitflags of what we can block.
can_active_blockReturns if we can actively block.
can_active_parryDetermines if we can actively parry.
can_block_directionChecks if we can block from a specific direction from our direction.
can_block_directions_multiplecan_block_direction but for "compound" directions to check all of them and return the number of directions that were blocked.
check_blockReturns block information using list/block_return. Used for check_block() on mobs.
cyborg_unequipParent proc - triggers when an item/module is unequipped from a cyborg.
digest_act////// Auto-Emotes ///// +Prey Loop Refresh/hack +////// Exit Early ////// +/// Absorbed Handling // +///// Sound vars /////// +////// Make any noise /////
disableEmbeddingFor when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.
do_stagger_actiontotally not an untested, arbitrary equation.
droppedCalled when a mob drops an item.
equippedCalled after an item is placed in an equipment slot.
failedEmbedIn case we want to do something special (like self delete) upon failing to embed in something, return true
get_block_parry_dataGets this item's datum/block_parry_data
get_w_volumeGet an item's volume that it uses when being stored.
getweightHow much stamina this takes to swing this is not for realism purposes hecc off.
isEmbedHarmlessDoes the current embedding var meet the criteria for being harmless? Namely, does it explicitly define the pain multiplier and jostle pain mult to be 0? If so, return true.
melee_attack_chainThis is the proc that handles the order of an item_attack. +The order of procs called is: +tool_act on the target. If it returns TRUE, the chain will be stopped. +pre_attack() on src. If this returns TRUE, the chain will be stopped. +attackby on the target. If it returns TRUE, the chain will be stopped. +and lastly +afterattack. The return value does not matter.
melee_stagger_durationHow long this staggers for. 0 and negatives supported.
on_active_parryCalled when an attack is parried using this, whether or not the parry was successful.
on_offer_takenAn interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.
on_offeredAn interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.
on_outfit_equipSpecial stuff you want to do when an outfit equips this item.
pick_painting_tool_colorCommon proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.
ranged_attack_chainLike melee_attack_chain but for ranged.
register_item_contextCreate a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.
run_blockRuns block and returns flag for do_run_block to process.
set_slowdownSets our slowdown and updates equipment slowdown of any mob we're equipped on.
tryEmbedtryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.
updateEmbeddingFor when you want to add/update the embedding on an item. Uses the vars in [/obj/item/embedding], and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.
update_action_buttonsUpdates all action buttons associated with this item
+

Var Details

attack_speed + + + + +

+

Amount of time to check for from a mob's last attack, checked before an attack happens. Lower = faster attacks

attack_unwieldlyness + + + + +

+

Amount of time to hard-stagger (no clicking at all) the mob when attacking. Lower = better

block_chance + + + + +

+

The 0% to 100% chance for the default implementation of random block rolls.

block_priority + + + + +

+

Block priority, higher means we check this higher in the "chain".

clickdelay_from_next_action + + + + +

+

This item checks clickdelay from a user's delayed next action variable rather than the last time they attacked.

clickdelay_ignores_next_action + + + + +

+

This item ignores next action delays.

clickdelay_mod_bypass + + + + +

+

This item bypasses any click delay mods

drop_sound + + + + +

+

Sound uses when dropping the item, or when its thrown.

dye_color + + + + +

+

Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm

dying_key + + + + +

+

What dye registry should be looked at when dying this item; see washing_machine.dm

equip_sound + + + + +

+

Sound used when equipping the item into a valid slot

force_string + + + + +

+

string form of an item's force. Edit this var only to set a custom force string

hitsound + + + + +

+

Sound played when you hit something with the item

item_flags + + + + +

+

Item flags for the item

item_state + + + + +

+

icon state name for inhand overlays

lefthand_file + + + + +

+

Icon file for left hand inhand overlays

mob_overlay_icon + + + + +

+

Icon file for mob worn overlays. +no var for state because it should always be the same as icon_state

mob_throw_hit_sound + + + + +

+

Used when yate into a mob

pickup_sound + + + + +

+

Sound uses when picking the item up (into your hands)

righthand_file + + + + +

+

Icon file for right inhand overlays

sharpness + + + + +

+

All items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.

stagger_force + + + + +

+

How long, in deciseconds, this staggers for, if null it will autocalculate from w_class and force. Unlike total mass this supports 0 and negatives.

stealthy_audio + + + + +

+

Whether or not we use stealthy audio levels for this item's attack sounds

total_mass + + + + +

+

The amount of stamina it takes to swing an item in a normal melee attack do not lie to me and say it's for realism because it ain't. If null it will autocalculate from w_class.

undyeable + + + + +

+

Whether the item is unaffected by standard dying.

used_skills + + + + +

+

Skills vars

usesound + + + + +

+

Played when the item is used, for example tools

w_class + + + + +

+

Weight class for how much storage capacity it uses and how big it physically is meaning storages can't hold it if their maximum weight class isn't as high as it.

w_volume + + + + +

+

Volume override for the item, otherwise automatically calculated from w_class.

Proc Details

ApplyAttackCooldown +

+

Called after a successful attack to set a mob's clickdelay.

CheckAttackCooldown +

+

Checks if a user's clickdelay is met for a standard attack, this is called before an attack happens.

GetEstimatedAttackSpeed +

+

Get estimated time that a user has to not attack for to use us

UseStaminaBufferStandard +

+

Uses the amount of stamina required for a standard hit

active_block_calculate_final_damage +

+

Calculates FINAL ATTACK DAMAGE after mitigation

active_block_do_stamina_damage +

+

Apply the stamina damage to our user, notice how damage argument is stamina_amount.

active_block_stamina_cost +

+

Amount of stamina from damage blocked. Note that the damage argument is damage_blocked.

active_parry_reflex_counter +

+

Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.

add_item_context +

+

Creates a "Type-A" contextual screentip interaction. +When a user hovers over something with this item in hand, this proc will be called in order +to provide context for contextual screentips. +You must call register_item_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.

afterattack +

+

Called after attacking something if the melee attack chain isn't interrupted before. +Also called when clicking on something with an item without being in melee range

+

WARNING: This does not automatically check clickdelay if not in a melee attack! Be sure to account for this!

+

@params

+

attack +

+

Called when someone uses us to attack a mob in melee combat.

+

This proc respects CheckAttackCooldown() default clickdelay handling.

+

@params

+

blockable_directions +

+

Gets the block direction bitflags of what we can block.

can_active_block +

+

Returns if we can actively block.

can_active_parry +

+

Determines if we can actively parry.

can_block_direction +

+

Checks if we can block from a specific direction from our direction.

+

@params

+

can_block_directions_multiple +

+

can_block_direction but for "compound" directions to check all of them and return the number of directions that were blocked.

+

@params

+

check_block +

+

Returns block information using list/block_return. Used for check_block() on mobs.

cyborg_unequip +

+

Parent proc - triggers when an item/module is unequipped from a cyborg.

digest_act +

+

////// Auto-Emotes ///// +Prey Loop Refresh/hack +////// Exit Early ////// +/// Absorbed Handling // +///// Sound vars /////// +////// Make any noise /////

disableEmbedding +

+

For when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.

do_stagger_action +

+

totally not an untested, arbitrary equation.

dropped +

+

Called when a mob drops an item.

equipped +

+

Called after an item is placed in an equipment slot.

+

Note that hands count as slots.

+

Arguments:

+

failedEmbed +

+

In case we want to do something special (like self delete) upon failing to embed in something, return true

get_block_parry_data +

+

Gets this item's datum/block_parry_data

get_w_volume +

+

Get an item's volume that it uses when being stored.

getweight +

+

How much stamina this takes to swing this is not for realism purposes hecc off.

isEmbedHarmless +

+

Does the current embedding var meet the criteria for being harmless? Namely, does it explicitly define the pain multiplier and jostle pain mult to be 0? If so, return true.

melee_attack_chain +

+

This is the proc that handles the order of an item_attack. +The order of procs called is: +tool_act on the target. If it returns TRUE, the chain will be stopped. +pre_attack() on src. If this returns TRUE, the chain will be stopped. +attackby on the target. If it returns TRUE, the chain will be stopped. +and lastly +afterattack. The return value does not matter.

melee_stagger_duration +

+

How long this staggers for. 0 and negatives supported.

on_active_parry +

+

Called when an attack is parried using this, whether or not the parry was successful.

on_offer_taken +

+

An interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.

+

Return TRUE if you want to interrupt the taking.

+

Arguments: +offerer - the person offering the item +taker - the person trying to accept the offer

on_offered +

+

An interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.

+

Return TRUE if you want to interrupt the offer.

+

Arguments: +offerer - the person offering the item

on_outfit_equip +

+

Special stuff you want to do when an outfit equips this item.

pick_painting_tool_color +

+

Common proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.

ranged_attack_chain +

+

Like melee_attack_chain but for ranged.

register_item_context +

+

Create a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.

run_block +

+

Runs block and returns flag for do_run_block to process.

set_slowdown +

+

Sets our slowdown and updates equipment slowdown of any mob we're equipped on.

tryEmbed +

+

tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.

+

Really, this is used mostly with projectiles with shrapnel payloads, from /datum/element/embed/proc/checkEmbedProjectile, and called on said shrapnel. Mostly acts as an intermediate between different embed elements.

+

Arguments:

+

updateEmbedding +

+

For when you want to add/update the embedding on an item. Uses the vars in [/obj/item/embedding], and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.

update_action_buttons +

+

Updates all action buttons associated with this item

+

Arguments:

+
+ + + diff --git a/obj/item/airlock_painter.html b/obj/item/airlock_painter.html new file mode 100644 index 00000000000..022469dfacd --- /dev/null +++ b/obj/item/airlock_painter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/airlock_painter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

airlock_painter + + + +

+ + + + +

Vars

available_paint_jobsAssociate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock
initial_ink_typeThe type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner
inkThe ink cartridge to pull charges from.
+

Var Details

available_paint_jobs + + + + +

+

Associate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock

initial_ink_type + + + + +

+

The type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner

ink + + + + +

+

The ink cartridge to pull charges from.

+ + + diff --git a/obj/item/airlock_painter/decal.html b/obj/item/airlock_painter/decal.html new file mode 100644 index 00000000000..1dd41736b17 --- /dev/null +++ b/obj/item/airlock_painter/decal.html @@ -0,0 +1,125 @@ + + + + + + + /obj/item/airlock_painter/decal - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

decal + + + +

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

Vars

color_listList of color options as list(user-friendly label, color value to return)
decal_listList of decal options as list(user-friendly label, icon state base value to return)
dir_listList of direction options as list(user-friendly label, dir value to return)
spritesheet_typeThe type path of the spritesheet being used for the frontend.
stored_colorThe current color of the decal being printed.
stored_custom_colorCurrent custom color
stored_decalThe current base icon state of the decal being printed.
stored_decal_totalThe full icon state of the decal being printed.
stored_dirThe current direction of the decal being printed
supports_custom_colorDoes this printer implementation support custom colors?

Procs

get_decal_pathReturn the final icon_state for the given decal options
paint_floorActually add current decal to the floor.
+

Var Details

color_list + + + + +

+

List of color options as list(user-friendly label, color value to return)

decal_list + + + + +

+

List of decal options as list(user-friendly label, icon state base value to return)

dir_list + + + + +

+

List of direction options as list(user-friendly label, dir value to return)

spritesheet_type + + + + +

+

The type path of the spritesheet being used for the frontend.

stored_color + + + + +

+

The current color of the decal being printed.

stored_custom_color + + + + +

+

Current custom color

stored_decal + + + + +

+

The current base icon state of the decal being printed.

stored_decal_total + + + + +

+

The full icon state of the decal being printed.

stored_dir + + + + +

+

The current direction of the decal being printed

supports_custom_color + + + + +

+

Does this printer implementation support custom colors?

Proc Details

get_decal_path +

+

Return the final icon_state for the given decal options

+

Arguments:

+

paint_floor +

+

Actually add current decal to the floor.

+

Responsible for actually adding the element to the turf for maximum flexibility.area +Can be overriden for different decal behaviors. +Arguments:

+
+ + + diff --git a/obj/item/airlock_painter/decal/tile.html b/obj/item/airlock_painter/decal/tile.html new file mode 100644 index 00000000000..12575cb15ec --- /dev/null +++ b/obj/item/airlock_painter/decal/tile.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/airlock_painter/decal/tile - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

tile + + + +

+ + + +

Vars

default_alphaDefault alpha for /obj/effect/turf_decal/tile
rgba_regexRegex to split alpha out.
+

Var Details

default_alpha + + + + +

+

Default alpha for /obj/effect/turf_decal/tile

rgba_regex + + + + +

+

Regex to split alpha out.

+ + + diff --git a/obj/item/ammo_casing.html b/obj/item/ammo_casing.html new file mode 100644 index 00000000000..3a318ca5aba --- /dev/null +++ b/obj/item/ammo_casing.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/ammo_casing - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ammo_casing + + + +

+ + +

Vars

click_cooldown_overrideOverride this to make the gun check for a different cooldown rather than CLICK_CD_RANGE, which is 4 deciseconds.
+

Var Details

click_cooldown_override + + + + +

+

Override this to make the gun check for a different cooldown rather than CLICK_CD_RANGE, which is 4 deciseconds.

+ + + diff --git a/obj/item/assembly.html b/obj/item/assembly.html new file mode 100644 index 00000000000..024e29f1c94 --- /dev/null +++ b/obj/item/assembly.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/assembly - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

assembly + + + +

+ + + +

Procs

holder_movementCalled when the holder is moved
on_detachCall this when detaching it from a device. handles any special functions that need to be updated ex post facto

Proc Details

holder_movement +

+

Called when the holder is moved

on_detach +

+

Call this when detaching it from a device. handles any special functions that need to be updated ex post facto

+ + + diff --git a/obj/item/assembly/control.html b/obj/item/assembly/control.html new file mode 100644 index 00000000000..8139ea3cdcd --- /dev/null +++ b/obj/item/assembly/control.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/assembly/control - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

control + + + +

+ + + + +

Vars

can_change_idCan the ID be changed if used in hand?
idOur ID. Make the first character ! if you want to obfuscate it as a mapper via randomization.
show_idShow ID?
+

Var Details

can_change_id + + + + +

+

Can the ID be changed if used in hand?

id + + + + +

+

Our ID. Make the first character ! if you want to obfuscate it as a mapper via randomization.

show_id + + + + +

+

Show ID?

+ + + diff --git a/obj/item/assembly/control/electrochromatic.html b/obj/item/assembly/control/electrochromatic.html new file mode 100644 index 00000000000..f642ee00343 --- /dev/null +++ b/obj/item/assembly/control/electrochromatic.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/assembly/control/electrochromatic - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

electrochromatic + + + +

+ + +

Vars

onStores our status to prevent windows from desyncing.
+

Var Details

on + + + + +

+

Stores our status to prevent windows from desyncing.

+ + + diff --git a/obj/item/assembly/signaler.html b/obj/item/assembly/signaler.html new file mode 100644 index 00000000000..8e042427019 --- /dev/null +++ b/obj/item/assembly/signaler.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/assembly/signaler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

signaler + + + +

+ + + +

Vars

suicide_mobHolds a reference string to the mob, decides how much of a gamer you are.
suiciderHolds the mind that commited suicide.
+

Var Details

suicide_mob + + + + +

+

Holds a reference string to the mob, decides how much of a gamer you are.

suicider + + + + +

+

Holds the mind that commited suicide.

+ + + diff --git a/obj/item/barcode.html b/obj/item/barcode.html new file mode 100644 index 00000000000..e4893065beb --- /dev/null +++ b/obj/item/barcode.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/barcode - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

barcode + + + +

+ + +

Vars

payments_accAll values inheirited from the sales tagger it came from.
+

Var Details

payments_acc + + + + +

+

All values inheirited from the sales tagger it came from.

+ + + diff --git a/obj/item/bodypart.html b/obj/item/bodypart.html new file mode 100644 index 00000000000..84e62080a8a --- /dev/null +++ b/obj/item/bodypart.html @@ -0,0 +1,230 @@ + + + + + + + /obj/item/bodypart - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

bodypart + + + +

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

Vars

current_gauzeIf we have a gauze wrapping currently applied (not including splints)
disable_thresholdThreshold at which we are disabled. Defaults to max_damage if unset.
disabled_wound_penaltyWhen this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.
forcereplacedoes this limb have replacement capability, despite probably not being robotic?
generic_bleedstacksHow much generic bleedstacks we have on this bodypart
last_maxedSo we know if we need to scream if this limb hits max damage
scarsThe scars currently afflicting this body part
scars_covered_by_clothesA hat won't cover your face, but a shirt covering your chest will cover your... you know, chest
wound_damage_multiplierOur current stored wound damage multiplier
wound_resistanceThis number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound
woundsThe wounds currently afflicting this body part

Procs

apply_gauzeapply_gauze() is used to- well, apply gauze to a bodypart
check_woundingcheck_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria
check_woundings_modscheck_wounding_mods() is where we handle the various modifiers of a wound roll
get_disable_thresholdGets the damage at which point we're disabled.
get_mangled_stateget_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess)
get_organssince organs aren't actually stored in the bodypart themselves while attached to a person, we have to query the owner for what we should have
get_wound_typeGet whatever wound of the given type is currently attached to this limb, if any
painless_wound_rollAllows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds
seep_gauzeseep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity.
try_dismembertry_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it
update_woundsupdate_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status
+

Var Details

current_gauze + + + + +

+

If we have a gauze wrapping currently applied (not including splints)

disable_threshold + + + + +

+

Threshold at which we are disabled. Defaults to max_damage if unset.

disabled_wound_penalty + + + + +

+

When this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.

forcereplace + + + + +

+

does this limb have replacement capability, despite probably not being robotic?

generic_bleedstacks + + + + +

+

How much generic bleedstacks we have on this bodypart

last_maxed + + + + +

+

So we know if we need to scream if this limb hits max damage

scars + + + + +

+

The scars currently afflicting this body part

scars_covered_by_clothes + + + + +

+

A hat won't cover your face, but a shirt covering your chest will cover your... you know, chest

wound_damage_multiplier + + + + +

+

Our current stored wound damage multiplier

wound_resistance + + + + +

+

This number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound

wounds + + + + +

+

The wounds currently afflicting this body part

Proc Details

apply_gauze +

+

apply_gauze() is used to- well, apply gauze to a bodypart

+

As of the Wounds 2 PR, all bleeding is now bodypart based rather than the old bleedstacks system, and 90% of standard bleeding comes from flesh wounds (the exception is embedded weapons). +The same way bleeding is totaled up by bodyparts, gauze now applies to all wounds on the same part. Thus, having a slash wound, a pierce wound, and a broken bone wound would have the gauze +applying blood staunching to the first two wounds, while also acting as a sling for the third one. Once enough blood has been absorbed or all wounds with the ACCEPTS_GAUZE flag have been cleared, +the gauze falls off.

+

Arguments:

+

check_wounding +

+

check_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria

+

We generate a "score" for how woundable the attack was based on the damage and other factors discussed in [/obj/item/bodypart/proc/check_wounding_mods], then go down the list from most severe to least severe wounds in that category. +We can promote a wound from a lesser to a higher severity this way, but we give up if we have a wound of the given type and fail to roll a higher severity, so no sidegrades/downgrades

+

Arguments:

+

check_woundings_mods +

+

check_wounding_mods() is where we handle the various modifiers of a wound roll

+

A short list of things we consider: any armor a human target may be wearing, and if they have no wound armor on the limb, if we have a bare_wound_bonus to apply, plus the plain wound_bonus +We also flick through all of the wounds we currently have on this limb and add their threshold penalties, so that having lots of bad wounds makes you more liable to get hurt worse +Lastly, we add the inherent wound_resistance variable the bodypart has (heads and chests are slightly harder to wound), and a small bonus if the limb is already disabled

+

Arguments:

+

get_disable_threshold +

+

Gets the damage at which point we're disabled.

get_mangled_state +

+

get_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess)

+

Dismemberment for flesh and bone requires the victim to have the skin on their bodypart destroyed (either a critical cut or piercing wound), and at least a hairline fracture +(severe bone), at which point we can start rolling for dismembering. The attack must also deal at least 10 damage, and must be a brute attack of some kind (sorry for now, cakehat, maybe later)

+

Returns: BODYPART_MANGLED_NONE if we're fine, BODYPART_MANGLED_FLESH if our skin is broken, BODYPART_MANGLED_BONE if our bone is broken, or BODYPART_MANGLED_BOTH if both are broken and we're up for dismembering

get_organs +

+

since organs aren't actually stored in the bodypart themselves while attached to a person, we have to query the owner for what we should have

get_wound_type +

+

Get whatever wound of the given type is currently attached to this limb, if any

painless_wound_roll +

+

Allows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds

seep_gauze +

+

seep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity.

+

The passed amount of seepage is deducted from the bandage's absorption capacity, and if we reach a negative absorption capacity, the bandages fall off and we're left with nothing.

+

Arguments:

+

try_dismember +

+

try_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it

+

Mangling is described in the above proc, [/obj/item/bodypart/proc/get_mangled_state()]. This simply makes the roll for whether we actually dismember or not +using how damaged the limb already is, and how much damage this blow was for. If we have a critical bone wound instead of just a severe, we add +10% to the roll. +Lastly, we choose which kind of dismember we want based on the wounding type we hit with. Note we don't care about all the normal mods or armor for this

+

Arguments:

+

update_wounds +

+

update_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status

+

Covers tabulating the damage multipliers we have from wounds (burn specifically), as well as deleting our gauze wrapping if we don't have any wounds that can use bandaging

+

Arguments:

+
+ + + diff --git a/obj/item/book/random.html b/obj/item/book/random.html new file mode 100644 index 00000000000..3efca5f4f70 --- /dev/null +++ b/obj/item/book/random.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/book/random - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

random + + + +

+ + + +

Vars

random_categoryThe category of books to pick from when creating this book.
random_loadedIf this book has already been 'generated' yet.
+

Var Details

random_category + + + + +

+

The category of books to pick from when creating this book.

random_loaded + + + + +

+

If this book has already been 'generated' yet.

+ + + diff --git a/obj/item/borg/upgrade.html b/obj/item/borg/upgrade.html new file mode 100644 index 00000000000..409e40b90e0 --- /dev/null +++ b/obj/item/borg/upgrade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/borg/upgrade - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

upgrade + + + +

+ + +

Vars

module_flagsBitflags listing module compatibility. Used in the exosuit fabricator for creating sub-categories.
+

Var Details

module_flags + + + + +

+

Bitflags listing module compatibility. Used in the exosuit fabricator for creating sub-categories.

+ + + diff --git a/obj/item/borg_shapeshifter.html b/obj/item/borg_shapeshifter.html new file mode 100644 index 00000000000..4f9c3dadffb --- /dev/null +++ b/obj/item/borg_shapeshifter.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/borg_shapeshifter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

borg_shapeshifter + + + +

+ + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/bounty_cube.html b/obj/item/bounty_cube.html new file mode 100644 index 00000000000..4aeb9421c40 --- /dev/null +++ b/obj/item/bounty_cube.html @@ -0,0 +1,127 @@ + + + + + + + /obj/item/bounty_cube - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

bounty_cube + + + +

+ +

Upon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.

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

Vars

bounty_handler_accountBank account of the person who receives the handling tip.
bounty_holderWho completed the bounty.
bounty_holder_accountBank account of the person who completed the bounty.
bounty_holder_jobWhat job the bounty holder had.
bounty_nameWhat the bounty was for.
bounty_valueValue of the bounty that this bounty cube sells for.
handler_tipMultiplier for the bounty payout received by the person who claims the handling tip.
holder_cutMultiplier for the bounty payout received by the person who completed the bounty.
nag_cooldownTime between nags.
nag_cooldown_multiplierHow much the time between nags extends each nag.
next_nag_timeNext world tick to nag Supply listeners.
radioOur internal radio.
radio_keyThe key our internal radio uses.
speed_bonusMultiplier for the bounty payout received by the Supply budget if the cube is sent without having to nag.
+

Var Details

bounty_handler_account + + + + +

+

Bank account of the person who receives the handling tip.

bounty_holder + + + + +

+

Who completed the bounty.

bounty_holder_account + + + + +

+

Bank account of the person who completed the bounty.

bounty_holder_job + + + + +

+

What job the bounty holder had.

bounty_name + + + + +

+

What the bounty was for.

bounty_value + + + + +

+

Value of the bounty that this bounty cube sells for.

handler_tip + + + + +

+

Multiplier for the bounty payout received by the person who claims the handling tip.

holder_cut + + + + +

+

Multiplier for the bounty payout received by the person who completed the bounty.

nag_cooldown + + + + +

+

Time between nags.

nag_cooldown_multiplier + + + + +

+

How much the time between nags extends each nag.

next_nag_time + + + + +

+

Next world tick to nag Supply listeners.

radio + + + + +

+

Our internal radio.

radio_key + + + + +

+

The key our internal radio uses.

speed_bonus + + + + +

+

Multiplier for the bounty payout received by the Supply budget if the cube is sent without having to nag.

+ + + diff --git a/obj/item/broom.html b/obj/item/broom.html new file mode 100644 index 00000000000..e7603753823 --- /dev/null +++ b/obj/item/broom.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/broom - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

broom + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/canvas.html b/obj/item/canvas.html new file mode 100644 index 00000000000..63b2e29946b --- /dev/null +++ b/obj/item/canvas.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/canvas - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

canvas + + + +

+ + +

Vars

no_saveboolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.
+

Var Details

no_save + + + + +

+

boolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.

+ + + diff --git a/obj/item/cardboard_cutout.html b/obj/item/cardboard_cutout.html new file mode 100644 index 00000000000..0d29349573d --- /dev/null +++ b/obj/item/cardboard_cutout.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/cardboard_cutout - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

cardboard_cutout + + + +

+ + + + + + +

Vars

deceptiveIf the cutout actually appears as what it portray and not a discolored version
possible_appearancesPossible restyles for the cutout, add an entry in change_appearance() if you add to here
pushed_overIf the cutout is pushed over and has to be righted

Procs

change_appearancechange_appearance: Changes a skin of the cardboard cutout based on a user's choice
check_menucheck_menu: Checks if we are allowed to interact with a radial menu
+

Var Details

deceptive + + + + +

+

If the cutout actually appears as what it portray and not a discolored version

possible_appearances + + + + +

+

Possible restyles for the cutout, add an entry in change_appearance() if you add to here

pushed_over + + + + +

+

If the cutout is pushed over and has to be righted

Proc Details

change_appearance +

+

change_appearance: Changes a skin of the cardboard cutout based on a user's choice

+

Arguments:

+

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/cardpack.html b/obj/item/cardpack.html new file mode 100644 index 00000000000..659ef7a5391 --- /dev/null +++ b/obj/item/cardpack.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/cardpack - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cardpack + + + +

+ + + + + + + +

Vars

card_countThe amount of cards to draw from the rarity table
contains_coinChance of the pack having a coin in it out of 10
guar_rarityThe guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like
guaranteed_countThe amount of cards to draw from the guarenteed rarity table
rarity_tableThe rarity table, the set must contain at least one of each
seriesThe card series to look in
+

Var Details

card_count + + + + +

+

The amount of cards to draw from the rarity table

contains_coin + + + + +

+

Chance of the pack having a coin in it out of 10

guar_rarity + + + + +

+

The guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like

guaranteed_count + + + + +

+

The amount of cards to draw from the guarenteed rarity table

rarity_table + + + + +

+

The rarity table, the set must contain at least one of each

series + + + + +

+

The card series to look in

+ + + diff --git a/obj/item/carrotglaive.html b/obj/item/carrotglaive.html new file mode 100644 index 00000000000..bc97787426e --- /dev/null +++ b/obj/item/carrotglaive.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/carrotglaive - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

carrotglaive + + + +

+ +

obj/item/murasama/dropped(mob/living/user)

+ +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/chainsaw.html b/obj/item/chainsaw.html new file mode 100644 index 00000000000..8a057ab95e7 --- /dev/null +++ b/obj/item/chainsaw.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/chainsaw - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

chainsaw + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/chisel.html b/obj/item/chisel.html new file mode 100644 index 00000000000..b105ef38121 --- /dev/null +++ b/obj/item/chisel.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/chisel - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

chisel + + + +

+ +

Elder Atmosian

+ + +

Vars

prepared_blockBlock we're currently carving in
sculptingCurrently sculpting
tracked_userIf tracked user moves we stop sculpting
+

Var Details

prepared_block + + + + +

+

Block we're currently carving in

sculpting + + + + +

+

Currently sculpting

tracked_user + + + + +

+

If tracked user moves we stop sculpting

+ + + diff --git a/obj/item/circlegame.html b/obj/item/circlegame.html new file mode 100644 index 00000000000..05725c89fb0 --- /dev/null +++ b/obj/item/circlegame.html @@ -0,0 +1,56 @@ + + + + + + + /obj/item/circlegame - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

circlegame + + + +

+ + + + + +

Procs

GOTTEMStage 3B: We face our reckoning (unless we moved away or they're incapacitated)
ownerExaminedStage 1: The mistake is made
selfGottemStage 3A: We face our own failures
waitASecondStage 2: Fear sets in

Proc Details

GOTTEM +

+

Stage 3B: We face our reckoning (unless we moved away or they're incapacitated)

ownerExamined +

+

Stage 1: The mistake is made

selfGottem +

+

Stage 3A: We face our own failures

waitASecond +

+

Stage 2: Fear sets in

+ + + diff --git a/obj/item/circuitboard.html b/obj/item/circuitboard.html new file mode 100644 index 00000000000..23e20987935 --- /dev/null +++ b/obj/item/circuitboard.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/circuitboard - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuitboard + + + +

+ + + +

Vars

onstationdetermines if the circuit board originated from a vendor off station or not.

Procs

configure_machineUsed to allow the circuitboard to configure a machine in some way, shape or form.
+

Var Details

onstation + + + + +

+

determines if the circuit board originated from a vendor off station or not.

Proc Details

configure_machine +

+

Used to allow the circuitboard to configure a machine in some way, shape or form.

+

Arguments:

+
+ + + diff --git a/obj/item/clipboard.html b/obj/item/clipboard.html new file mode 100644 index 00000000000..1ace7b6cd34 --- /dev/null +++ b/obj/item/clipboard.html @@ -0,0 +1,67 @@ + + + + + + + /obj/item/clipboard - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

clipboard + + + +

+ +

Clipboard

+ + + + +

Vars

integrated_penIs the pen integrated?
penThe stored pen
toppaper_refWeakref of the topmost piece of paper

Procs

on_top_paper_changeThis is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.
remove_paperTake out the topmost paper
+

Var Details

integrated_pen + + + + +

+

Is the pen integrated?

pen + + + + +

+

The stored pen

toppaper_ref + + + + +

+

Weakref of the topmost piece of paper

+

This is used for the paper displayed on the clipboard's icon +and it is the one attacked, when attacking the clipboard. +(As you can't organise contents directly in BYOND)

Proc Details

on_top_paper_change +

+

This is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.

remove_paper +

+

Take out the topmost paper

+ + + diff --git a/obj/item/clothing.html b/obj/item/clothing.html new file mode 100644 index 00000000000..6747be48302 --- /dev/null +++ b/obj/item/clothing.html @@ -0,0 +1,96 @@ + + + + + + + /obj/item/clothing - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

clothing + + + +

+ + + + + + + +

Vars

armor_listThese are armor values that protect the wearer, taken from the clothing's armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().
durability_listThese are armor values that protect the clothing, taken from its armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().

Procs

armor_to_protection_classRounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10
bristleIf we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged
disable_zonedisable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone()]
take_damage_zonetake_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods()]
+

Var Details

armor_list + + + + +

+

These are armor values that protect the wearer, taken from the clothing's armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().

durability_list + + + + +

+

These are armor values that protect the clothing, taken from its armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().

Proc Details

armor_to_protection_class +

+

Rounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10

+

Rounds armor_value to nearest 10, divides it by 10 +and then expresses it in roman numerals up to 10 +Arguments:

+

bristle +

+

If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged

disable_zone +

+

disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone()]

+

This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) +If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in +order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled.

+

Arguments:

+

take_damage_zone +

+

take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods()]

+
This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers
+
+

more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. +Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it.

+

Arguments:

+
+ + + diff --git a/obj/item/clothing/glasses/hud.html b/obj/item/clothing/glasses/hud.html new file mode 100644 index 00000000000..ca1c8f1ded6 --- /dev/null +++ b/obj/item/clothing/glasses/hud.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/glasses/hud - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

hud + + + +

+ + +

Vars

hud_traitUsed for topic calls. Just because you have a HUD display doesn't mean you should be able to interact with stuff.
+

Var Details

hud_trait + + + + +

+

Used for topic calls. Just because you have a HUD display doesn't mean you should be able to interact with stuff.

+ + + diff --git a/obj/item/clothing/gloves/fingerless/pugilist.html b/obj/item/clothing/gloves/fingerless/pugilist.html new file mode 100644 index 00000000000..71b0babc595 --- /dev/null +++ b/obj/item/clothing/gloves/fingerless/pugilist.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/clothing/gloves/fingerless/pugilist - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

pugilist + + + +

+ + + + + + + +

Vars

enhancementExtra damage through the punch.
inherited_traitMain trait added by the gloves to the user on wear.
secondary_traitSecondary trait added by the gloves to the user on wear.
silentdo we give the flavortext for wearing them
wornoncedid you ever get around to wearing these or no
wound_enhancementextra wound bonus through the punch (MAYBE DON'T BE GENEROUS WITH THIS)
+

Var Details

enhancement + + + + +

+

Extra damage through the punch.

inherited_trait + + + + +

+

Main trait added by the gloves to the user on wear.

secondary_trait + + + + +

+

Secondary trait added by the gloves to the user on wear.

silent + + + + +

+

do we give the flavortext for wearing them

wornonce + + + + +

+

did you ever get around to wearing these or no

wound_enhancement + + + + +

+

extra wound bonus through the punch (MAYBE DON'T BE GENEROUS WITH THIS)

+ + + diff --git a/obj/item/clothing/gloves/mod.html b/obj/item/clothing/gloves/mod.html new file mode 100644 index 00000000000..bde526448b4 --- /dev/null +++ b/obj/item/clothing/gloves/mod.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/gloves/mod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mod + + + +

+ + +

Procs

show_overslotReplaces these gloves on the wearer with the overslot ones

Proc Details

show_overslot +

+

Replaces these gloves on the wearer with the overslot ones

+ + + diff --git a/obj/item/clothing/gloves/space_ninja.html b/obj/item/clothing/gloves/space_ninja.html new file mode 100644 index 00000000000..d5cbbb71635 --- /dev/null +++ b/obj/item/clothing/gloves/space_ninja.html @@ -0,0 +1,96 @@ + + + + + + + /obj/item/clothing/gloves/space_ninja - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Ninja Gloves + + + +

+ +

Space ninja's gloves. Gives access to a number of special interactions.

+

Gloves only found from space ninjas. Allows the wearer to access special interactions with various objects. +These interactions are detailed in ninjaDrainAct.dm in the suit file. +These interactions are toggled by an action tied to the gloves. The interactions will not activate if the user is also not wearing a ninja suit.

+ + + + + + + + +

Vars

borg_hack_successWhether or not the cyborg hack was used to syndify a cyborg
candrainWhether or not we can currently drain something
communication_console_hack_successWhether or not the communication console hack was used to summon another antagonist
door_hack_counterHow many times the gloves have been used to force open doors.
drainingWhether or not we're currently draining something
maxdrainMaximum amount of power we can drain in a single drain action
mindrainMinimum amount of power we can drain in a single drain action
security_console_hack_successWhether or not the security console hack was used to set everyone to arrest

Procs

toggledrainProc called to toggle the ninja glove's special abilities.
+

Var Details

borg_hack_success + + + + +

+

Whether or not the cyborg hack was used to syndify a cyborg

candrain + + + + +

+

Whether or not we can currently drain something

communication_console_hack_success + + + + +

+

Whether or not the communication console hack was used to summon another antagonist

door_hack_counter + + + + +

+

How many times the gloves have been used to force open doors.

draining + + + + +

+

Whether or not we're currently draining something

maxdrain + + + + +

+

Maximum amount of power we can drain in a single drain action

mindrain + + + + +

+

Minimum amount of power we can drain in a single drain action

security_console_hack_success + + + + +

+

Whether or not the security console hack was used to set everyone to arrest

Proc Details

toggledrain +

+

Proc called to toggle the ninja glove's special abilities.

+

Used to toggle whether or not the ninja glove's abilities will activate on touch.

+ + + diff --git a/obj/item/clothing/gloves/tackler.html b/obj/item/clothing/gloves/tackler.html new file mode 100644 index 00000000000..294aef3c226 --- /dev/null +++ b/obj/item/clothing/gloves/tackler.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/clothing/gloves/tackler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

tackler + + + +

+ + + + + + + + +

Vars

base_knockdownSee: /datum/component/tackler/var/base_knockdown
min_distanceSee: /datum/component/tackler/var/min_distance
skill_modSee: /datum/component/tackler/var/skill_mod
tackle_rangeSee: /datum/component/tackler/var/range
tackle_speedSee: /datum/component/tackler/var/speed
tackle_stam_costSee: /datum/component/tackler/var/stamina_cost
tacklerFor storing our tackler datum so we can remove it after
+

Var Details

base_knockdown + + + + +

+

See: /datum/component/tackler/var/base_knockdown

min_distance + + + + +

+

See: /datum/component/tackler/var/min_distance

skill_mod + + + + +

+

See: /datum/component/tackler/var/skill_mod

tackle_range + + + + +

+

See: /datum/component/tackler/var/range

tackle_speed + + + + +

+

See: /datum/component/tackler/var/speed

tackle_stam_cost + + + + +

+

See: /datum/component/tackler/var/stamina_cost

tackler + + + + +

+

For storing our tackler datum so we can remove it after

+ + + diff --git a/obj/item/clothing/head.html b/obj/item/clothing/head.html new file mode 100644 index 00000000000..6954f2c2cb3 --- /dev/null +++ b/obj/item/clothing/head.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/clothing/head - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

head + + + +

+ + + +

Procs

throw_impactSpecial throw_impact for hats to frisbee hats at people to place them on their heads.
worn_overlaysif the thrown object's target zone isn't the head +ignore any hats with downsides when worn +if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it +hats in the borg's blacklist bounce off

Proc Details

throw_impact +

+

Special throw_impact for hats to frisbee hats at people to place them on their heads.

worn_overlays +

+

if the thrown object's target zone isn't the head +ignore any hats with downsides when worn +if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it +hats in the borg's blacklist bounce off

+ + + diff --git a/obj/item/clothing/head/helmet/space/hardsuit/mining.html b/obj/item/clothing/head/helmet/space/hardsuit/mining.html new file mode 100644 index 00000000000..d58840adccd --- /dev/null +++ b/obj/item/clothing/head/helmet/space/hardsuit/mining.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/clothing/head/helmet/space/hardsuit/mining - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mining + + + +

+ + +

Procs

update_icon_stateh suffix for helmet +Sprited by Dexxiol#3462 :)

Proc Details

update_icon_state +

+

h suffix for helmet +Sprited by Dexxiol#3462 :)

+ + + diff --git a/obj/item/clothing/head/helmet/space/plasmaman.html b/obj/item/clothing/head/helmet/space/plasmaman.html new file mode 100644 index 00000000000..a4dcebbc494 --- /dev/null +++ b/obj/item/clothing/head/helmet/space/plasmaman.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/head/helmet/space/plasmaman - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

plasmaman + + + +

+ + +

Procs

wipe_that_smile_off_your_facegets called when receiving the CLEAN_ACT signal from something, i.e soap or a shower. exists to remove any smiley faces drawn on the helmet.

Proc Details

wipe_that_smile_off_your_face +

+

gets called when receiving the CLEAN_ACT signal from something, i.e soap or a shower. exists to remove any smiley faces drawn on the helmet.

+ + + diff --git a/obj/item/clothing/head/helmet/space/space_ninja.html b/obj/item/clothing/head/helmet/space/space_ninja.html new file mode 100644 index 00000000000..9db5a0cc447 --- /dev/null +++ b/obj/item/clothing/head/helmet/space/space_ninja.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/clothing/head/helmet/space/space_ninja - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Ninja Hood + + + +

+ +

Space ninja's hood. Provides armor and blocks AI tracking.

+

A hood that only exists as a part of space ninja's starting kit. Provides armor equal of space ninja's suit and disallows an AI to track the wearer.

+ + + diff --git a/obj/item/clothing/head/ushanka.html b/obj/item/clothing/head/ushanka.html new file mode 100644 index 00000000000..ca66de34c4a --- /dev/null +++ b/obj/item/clothing/head/ushanka.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/ushanka - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ushanka + + + +

+ + + +

Vars

downspriteSprite visible when the ushanka flaps are folded down.
upspriteSprite visible when the ushanka flaps are folded up.
+

Var Details

downsprite + + + + +

+

Sprite visible when the ushanka flaps are folded down.

upsprite + + + + +

+

Sprite visible when the ushanka flaps are folded up.

+ + + diff --git a/obj/item/clothing/mask.html b/obj/item/clothing/mask.html new file mode 100644 index 00000000000..e86ce104271 --- /dev/null +++ b/obj/item/clothing/mask.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/clothing/mask - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mask + + + +

+ + +

Procs

adjustmaskProc that moves gas/breath masks out of the way, disabling them and allowing pill/food consumption +The flavor_details variable is for masks that use this function only to toggle HIDEFACE for identity.

Proc Details

adjustmask +

+

Proc that moves gas/breath masks out of the way, disabling them and allowing pill/food consumption +The flavor_details variable is for masks that use this function only to toggle HIDEFACE for identity.

+ + + diff --git a/obj/item/clothing/mask/chameleon.html b/obj/item/clothing/mask/chameleon.html new file mode 100644 index 00000000000..ef86bbbd9d9 --- /dev/null +++ b/obj/item/clothing/mask/chameleon.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/chameleon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

chameleon + + + +

+ + +

Vars

chameleon_actionThis determines if the voice changer is on or off.
+

Var Details

chameleon_action + + + + +

+

This determines if the voice changer is on or off.

+ + + diff --git a/obj/item/clothing/mask/facehugger/toy.html b/obj/item/clothing/mask/facehugger/toy.html new file mode 100644 index 00000000000..25da0b73c64 --- /dev/null +++ b/obj/item/clothing/mask/facehugger/toy.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/clothing/mask/facehugger/toy - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

toy + + + +

+ +

Mining Equipment Vendor Items

+

Facehugger toy

+ + + diff --git a/obj/item/clothing/mask/gas/space_ninja.html b/obj/item/clothing/mask/gas/space_ninja.html new file mode 100644 index 00000000000..3a4b2d4e3fe --- /dev/null +++ b/obj/item/clothing/mask/gas/space_ninja.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/clothing/mask/gas/space_ninja - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Ninja Mask + + + +

+ +

Space ninja's mask. Makes you sound like a real anime girl. Barely able to be considered a real upside.

+

A mask which only spawns as a part of space ninja's starting kit. Functions as a gas mask.

+ + + diff --git a/obj/item/clothing/mask/void_mask.html b/obj/item/clothing/mask/void_mask.html new file mode 100644 index 00000000000..540a3c3ff4f --- /dev/null +++ b/obj/item/clothing/mask/void_mask.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/void_mask - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

void_mask + + + +

+ + +

Vars

local_userWho is wearing this
+

Var Details

local_user + + + + +

+

Who is wearing this

+ + + diff --git a/obj/item/clothing/neck/eldritch_amulet.html b/obj/item/clothing/neck/eldritch_amulet.html new file mode 100644 index 00000000000..f6c7bfa28cd --- /dev/null +++ b/obj/item/clothing/neck/eldritch_amulet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/neck/eldritch_amulet - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

eldritch_amulet + + + +

+ + +

Vars

traitWhat trait do we want to add upon equipiing
+

Var Details

trait + + + + +

+

What trait do we want to add upon equipiing

+ + + diff --git a/obj/item/clothing/neck/necklace/dope/merchant.html b/obj/item/clothing/neck/necklace/dope/merchant.html new file mode 100644 index 00000000000..f9ab2adac34 --- /dev/null +++ b/obj/item/clothing/neck/necklace/dope/merchant.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/neck/necklace/dope/merchant - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

merchant + + + +

+ + + +

Vars

profit_scalingscales the amount received in case an admin wants to emulate taxes/fees.
sellingtoggles between sell (TRUE) and get price post-fees (FALSE)
+

Var Details

profit_scaling + + + + +

+

scales the amount received in case an admin wants to emulate taxes/fees.

selling + + + + +

+

toggles between sell (TRUE) and get price post-fees (FALSE)

+ + + diff --git a/obj/item/clothing/shoes.html b/obj/item/clothing/shoes.html new file mode 100644 index 00000000000..f6fd951bae6 --- /dev/null +++ b/obj/item/clothing/shoes.html @@ -0,0 +1,98 @@ + + + + + + + /obj/item/clothing/shoes - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

shoes + + + +

+ + + + + + + + + +

Vars

can_be_tiedWhether these shoes have laces that can be tied/untied
lace_timeHow long it takes to lace/unlace these shoes
our_alertany alerts we have active
tiedAre we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Procs

adjust_lacesadjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted
check_tripcheck_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble
handle_tyinghandle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces
still_shoedour_guy here is the wearer, if one exists (and he must exist, or we don't care) +checking to make sure we're still on the person we're supposed to be, for lacing do_after's
+

Var Details

can_be_tied + + + + +

+

Whether these shoes have laces that can be tied/untied

lace_time + + + + +

+

How long it takes to lace/unlace these shoes

our_alert + + + + +

+

any alerts we have active

tied + + + + +

+

Are we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Proc Details

adjust_laces +

+

adjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted

+

In addition to setting the state, it will deal with getting rid of alerts if they exist, as well as registering and unregistering the stepping signals

+

Arguments:

+

check_trip +

+

check_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble

handle_tying +

+

handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces

+

If you're the wearer, you want them to move towards tied-ness (knotted -> untied -> tied). If you're not, you're pranking them, so you're moving towards knotted-ness (tied -> untied -> knotted)

+

Arguments:

+

still_shoed +

+

our_guy here is the wearer, if one exists (and he must exist, or we don't care) +checking to make sure we're still on the person we're supposed to be, for lacing do_after's

+ + + diff --git a/obj/item/clothing/shoes/mod.html b/obj/item/clothing/shoes/mod.html new file mode 100644 index 00000000000..1249f12be88 --- /dev/null +++ b/obj/item/clothing/shoes/mod.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/shoes/mod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mod + + + +

+ + +

Procs

show_overslotReplaces these shoes on the wearer with the overslot ones

Proc Details

show_overslot +

+

Replaces these shoes on the wearer with the overslot ones

+ + + diff --git a/obj/item/clothing/shoes/space_ninja.html b/obj/item/clothing/shoes/space_ninja.html new file mode 100644 index 00000000000..a7b5ad41d33 --- /dev/null +++ b/obj/item/clothing/shoes/space_ninja.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/clothing/shoes/space_ninja - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Ninja Shoes + + + +

+ +

Space ninja's shoes. Gives him armor on his feet.

+

Space ninja's ninja shoes. How mousey. Gives him slip protection and protection against attacks. +Also are temperature resistant.

+ + + diff --git a/obj/item/clothing/suit/hooded.html b/obj/item/clothing/suit/hooded.html new file mode 100644 index 00000000000..a24e9851911 --- /dev/null +++ b/obj/item/clothing/suit/hooded.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/hooded - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

hooded + + + +

+ + +

Vars

alternative_modeAlternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.
+

Var Details

alternative_mode + + + + +

+

Alternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.

+ + + diff --git a/obj/item/clothing/suit/space/space_ninja.html b/obj/item/clothing/suit/space/space_ninja.html new file mode 100644 index 00000000000..023130559b7 --- /dev/null +++ b/obj/item/clothing/suit/space/space_ninja.html @@ -0,0 +1,282 @@ + + + + + + + /obj/item/clothing/suit/space/space_ninja - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Ninja Suit + + + +

+ +

Space ninja's suit. Provides him with most of his powers.

+

Space ninja's suit. Gives space ninja all his iconic powers, which are mostly kept in +the folder ninja_equipment_actions. Has a lot of unique stuff going on, so make sure to check +the variables. Check suit_attackby to see radium interaction, disk copying, and cell replacement.

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

Vars

a_boostWhether or not the adrenaline boost ability is available
a_transferUnits of radium required to refill the adrenaline boost
affectingThe person wearing the suit
n_maskThe space ninja's mask.
s_acostAdditional energy cost for cloaking per process
s_busyWhether or not the wearer is in the middle of an action, like hacking.
s_cooldThe suit's current cooldown. If not 0, blocks usage of most abilities, and decrements its value by 1 every process
s_costHow much energy the suit expends in a single process
s_delayHow fast the suit is at certain actions, like draining power from things
s_initializedWhether or not the suit is currently booted up. Starts off.
s_longdelayHow fast the suit is at certain riskier actions, like hacking communications consoles.
stealthWhether or not the suit is currently in stealth mode.

Procs

cancel_stealthProc called to cancel stealth.
deinitializeDeinitializes the ninja suit
lock_suitProc called to lock the important gear pieces onto space ninja's body.
ninitializeInitializes the ninja suit
ninja_sword_recallProc called to recall the ninja's sword.
ninjaboostProc called to activate space ninja's adrenaline.
ninjaboost_afterProc called to inject the ninja with radium.
ninjacostProc called to check if the ninja can afford an ability's cost.
ninjanetProc called to ensnare a person in a energy net.
ninjapulseProc called to allow the ninja to EMP the nearby area.
ninjastarProc called to create a ninja star in the ninja's hands.
terminateProc used to delete all the attachments and itself.
toggle_on_offToggles the ninja suit on/off
toggle_stealthProc called to toggle ninja stealth.
unlock_suitProc called to unlock all the gear off space ninja's body.
+

Var Details

a_boost + + + + +

+

Whether or not the adrenaline boost ability is available

a_transfer + + + + +

+

Units of radium required to refill the adrenaline boost

affecting + + + + +

+

The person wearing the suit

n_mask + + + + +

+

The space ninja's mask.

s_acost + + + + +

+

Additional energy cost for cloaking per process

s_busy + + + + +

+

Whether or not the wearer is in the middle of an action, like hacking.

s_coold + + + + +

+

The suit's current cooldown. If not 0, blocks usage of most abilities, and decrements its value by 1 every process

s_cost + + + + +

+

How much energy the suit expends in a single process

s_delay + + + + +

+

How fast the suit is at certain actions, like draining power from things

s_initialized + + + + +

+

Whether or not the suit is currently booted up. Starts off.

s_longdelay + + + + +

+

How fast the suit is at certain riskier actions, like hacking communications consoles.

stealth + + + + +

+

Whether or not the suit is currently in stealth mode.

Proc Details

cancel_stealth +

+

Proc called to cancel stealth.

+

Called to cancel the stealth effect if it is ongoing. +Does nothing otherwise. +Arguments:

+

deinitialize +

+

Deinitializes the ninja suit

+

Deinitializes the ninja suit through eight phases, each of which calls this proc with an incremented phase +Arguments:

+

lock_suit +

+

Proc called to lock the important gear pieces onto space ninja's body.

+

Called during the suit startup to lock all gear pieces onto space ninja. +Terminates if a gear piece is not being worn. Also gives the ninja the inability to use firearms. +If the person in the suit isn't a ninja when this is called, this proc just gibs them instead. +Arguments:

+

ninitialize +

+

Initializes the ninja suit

+

Initializes the ninja suit through seven phases, each of which calls this proc with an incremented phase +Arguments:

+

ninja_sword_recall +

+

Proc called to recall the ninja's sword.

+

Called to summon the ninja's katana back to them +If the katana can see the ninja, it will throw itself towards them. +If not, the katana will teleport itself to the ninja.

ninjaboost +

+

Proc called to activate space ninja's adrenaline.

+

Proc called to use space ninja's adrenaline. Gets the ninja out of almost any stun. +Also makes them shout MGS references when used. After a bit, it injects the user with +radium by calling a different proc.

ninjaboost_after +

+

Proc called to inject the ninja with radium.

+

Used after 7 seconds of using the ninja's adrenaline. +Injects the user with how much radium the suit needs to refill an adrenaline boost.

ninjacost +

+

Proc called to check if the ninja can afford an ability's cost.

+

Proc which determine whether or not a space ninja can afford to use a specific ability. +It can also cancel stealth if the ability requested it. +Arguments:

+

ninjanet +

+

Proc called to ensnare a person in a energy net.

+

Used to ensnare a target in an energy net, preventing them from moving until the net is broken. +Costs 40E, which is 40% of the default battery's max charge. Intended as a means of reliably locking down an opponent when ninja stars won't suffice.

ninjapulse +

+

Proc called to allow the ninja to EMP the nearby area.

+

Proc called to allow the ninja to EMP the nearby area. By default, costs 500E, which is half of the default battery's max charge. +Also affects the ninja as well.

ninjastar +

+

Proc called to create a ninja star in the ninja's hands.

+

Called to create a ninja star in the wearer's hand. The ninja +star doesn't do much up-front damage, but deals stamina damage +as the target moves around, forcing a finish or flee scenario.

terminate +

+

Proc used to delete all the attachments and itself.

+

Can be called to entire rid of the suit pieces and the suit itself.

toggle_on_off +

+

Toggles the ninja suit on/off

+

Attempts to initialize or deinitialize the ninja suit

toggle_stealth +

+

Proc called to toggle ninja stealth.

+

Proc called to toggle whether or not the ninja is in stealth mode. +If cancelling, calls a separate proc in case something else needs to quickly cancel stealth.

unlock_suit +

+

Proc called to unlock all the gear off space ninja's body.

+

Proc which is essentially the opposite of lock_suit. Lets you take off all the suit parts. +Also gets rid of the objection to using firearms from the wearer. +Arguments:

+
+ + + diff --git a/obj/item/computer_hardware.html b/obj/item/computer_hardware.html new file mode 100644 index 00000000000..b7471d5b03d --- /dev/null +++ b/obj/item/computer_hardware.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/computer_hardware - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

computer_hardware + + + +

+ + +

Procs

try_ejectImplement this when your hardware contains an object that the user can eject.

Proc Details

try_eject +

+

Implement this when your hardware contains an object that the user can eject.

+

Examples include ejecting cells from battery modules, ejecting an ID card from a card reader +or ejecting an Intellicard from an AI card slot. +Arguments:

+
+ + + diff --git a/obj/item/computer_hardware/ai_slot.html b/obj/item/computer_hardware/ai_slot.html new file mode 100644 index 00000000000..4cd713fbcde --- /dev/null +++ b/obj/item/computer_hardware/ai_slot.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/computer_hardware/ai_slot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

ai_slot + + + +

+ + +

Procs

ExitedWhat happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.

Proc Details

Exited +

+

What happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.

+ + + diff --git a/obj/item/computer_hardware/battery.html b/obj/item/computer_hardware/battery.html new file mode 100644 index 00000000000..87284b396b2 --- /dev/null +++ b/obj/item/computer_hardware/battery.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/computer_hardware/battery - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

battery + + + +

+ + +

Procs

ExitedWhat happens when the battery is removed (or deleted) from the module, through try_eject() or not.

Proc Details

Exited +

+

What happens when the battery is removed (or deleted) from the module, through try_eject() or not.

+ + + diff --git a/obj/item/computer_hardware/card_slot.html b/obj/item/computer_hardware/card_slot.html new file mode 100644 index 00000000000..651bc8afb78 --- /dev/null +++ b/obj/item/computer_hardware/card_slot.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/computer_hardware/card_slot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

card_slot + + + +

+ + + +

Procs

ExitedWhat happens when the ID card is removed (or deleted) from the module, through try_eject() or not.
swap_slotSwaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.

Proc Details

Exited +

+

What happens when the ID card is removed (or deleted) from the module, through try_eject() or not.

swap_slot +

+

Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.

+ + + diff --git a/obj/item/construction.html b/obj/item/construction.html new file mode 100644 index 00000000000..ee016959095 --- /dev/null +++ b/obj/item/construction.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/construction - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

construction + + + +

+ + + +

Procs

insert_matterInserts matter into the RCD allowing it to build
install_upgradeInstalls an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade

Proc Details

insert_matter +

+

Inserts matter into the RCD allowing it to build

install_upgrade +

+

Installs an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade

+ + + diff --git a/obj/item/construction/plumbing.html b/obj/item/construction/plumbing.html new file mode 100644 index 00000000000..3fb8ccd39cd --- /dev/null +++ b/obj/item/construction/plumbing.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/construction/plumbing - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

plumbing + + + +

+ + + + + +

Vars

blueprinttype of the plumbing machine
choicesindex, used in the attack self to get the type. stored here since it doesnt change
name_to_typeindex, used in the attack self to get the type. stored here since it doesnt change

Procs

create_machinepretty much rcd_create, but named differently to make myself feel less bad for copypasting from a sibling-type
+

Var Details

blueprint + + + + +

+

type of the plumbing machine

choices + + + + +

+

index, used in the attack self to get the type. stored here since it doesnt change

name_to_type + + + + +

+

index, used in the attack self to get the type. stored here since it doesnt change

Proc Details

create_machine +

+

pretty much rcd_create, but named differently to make myself feel less bad for copypasting from a sibling-type

+ + + diff --git a/obj/item/construction/rcd.html b/obj/item/construction/rcd.html new file mode 100644 index 00000000000..7fd014bf0e3 --- /dev/null +++ b/obj/item/construction/rcd.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/construction/rcd - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

rcd + + + +

+ + + + + + +

Vars

airlock_electronicsIntegrated airlock electronics for setting access to a newly built airlocks

Procs

change_furnishing_typeRadial menu for choosing the object you want to be created with the furnishing mode
set_window_typeSets the window type to be created based on parameters
toggle_window_glassToggles the usage of reinforced or normal glass
toggle_window_sizeToggles the usage of directional or full tile windows
+

Var Details

airlock_electronics + + + + +

+

Integrated airlock electronics for setting access to a newly built airlocks

Proc Details

change_furnishing_type +

+

Radial menu for choosing the object you want to be created with the furnishing mode

set_window_type +

+

Sets the window type to be created based on parameters

toggle_window_glass +

+

Toggles the usage of reinforced or normal glass

toggle_window_size +

+

Toggles the usage of directional or full tile windows

+ + + diff --git a/obj/item/conveyor_sorter.html b/obj/item/conveyor_sorter.html new file mode 100644 index 00000000000..0da22cea4d3 --- /dev/null +++ b/obj/item/conveyor_sorter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/conveyor_sorter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

conveyor_sorter + + + +

+ + + +

Vars

current_sortthe list of things that are currently within the sorting list
spawned_sortersthe list of conveyor sorters spawned by
+

Var Details

current_sort + + + + +

+

the list of things that are currently within the sorting list

spawned_sorters + + + + +

+

the list of conveyor sorters spawned by

+ + + diff --git a/obj/item/coupon.html b/obj/item/coupon.html new file mode 100644 index 00000000000..d557906b2c2 --- /dev/null +++ b/obj/item/coupon.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/coupon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

coupon + + + +

+ + +

Procs

generateChoose what our prize is :D

Proc Details

generate +

+

Choose what our prize is :D

+ + + diff --git a/obj/item/cult_spear.html b/obj/item/cult_spear.html new file mode 100644 index 00000000000..1eacdd27708 --- /dev/null +++ b/obj/item/cult_spear.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/cult_spear - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

cult_spear + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/dualsaber.html b/obj/item/dualsaber.html new file mode 100644 index 00000000000..2d3ba2b1c11 --- /dev/null +++ b/obj/item/dualsaber.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/dualsaber - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

dualsaber + + + +

+ + + + +

Vars

can_reflectCan this reflect all energy projectiles?

Procs

on_unwieldTriggered on unwield of two handed item +switch hitsounds
on_wieldTriggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.
+

Var Details

can_reflect + + + + +

+

Can this reflect all energy projectiles?

Proc Details

on_unwield +

+

Triggered on unwield of two handed item +switch hitsounds

on_wield +

+

Triggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.

+ + + diff --git a/obj/item/dyespray.html b/obj/item/dyespray.html new file mode 100644 index 00000000000..a688342a19b --- /dev/null +++ b/obj/item/dyespray.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/dyespray - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

dyespray + + + +

+ + +

Procs

dyeApplies a gradient and a gradient color to a mob.

Proc Details

dye +

+

Applies a gradient and a gradient color to a mob.

+

Arguments:

+
+ + + diff --git a/obj/item/eldritch_potion.html b/obj/item/eldritch_potion.html new file mode 100644 index 00000000000..1fcbfd9a71d --- /dev/null +++ b/obj/item/eldritch_potion.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/eldritch_potion - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch_potion + + + +

+ + + +

Vars

status_effectTypepath to the status effect this is supposed to hold

Procs

effectThe effect of the potion if it has any special one, in general try not to override this and utilize the status_effect var to make custom effects.
+

Var Details

status_effect + + + + +

+

Typepath to the status effect this is supposed to hold

Proc Details

effect +

+

The effect of the potion if it has any special one, in general try not to override this and utilize the status_effect var to make custom effects.

+ + + diff --git a/obj/item/electronics/airlock.html b/obj/item/electronics/airlock.html new file mode 100644 index 00000000000..214bf15c406 --- /dev/null +++ b/obj/item/electronics/airlock.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/electronics/airlock - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

airlock + + + +

+ + + + + +

Vars

accessesA list of all granted accesses
holderA holder of the electronics, in case of them working as an integrated part
one_accessIf the airlock should require ALL or only ONE of the listed accesses
unres_sidesUnrestricted sides, or sides of the airlock that will open regardless of access
+

Var Details

accesses + + + + +

+

A list of all granted accesses

holder + + + + +

+

A holder of the electronics, in case of them working as an integrated part

one_access + + + + +

+

If the airlock should require ALL or only ONE of the listed accesses

unres_sides + + + + +

+

Unrestricted sides, or sides of the airlock that will open regardless of access

+ + + diff --git a/obj/item/electronics/electrochromatic_kit.html b/obj/item/electronics/electrochromatic_kit.html new file mode 100644 index 00000000000..6b2efe6465d --- /dev/null +++ b/obj/item/electronics/electrochromatic_kit.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/electronics/electrochromatic_kit - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

electrochromatic_kit + + + +

+ + +

Vars

idElectrochromatic ID
+

Var Details

id + + + + +

+

Electrochromatic ID

+ + + diff --git a/obj/item/energy_katana.html b/obj/item/energy_katana.html new file mode 100644 index 00000000000..4072ba8f6e7 --- /dev/null +++ b/obj/item/energy_katana.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/energy_katana - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

Energy Katana + + + +

+ +

The space ninja's katana.

+

The katana that only space ninja spawns with. Comes with 30 force and throwforce, along with a signature special jaunting system. +Upon clicking on a tile with the dash on, the user will teleport to that tile, assuming their target was not dense. +The katana has 3 dashes stored at maximum, and upon using the dash, it will return 20 seconds after it was used. +It also has a special feature where if it is tossed at a space ninja who owns it (determined by the ninja suit), the ninja will catch the katana instead of being hit by it.

+

Procs

returnToOwnerProc called when the katana is recalled to its space ninja.

Proc Details

returnToOwner +

+

Proc called when the katana is recalled to its space ninja.

+

Proc called when space ninja is hit with its suit's katana or the recall ability is used. +Arguments:

+
+ + + diff --git a/obj/item/extinguisher.html b/obj/item/extinguisher.html new file mode 100644 index 00000000000..8ac47ebe160 --- /dev/null +++ b/obj/item/extinguisher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/extinguisher - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

extinguisher + + + +

+ + +

Vars

tank_holder_icon_stateIcon state when inside a tank holder
+

Var Details

tank_holder_icon_state + + + + +

+

Icon state when inside a tank holder

+ + + diff --git a/obj/item/fireaxe.html b/obj/item/fireaxe.html new file mode 100644 index 00000000000..23079d7121f --- /dev/null +++ b/obj/item/fireaxe.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/fireaxe - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

fireaxe + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/flashlight/pen/paramedic.html b/obj/item/flashlight/pen/paramedic.html new file mode 100644 index 00000000000..a79a8123530 --- /dev/null +++ b/obj/item/flashlight/pen/paramedic.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/flashlight/pen/paramedic - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

paramedic + + + +

+ + + + +

Vars

uv_cooldownOur current UV cooldown
uv_cooldown_lengthHow long between UV fryings
uv_powerHow much sanitization to apply to the burn wound
+

Var Details

uv_cooldown + + + + +

+

Our current UV cooldown

uv_cooldown_length + + + + +

+

How long between UV fryings

uv_power + + + + +

+

How much sanitization to apply to the burn wound

+ + + diff --git a/obj/item/forbidden_book.html b/obj/item/forbidden_book.html new file mode 100644 index 00000000000..a92e3b6fc66 --- /dev/null +++ b/obj/item/forbidden_book.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/forbidden_book - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

forbidden_book + + + +

+ + + + + + + +

Vars

blacklisted_turfsWhere we cannot create the rune?
chargehow many charges do we have?
last_userLast person that touched this

Procs

draw_runeDraws a rune on a selected turf
get_power_from_influenceGives you a charge and destroys a corresponding influence
remove_runeRemoves runes from the selected turf
+

Var Details

blacklisted_turfs + + + + +

+

Where we cannot create the rune?

charge + + + + +

+

how many charges do we have?

last_user + + + + +

+

Last person that touched this

Proc Details

draw_rune +

+

Draws a rune on a selected turf

get_power_from_influence +

+

Gives you a charge and destroys a corresponding influence

remove_rune +

+

Removes runes from the selected turf

+ + + diff --git a/obj/item/gang_induction_package.html b/obj/item/gang_induction_package.html new file mode 100644 index 00000000000..84db589ee71 --- /dev/null +++ b/obj/item/gang_induction_package.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/gang_induction_package - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

gang_induction_package + + + +

+ + + + + + +

Vars

gang_to_useThe typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
handlerReferences the active families gamemode handler (if one exists), for adding new family members to.
team_to_useThe team datum that the person who uses this package should be added to.

Procs

add_to_gangAdds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
attempt_join_gangChecks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.
+

Var Details

gang_to_use + + + + +

+

The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.

handler + + + + +

+

References the active families gamemode handler (if one exists), for adding new family members to.

team_to_use + + + + +

+

The team datum that the person who uses this package should be added to.

Proc Details

add_to_gang +

+

Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.

attempt_join_gang +

+

Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

+ + + diff --git a/obj/item/grenade.html b/obj/item/grenade.html new file mode 100644 index 00000000000..a3e77278f01 --- /dev/null +++ b/obj/item/grenade.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/grenade - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

grenade + + + +

+ + + + + + + +

Vars

ex_devhow big of a devastation explosion radius on prime
ex_flamehow big of a flame explosion radius on prime
ex_heavyhow big of a heavy explosion radius on prime
ex_lighthow big of a light explosion radius on prime
shrapnel_radiusthe higher this number, the more projectiles are created as shrapnel
shrapnel_typeif set, will spew out projectiles of this type
+

Var Details

ex_dev + + + + +

+

how big of a devastation explosion radius on prime

ex_flame + + + + +

+

how big of a flame explosion radius on prime

ex_heavy + + + + +

+

how big of a heavy explosion radius on prime

ex_light + + + + +

+

how big of a light explosion radius on prime

shrapnel_radius + + + + +

+

the higher this number, the more projectiles are created as shrapnel

shrapnel_type + + + + +

+

if set, will spew out projectiles of this type

+ + + diff --git a/obj/item/grenade/primer.html b/obj/item/grenade/primer.html new file mode 100644 index 00000000000..e6477b0c6de --- /dev/null +++ b/obj/item/grenade/primer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grenade/primer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

primer + + + +

+ + + +

Vars

shrapnel_typehow many times we need to "rotate" the charge in hand per extra tile of magnitude

Procs

attack_selfhow many times we've "rotated" the charge
+

Var Details

shrapnel_type + + + + +

+

how many times we need to "rotate" the charge in hand per extra tile of magnitude

Proc Details

attack_self +

+

how many times we've "rotated" the charge

+ + + diff --git a/obj/item/gun.html b/obj/item/gun.html new file mode 100644 index 00000000000..d3a049f6b37 --- /dev/null +++ b/obj/item/gun.html @@ -0,0 +1,139 @@ + + + + + + + /obj/item/gun - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

gun + + + +

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

Vars

burst_shot_delayThe time between shots in burst.
burst_sizeWeapon is burst fire if this is above 1
busy_actionUsed in gun-in-mouth execution/suicide and similar, while TRUE nothing should work on this like firing or modification and so on and so forth.
can_circuitcan we be put in a circuit
can_emittercan we be put in an emitter
can_turretcan we be put into a turret
dir_recoil_ampdirectional recoil multiplier
fire_delayThe time between firing actions, this means between bursts if this is burst weapon. The reason this is 0 is because you are still, by default, limited by clickdelay.
fire_selectCurrent fire selection, can choose between burst, single, and full auto.
fire_select_modesWhat modes does this weapon have? Put SELECT_FULLY_AUTOMATIC in here to enable fully automatic behaviours.
firingCurrently firing, whether or not it's a burst or not.
last_fireLast world.time this was fired
projectile_damage_multiplierJust 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.
selector_switch_iconif i`1t has an icon for a selector switch indicating current firemode.

Procs

set_gun_lightSwaps the gun's seclight, dropping the old seclight if it has not been qdel'd.
+

Var Details

burst_shot_delay + + + + +

+

The time between shots in burst.

burst_size + + + + +

+

Weapon is burst fire if this is above 1

busy_action + + + + +

+

Used in gun-in-mouth execution/suicide and similar, while TRUE nothing should work on this like firing or modification and so on and so forth.

can_circuit + + + + +

+

can we be put in a circuit

can_emitter + + + + +

+

can we be put in an emitter

can_turret + + + + +

+

can we be put into a turret

dir_recoil_amp + + + + +

+

directional recoil multiplier

fire_delay + + + + +

+

The time between firing actions, this means between bursts if this is burst weapon. The reason this is 0 is because you are still, by default, limited by clickdelay.

fire_select + + + + +

+

Current fire selection, can choose between burst, single, and full auto.

fire_select_modes + + + + +

+

What modes does this weapon have? Put SELECT_FULLY_AUTOMATIC in here to enable fully automatic behaviours.

firing + + + + +

+

Currently firing, whether or not it's a burst or not.

last_fire + + + + +

+

Last world.time this was fired

projectile_damage_multiplier + + + + +

+

Just 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.

selector_switch_icon + + + + +

+

if i`1t has an icon for a selector switch indicating current firemode.

Proc Details

set_gun_light +

+

Swaps the gun's seclight, dropping the old seclight if it has not been qdel'd.

+

Returns the former gun_light that has now been replaced by this proc. +Arguments:

+
+ + + diff --git a/obj/item/gun/ballistic.html b/obj/item/gun/ballistic.html new file mode 100644 index 00000000000..a3324ee3de3 --- /dev/null +++ b/obj/item/gun/ballistic.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/gun/ballistic - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

ballistic + + + +

+ + +

Procs

on_sawoffis something supposed to happen here?

Proc Details

on_sawoff +

+

is something supposed to happen here?

+ + + diff --git a/obj/item/gun/energy.html b/obj/item/gun/energy.html new file mode 100644 index 00000000000..979678e69e6 --- /dev/null +++ b/obj/item/gun/energy.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/gun/energy - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

energy + + + +

+ + + + + + +

Vars

ammo_type= TRUE/FALSE decides if the user can switch to it of their own accord
current_firemode_indexThe index of the ammo_types/firemodes which we're using right now
right_click_overriddenSET THIS TO TRUE IF YOU OVERRIDE altafterattack() or ANY right click action! If this is FALSE, the gun will show in examine its default right click behavior, which is to switch modes.

Procs

get_charge_ratioUsed by update_icon_state() and update_overlays()
select_fireThis is the proc used in general for when a user switches firemodes. Just goes to next firemode by default.
+

Var Details

ammo_type + + + + +

+

= TRUE/FALSE decides if the user can switch to it of their own accord

current_firemode_index + + + + +

+

The index of the ammo_types/firemodes which we're using right now

right_click_overridden + + + + +

+

SET THIS TO TRUE IF YOU OVERRIDE altafterattack() or ANY right click action! If this is FALSE, the gun will show in examine its default right click behavior, which is to switch modes.

Proc Details

get_charge_ratio +

+

Used by update_icon_state() and update_overlays()

select_fire +

+

This is the proc used in general for when a user switches firemodes. Just goes to next firemode by default.

+ + + diff --git a/obj/item/gun/energy/beam_rifle.html b/obj/item/gun/energy/beam_rifle.html new file mode 100644 index 00000000000..a5212deb1d8 --- /dev/null +++ b/obj/item/gun/energy/beam_rifle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/energy/beam_rifle - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

beam_rifle + + + +

+ + +

Vars

zoom_target_view_increaseThe radius you want to zoom by
+

Var Details

zoom_target_view_increase + + + + +

+

The radius you want to zoom by

+ + + diff --git a/obj/item/hardened_spike.html b/obj/item/hardened_spike.html new file mode 100644 index 00000000000..46ac60e7d59 --- /dev/null +++ b/obj/item/hardened_spike.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/hardened_spike - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

hardened_spike + + + +

+ + +

Vars

missedif we missed our target
+

Var Details

missed + + + + +

+

if we missed our target

+ + + diff --git a/obj/item/hilbertshotel.html b/obj/item/hilbertshotel.html new file mode 100644 index 00000000000..b70bfbe3b5a --- /dev/null +++ b/obj/item/hilbertshotel.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/hilbertshotel - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

hilbertshotel + + + +

+ + +

Procs

sendToNewRoomThis is a BLOCKING OPERATION. Note the room load call, and the block reservation calls.

Proc Details

sendToNewRoom +

+

This is a BLOCKING OPERATION. Note the room load call, and the block reservation calls.

+ + + diff --git a/obj/item/kinetic_crusher.html b/obj/item/kinetic_crusher.html new file mode 100644 index 00000000000..7f9d7ad67eb --- /dev/null +++ b/obj/item/kinetic_crusher.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/kinetic_crusher - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

kinetic_crusher + + + +

+ +

Mining Hammer

+ +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/kinetic_crusher/glaive.html b/obj/item/kinetic_crusher/glaive.html new file mode 100644 index 00000000000..17d042d82e7 --- /dev/null +++ b/obj/item/kinetic_crusher/glaive.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/kinetic_crusher/glaive - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

glaive + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/kitchen/knife/bloodletter.html b/obj/item/kitchen/knife/bloodletter.html new file mode 100644 index 00000000000..790e62b293e --- /dev/null +++ b/obj/item/kitchen/knife/bloodletter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/kitchen/knife/bloodletter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

bloodletter + + + +

+ + +

Vars

bleed_stacks_per_hitBleed stacks applied when an organic mob target is hit
+

Var Details

bleed_stacks_per_hit + + + + +

+

Bleed stacks applied when an organic mob target is hit

+ + + diff --git a/obj/item/living_heart.html b/obj/item/living_heart.html new file mode 100644 index 00000000000..833abac659f --- /dev/null +++ b/obj/item/living_heart.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/living_heart - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

living_heart + + + +

+ + +

Vars

targetTarget
+

Var Details

target + + + + +

+

Target

+ + + diff --git a/obj/item/mecha_parts/chassis/powerarmor.html b/obj/item/mecha_parts/chassis/powerarmor.html new file mode 100644 index 00000000000..cbd13b04f33 --- /dev/null +++ b/obj/item/mecha_parts/chassis/powerarmor.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/mecha_parts/chassis/powerarmor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

powerarmor + + + +

+ +

Custom Mech Parts //////

+

/// Power Armor (Not actually a mech but meh)

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment.html b/obj/item/mecha_parts/mecha_equipment.html new file mode 100644 index 00000000000..4ecc53b25b9 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_equipment + + + +

+ + + + +

Vars

mech_flagsBitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.
rangeBitflag. Determines the range of the equipment.

Procs

do_after_checksdo after checks for the mecha equipment do afters
+

Var Details

mech_flags + + + + +

+

Bitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.

range + + + + +

+

Bitflag. Determines the range of the equipment.

Proc Details

do_after_checks +

+

do after checks for the mecha equipment do afters

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html new file mode 100644 index 00000000000..5740689ca82 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

punching_glove + + + +

+ + + +

Vars

can_toggle_lethalTRUE - Can toggle between lethal and non-lethal || FALSE - Cannot toggle
punch_damageDamage done by the glove on contact. Also used to determine throw distance (damage / 5)
+

Var Details

can_toggle_lethal + + + + +

+

TRUE - Can toggle between lethal and non-lethal || FALSE - Cannot toggle

punch_damage + + + + +

+

Damage done by the glove on contact. Also used to determine throw distance (damage / 5)

+ + + diff --git a/obj/item/mecha_parts/mecha_tracking.html b/obj/item/mecha_parts/mecha_tracking.html new file mode 100644 index 00000000000..e22174e0896 --- /dev/null +++ b/obj/item/mecha_parts/mecha_tracking.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/mecha_parts/mecha_tracking - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_tracking + + + +

+ + + + + + + +

Vars

ai_beaconIf this beacon allows for AI control. Exists to avoid using istype() on checking
chassisThe Mecha that this tracking beacon is attached to
rechargingCooldown variable for EMP pulsing

Procs

get_mecha_infoReturns a html formatted string describing attached mech status
rechargeResets recharge variable, allowing tracker to be EMP pulsed again
shockAttempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown
+

Var Details

ai_beacon + + + + +

+

If this beacon allows for AI control. Exists to avoid using istype() on checking

chassis + + + + +

+

The Mecha that this tracking beacon is attached to

recharging + + + + +

+

Cooldown variable for EMP pulsing

Proc Details

get_mecha_info +

+

Returns a html formatted string describing attached mech status

recharge +

+

Resets recharge variable, allowing tracker to be EMP pulsed again

shock +

+

Attempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown

+ + + diff --git a/obj/item/melee/baton.html b/obj/item/melee/baton.html new file mode 100644 index 00000000000..cddc0ed82f6 --- /dev/null +++ b/obj/item/melee/baton.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/baton - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

baton + + + +

+ + +

Vars

block_percent_to_counterblock percent needed to prevent knockdown/disarm
+

Var Details

block_percent_to_counter + + + + +

+

block percent needed to prevent knockdown/disarm

+ + + diff --git a/obj/item/melee/classic_baton.html b/obj/item/melee/classic_baton.html new file mode 100644 index 00000000000..dad60b4d167 --- /dev/null +++ b/obj/item/melee/classic_baton.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/classic_baton - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

classic_baton + + + +

+ + +

Vars

block_percent_to_counterblock mitigation needed to prevent knockdown/disarms
+

Var Details

block_percent_to_counter + + + + +

+

block mitigation needed to prevent knockdown/disarms

+ + + diff --git a/obj/item/melee/rune_knife.html b/obj/item/melee/rune_knife.html new file mode 100644 index 00000000000..ddd66f963d2 --- /dev/null +++ b/obj/item/melee/rune_knife.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/melee/rune_knife - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

rune_knife + + + +

+ + + + + + + +

Vars

blacklisted_turfsturfs that you cannot draw carvings on
current_runesA list of current runes
drawingA check to see if you are in process of drawing a rune
linked_actionLinked action
max_rune_amtMax amount of runes

Procs

carve_runeAction of carving runes, gives you the ability to click on floor and choose a rune of your need.
+

Var Details

blacklisted_turfs + + + + +

+

turfs that you cannot draw carvings on

current_runes + + + + +

+

A list of current runes

drawing + + + + +

+

A check to see if you are in process of drawing a rune

linked_action + + + + +

+

Linked action

max_rune_amt + + + + +

+

Max amount of runes

Proc Details

carve_rune +

+

Action of carving runes, gives you the ability to click on floor and choose a rune of your need.

+ + + diff --git a/obj/item/melee/skateboard.html b/obj/item/melee/skateboard.html new file mode 100644 index 00000000000..712fd97db91 --- /dev/null +++ b/obj/item/melee/skateboard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/skateboard - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

skateboard + + + +

+ + +

Vars

board_item_typeThe vehicle counterpart for the board
+

Var Details

board_item_type + + + + +

+

The vehicle counterpart for the board

+ + + diff --git a/obj/item/melee/transforming/cleaving_saw.html b/obj/item/melee/transforming/cleaving_saw.html new file mode 100644 index 00000000000..55137bf6c04 --- /dev/null +++ b/obj/item/melee/transforming/cleaving_saw.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/melee/transforming/cleaving_saw - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cleaving_saw + + + +

+ +

Bosses

+ + +

Vars

roll_orientationdo you spin when dodgerolling
roll_rangehow far are we rolling?
roll_stamcosthow much stamina does it cost to roll?
+

Var Details

roll_orientation + + + + +

+

do you spin when dodgerolling

roll_range + + + + +

+

how far are we rolling?

roll_stamcost + + + + +

+

how much stamina does it cost to roll?

+ + + diff --git a/obj/item/melee/transforming/energy/sword/saber.html b/obj/item/melee/transforming/energy/sword/saber.html new file mode 100644 index 00000000000..5f8376c5a4b --- /dev/null +++ b/obj/item/melee/transforming/energy/sword/saber.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/melee/transforming/energy/sword/saber - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

saber + + + +

+ + +

Procs

attackbythis is for the radial

Proc Details

attackby +

+

this is for the radial

+ + + diff --git a/obj/item/mining_voucher.html b/obj/item/mining_voucher.html new file mode 100644 index 00000000000..4457690abf4 --- /dev/null +++ b/obj/item/mining_voucher.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/mining_voucher - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

mining_voucher + + + +

+ +

Mining Equipment Vendor Items

+

Mining Equipment Voucher

+ + + diff --git a/obj/item/mjollnir.html b/obj/item/mjollnir.html new file mode 100644 index 00000000000..f8a35929391 --- /dev/null +++ b/obj/item/mjollnir.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/mjollnir - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mjollnir + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/mod/control.html b/obj/item/mod/control.html new file mode 100644 index 00000000000..83527107b62 --- /dev/null +++ b/obj/item/mod/control.html @@ -0,0 +1,306 @@ + + + + + + + /obj/item/mod/control - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

control + + + +

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

Vars

activatingIf the suit is currently activating/deactivating.
activation_step_timeHow long this MOD takes each part to seal.
activeIf the suit is deployed and turned on.
aiAI/pAI mob inhabiting the MOD.
bootsMOD boots.
cellMOD cell.
cell_drainPower usage of the MOD.
chestplateMOD chestplate.
complexityHow much module complexity this MOD is carrying.
complexity_maxHow much module complexity can this MOD carry.
cooldown_mod_moveCooldown for AI moves.
gauntletsMOD gauntlets.
helmetMOD helmet.
initial_modulesModules the MOD should spawn with.
interface_breakIf the suit interface is broken.
malfunctioningIf the suit is malfunctioning.
mod_partsList of parts (helmet, chestplate, gauntlets, boots).
modulesModules the MOD currently possesses.
movedelayDelay between moves as AI.
openIf the suit wire/module hatch is open.
seconds_electrifiedHow long the MOD is electrified for.
selected_moduleCurrently used module.
skinLooks of the MOD.
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
themeThe MOD's theme, decides on some stuff like armor and statistics.
ui_themeTheme of the MOD TGUI
wearerPerson wearing the MODsuit.

Procs

choose_deployCreates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.
concealRetract a part of the suit from the user
deployDeploys a part of the suit onto the user.
extract_paiSimple proc to extract the pAI from the MODsuit. It's the proc to call if you want to take it out, +remove_pai() is there so atom_destruction() doesn't have any risk of sleeping.
finish_activationFinishes the suit's activation, starts processing
insert_paiSimple proc to insert the pAI into the MODsuit.
quick_activationQuickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.
remove_paiSimple proc that handles the safe removal of the pAI from a MOD control unit.
seal_partSeals or unseals the given part
toggle_activateStarts the activation sequence, where parts of the suit activate one by one until the whole suit is on
+

Var Details

activating + + + + +

+

If the suit is currently activating/deactivating.

activation_step_time + + + + +

+

How long this MOD takes each part to seal.

active + + + + +

+

If the suit is deployed and turned on.

ai + + + + +

+

AI/pAI mob inhabiting the MOD.

boots + + + + +

+

MOD boots.

cell + + + + +

+

MOD cell.

cell_drain + + + + +

+

Power usage of the MOD.

chestplate + + + + +

+

MOD chestplate.

complexity + + + + +

+

How much module complexity this MOD is carrying.

complexity_max + + + + +

+

How much module complexity can this MOD carry.

cooldown_mod_move + + + + +

+

Cooldown for AI moves.

gauntlets + + + + +

+

MOD gauntlets.

helmet + + + + +

+

MOD helmet.

initial_modules + + + + +

+

Modules the MOD should spawn with.

interface_break + + + + +

+

If the suit interface is broken.

malfunctioning + + + + +

+

If the suit is malfunctioning.

mod_parts + + + + +

+

List of parts (helmet, chestplate, gauntlets, boots).

modules + + + + +

+

Modules the MOD currently possesses.

movedelay + + + + +

+

Delay between moves as AI.

open + + + + +

+

If the suit wire/module hatch is open.

seconds_electrified + + + + +

+

How long the MOD is electrified for.

selected_module + + + + +

+

Currently used module.

skin + + + + +

+

Looks of the MOD.

slowdown_active + + + + +

+

Slowdown of the MOD when active.

slowdown_inactive + + + + +

+

Slowdown of the MOD when not active.

theme + + + + +

+

The MOD's theme, decides on some stuff like armor and statistics.

ui_theme + + + + +

+

Theme of the MOD TGUI

wearer + + + + +

+

Person wearing the MODsuit.

Proc Details

choose_deploy +

+

Creates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.

conceal +

+

Retract a part of the suit from the user

deploy +

+

Deploys a part of the suit onto the user.

extract_pai +

+

Simple proc to extract the pAI from the MODsuit. It's the proc to call if you want to take it out, +remove_pai() is there so atom_destruction() doesn't have any risk of sleeping.

+

user - The person trying to take out the pAI from the MODsuit. +forced - Whether or not we skip the checks and just eject the pAI. Defaults to FALSE. +feedback - Whether to give feedback via balloon alerts or not. Defaults to TRUE.

finish_activation +

+

Finishes the suit's activation, starts processing

insert_pai +

+

Simple proc to insert the pAI into the MODsuit.

+

user - The person trying to put the pAI into the MODsuit. +card - The pAI card we're slotting in the MODsuit.

quick_activation +

+

Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.

remove_pai +

+

Simple proc that handles the safe removal of the pAI from a MOD control unit.

+

Arguments:

+

seal_part +

+

Seals or unseals the given part

toggle_activate +

+

Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on

+ + + diff --git a/obj/item/mod/module.html b/obj/item/mod/module.html new file mode 100644 index 00000000000..273d785c697 --- /dev/null +++ b/obj/item/mod/module.html @@ -0,0 +1,337 @@ + + + + + + + /obj/item/mod/module - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

module + + + +

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

Vars

activeIs the module active
active_power_costPower use when active
allowed_in_phaseoutIf we're allowed to use this module while phased out.
allowed_inactiveIf we're allowed to use this module while the suit is disabled.
complexityHow much space it takes up in the MOD
cooldown_timeCooldown after use
cooldown_timerTimer for the cooldown
deviceIf we're an active module, what item are we?
idle_power_costPower use when idle
incompatible_modulesWhat modules are we incompatible with?
modLinked MODsuit
module_typeIf it's passive, togglable, usable or active
overlay_icon_fileIcon file for the overlay.
overlay_state_activeOverlay given to the user when the module is active
overlay_state_inactiveOverlay given to the user when the module is inactive
overlay_state_useOverlay given to the user when the module is used, lasts until cooldown finishes
removableIf it can be removed
tgui_idID used by their TGUI
use_mod_colorsDoes the overlay use the control unit's colors?
use_power_costPower use when used, we call it manually
used_signalThe mouse button needed to use this module

Procs

add_ui_configurationGenerates an element of the get_configuration list with a display name, type and value
add_ui_dataAdds additional things to the MODsuit ui_data()
configure_editReceives configure edits from the TGUI and edits the vars
drain_powerDrains power from the suit cell
generate_worn_overlayGenerates an icon to be used for the suit's worn overlays
get_configurationCreates a list of configuring options for this module
on_activationCalled when the module is activated
on_active_processCalled on the MODsuit's process if it is an active module
on_deactivationCalled when the module is deactivated
on_device_deletionCalled when the device gets deleted on active modules
on_equipCalled when the MODsuit is equipped
on_exitCalled when the device moves to a different place on active modules
on_installCalled from MODsuit's install() proc, so when the module is installed.
on_processCalled on the MODsuit's process
on_selectCalled when the module is selected from the TGUI
on_select_useCalled when an activated module without a device is used
on_special_clickCalled when an activated module without a device is active and the user alt/middle-clicks
on_suit_activationCalled when the MODsuit is activated
on_suit_deactivationCalled when the MODsuit is deactivated
on_unequipCalled when the MODsuit is unequipped
on_uninstallCalled from MODsuit's uninstall() proc, so when the module is uninstalled.
on_useCalled when the module is used
update_signalUpdates the signal used by active modules to be activated
+

Var Details

active + + + + +

+

Is the module active

active_power_cost + + + + +

+

Power use when active

allowed_in_phaseout + + + + +

+

If we're allowed to use this module while phased out.

allowed_inactive + + + + +

+

If we're allowed to use this module while the suit is disabled.

complexity + + + + +

+

How much space it takes up in the MOD

cooldown_time + + + + +

+

Cooldown after use

cooldown_timer + + + + +

+

Timer for the cooldown

device + + + + +

+

If we're an active module, what item are we?

idle_power_cost + + + + +

+

Power use when idle

incompatible_modules + + + + +

+

What modules are we incompatible with?

mod + + + + +

+

Linked MODsuit

module_type + + + + +

+

If it's passive, togglable, usable or active

overlay_icon_file + + + + +

+

Icon file for the overlay.

overlay_state_active + + + + +

+

Overlay given to the user when the module is active

overlay_state_inactive + + + + +

+

Overlay given to the user when the module is inactive

overlay_state_use + + + + +

+

Overlay given to the user when the module is used, lasts until cooldown finishes

removable + + + + +

+

If it can be removed

tgui_id + + + + +

+

ID used by their TGUI

use_mod_colors + + + + +

+

Does the overlay use the control unit's colors?

use_power_cost + + + + +

+

Power use when used, we call it manually

used_signal + + + + +

+

The mouse button needed to use this module

Proc Details

add_ui_configuration +

+

Generates an element of the get_configuration list with a display name, type and value

add_ui_data +

+

Adds additional things to the MODsuit ui_data()

configure_edit +

+

Receives configure edits from the TGUI and edits the vars

drain_power +

+

Drains power from the suit cell

generate_worn_overlay +

+

Generates an icon to be used for the suit's worn overlays

get_configuration +

+

Creates a list of configuring options for this module

on_activation +

+

Called when the module is activated

on_active_process +

+

Called on the MODsuit's process if it is an active module

on_deactivation +

+

Called when the module is deactivated

on_device_deletion +

+

Called when the device gets deleted on active modules

on_equip +

+

Called when the MODsuit is equipped

on_exit +

+

Called when the device moves to a different place on active modules

on_install +

+

Called from MODsuit's install() proc, so when the module is installed.

on_process +

+

Called on the MODsuit's process

on_select +

+

Called when the module is selected from the TGUI

on_select_use +

+

Called when an activated module without a device is used

on_special_click +

+

Called when an activated module without a device is active and the user alt/middle-clicks

on_suit_activation +

+

Called when the MODsuit is activated

on_suit_deactivation +

+

Called when the MODsuit is deactivated

on_unequip +

+

Called when the MODsuit is unequipped

on_uninstall +

+

Called from MODsuit's uninstall() proc, so when the module is uninstalled.

on_use +

+

Called when the module is used

update_signal +

+

Updates the signal used by active modules to be activated

+ + + diff --git a/obj/item/mod/module/anomaly_locked.html b/obj/item/mod/module/anomaly_locked.html new file mode 100644 index 00000000000..605c5117210 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/anomaly_locked - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

anomaly_locked + + + +

+ + + + +

Vars

accepted_anomaliesAccepted types of anomaly cores.
coreThe core item the module runs off.
prebuiltIf this one starts with a core in.
+

Var Details

accepted_anomalies + + + + +

+

Accepted types of anomaly cores.

core + + + + +

+

The core item the module runs off.

prebuilt + + + + +

+

If this one starts with a core in.

+ + + diff --git a/obj/item/mod/module/anomaly_locked/teleporter.html b/obj/item/mod/module/anomaly_locked/teleporter.html new file mode 100644 index 00000000000..217c2cb08f5 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/teleporter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/anomaly_locked/teleporter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

teleporter + + + +

+ +

Teleporter - Lets the user teleport to a nearby location.

+

Vars

teleport_timeTime it takes to teleport
+

Var Details

teleport_time + + + + +

+

Time it takes to teleport

+ + + diff --git a/obj/item/mod/module/clamp.html b/obj/item/mod/module/clamp.html new file mode 100644 index 00000000000..42ece51af92 --- /dev/null +++ b/obj/item/mod/module/clamp.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/clamp - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

clamp + + + +

+ +

Hydraulic Clamp - Lets you pick up and drop crates.

+ + +

Vars

load_timeTime it takes to load a crate.
max_cratesThe max amount of crates you can carry.
stored_cratesThe crates stored in the module.
+

Var Details

load_time + + + + +

+

Time it takes to load a crate.

max_crates + + + + +

+

The max amount of crates you can carry.

stored_crates + + + + +

+

The crates stored in the module.

+ + + diff --git a/obj/item/mod/module/dispenser.html b/obj/item/mod/module/dispenser.html new file mode 100644 index 00000000000..a7ffb8c742c --- /dev/null +++ b/obj/item/mod/module/dispenser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/dispenser - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

dispenser + + + +

+ +

Dispenser - Dispenses an item after a time passes.

+ +

Vars

dispense_timeTime it takes for us to dispense.
dispense_typePath we dispense.
+

Var Details

dispense_time + + + + +

+

Time it takes for us to dispense.

dispense_type + + + + +

+

Path we dispense.

+ + + diff --git a/obj/item/mod/module/dna_lock.html b/obj/item/mod/module/dna_lock.html new file mode 100644 index 00000000000..8762a31fed4 --- /dev/null +++ b/obj/item/mod/module/dna_lock.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/mod/module/dna_lock - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

dna_lock + + + +

+ +

Longfall +Thermal Regulator - Naw. +DNA Lock - Prevents people without the set DNA from activating the suit.

+

Vars

dnaThe DNA we lock with.
+

Var Details

dna + + + + +

+

The DNA we lock with.

+ + + diff --git a/obj/item/mod/module/drill.html b/obj/item/mod/module/drill.html new file mode 100644 index 00000000000..b374e984026 --- /dev/null +++ b/obj/item/mod/module/drill.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/drill - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

drill + + + +

+ +

Drill - Lets you dig through rock and basalt.

+

Vars

storedPickaxe we have stored.
+

Var Details

stored + + + + +

+

Pickaxe we have stored.

+ + + diff --git a/obj/item/mod/module/flashlight.html b/obj/item/mod/module/flashlight.html new file mode 100644 index 00000000000..fc4adf69969 --- /dev/null +++ b/obj/item/mod/module/flashlight.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/flashlight - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

flashlight + + + +

+ +

Flashlight - Gives the suit a customizable flashlight.

+ + +

Vars

base_powerCharge drain per range amount.
max_rangeMaximum range we can set.
min_rangeMinimum range we can set.
+

Var Details

base_power + + + + +

+

Charge drain per range amount.

max_range + + + + +

+

Maximum range we can set.

min_range + + + + +

+

Minimum range we can set.

+ + + diff --git a/obj/item/mod/module/health_analyzer.html b/obj/item/mod/module/health_analyzer.html new file mode 100644 index 00000000000..d84c4826dcf --- /dev/null +++ b/obj/item/mod/module/health_analyzer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/health_analyzer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

health_analyzer + + + +

+ +

Health Analyzer - Gives the user a ranged health analyzer and their health status in the panel.

+ +

Vars

modeScanning mode, changes how we scan something.
modesList of all scanning modes.
+

Var Details

mode + + + + +

+

Scanning mode, changes how we scan something.

modes + + + + +

+

List of all scanning modes.

+ + + diff --git a/obj/item/mod/module/holster.html b/obj/item/mod/module/holster.html new file mode 100644 index 00000000000..694de36b8db --- /dev/null +++ b/obj/item/mod/module/holster.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/mod/module/holster - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

holster + + + +

+ +

Pepper Shoulders +Holster - Instantly holsters any not huge gun.

+

Vars

holsteredGun we have holstered.
+

Var Details

holstered + + + + +

+

Gun we have holstered.

+ + + diff --git a/obj/item/mod/module/jetpack.html b/obj/item/mod/module/jetpack.html new file mode 100644 index 00000000000..a98597f7f68 --- /dev/null +++ b/obj/item/mod/module/jetpack.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/jetpack - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

jetpack + + + +

+ +

Ion Jetpack - Lets the user fly freely through space using battery charge.

+ +

Vars

full_speedDo we give the wearer a speed buff.
stabilizersDo we stop the wearer from gliding in space.
+

Var Details

full_speed + + + + +

+

Do we give the wearer a speed buff.

stabilizers + + + + +

+

Do we stop the wearer from gliding in space.

+ + + diff --git a/obj/item/mod/module/magboot.html b/obj/item/mod/module/magboot.html new file mode 100644 index 00000000000..29098fefbd6 --- /dev/null +++ b/obj/item/mod/module/magboot.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/magboot - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

magboot + + + +

+ +

Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.

+

Vars

slowdown_activeSlowdown added onto the suit.
+

Var Details

slowdown_active + + + + +

+

Slowdown added onto the suit.

+ + + diff --git a/obj/item/mod/module/magnetic_harness.html b/obj/item/mod/module/magnetic_harness.html new file mode 100644 index 00000000000..eb9fff9dfbc --- /dev/null +++ b/obj/item/mod/module/magnetic_harness.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/magnetic_harness - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

magnetic_harness + + + +

+ +

Magnetic Harness - Automatically puts guns in your suit storage when you drop them.

+ + +

Vars

already_allowed_gunsThe guns already allowed by the modsuit chestplate.
guns_typecacheThe typecache of all guns we allow.
magnet_delayTime before we activate the magnet.
+

Var Details

already_allowed_guns + + + + +

+

The guns already allowed by the modsuit chestplate.

guns_typecache + + + + +

+

The typecache of all guns we allow.

magnet_delay + + + + +

+

Time before we activate the magnet.

+ + + diff --git a/obj/item/mod/module/megaphone.html b/obj/item/mod/module/megaphone.html new file mode 100644 index 00000000000..9ebf0268546 --- /dev/null +++ b/obj/item/mod/module/megaphone.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/megaphone - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

megaphone + + + +

+ +

Megaphone - Lets you speak loud.

+

Vars

voicespanList of spans we add to the speaker.
+

Var Details

voicespan + + + + +

+

List of spans we add to the speaker.

+ + + diff --git a/obj/item/mod/module/mister.html b/obj/item/mod/module/mister.html new file mode 100644 index 00000000000..76720143334 --- /dev/null +++ b/obj/item/mod/module/mister.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/mister - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mister + + + +

+ +

Mister - Sprays water over an area.

+

Vars

volumeVolume of our reagent holder.
+

Var Details

volume + + + + +

+

Volume of our reagent holder.

+ + + diff --git a/obj/item/mod/module/mouthhole.html b/obj/item/mod/module/mouthhole.html new file mode 100644 index 00000000000..7e2df61d2b1 --- /dev/null +++ b/obj/item/mod/module/mouthhole.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/mouthhole - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mouthhole + + + +

+ +

Eating Apparatus - Lets the user eat/drink with the suit on.

+ +

Vars

former_flagsFormer flags of the helmet.
former_visor_flagsFormer visor flags of the helmet.
+

Var Details

former_flags + + + + +

+

Former flags of the helmet.

former_visor_flags + + + + +

+

Former visor flags of the helmet.

+ + + diff --git a/obj/item/mod/module/orebag.html b/obj/item/mod/module/orebag.html new file mode 100644 index 00000000000..767640c6b12 --- /dev/null +++ b/obj/item/mod/module/orebag.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/orebag - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

orebag + + + +

+ + +

Vars

storedPickaxe we have stored.
+

Var Details

stored + + + + +

+

Pickaxe we have stored.

+ + + diff --git a/obj/item/mod/module/paper_dispenser.html b/obj/item/mod/module/paper_dispenser.html new file mode 100644 index 00000000000..e4faf26d1b3 --- /dev/null +++ b/obj/item/mod/module/paper_dispenser.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/paper_dispenser - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

paper_dispenser + + + +

+ +

Paper Dispenser - Dispenses (sometimes burning) paper sheets.

+

Vars

num_sheets_dispensedThe total number of sheets created by this MOD. The more sheets, them more likely they set on fire.
+

Var Details

num_sheets_dispensed + + + + +

+

The total number of sheets created by this MOD. The more sheets, them more likely they set on fire.

+ + + diff --git a/obj/item/mod/module/springlock.html b/obj/item/mod/module/springlock.html new file mode 100644 index 00000000000..a104bb3c02a --- /dev/null +++ b/obj/item/mod/module/springlock.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/springlock - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

springlock + + + +

+ +

Sign Language Translator - I want, but no +Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.

+ + +

Procs

on_activate_spring_blockSignal fired when wearer attempts to activate/deactivate suits
on_wearer_exposedSignal fired when wearer is exposed to reagents
snap_shutDelayed death proc of the suit after the wearer is exposed to reagents

Proc Details

on_activate_spring_block +

+

Signal fired when wearer attempts to activate/deactivate suits

on_wearer_exposed +

+

Signal fired when wearer is exposed to reagents

snap_shut +

+

Delayed death proc of the suit after the wearer is exposed to reagents

+ + + diff --git a/obj/item/mod/module/stealth.html b/obj/item/mod/module/stealth.html new file mode 100644 index 00000000000..0610f31bb9c --- /dev/null +++ b/obj/item/mod/module/stealth.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/stealth - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

stealth + + + +

+ +

Cloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.

+ +

Vars

bumpoffWhether or not the cloak turns off on bumping.
stealth_alphaThe alpha applied when the cloak is on.
+

Var Details

bumpoff + + + + +

+

Whether or not the cloak turns off on bumping.

stealth_alpha + + + + +

+

The alpha applied when the cloak is on.

+ + + diff --git a/obj/item/mod/module/storage.html b/obj/item/mod/module/storage.html new file mode 100644 index 00000000000..7f9f3c06fe6 --- /dev/null +++ b/obj/item/mod/module/storage.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/storage - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

storage + + + +

+ +

Storage - Adds a storage component to the suit.

+

Vars

storedBag we have stored.
+

Var Details

stored + + + + +

+

Bag we have stored.

+ + + diff --git a/obj/item/mod/module/t_ray.html b/obj/item/mod/module/t_ray.html new file mode 100644 index 00000000000..528b85d7a8e --- /dev/null +++ b/obj/item/mod/module/t_ray.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/t_ray - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

t_ray + + + +

+ +

T-Ray Scan - Scans the terrain for undertile objects.

+

Vars

rangeT-ray scan range.
+

Var Details

range + + + + +

+

T-ray scan range.

+ + + diff --git a/obj/item/mod/module/visor.html b/obj/item/mod/module/visor.html new file mode 100644 index 00000000000..88cd0c5bbe8 --- /dev/null +++ b/obj/item/mod/module/visor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/visor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

visor + + + +

+ +

Base Visor - Adds a specific HUD and traits to you.

+ +

Vars

hud_typeThe HUD type given by the visor.
visor_traitsThe traits given by the visor.
+

Var Details

hud_type + + + + +

+

The HUD type given by the visor.

visor_traits + + + + +

+

The traits given by the visor.

+ + + diff --git a/obj/item/modular_computer.html b/obj/item/modular_computer.html new file mode 100644 index 00000000000..ff3655860f5 --- /dev/null +++ b/obj/item/modular_computer.html @@ -0,0 +1,108 @@ + + + + + + + /obj/item/modular_computer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_computer + + + +

+ + + + + + + + + + +

Vars

all_componentsList of "connection ports" in this computer and the components with which they are plugged
expansion_baysLazy List of extra hardware slots that can be used modularly.
looping_soundWhether or not this modular computer uses the looping sound
max_baysNumber of total expansion bays this computer has available.
soundloopLooping sound for when the computer is on

Procs

alert_callDisplays notification text alongside a soundbeep when requested to by a program.
play_pingPlays a ping sound.
set_flashlight_colorSets the computer's light color, if it has a light.
toggle_flashlightToggles the computer's flashlight, if it has one.
+

Var Details

all_components + + + + +

+

List of "connection ports" in this computer and the components with which they are plugged

expansion_bays + + + + +

+

Lazy List of extra hardware slots that can be used modularly.

looping_sound + + + + +

+

Whether or not this modular computer uses the looping sound

max_bays + + + + +

+

Number of total expansion bays this computer has available.

soundloop + + + + +

+

Looping sound for when the computer is on

Proc Details

alert_call +

+

Displays notification text alongside a soundbeep when requested to by a program.

+

After checking tha the requesting program is allowed to send an alert, creates +a visible message of the requested text alongside a soundbeep. This proc adds +text to indicate that the message is coming from this device and the program +on it, so the supplied text should be the exact message and ending punctuation.

+

Arguments: +The program calling this proc. +The message that the program wishes to display.

play_ping +

+

Plays a ping sound.

+

Timers runtime if you try to make them call playsound. Yep.

set_flashlight_color +

+

Sets the computer's light color, if it has a light.

+

Called from ui_act(), this proc takes a color string and applies it. +It is seperated from ui_act() to be overwritten as needed. +Arguments:

+

toggle_flashlight +

+

Toggles the computer's flashlight, if it has one.

+

Called from ui_act(), does as the name implies. +It is seperated from ui_act() to be overwritten as needed.

+ + + diff --git a/obj/item/modular_computer/tablet/integrated.html b/obj/item/modular_computer/tablet/integrated.html new file mode 100644 index 00000000000..b40e00b87a1 --- /dev/null +++ b/obj/item/modular_computer/tablet/integrated.html @@ -0,0 +1,63 @@ + + + + + + + /obj/item/modular_computer/tablet/integrated - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

integrated + + + +

+ +

Borg Built-in tablet interface

+ + + +

Vars

borglogIC log that borgs can view in their personal management app
borgoRef to the borg we're installed in. Set by the borg during our creation.
robotactRef to the RoboTact app. Important enough to borgs to deserve a ref.

Procs

get_robotactReturns a ref to the RoboTact app, creating the app if need be.
+

Var Details

borglog + + + + +

+

IC log that borgs can view in their personal management app

borgo + + + + +

+

Ref to the borg we're installed in. Set by the borg during our creation.

robotact + + + + +

+

Ref to the RoboTact app. Important enough to borgs to deserve a ref.

Proc Details

get_robotact +

+

Returns a ref to the RoboTact app, creating the app if need be.

+

The RoboTact app is important for borgs, and so should always be available. +This proc will look for it in the tablet's robotact var, then check the +hard drive if the robotact var is unset, and finally attempt to create a new +copy if the hard drive does not contain the app. If the hard drive rejects +the new copy (such as due to lack of space), the proc will crash with an error. +RoboTact is supposed to be undeletable, so these will create runtime messages.

+ + + diff --git a/obj/item/modular_computer/tablet/nukeops.html b/obj/item/modular_computer/tablet/nukeops.html new file mode 100644 index 00000000000..c6b11533c14 --- /dev/null +++ b/obj/item/modular_computer/tablet/nukeops.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/modular_computer/tablet/nukeops - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

nukeops + + + +

+ +

Given to Nuke Ops members.

+

Procs

InitializeGiven to Nuke Ops members.

Proc Details

Initialize +

+

Given to Nuke Ops members.

+ + + diff --git a/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink.html b/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink.html new file mode 100644 index 00000000000..2eb648c8ef6 --- /dev/null +++ b/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

uplink + + + +

+ + +

Procs

InitializeGiven by the syndicate as part of the contract uplink bundle - loads in the Contractor Uplink.

Proc Details

Initialize +

+

Given by the syndicate as part of the contract uplink bundle - loads in the Contractor Uplink.

+ + + diff --git a/obj/item/murasama.html b/obj/item/murasama.html new file mode 100644 index 00000000000..3ee8ecb0555 --- /dev/null +++ b/obj/item/murasama.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/murasama - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

murasama + + + +

+ + +

Procs

directional_blockobj/item/murasama/update_icon()

Proc Details

directional_block +

+

obj/item/murasama/update_icon()

+ + + diff --git a/obj/item/nullrod.html b/obj/item/nullrod.html new file mode 100644 index 00000000000..fb236006ac2 --- /dev/null +++ b/obj/item/nullrod.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/nullrod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

nullrod + + + +

+ + + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
reskin_holy_weaponreskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+

reskin_holy_weapon +

+

reskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version

+

Arguments:

+
+ + + diff --git a/obj/item/organ.html b/obj/item/organ.html new file mode 100644 index 00000000000..f614b0e59ab --- /dev/null +++ b/obj/item/organ.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/organ - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

organ + + + +

+ + + + + + + + +

Vars

healing_factorHealing factor and decay factor function on % of maxhealth, and do not work by applying a static number per tick
prev_damageOrgan variables for determining what we alert the owner with when they pass/clear the damage thresholds
useableWhen you take a bite you cant jam it in for surgery anymore.

Procs

applyOrganDamageAdjusts an organ's damage by the amount "d", up to a maximum amount, which is by default max damage
check_damage_thresholds
examineDamage decrements by a percent of its maxhealth +Damage decrements again by a percent of its maxhealth, up to a total of 4 extra times depending on the owner's satiety
setOrganDamageSETS an organ's damage to the amount "d", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken
+

Var Details

healing_factor + + + + +

+

Healing factor and decay factor function on % of maxhealth, and do not work by applying a static number per tick

prev_damage + + + + +

+

Organ variables for determining what we alert the owner with when they pass/clear the damage thresholds

useable + + + + +

+

When you take a bite you cant jam it in for surgery anymore.

Proc Details

applyOrganDamage +

+

Adjusts an organ's damage by the amount "d", up to a maximum amount, which is by default max damage

check_damage_thresholds +

+

examine +

+

Damage decrements by a percent of its maxhealth +Damage decrements again by a percent of its maxhealth, up to a total of 4 extra times depending on the owner's satiety

setOrganDamage +

+

SETS an organ's damage to the amount "d", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken

+ + + diff --git a/obj/item/organ/brain.html b/obj/item/organ/brain.html new file mode 100644 index 00000000000..2ed6b0f39aa --- /dev/null +++ b/obj/item/organ/brain.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/brain - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

brain + + + +

+ + + +

Vars

decay_factorThe brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth

Procs

has_trauma_typeTRAUMAS
+

Var Details

decay_factor + + + + +

+

The brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth

Proc Details

has_trauma_type +

+

TRAUMAS

+ + + diff --git a/obj/item/organ/genital.html b/obj/item/organ/genital.html new file mode 100644 index 00000000000..885b94733fb --- /dev/null +++ b/obj/item/organ/genital.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/genital - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

genital + + + +

+ + + +

Vars

always_accessibleControls whenever a genital is always accessible

Procs

toggle_accessibilityToggles whether such genital can always be accessed
+

Var Details

always_accessible + + + + +

+

Controls whenever a genital is always accessible

Proc Details

toggle_accessibility +

+

Toggles whether such genital can always be accessed

+ + + diff --git a/obj/item/paper.html b/obj/item/paper.html new file mode 100644 index 00000000000..ed2ee6d9513 --- /dev/null +++ b/obj/item/paper.html @@ -0,0 +1,111 @@ + + + + + + + /obj/item/paper - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

paper + + + +

+ +

Paper is now using markdown (like in github pull notes) for ALL rendering +so we do loose a bit of functionality but we gain in easy of use of +paper and getting rid of that crashing bug

+ + + + + + + + + +

Vars

contact_poisonOverlay info
form_fieldsWhen the sheet can be "filled out" +This is an associated list
infoWhat's actually written on the paper.
stampedPositioning for the stamp in tgui
stampsThe (text for the) stamps on the paper.

Procs

copyThis proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.
fire_actNormaly you just stamp, you don't need to read the thing
setTextThis proc sets the text of the paper and updates the +icons. You can modify the pen_color after if need +be.
ui_dataTODO: show the sheet will bloodied or crinkling?
ui_hostWHHHHY +This does the overlay stuff
+

Var Details

contact_poison + + + + +

+

Overlay info

form_fields + + + + +

+

When the sheet can be "filled out" +This is an associated list

info + + + + +

+

What's actually written on the paper.

stamped + + + + +

+

Positioning for the stamp in tgui

stamps + + + + +

+

The (text for the) stamps on the paper.

Proc Details

copy +

+

This proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.

fire_act +

+

Normaly you just stamp, you don't need to read the thing

setText +

+

This proc sets the text of the paper and updates the +icons. You can modify the pen_color after if need +be.

ui_data +

+

TODO: show the sheet will bloodied or crinkling?

ui_host +

+

WHHHHY +This does the overlay stuff

+ + + diff --git a/obj/item/paper/natural.html b/obj/item/paper/natural.html new file mode 100644 index 00000000000..4281495076d --- /dev/null +++ b/obj/item/paper/natural.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/paper/natural - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

natural + + + +

+ + +

Procs

InitializeNatural paper

Proc Details

Initialize +

+

Natural paper

+ + + diff --git a/obj/item/pet_carrier/bluespace.html b/obj/item/pet_carrier/bluespace.html new file mode 100644 index 00000000000..e567e827989 --- /dev/null +++ b/obj/item/pet_carrier/bluespace.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/pet_carrier/bluespace - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

bluespace + + + +

+ + + + + +

Vars

occupant_gas_supplygas supply for simplemobs so they don't die
sipping_levellevel until the reagent gets INGEST ed instead of TOUCH
sipping_probablyprob50 level of sipping
transfer_ratechem transfer rate / second
+

Var Details

occupant_gas_supply + + + + +

+

gas supply for simplemobs so they don't die

sipping_level + + + + +

+

level until the reagent gets INGEST ed instead of TOUCH

sipping_probably + + + + +

+

prob50 level of sipping

transfer_rate + + + + +

+

chem transfer rate / second

+ + + diff --git a/obj/item/pinpointer.html b/obj/item/pinpointer.html new file mode 100644 index 00000000000..d934969e050 --- /dev/null +++ b/obj/item/pinpointer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/pinpointer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

pinpointer + + + +

+ + +

Vars

resets_targetresets target on toggle
+

Var Details

resets_target + + + + +

+

resets target on toggle

+ + + diff --git a/obj/item/pitchfork.html b/obj/item/pitchfork.html new file mode 100644 index 00000000000..d5330e95118 --- /dev/null +++ b/obj/item/pitchfork.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/pitchfork - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

pitchfork + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/price_tagger.html b/obj/item/price_tagger.html new file mode 100644 index 00000000000..7c818d8bbd1 --- /dev/null +++ b/obj/item/price_tagger.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/price_tagger - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

price_tagger + + + +

+ + +

Vars

pricethe price of the item
+

Var Details

price + + + + +

+

the price of the item

+ + + diff --git a/obj/item/projectile.html b/obj/item/projectile.html new file mode 100644 index 00000000000..d30fe52b792 --- /dev/null +++ b/obj/item/projectile.html @@ -0,0 +1,440 @@ + + + + + + + /obj/item/projectile - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

projectile + + + +

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

Vars

embed_falloff_tileHow much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes
force_hitIf the object being hit can pass ths damage on to something else, it should not do it for this bullet
hit_stunned_targetsIf TRUE, hit mobs even if they're on the floor and not our target
hit_threshholdIf objects are below this layer, we pass through them
hitscan_effect_generationUsed in generate_hitscan_tracers to determine which "cycle" we're on.
hitscan_movement_decisecond_equivalencyHow many deciseconds are each hitscan movement considered. Used for homing and other things that use seconds for timing rather than ticks.
homing_turn_speedHow fast the projectile turns towards its homing targets, in angle per second.
ignore_source_checkIf TRUE, we can hit our firer.
impactedWe already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.
pass_flags
phasing_ignore_direct_targetIf FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it
piercesnumber of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!
pixel_increment_amountThe number of pixels we increment by. THIS IS NOT SPEED, DO NOT TOUCH THIS UNLESS YOU KNOW WHAT YOU ARE DOING. In general, lower values means more linetrace accuracy up to a point at cost of performance.
pixel_move_interruptedUsed to detect jumps in the middle of a pixel_move. Yes, this is ugly as sin code-wise but it works.
pixels_per_secondPixels moved per second.
pixels_range_leftover"leftover" pixels for Range() calculation as pixel_move() was moved to simulated semi-pixel movement and Range() is in tiles.
pixels_tick_leftover"leftover" tick pixels and stuff yeah, so we don't round off things and introducing tracing inaccuracy.
projectile_phasingBitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.
projectile_piercingBitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.
rangeRange of the projectile, de-incrementing every step. The projectile deletes itself at 0. This is in tiles.
ricochet_auto_aim_angleOn ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim
ricochet_auto_aim_rangeOn ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle
ricochet_chance0-100, the base chance of ricocheting, before being modified by the atom we shoot and our chance decay
ricochet_decay_chance0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet
ricochet_decay_damage0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet
ricochet_incidence_leewaythe angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle
ricochetshow many times we've ricochet'd so far (instance variable, not a stat)
ricochets_maxhow many times we can ricochet max
sharpnessFor telling whether we want to roll for bone breaking or lacerations if we're bothering with wounds
shrapnel_typeIf defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets
temporary_unstoppable_movementWe are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.
wound_falloff_tileHow much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes
zone_accuracy_factorfactor to multiply by for zone accuracy percent.

Procs

CanPassThroughProjectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.
CrossedProjectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.
ImpactCalled when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.
MovedProjectile moved:
RangeArtificially modified to be called at around every world.icon_size pixels of movement. +WARNING: Range() can only be called once per pixel_increment_amount pixels.
pixel_moveThe proc to make the projectile go, using a simulated pixel movement line trace. +Note: deciseconds_equivalent is currently only used for homing, times is the number of times to move pixel_increment_amount. +Trajectory multiplier directly modifies the factor of pixel_increment_amount to go per time. +It's complicated, so probably just don't mess with this unless you know what you're doing.
prehit_pierceChecks if we should pierce something.
process_hitThe primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.
return_predicted_turf_after_movesone move is a tile.
scan_crossed_hitScan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.
scan_moved_turfScans if we should hit something on the turf we just moved to if we haven't already
select_targetSelects a target to hit from a turf
+

Var Details

embed_falloff_tile + + + + +

+

How much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes

force_hit + + + + +

+

If the object being hit can pass ths damage on to something else, it should not do it for this bullet

hit_stunned_targets + + + + +

+

If TRUE, hit mobs even if they're on the floor and not our target

hit_threshhold + + + + +

+

If objects are below this layer, we pass through them

hitscan_effect_generation + + + + +

+

Used in generate_hitscan_tracers to determine which "cycle" we're on.

hitscan_movement_decisecond_equivalency + + + + +

+

How many deciseconds are each hitscan movement considered. Used for homing and other things that use seconds for timing rather than ticks.

homing_turn_speed + + + + +

+

How fast the projectile turns towards its homing targets, in angle per second.

ignore_source_check + + + + +

+

If TRUE, we can hit our firer.

impacted + + + + +

+

We already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.

pass_flags + + + + +

+ +

The "usual" flags of pass_flags is used in that can_hit_target ignores these unless they're specifically targeted/clicked on. This behavior entirely bypasses process_hit if triggered, rather than phasing which uses prehit_pierce() to check.

phasing_ignore_direct_target + + + + +

+

If FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it

pierces + + + + +

+

number of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!

pixel_increment_amount + + + + +

+

The number of pixels we increment by. THIS IS NOT SPEED, DO NOT TOUCH THIS UNLESS YOU KNOW WHAT YOU ARE DOING. In general, lower values means more linetrace accuracy up to a point at cost of performance.

pixel_move_interrupted + + + + +

+

Used to detect jumps in the middle of a pixel_move. Yes, this is ugly as sin code-wise but it works.

pixels_per_second + + + + +

+

Pixels moved per second.

pixels_range_leftover + + + + +

+

"leftover" pixels for Range() calculation as pixel_move() was moved to simulated semi-pixel movement and Range() is in tiles.

pixels_tick_leftover + + + + +

+

"leftover" tick pixels and stuff yeah, so we don't round off things and introducing tracing inaccuracy.

projectile_phasing + + + + +

+

Bitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.

projectile_piercing + + + + +

+

Bitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.

range + + + + +

+

Range of the projectile, de-incrementing every step. The projectile deletes itself at 0. This is in tiles.

ricochet_auto_aim_angle + + + + +

+

On ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim

ricochet_auto_aim_range + + + + +

+

On ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle

ricochet_chance + + + + +

+

0-100, the base chance of ricocheting, before being modified by the atom we shoot and our chance decay

ricochet_decay_chance + + + + +

+

0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet

ricochet_decay_damage + + + + +

+

0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet

ricochet_incidence_leeway + + + + +

+

the angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle

ricochets + + + + +

+

how many times we've ricochet'd so far (instance variable, not a stat)

ricochets_max + + + + +

+

how many times we can ricochet max

sharpness + + + + +

+

For telling whether we want to roll for bone breaking or lacerations if we're bothering with wounds

shrapnel_type + + + + +

+

If defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets

temporary_unstoppable_movement + + + + +

+

We are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.

wound_falloff_tile + + + + +

+

How much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes

zone_accuracy_factor + + + + +

+

factor to multiply by for zone accuracy percent.

Proc Details

CanPassThrough +

+

Projectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.

Crossed +

+

Projectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.

Impact +

+

Called when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.

+

Furthermore, this proc shouldn't check can_hit_target - this should only be called if can hit target is already checked. +Also, we select_target to find what to process_hit first.

Moved +

+

Projectile moved:

+

If not fired yet, do not do anything. Else,

+

If temporary unstoppable movement used for piercing through things we already hit (impacted list) is set, unset it. +Scan turf we're now in for anything we can/should hit. This is useful for hitting non dense objects the user +directly clicks on, as well as for PHASING projectiles to be able to hit things at all as they don't ever Bump().

Range +

+

Artificially modified to be called at around every world.icon_size pixels of movement. +WARNING: Range() can only be called once per pixel_increment_amount pixels.

pixel_move +

+

The proc to make the projectile go, using a simulated pixel movement line trace. +Note: deciseconds_equivalent is currently only used for homing, times is the number of times to move pixel_increment_amount. +Trajectory multiplier directly modifies the factor of pixel_increment_amount to go per time. +It's complicated, so probably just don't mess with this unless you know what you're doing.

prehit_pierce +

+

Checks if we should pierce something.

+

NOT meant to be a pure proc, since this replaces prehit() which was used to do things. +Return PROJECTILE_DELETE_WITHOUT_HITTING to delete projectile without hitting at all!

process_hit +

+

The primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.

+

Order of operations:

+
    +
  1. Checks if we are deleted, or if we're somehow trying to hit a null, in which case, bail out
  2. +
  3. Adds the thing we're hitting to impacted so we can make sure we don't doublehit
  4. +
  5. Checks piercing - stores this. +Afterwards: +Hit and delete, hit without deleting and pass through, pass through without hitting, or delete without hitting depending on result +If we're going through without hitting, find something else to hit if possible and recurse, set unstoppable movement to true +If we're deleting without hitting, delete and return +Otherwise, send signal of COMSIG_PROJECTILE_PREHIT to target +Then, hit, deleting ourselves if necessary. +@params +T - Turf we're on/supposedly hitting +target - target we're hitting +bumped - target we originally bumped. it's here to ensure that if something blocks our projectile by means of Cross() failure, we hit it +even if it is not dense. +hit_something - only should be set by recursive calling by this proc - tracks if we hit something already
  6. +
+

Returns if we hit something.

+

return_predicted_turf_after_moves +

+

one move is a tile.

scan_crossed_hit +

+

Scan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.

scan_moved_turf +

+

Scans if we should hit something on the turf we just moved to if we haven't already

+

This proc is a little high in overhead but allows us to not snowflake CanPass in living and other things.

select_target +

+

Selects a target to hit from a turf

+

@params +T - The turf +target - The "preferred" atom to hit, usually what we Bumped() first. +bumped - used to track if something is the reason we impacted in the first place. +If set, this atom is always treated as dense by can_hit_target.

+

Priority: +0. Anything that is already in impacted is ignored no matter what. Furthermore, in any bracket, if the target atom parameter is in it, that's hit first. +Furthermore, can_hit_target is always checked. This (entire proc) is PERFORMANCE OVERHEAD!! But, it shouldn't be ""too"" bad and I frankly don't have a better generic non snowflakey way that I can think of right now at 3 AM. +FURTHERMORE, mobs/objs have a density check from can_hit_target - to hit non dense objects over a turf, you must click on them, same for mobs that usually wouldn't get hit.

+
    +
  1. The thing originally aimed at/clicked on
  2. +
  3. Mobs - picks lowest buckled mob to prevent scarp piggybacking memes
  4. +
  5. Objs
  6. +
  7. Turf
  8. +
  9. Nothing
  10. +
+ + + diff --git a/obj/item/projectile/frost_orb.html b/obj/item/projectile/frost_orb.html new file mode 100644 index 00000000000..e731a77a5ee --- /dev/null +++ b/obj/item/projectile/frost_orb.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/projectile/frost_orb - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

frost_orb + + + +

+ + +

Procs

orb_explosionCalled when the orb is exploding, shoots out projectiles

Proc Details

orb_explosion +

+

Called when the orb is exploding, shoots out projectiles

+ + + diff --git a/obj/item/projectile/tether.html b/obj/item/projectile/tether.html new file mode 100644 index 00000000000..3d29f008654 --- /dev/null +++ b/obj/item/projectile/tether.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/projectile/tether - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

tether + + + +

+ + +

Vars

lineReference to the beam following the projectile.
+

Var Details

line + + + + +

+

Reference to the beam following the projectile.

+ + + diff --git a/obj/item/raw_anomaly_core.html b/obj/item/raw_anomaly_core.html new file mode 100644 index 00000000000..5fd2272205f --- /dev/null +++ b/obj/item/raw_anomaly_core.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/raw_anomaly_core - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Raw Anomaly Cores + + + +

+ +

The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.

+

The current amounts created is stored in SSresearch.created_anomaly_types[ANOMALY_CORE_TYPE_DEFINE] = amount +The hard limits are in code/__DEFINES/anomalies.dm

+ +

Vars

anomaly_typeAnomaly type

Procs

create_coreCreated the resulting core after being "made" into it.
+

Var Details

anomaly_type + + + + +

+

Anomaly type

Proc Details

create_core +

+

Created the resulting core after being "made" into it.

+

Arguments:

+
+ + + diff --git a/obj/item/rcl.html b/obj/item/rcl.html new file mode 100644 index 00000000000..4924e22550b --- /dev/null +++ b/obj/item/rcl.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/rcl - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

rcl + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/reagent_containers/food.html b/obj/item/reagent_containers/food.html new file mode 100644 index 00000000000..548571e9618 --- /dev/null +++ b/obj/item/reagent_containers/food.html @@ -0,0 +1,31 @@ + + + + + + + /obj/item/reagent_containers/food - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

food + + + +

+ +

Food.

+

Note: When adding food items with dummy parents, make sure to add +the parent to the exclusion list in code/__HELPERS/unsorted.dm's +get_random_food proc.

+ + + diff --git a/obj/item/reagent_containers/food/snacks.html b/obj/item/reagent_containers/food/snacks.html new file mode 100644 index 00000000000..fd9c6838701 --- /dev/null +++ b/obj/item/reagent_containers/food/snacks.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/reagent_containers/food/snacks - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

snacks + + + +

+ + +

Items in the "Snacks" subcategory are food items that people actually eat. The key points are that they are created +already filled with reagents and are destroyed when empty. Additionally, they make a "munching" noise when eaten.

+

Notes by Darem: Food in the "snacks" subtype can hold a maximum of 50 units. Generally speaking, you don't want to go over 40 +total for the item because you want to leave space for extra condiments. If you want effect besides healing, add a reagent for +it. Try to stick to existing reagents when possible (so if you want a stronger healing effect, just use omnizine). On use +effect (such as the old officer eating a donut code) requires a unique reagent (unless you can figure out a better way).

+

The nutriment reagent and bitesize variable replace the old heal_amt and amount variables. Each unit of nutriment is equal to +2 of the old heal_amt variable. Bitesize is the rate at which the reagents are consumed. So if you have 6 nutriment and a +bitesize of 2, then it'll take 3 bites to eat. Unlike the old system, the contained reagents are evenly spread among all +the bites. No more contained reagents = no more bites.

+

Food formatting and crafting examples.

+
/obj/item/reagent_containers/food/snacks/saltedcornchips						//Identification path for the object.
+	name = "salted corn chips"													//Name that displays when hovered over.
+	desc = "Manufactured in a far away factory."								//Description on examine.
+	icon_state = "saltychip"													//Refers to an icon, usually in food.dmi
+	bitesize = 3																//How many reagents are consumed in each bite.
+	list_reagents = list(/datum/reagent/consumable/nutriment = 6,				//What's inside the snack, but only if spawned. For example, from a chemical reaction, vendor, or slime core spawn.
+						/datum/reagent/consumable/nutriment/vitamin = 2)
+	bonus_reagents = list(/datum/reagent/consumable/nutriment = 1,				//What's -added- to the food, in addition to the reagents contained inside the foods used to craft it. Basically, a reward for cooking.
+						/datum/reagent/consumable/nutriment/vitamin = 1)		^^For example. Egg+Egg = 2Egg + Bonus Reagents.
+	filling_color = "#F4A460"													//What color it will use if put in a custom food.
+	tastes = list("salt" = 1, "oil" = 1)										//Descriptive flavoring displayed when eaten. IE: "You taste a bit of salt and a bit of oil."
+	foodtype = GRAIN | JUNKFOOD													//Tag for racial or custom food preferences. IE: Most Lizards cannot have GRAIN.
+
+Crafting Recipe (See files in code/modules/food_and_drinks/recipes/tablecraft/)
+
+/datum/crafting_recipe/food/nachos
+	name ="Salted Corn Chips"													//Name that displays in the Crafting UI
+	reqs = list(																//The list of ingredients to make the food.
+		/obj/item/reagent_containers/food/snacks/tortilla = 1,
+		/datum/reagent/consumable/sodiumchloride = 1							//As a note, reagents and non-food items don't get added to the food. If you
+	)																			^^want the reagents, make sure the food item has it listed under bonus_reagents.
+	result = /obj/item/reagent_containers/food/snacks/saltedcornchips			//Resulting object.
+	subcategory = CAT_MISCFOOD													//Subcategory the food falls under in the Food Tab of the crafting menu.
+
+

All foods are distributed among various categories. Use common sense.

+

Procs

afterattackDunking

Proc Details

afterattack +

+

Dunking

+ + + diff --git a/obj/item/reagent_containers/food/snacks/donut.html b/obj/item/reagent_containers/food/snacks/donut.html new file mode 100644 index 00000000000..926d7cabf78 --- /dev/null +++ b/obj/item/reagent_containers/food/snacks/donut.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/food/snacks/donut - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

donut + + + +

+ +

DONUTS

+

Procs

in_box_spriteReturns the sprite of the donut while in a donut box

Proc Details

in_box_sprite +

+

Returns the sprite of the donut while in a donut box

+ + + diff --git a/obj/item/reagent_containers/spray.html b/obj/item/reagent_containers/spray.html new file mode 100644 index 00000000000..ea40b2e40d4 --- /dev/null +++ b/obj/item/reagent_containers/spray.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/reagent_containers/spray - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

spray + + + +

+ + + + +

Vars

last_sprayLast world.time of spray
spray_cooldownSpray cooldown
spray_delayAmount of time it takes for a spray to completely travel.
+

Var Details

last_spray + + + + +

+

Last world.time of spray

spray_cooldown + + + + +

+

Spray cooldown

spray_delay + + + + +

+

Amount of time it takes for a spray to completely travel.

+ + + diff --git a/obj/item/reagent_containers/syringe.html b/obj/item/reagent_containers/syringe.html new file mode 100644 index 00000000000..8f27137c295 --- /dev/null +++ b/obj/item/reagent_containers/syringe.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/syringe - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

syringe + + + +

+ + +

Procs

get_rounded_volUsed by update_icon() and update_overlays()

Proc Details

get_rounded_vol +

+

Used by update_icon() and update_overlays()

+ + + diff --git a/obj/item/relic.html b/obj/item/relic.html new file mode 100644 index 00000000000..d0b5e692013 --- /dev/null +++ b/obj/item/relic.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/relic - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

relic + + + +

+ +

SPECIAL ITEMS

+

Procs

throwSmokeRELIC PROCS

Proc Details

throwSmoke +

+

RELIC PROCS

+ + + diff --git a/obj/item/restraints.html b/obj/item/restraints.html new file mode 100644 index 00000000000..a6e8d3b2139 --- /dev/null +++ b/obj/item/restraints.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/restraints - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

restraints + + + +

+ + +

Vars

allow_breakout_movementallow movement at all during breakout
+

Var Details

allow_breakout_movement + + + + +

+

allow movement at all during breakout

+ + + diff --git a/obj/item/restraints/legcuffs/bola.html b/obj/item/restraints/legcuffs/bola.html new file mode 100644 index 00000000000..34285140e9a --- /dev/null +++ b/obj/item/restraints/legcuffs/bola.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/restraints/legcuffs/bola - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

bola + + + +

+ + +

Procs

ensnareAttempts to legcuff someone with the bola

Proc Details

ensnare +

+

Attempts to legcuff someone with the bola

+

Arguments:

+
+ + + diff --git a/obj/item/resurrection_crystal.html b/obj/item/resurrection_crystal.html new file mode 100644 index 00000000000..1b468d181b5 --- /dev/null +++ b/obj/item/resurrection_crystal.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/resurrection_crystal - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

resurrection_crystal + + + +

+ + +

Procs

resurrectResurrects the target when they die by cloning them into a new duplicate body and transferring their mind to the clone on a safe station turf

Proc Details

resurrect +

+

Resurrects the target when they die by cloning them into a new duplicate body and transferring their mind to the clone on a safe station turf

+ + + diff --git a/obj/item/reverse_bear_trap.html b/obj/item/reverse_bear_trap.html new file mode 100644 index 00000000000..245dce25430 --- /dev/null +++ b/obj/item/reverse_bear_trap.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reverse_bear_trap - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

reverse_bear_trap + + + +

+ + +

Procs

armnote: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.

Proc Details

arm +

+

note: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.

+ + + diff --git a/obj/item/robot_module.html b/obj/item/robot_module.html new file mode 100644 index 00000000000..49677dc8d0f --- /dev/null +++ b/obj/item/robot_module.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/robot_module - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

robot_module + + + +

+ + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/sales_tagger.html b/obj/item/sales_tagger.html new file mode 100644 index 00000000000..1d5d472401c --- /dev/null +++ b/obj/item/sales_tagger.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/sales_tagger - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

sales_tagger + + + +

+ + + + + +

Vars

cut_maxMaximum value for cut_multiplier.
cut_minMinimum value for cut_multiplier.
cut_multiplierDetails the percentage the scanned account recieves off the final sale. +The person who tagged this will receive the sale value multiplied by this number.
payments_accThe account which is recieving the split profits.
+

Var Details

cut_max + + + + +

+

Maximum value for cut_multiplier.

cut_min + + + + +

+

Minimum value for cut_multiplier.

cut_multiplier + + + + +

+

Details the percentage the scanned account recieves off the final sale. +The person who tagged this will receive the sale value multiplied by this number.

payments_acc + + + + +

+

The account which is recieving the split profits.

+ + + diff --git a/obj/item/seeds.html b/obj/item/seeds.html new file mode 100644 index 00000000000..794da1ef535 --- /dev/null +++ b/obj/item/seeds.html @@ -0,0 +1,66 @@ + + + + + + + /obj/item/seeds - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

seeds + + + +

+ + + + + +

Procs

adjust_yieldSetters procs
harvest_userlessReference to the tray/soil the seeds are planted in. +Count used for creating the correct amount of results to the harvest. +List of plants all harvested from the same batch. +Tile of the harvester to deposit the growables. +Name of the grown products. +The Number of products produced by the plant, typically the yield.
set_mutabilityThis proc adds a mutability_flag to a gene
unset_mutabilityThis proc removes a mutability_flag from a gene

Proc Details

adjust_yield +

+

Setters procs

harvest_userless +

+

Reference to the tray/soil the seeds are planted in. +Count used for creating the correct amount of results to the harvest. +List of plants all harvested from the same batch. +Tile of the harvester to deposit the growables. +Name of the grown products. +The Number of products produced by the plant, typically the yield.

set_mutability +

+

This proc adds a mutability_flag to a gene

unset_mutability +

+

This proc removes a mutability_flag from a gene

+ + + diff --git a/obj/item/shield.html b/obj/item/shield.html new file mode 100644 index 00000000000..4f6fe6a4c1f --- /dev/null +++ b/obj/item/shield.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/shield - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

shield + + + +

+ + + + + + + + + + +

Vars

last_shieldbashLast shieldbash world.time
shield_flagsShield flags
shieldbash_brutedamageShield bashing brute damage
shieldbash_cooldownShieldbashing cooldown
shieldbash_knockbackShieldbashing knockback
shieldbash_push_distanceShield bashing push distance
shieldbash_stagger_durationShield bashing stagger duration
shieldbash_stamcostShieldbashing stamina cost
shieldbash_stamdmgShield bashing stamina damage
+

Var Details

last_shieldbash + + + + +

+

Last shieldbash world.time

shield_flags + + + + +

+

Shield flags

shieldbash_brutedamage + + + + +

+

Shield bashing brute damage

shieldbash_cooldown + + + + +

+

Shieldbashing cooldown

shieldbash_knockback + + + + +

+

Shieldbashing knockback

shieldbash_push_distance + + + + +

+

Shield bashing push distance

shieldbash_stagger_duration + + + + +

+

Shield bashing stagger duration

shieldbash_stamcost + + + + +

+

Shieldbashing stamina cost

shieldbash_stamdmg + + + + +

+

Shield bashing stamina damage

+ + + diff --git a/obj/item/shield/riot/implant.html b/obj/item/shield/riot/implant.html new file mode 100644 index 00000000000..060be2d4b1f --- /dev/null +++ b/obj/item/shield/riot/implant.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/shield/riot/implant - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

implant + + + +

+ + +

Procs

take_damageEntirely overriden take_damage. This shouldn't exist outside of an implant (other than maybe christmas).

Proc Details

take_damage +

+

Entirely overriden take_damage. This shouldn't exist outside of an implant (other than maybe christmas).

+ + + diff --git a/obj/item/shockpaddles.html b/obj/item/shockpaddles.html new file mode 100644 index 00000000000..d68e4738a71 --- /dev/null +++ b/obj/item/shockpaddles.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/shockpaddles - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

shockpaddles + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/singularityhammer.html b/obj/item/singularityhammer.html new file mode 100644 index 00000000000..1374b92054b --- /dev/null +++ b/obj/item/singularityhammer.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/singularityhammer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

singularityhammer + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/slapper.html b/obj/item/slapper.html new file mode 100644 index 00000000000..1799f8f4d67 --- /dev/null +++ b/obj/item/slapper.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/slapper - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

slapper + + + +

+ + +

Procs

on_offer_takenYeah broh! This is where we do the high-fiving (or high-tenning :o)

Proc Details

on_offer_taken +

+

Yeah broh! This is where we do the high-fiving (or high-tenning :o)

+ + + diff --git a/obj/item/slapper/secret_handshake.html b/obj/item/slapper/secret_handshake.html new file mode 100644 index 00000000000..ef64256015d --- /dev/null +++ b/obj/item/slapper/secret_handshake.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/slapper/secret_handshake - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

secret_handshake + + + +

+ +

Gangster secret handshakes.

+ + + + +

Vars

gang_to_useThe typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
handlerReferences the active families gamemode handler (if one exists), for adding new family members to.
team_to_useThe team datum that the person who uses this package should be added to.

Procs

add_to_gangAdds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
attempt_join_gangChecks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.
+

Var Details

gang_to_use + + + + +

+

The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.

handler + + + + +

+

References the active families gamemode handler (if one exists), for adding new family members to.

team_to_use + + + + +

+

The team datum that the person who uses this package should be added to.

Proc Details

add_to_gang +

+

Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.

attempt_join_gang +

+

Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

+ + + diff --git a/obj/item/soulstone.html b/obj/item/soulstone.html new file mode 100644 index 00000000000..dab9ab16c5b --- /dev/null +++ b/obj/item/soulstone.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/soulstone - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

soulstone + + + +

+ + + + +

Procs

attackCapturing
attack_selfOptions for using captured souls
transfer_soulProc for moving soul in and out off stone

Proc Details

attack +

+

Capturing

attack_self +

+

Options for using captured souls

transfer_soul +

+

Proc for moving soul in and out off stone

+ + + diff --git a/obj/item/spear.html b/obj/item/spear.html new file mode 100644 index 00000000000..fa5fd364c7d --- /dev/null +++ b/obj/item/spear.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/spear - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

spear + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/stack.html b/obj/item/stack.html new file mode 100644 index 00000000000..7be459bd965 --- /dev/null +++ b/obj/item/stack.html @@ -0,0 +1,198 @@ + + + + + + + /obj/item/stack - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

stack + + + +

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

Vars

absorption_capacityHow much blood flow this stack can absorb if used as a bandage on a cut wound, note that absorption is how much we lower the flow rate, not the raw amount of blood we suck up
absorption_rateHow quickly we lower the blood flow on a cut wound we're bandaging. Expected lifetime of this bandage in ticks is thus absorption_capacity/absorption_rate, or until the cut heals, whichever comes first
material_typeDatum material type that this stack is made of
matter_amountAmount of matter for RCD
splint_factorIf set and this used as a splint for a broken bone wound, this is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)

Procs

add
build_recipeReturns a list of properties of a given recipe
can_merge
is_valid_recipeChecks if the recipe is valid to be used
recursively_build_recipesBuilds all recipes in a given recipe list and returns an association list containing them
set_custom_materialsOverride to make things like metalgen accurately set custom materials
set_mats_per_unit
split_stack
update_custom_materialsUpdates the custom materials list of this stack.
+

Var Details

absorption_capacity + + + + +

+

How much blood flow this stack can absorb if used as a bandage on a cut wound, note that absorption is how much we lower the flow rate, not the raw amount of blood we suck up

absorption_rate + + + + +

+

How quickly we lower the blood flow on a cut wound we're bandaging. Expected lifetime of this bandage in ticks is thus absorption_capacity/absorption_rate, or until the cut heals, whichever comes first

material_type + + + + +

+

Datum material type that this stack is made of

matter_amount + + + + +

+

Amount of matter for RCD

splint_factor + + + + +

+

If set and this used as a splint for a broken bone wound, this is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)

Proc Details

add +

+

build_recipe +

+

Returns a list of properties of a given recipe

+

Arguments:

+

can_merge +

+

is_valid_recipe +

+

Checks if the recipe is valid to be used

+

Arguments:

+

recursively_build_recipes +

+

Builds all recipes in a given recipe list and returns an association list containing them

+

Arguments:

+

set_custom_materials +

+

Override to make things like metalgen accurately set custom materials

set_mats_per_unit +

+

split_stack +

+

update_custom_materials +

+

Updates the custom materials list of this stack.

+ + + diff --git a/obj/item/stack/conveyor.html b/obj/item/stack/conveyor.html new file mode 100644 index 00000000000..8e4e88fecdf --- /dev/null +++ b/obj/item/stack/conveyor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/conveyor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

conveyor + + + +

+ + +

Vars

idid for linking
+

Var Details

id + + + + +

+

id for linking

+ + + diff --git a/obj/item/stack/ducts.html b/obj/item/stack/ducts.html new file mode 100644 index 00000000000..a7117f7845c --- /dev/null +++ b/obj/item/stack/ducts.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/stack/ducts - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ducts + + + +

+ + + + +

Vars

duct_colorColor of our duct
duct_layerDefault layer of our duct
layersAssoc index with all the available layers. yes five might be a bit much. Colors uses a global by the way
+

Var Details

duct_color + + + + +

+

Color of our duct

duct_layer + + + + +

+

Default layer of our duct

layers + + + + +

+

Assoc index with all the available layers. yes five might be a bit much. Colors uses a global by the way

+ + + diff --git a/obj/item/stack/license_plates/filled.html b/obj/item/stack/license_plates/filled.html new file mode 100644 index 00000000000..a146ccf9429 --- /dev/null +++ b/obj/item/stack/license_plates/filled.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/stack/license_plates/filled - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

filled + + + +

+ + +

Procs

update_icon_stateOverride to allow for variations

Proc Details

update_icon_state +

+

Override to allow for variations

+ + + diff --git a/obj/item/stack/medical.html b/obj/item/stack/medical.html new file mode 100644 index 00000000000..0d7a26b7e42 --- /dev/null +++ b/obj/item/stack/medical.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/stack/medical - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

medical + + + +

+ + + + + + +

Vars

flesh_regenerationHow much we add to flesh_healing for burn wounds on application
heal_bruteHow much brute we heal per application
heal_burnHow much burn we heal per application
sanitizationHow much sanitization to apply to burns on application
stop_bleedingHow much we reduce bleeding per application on cut wounds
+

Var Details

flesh_regeneration + + + + +

+

How much we add to flesh_healing for burn wounds on application

heal_brute + + + + +

+

How much brute we heal per application

heal_burn + + + + +

+

How much burn we heal per application

sanitization + + + + +

+

How much sanitization to apply to burns on application

stop_bleeding + + + + +

+

How much we reduce bleeding per application on cut wounds

+ + + diff --git a/obj/item/stack/medical/mesh.html b/obj/item/stack/medical/mesh.html new file mode 100644 index 00000000000..a22459123ac --- /dev/null +++ b/obj/item/stack/medical/mesh.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/medical/mesh - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mesh + + + +

+ + +

Vars

grind_resultsThis var determines if the sterile packaging of the mesh has been opened.
+

Var Details

grind_results + + + + +

+

This var determines if the sterile packaging of the mesh has been opened.

+ + + diff --git a/obj/item/stack/sheet.html b/obj/item/stack/sheet.html new file mode 100644 index 00000000000..b985c5738ac --- /dev/null +++ b/obj/item/stack/sheet.html @@ -0,0 +1,72 @@ + + + + + + + /obj/item/stack/sheet - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

sheet + + + +

+ + + + + + +

Vars

point_valueturn-in value for the gulag stacker - loosely relative to its rarity
shard_typethe shard debris typepath left over by solar panels and windows etc.
sheettypethis is used for girders in the creation of walls/false walls
walltypeWhat type of wall does this sheet spawn

Procs

on_solar_constructionCalled on the glass sheet upon solar construction (duh): +Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency +and possibly extra effects if you wish to code them. +Keep in mind the solars' max_integrity is set equal to the obj_integrity later, +so you won't have to do so here.
+

Var Details

point_value + + + + +

+

turn-in value for the gulag stacker - loosely relative to its rarity

shard_type + + + + +

+

the shard debris typepath left over by solar panels and windows etc.

sheettype + + + + +

+

this is used for girders in the creation of walls/false walls

walltype + + + + +

+

What type of wall does this sheet spawn

Proc Details

on_solar_construction +

+

Called on the glass sheet upon solar construction (duh): +Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency +and possibly extra effects if you wish to code them. +Keep in mind the solars' max_integrity is set equal to the obj_integrity later, +so you won't have to do so here.

+ + + diff --git a/obj/item/stack/tile.html b/obj/item/stack/tile.html new file mode 100644 index 00000000000..c773a25e539 --- /dev/null +++ b/obj/item/stack/tile.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/stack/tile - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

tile + + + +

+ + + + + +

Vars

mineralTypeDetermines certain welder interactions. //included - tile floofing
tile_reskin_typesCached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image
turf_typeWhat type of turf does this tile produce. //included - tile floofing

Procs

tile_reskin_listCaches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).
+

Var Details

mineralType + + + + +

+

Determines certain welder interactions. //included - tile floofing

tile_reskin_types + + + + +

+

Cached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image

turf_type + + + + +

+

What type of turf does this tile produce. //included - tile floofing

Proc Details

tile_reskin_list +

+

Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).

+ + + diff --git a/obj/item/staff/bostaff.html b/obj/item/staff/bostaff.html new file mode 100644 index 00000000000..369f4bff212 --- /dev/null +++ b/obj/item/staff/bostaff.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/staff/bostaff - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

bostaff + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/storage/book/bible.html b/obj/item/storage/book/bible.html new file mode 100644 index 00000000000..ff7f1eca273 --- /dev/null +++ b/obj/item/storage/book/bible.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/book/bible - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

bible + + + +

+ + +

Procs

check_menuChecks if we are allowed to interact with the radial

Proc Details

check_menu +

+

Checks if we are allowed to interact with the radial

+

Arguements: user The mob interacting with the menu

+ + + diff --git a/obj/item/storage/box/papersack.html b/obj/item/storage/box/papersack.html new file mode 100644 index 00000000000..722c5789c31 --- /dev/null +++ b/obj/item/storage/box/papersack.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/storage/box/papersack - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

papersack + + + +

+ + + +

Vars

papersack_designsA list of all available papersack reskins

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
+

Var Details

papersack_designs + + + + +

+

A list of all available papersack reskins

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/item/storage/fancy/rollingpapers.html b/obj/item/storage/fancy/rollingpapers.html new file mode 100644 index 00000000000..1e9b2ffef48 --- /dev/null +++ b/obj/item/storage/fancy/rollingpapers.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/storage/fancy/rollingpapers - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

rollingpapers + + + +

+ + + +

Vars

icon_typeThe value in here has NOTHING to do with icons. It needs to be this for the proper examine.

Procs

update_icon_stateOverrides to do nothing because fancy boxes are fucking insane.
+

Var Details

icon_type + + + + +

+

The value in here has NOTHING to do with icons. It needs to be this for the proper examine.

Proc Details

update_icon_state +

+

Overrides to do nothing because fancy boxes are fucking insane.

+ + + diff --git a/obj/item/storage/pod.html b/obj/item/storage/pod.html new file mode 100644 index 00000000000..564e831c9c4 --- /dev/null +++ b/obj/item/storage/pod.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/pod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

pod + + + +

+ + +

Procs

afterShuttleMoveItem move procs

Proc Details

afterShuttleMove +

+

Item move procs

+ + + diff --git a/obj/item/storage/portable_chem_mixer.html b/obj/item/storage/portable_chem_mixer.html new file mode 100644 index 00000000000..fe64a4ad496 --- /dev/null +++ b/obj/item/storage/portable_chem_mixer.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/storage/portable_chem_mixer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

portable_chem_mixer + + + +

+ + + + + + +

Vars

amountCreating an empty slot for a beaker that can be added to dispense into
dispensable_reagentsThe amount of reagent that is to be dispensed currently

Procs

ComponentInitializeList in which all currently dispensable reagents go
replace_beakerReplaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently
update_contentsUpdates the contents of the portable chemical mixer
+

Var Details

amount + + + + +

+

Creating an empty slot for a beaker that can be added to dispense into

dispensable_reagents + + + + +

+

The amount of reagent that is to be dispensed currently

Proc Details

ComponentInitialize +

+

List in which all currently dispensable reagents go

replace_beaker +

+

Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently

+

Checks if a valid user and a valid new beaker exist and attempts to replace the current beaker in the portable chemical mixer with the one in hand. Simply places the new beaker in if no beaker is currently loaded +Arguments:

+

update_contents +

+

Updates the contents of the portable chemical mixer

+

A list of dispensable reagents is created by iterating through each source beaker in the portable chemical beaker and reading its contents

+ + + diff --git a/obj/item/storage/toolbox/mechanical.html b/obj/item/storage/toolbox/mechanical.html new file mode 100644 index 00000000000..a8229e75775 --- /dev/null +++ b/obj/item/storage/toolbox/mechanical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/toolbox/mechanical - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

mechanical + + + +

+ + +

Vars

has_soulIf FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.
+

Var Details

has_soul + + + + +

+

If FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.

+ + + diff --git a/obj/item/summon.html b/obj/item/summon.html new file mode 100644 index 00000000000..408da93f9bb --- /dev/null +++ b/obj/item/summon.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/summon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

summon + + + +

+ +

Simple summon weapon code in this file

+

tl;dr latch onto target, repeatedly proc attacks, animate using transforms, +no real hitboxes/collisions, think of /datum/component/orbit-adjacent

+ + + + + +

Vars

hostour summon weapon host
host_typedatum type
melee_onlyare we a ranged weapon?
rangerange summons will chase to
stack_durationhow long it takes for a "stack" to fall off by itself
summon_countnumber of summons
+

Var Details

host + + + + +

+

our summon weapon host

host_type + + + + +

+

datum type

melee_only + + + + +

+

are we a ranged weapon?

range + + + + +

+

range summons will chase to

stack_duration + + + + +

+

how long it takes for a "stack" to fall off by itself

summon_count + + + + +

+

number of summons

+ + + diff --git a/obj/item/tank.html b/obj/item/tank.html new file mode 100644 index 00000000000..1200883feb9 --- /dev/null +++ b/obj/item/tank.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tank - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

tank + + + +

+ + +

Vars

tank_holder_icon_stateIcon state when in a tank holder. Null makes it incompatible with tank holder.
+

Var Details

tank_holder_icon_state + + + + +

+

Icon state when in a tank holder. Null makes it incompatible with tank holder.

+ + + diff --git a/obj/item/throwing_star/stamina/ninja.html b/obj/item/throwing_star/stamina/ninja.html new file mode 100644 index 00000000000..06f15eea2b4 --- /dev/null +++ b/obj/item/throwing_star/stamina/ninja.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/throwing_star/stamina/ninja - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Ninja Throwing Star + + + +

+ +

a throwing star which specifically makes sure you know it came from a real ninja.

+

The most important item in the entire codebase, as without it we would all cease to exist. +Inherits everything that makes it interesting the stamina throwing star, but the most +important change made is that its name specifically has the prefix, 'ninja' in it. +This provides the detective role with information to play off of by ensuring that his +assumption that a space ninja is aboard the ship to be true when he find 20 of these in +the captain's back. Along with this, its throwforce is 10 instead of the 5 of the stamina +throwing star, meaning it'll do a little more damage than the stamina throwing star does as well. +Changes to this item need to be approved by all maintainers, so if you do change it, make sure +you go through the proper channels, lest you get permabanned. Do I make myself clear?

+ + + diff --git a/obj/item/toy/cards/cardhand.html b/obj/item/toy/cards/cardhand.html new file mode 100644 index 00000000000..20ab8fddb83 --- /dev/null +++ b/obj/item/toy/cards/cardhand.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/toy/cards/cardhand - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

cardhand + + + +

+ + + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
update_spriteThis proc updates the sprite for when you create a hand of cards

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+

update_sprite +

+

This proc updates the sprite for when you create a hand of cards

+ + + diff --git a/obj/item/toy/crayon.html b/obj/item/toy/crayon.html new file mode 100644 index 00000000000..f2d26e06135 --- /dev/null +++ b/obj/item/toy/crayon.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/toy/crayon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

crayon + + + +

+ + +

Procs

can_claim_for_gangGang mode stuff

Proc Details

can_claim_for_gang +

+

Gang mode stuff

+ + + diff --git a/obj/item/toy/plush.html b/obj/item/toy/plush.html new file mode 100644 index 00000000000..47d3d1c0f7d --- /dev/null +++ b/obj/item/toy/plush.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/plush - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

plush + + + +

+ + +

Vars

__ADMIN_SET_TO_IDwrapper, do not use, read only
+

Var Details

__ADMIN_SET_TO_ID + + + + +

+

wrapper, do not use, read only

+ + + diff --git a/obj/item/transfer_valve.html b/obj/item/transfer_valve.html new file mode 100644 index 00000000000..02acaf9a458 --- /dev/null +++ b/obj/item/transfer_valve.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/transfer_valve - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

transfer_valve + + + +

+ + +

Procs

readyReturns if this is ready to be detonated. Checks if both tanks are in place.

Proc Details

ready +

+

Returns if this is ready to be detonated. Checks if both tanks are in place.

+ + + diff --git a/obj/item/uplink.html b/obj/item/uplink.html new file mode 100644 index 00000000000..3cf5474ee39 --- /dev/null +++ b/obj/item/uplink.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/uplink - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

uplink + + + +

+ + +

Vars

uplink_flagThe uplink flag for this type. +See [code/__DEFINES/uplink.dm]
+

Var Details

+

The uplink flag for this type. +See [code/__DEFINES/uplink.dm]

+ + + diff --git a/obj/item/vibro_weapon.html b/obj/item/vibro_weapon.html new file mode 100644 index 00000000000..a454b63cfb0 --- /dev/null +++ b/obj/item/vibro_weapon.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/vibro_weapon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

vibro_weapon + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/machinery.html b/obj/machinery.html new file mode 100644 index 00000000000..6dc3d4f2a38 --- /dev/null +++ b/obj/machinery.html @@ -0,0 +1,44 @@ + + + + + + + /obj/machinery - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

machinery + + + +

+ + + +

Procs

AI_notify_hackAlerts the AI that a hack is in progress.
set_machine_statCalled when we want to change the value of the stat variable. Holds bitflags.

Proc Details

AI_notify_hack +

+

Alerts the AI that a hack is in progress.

+

Sends all AIs a message that a hack is occurring. Specifically used for space ninja tampering as this proc was originally in the ninja files. +However, the proc may also be used elsewhere.

set_machine_stat +

+

Called when we want to change the value of the stat variable. Holds bitflags.

+ + + diff --git a/obj/machinery/abductor/console.html b/obj/machinery/abductor/console.html new file mode 100644 index 00000000000..49717d5a795 --- /dev/null +++ b/obj/machinery/abductor/console.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/abductor/console - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

console + + + +

+ + + + + +

Vars

compact_modeDictates if the compact mode of the interface is on or off
possible_gearPossible gear to be dispensed
selected_catCurrently selected gear category

Procs

get_abductor_gearget_abductor_gear: Returns a list of a filtered abductor gear sorted by categories
+

Var Details

compact_mode + + + + +

+

Dictates if the compact mode of the interface is on or off

possible_gear + + + + +

+

Possible gear to be dispensed

selected_cat + + + + +

+

Currently selected gear category

Proc Details

get_abductor_gear +

+

get_abductor_gear: Returns a list of a filtered abductor gear sorted by categories

+ + + diff --git a/obj/machinery/abductor/experiment.html b/obj/machinery/abductor/experiment.html new file mode 100644 index 00000000000..58216364a06 --- /dev/null +++ b/obj/machinery/abductor/experiment.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/abductor/experiment - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

experiment + + + +

+ + + +

Procs

experimentexperiment: Performs selected experiment on occupant mob, resulting in a point reward on success
send_backsend_back: Sends a mob back to a selected teleport location if safe

Proc Details

experiment +

+

experiment: Performs selected experiment on occupant mob, resulting in a point reward on success

+

Arguments:

+

send_back +

+

send_back: Sends a mob back to a selected teleport location if safe

+

Arguments:

+
+ + + diff --git a/obj/machinery/atmospherics.html b/obj/machinery/atmospherics.html new file mode 100644 index 00000000000..e52b9afba30 --- /dev/null +++ b/obj/machinery/atmospherics.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/atmospherics - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

atmospherics + + + +

+ + +

Procs

shuttleRotateMachine rotate procs

Proc Details

shuttleRotate +

+

Machine rotate procs

+ + + diff --git a/obj/machinery/atmospherics/components/unary/cryo_cell.html b/obj/machinery/atmospherics/components/unary/cryo_cell.html new file mode 100644 index 00000000000..1326df45d40 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/cryo_cell.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/cryo_cell - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cryo_cell + + + +

+ + +

Vars

treating_woundsCryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead
+

Var Details

treating_wounds + + + + +

+

Cryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead

+ + + diff --git a/obj/machinery/atmospherics/components/unary/tank.html b/obj/machinery/atmospherics/components/unary/tank.html new file mode 100644 index 00000000000..3f943a8ee09 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/tank.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/tank - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

tank + + + +

+ + +

Vars

gas_typeThe typepath of the gas this tank should be filled with.
+

Var Details

gas_type + + + + +

+

The typepath of the gas this tank should be filled with.

+ + + diff --git a/obj/machinery/atmospherics/pipe/simple/multiz.html b/obj/machinery/atmospherics/pipe/simple/multiz.html new file mode 100644 index 00000000000..618cbd2a5c0 --- /dev/null +++ b/obj/machinery/atmospherics/pipe/simple/multiz.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/atmospherics/pipe/simple/multiz - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

multiz + + + +

+ +

This is an atmospherics pipe which can relay air up/down a deck.

+

Procs

pipeline_expansionAttempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet

Proc Details

pipeline_expansion +

+

Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet

+ + + diff --git a/obj/machinery/autolathe.html b/obj/machinery/autolathe.html new file mode 100644 index 00000000000..b8515907b18 --- /dev/null +++ b/obj/machinery/autolathe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/autolathe - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

autolathe + + + +

+ + +

Vars

creation_efficiencythe multiplier for how much materials the created object takes from this machines stored materials
+

Var Details

creation_efficiency + + + + +

+

the multiplier for how much materials the created object takes from this machines stored materials

+ + + diff --git a/obj/machinery/biogenerator.html b/obj/machinery/biogenerator.html new file mode 100644 index 00000000000..fd6f512666b --- /dev/null +++ b/obj/machinery/biogenerator.html @@ -0,0 +1,47 @@ + + + + + + + /obj/machinery/biogenerator - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

biogenerator + + + +

+ + + +

Vars

selected_catCurrently selected category in the UI

Procs

activateactivate: Activates biomass processing and converts all inserted grown products into biomass
+

Var Details

selected_cat + + + + +

+

Currently selected category in the UI

Proc Details

activate +

+

activate: Activates biomass processing and converts all inserted grown products into biomass

+

Arguments:

+
+ + + diff --git a/obj/machinery/computer/arcade/battle.html b/obj/machinery/computer/arcade/battle.html new file mode 100644 index 00000000000..bfe120476df --- /dev/null +++ b/obj/machinery/computer/arcade/battle.html @@ -0,0 +1,169 @@ + + + + + + + /obj/machinery/computer/arcade/battle - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

battle + + + +

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

Vars

blockedthe player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.
bomb_cooldownunique to the emag mode, acts as a time limit where the player dies when it reaches 0.
chosen_weaponweapon wielded by the enemy, the shotgun doesn't count.
enemy_hpEnemy health/attack points
enemy_passivethe list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc
finishing_moveif all the enemy's weakpoints have been triggered becomes TRUE
gameoverif the enemy or player died. restart the game when TRUE
last_three_moveused to remember the last three move of the player before this turn.
max_passivethe number of passives the enemy will start with
pissed_offlinked to passives, when it's equal or above the max_passive finishing move will become TRUE
player_hpPlayer health
player_mpplayer magic points
tempTemporary message, for attack messages, etc
timer_idused to clear the enemy_action proc timer when the game is restarted
weaponsweapon used by the enemy, pure fluff.for certain actions

Procs

arcade_actionhappens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.
enemy_actionthe enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness
enemy_setupcreates the enemy base stats for a new round along with the enemy passives
screen_setupsets up the main screen for the user
weakpoint_checkused to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet
+

Var Details

blocked + + + + +

+

the player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.

bomb_cooldown + + + + +

+

unique to the emag mode, acts as a time limit where the player dies when it reaches 0.

chosen_weapon + + + + +

+

weapon wielded by the enemy, the shotgun doesn't count.

enemy_hp + + + + +

+

Enemy health/attack points

enemy_passive + + + + +

+

the list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc

finishing_move + + + + +

+

if all the enemy's weakpoints have been triggered becomes TRUE

gameover + + + + +

+

if the enemy or player died. restart the game when TRUE

last_three_move + + + + +

+

used to remember the last three move of the player before this turn.

max_passive + + + + +

+

the number of passives the enemy will start with

pissed_off + + + + +

+

linked to passives, when it's equal or above the max_passive finishing move will become TRUE

player_hp + + + + +

+

Player health

player_mp + + + + +

+

player magic points

temp + + + + +

+

Temporary message, for attack messages, etc

timer_id + + + + +

+

used to clear the enemy_action proc timer when the game is restarted

weapons + + + + +

+

weapon used by the enemy, pure fluff.for certain actions

Proc Details

arcade_action +

+

happens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.

enemy_action +

+

the enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness

enemy_setup +

+

creates the enemy base stats for a new round along with the enemy passives

screen_setup +

+

sets up the main screen for the user

weakpoint_check +

+

used to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet

+ + + diff --git a/obj/machinery/computer/camera_advanced.html b/obj/machinery/computer/camera_advanced.html new file mode 100644 index 00000000000..186c3b16d32 --- /dev/null +++ b/obj/machinery/computer/camera_advanced.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/computer/camera_advanced - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

camera_advanced + + + +

+ + +

Vars

should_supress_view_changesShould we suppress the user's view?
+

Var Details

should_supress_view_changes + + + + +

+

Should we suppress the user's view?

+ + + diff --git a/obj/machinery/computer/camera_advanced/shuttle_docker.html b/obj/machinery/computer/camera_advanced/shuttle_docker.html new file mode 100644 index 00000000000..fe06e52fc36 --- /dev/null +++ b/obj/machinery/computer/camera_advanced/shuttle_docker.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/computer/camera_advanced/shuttle_docker - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

shuttle_docker + + + +

+ + +

Procs

canDesignateTargetMake one use port that deleted after fly off, to don't lose info that need on to properly fly off.

Proc Details

canDesignateTarget +

+

Make one use port that deleted after fly off, to don't lose info that need on to properly fly off.

+ + + diff --git a/obj/machinery/computer/cargo.html b/obj/machinery/computer/cargo.html new file mode 100644 index 00000000000..6e7a008099a --- /dev/null +++ b/obj/machinery/computer/cargo.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/computer/cargo - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cargo + + + +

+ + + + + + + +

Vars

can_approve_requestsCan you approve requests placed for cargo? Works differently between the app and the computer.
can_sendCan the supply console send the shuttle back and forth? Used in the UI backend.
is_expressvar that makes express console use rockets
message_cooldownvar that tracks message cooldown
radioradio used by the console to send messages on supply channel
requestonlyCan this console only send requests?
+

Var Details

can_approve_requests + + + + +

+

Can you approve requests placed for cargo? Works differently between the app and the computer.

can_send + + + + +

+

Can the supply console send the shuttle back and forth? Used in the UI backend.

is_express + + + + +

+

var that makes express console use rockets

message_cooldown + + + + +

+

var that tracks message cooldown

radio + + + + +

+

radio used by the console to send messages on supply channel

requestonly + + + + +

+

Can this console only send requests?

+ + + diff --git a/obj/machinery/computer/communications.html b/obj/machinery/computer/communications.html new file mode 100644 index 00000000000..e44a0af2fb6 --- /dev/null +++ b/obj/machinery/computer/communications.html @@ -0,0 +1,148 @@ + + + + + + + /obj/machinery/computer/communications - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

communications + + + +

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

Vars

alert_level_tickHow many times the alert level has been changed +Used to clear the modal to change alert level
authorize_accessThe access that the card had on login
authorize_nameThe name of the user who logged in
cyborg_stateThe current state of the UI for AIs
important_action_cooldownCooldown for important actions, such as messaging CentCom or other sectors
last_status_displayThe last lines used for changing the status display
messagesThe messages this console has been sent
stateThe current state of the UI

Procs

authenticatedAre we a silicon, OR logged in?
authenticated_as_non_silicon_captainAre we NOT a silicon, AND we're logged in as the captain?
authenticated_as_silicon_or_captainAre we a silicon, OR we're logged in as the captain?
can_buy_shuttlesReturns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.
emergency_meetingCall an emergency meeting
has_communicationReturns whether or not the communications console can communicate with the station
override_cooldownOverride the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away
+

Var Details

alert_level_tick + + + + +

+

How many times the alert level has been changed +Used to clear the modal to change alert level

authorize_access + + + + +

+

The access that the card had on login

authorize_name + + + + +

+

The name of the user who logged in

cyborg_state + + + + +

+

The current state of the UI for AIs

important_action_cooldown + + + + +

+

Cooldown for important actions, such as messaging CentCom or other sectors

last_status_display + + + + +

+

The last lines used for changing the status display

messages + + + + +

+

The messages this console has been sent

state + + + + +

+

The current state of the UI

Proc Details

authenticated +

+

Are we a silicon, OR logged in?

authenticated_as_non_silicon_captain +

+

Are we NOT a silicon, AND we're logged in as the captain?

authenticated_as_silicon_or_captain +

+

Are we a silicon, OR we're logged in as the captain?

can_buy_shuttles +

+

Returns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.

emergency_meeting +

+

Call an emergency meeting

+

Comm Console wrapper for the Communications subsystem wrapper for the call_emergency_meeting world proc. +Checks to make sure the proc can be called, and handles relevant feedback, logging and timing. +See the SScommunications proc definition for more detail, in short, teleports the entire crew to +the bridge for a meetup. Should only really happen during april fools. +Arguments:

+

has_communication +

+

Returns whether or not the communications console can communicate with the station

override_cooldown +

+

Override the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away

+ + + diff --git a/obj/machinery/computer/cryopod.html b/obj/machinery/computer/cryopod.html new file mode 100644 index 00000000000..b962319d461 --- /dev/null +++ b/obj/machinery/computer/cryopod.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/computer/cryopod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cryopod + + + +

+ + +

Vars

allow_itemsDoes this console store items? if NOT, will dump all items when the user cryo's instead
+

Var Details

allow_items + + + + +

+

Does this console store items? if NOT, will dump all items when the user cryo's instead

+ + + diff --git a/obj/machinery/computer/piratepad_control.html b/obj/machinery/computer/piratepad_control.html new file mode 100644 index 00000000000..775f7661e32 --- /dev/null +++ b/obj/machinery/computer/piratepad_control.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/computer/piratepad_control - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

piratepad_control + + + +

+ + +

Vars

pad_refReference to the specific pad that the control computer is linked up to.
+

Var Details

pad_ref + + + + +

+

Reference to the specific pad that the control computer is linked up to.

+ + + diff --git a/obj/machinery/computer/piratepad_control/civilian.html b/obj/machinery/computer/piratepad_control/civilian.html new file mode 100644 index 00000000000..db280350041 --- /dev/null +++ b/obj/machinery/computer/piratepad_control/civilian.html @@ -0,0 +1,56 @@ + + + + + + + /obj/machinery/computer/piratepad_control/civilian - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

civilian + + + +

+ +

Computer for assigning new civilian bounties, and sending bounties for collection.

+ + + +

Procs

add_bountiesHere is where cargo bounties are added to the player's bank accounts, then adjusted and scaled into a civilian bounty.
id_ejectRemoves A stored ID card.
id_insertSelf explanitory, holds the ID card inthe console for bounty payout and manipulation.
sendThis fully rewrites base behavior in order to only check for bounty objects, and nothing else.

Proc Details

add_bounties +

+

Here is where cargo bounties are added to the player's bank accounts, then adjusted and scaled into a civilian bounty.

id_eject +

+

Removes A stored ID card.

id_insert +

+

Self explanitory, holds the ID card inthe console for bounty payout and manipulation.

send +

+

This fully rewrites base behavior in order to only check for bounty objects, and nothing else.

+ + + diff --git a/obj/machinery/computer/pod.html b/obj/machinery/computer/pod.html new file mode 100644 index 00000000000..a311e008c60 --- /dev/null +++ b/obj/machinery/computer/pod.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/computer/pod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

pod + + + +

+ + + + + + + + +

Vars

connectedConnected mass driver
idID of the launch control
massdriver_countdownCountdown timer for the mass driver's delayed launch functionality.
rangeRange in which we search for a mass drivers and poddoors nearby
timeTime before auto launch
timingIf the launch timer counts down

Procs

alarmInitiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors
+

Var Details

connected + + + + +

+

Connected mass driver

id + + + + +

+

ID of the launch control

massdriver_countdown + + + + +

+

Countdown timer for the mass driver's delayed launch functionality.

range + + + + +

+

Range in which we search for a mass drivers and poddoors nearby

time + + + + +

+

Time before auto launch

timing + + + + +

+

If the launch timer counts down

Proc Details

alarm +

+

Initiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors

+ + + diff --git a/obj/machinery/computer/rdconsole.html b/obj/machinery/computer/rdconsole.html new file mode 100644 index 00000000000..64615d0c873 --- /dev/null +++ b/obj/machinery/computer/rdconsole.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/computer/rdconsole - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

rdconsole + + + +

+ + +

Vars

last_long_actionLong action cooldown to prevent spam
+

Var Details

last_long_action + + + + +

+

Long action cooldown to prevent spam

+ + + diff --git a/obj/machinery/computer/scan_consolenew.html b/obj/machinery/computer/scan_consolenew.html new file mode 100644 index 00000000000..c95e5be98c2 --- /dev/null +++ b/obj/machinery/computer/scan_consolenew.html @@ -0,0 +1,632 @@ + + + + + + + /obj/machinery/computer/scan_consolenew - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

scan_consolenew + + + +

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

Vars

can_use_scannerUsed for setting tgui data - Whether the connected DNA Scanner is usable
connected_scannerCurrently connected DNA Scanner
crispr_chargesCounter for CRISPR charges
delayed_actionCurrent delayed action, used for delayed enzyme transfer on scanner door close
disketteCurrently stored genetic data diskette
genetic_makeup_bufferMaximum number of enzymes we can store
injector_selectionAssoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.
injectorreadyWorld time when injectors are ready to be printed
is_crispr_readyUsed for setting tgui data - Is CRISPR ready?
is_injector_readyUsed for setting tgui data - Whether injectors are ready to be printed
is_joker_readyUsed for setting tgui data - Whether JOKER algorithm is ready
is_pulsing_radsUsed for setting tgui data - Wheher an enzyme pulse operation is ongoing
is_scramble_readyUsed for setting tgui data - Whether Scramble DNA is ready
is_viable_occupantUsed for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification
jokerreadyWorld time when JOKER algorithm can be used in DNA Consoles
max_chromosomesMaximum number of chromosomes that DNA Consoles are able to store.
max_injector_instabilityMaximum total instability of all combined mutations allowed on an advanced injector
max_injector_mutationsMaximum number of mutation that an advanced injector can store
max_injector_selectionsMaximum number of advanced injectors that DNA Consoles store
max_storageMaximum number of mutations that DNA Consoles are able to store
rad_pulse_indexIndex of the enzyme being modified during delayed enzyme pulse operations
rad_pulse_timerWorld time when the enzyme pulse should complete
raddurationDuration for enzyme radiation pulses
radstrengthStrength for enzyme radiation pulses
scanner_occupantCurrent DNA Scanner occupant
scramblereadyWorld time when Scramble can be used in DNA Consoles
stored_chromosomesList of all chromosomes stored in the DNA Console
stored_mutationsList of all mutations stored on the DNA Console
stored_researchLink to the techweb's stored research. Used to retrieve stored mutations
tgui_advinjector_mutationsUsed for setting tgui data - List of occupant mutations
tgui_console_chromosomesUsed for setting tgui data - List of DNA Console chromosomes
tgui_console_mutationsUsed for setting tgui data - List of DNA Console stored mutations
tgui_diskette_mutationsUsed for setting tgui data - List of diskette stored mutations
tgui_genetic_makeupUsed for setting tgui data - List of occupant mutations
tgui_occupant_mutationsUsed for setting tgui data - List of occupant mutations
tgui_view_stateState of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.
time_to_injectorUsed for setting tgui data - Time until injectors are ready
time_to_jokerUsed for setting tgui data - Time until joker is ready
time_to_pulseUsed for setting tgui data - Time until the enzyme pulse is complete
time_to_scrambleUsed for setting tgui data - Time until scramble is ready

Procs

apply_genetic_makeup
build_chrom_list
build_genetic_makeup_listBuilds the genetic makeup list which will be sent to tgui interface.
build_mutation_list
can_modify_occupant
check_discovery
connect_to_scanner
eject_disk
get_mut_by_ref
on_scanner_close
on_scanner_open
rad_pulse
randomize_radiation_accuracy
scanner_operationalChecks if there is a connected DNA Scanner that is operational
scramble
set_default_stateSets the default state for the tgui interface.
+

Var Details

can_use_scanner + + + + +

+

Used for setting tgui data - Whether the connected DNA Scanner is usable

connected_scanner + + + + +

+

Currently connected DNA Scanner

crispr_charges + + + + +

+

Counter for CRISPR charges

delayed_action + + + + +

+

Current delayed action, used for delayed enzyme transfer on scanner door close

diskette + + + + +

+

Currently stored genetic data diskette

genetic_makeup_buffer + + + + +

+

Maximum number of enzymes we can store

injector_selection + + + + +

+

Assoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.

injectorready + + + + +

+

World time when injectors are ready to be printed

is_crispr_ready + + + + +

+

Used for setting tgui data - Is CRISPR ready?

is_injector_ready + + + + +

+

Used for setting tgui data - Whether injectors are ready to be printed

is_joker_ready + + + + +

+

Used for setting tgui data - Whether JOKER algorithm is ready

is_pulsing_rads + + + + +

+

Used for setting tgui data - Wheher an enzyme pulse operation is ongoing

is_scramble_ready + + + + +

+

Used for setting tgui data - Whether Scramble DNA is ready

is_viable_occupant + + + + +

+

Used for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification

jokerready + + + + +

+

World time when JOKER algorithm can be used in DNA Consoles

max_chromosomes + + + + +

+

Maximum number of chromosomes that DNA Consoles are able to store.

max_injector_instability + + + + +

+

Maximum total instability of all combined mutations allowed on an advanced injector

max_injector_mutations + + + + +

+

Maximum number of mutation that an advanced injector can store

max_injector_selections + + + + +

+

Maximum number of advanced injectors that DNA Consoles store

max_storage + + + + +

+

Maximum number of mutations that DNA Consoles are able to store

rad_pulse_index + + + + +

+

Index of the enzyme being modified during delayed enzyme pulse operations

rad_pulse_timer + + + + +

+

World time when the enzyme pulse should complete

radduration + + + + +

+

Duration for enzyme radiation pulses

radstrength + + + + +

+

Strength for enzyme radiation pulses

scanner_occupant + + + + +

+

Current DNA Scanner occupant

scrambleready + + + + +

+

World time when Scramble can be used in DNA Consoles

stored_chromosomes + + + + +

+

List of all chromosomes stored in the DNA Console

stored_mutations + + + + +

+

List of all mutations stored on the DNA Console

stored_research + + + + +

+

Link to the techweb's stored research. Used to retrieve stored mutations

tgui_advinjector_mutations + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_console_chromosomes + + + + +

+

Used for setting tgui data - List of DNA Console chromosomes

tgui_console_mutations + + + + +

+

Used for setting tgui data - List of DNA Console stored mutations

tgui_diskette_mutations + + + + +

+

Used for setting tgui data - List of diskette stored mutations

tgui_genetic_makeup + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_occupant_mutations + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_view_state + + + + +

+

State of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.

time_to_injector + + + + +

+

Used for setting tgui data - Time until injectors are ready

time_to_joker + + + + +

+

Used for setting tgui data - Time until joker is ready

time_to_pulse + + + + +

+

Used for setting tgui data - Time until the enzyme pulse is complete

time_to_scramble + + + + +

+

Used for setting tgui data - Time until scramble is ready

Proc Details

apply_genetic_makeup +

+

build_chrom_list +

+

build_genetic_makeup_list +

+

Builds the genetic makeup list which will be sent to tgui interface.

build_mutation_list +

+

can_modify_occupant +

+

check_discovery +

+

connect_to_scanner +

+

eject_disk +

+

get_mut_by_ref +

+

on_scanner_close +

+

on_scanner_open +

+

rad_pulse +

+

randomize_radiation_accuracy +

+

scanner_operational +

+

Checks if there is a connected DNA Scanner that is operational

scramble +

+

set_default_state +

+

Sets the default state for the tgui interface.

+ + + diff --git a/obj/machinery/computer/security.html b/obj/machinery/computer/security.html new file mode 100644 index 00000000000..ed8f829ac15 --- /dev/null +++ b/obj/machinery/computer/security.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/security - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

security + + + +

+ + + +

Vars

cam_plane_mastersAll the plane masters that need to be applied.
last_camera_turfThe turf where the camera was last updated.
+

Var Details

cam_plane_masters + + + + +

+

All the plane masters that need to be applied.

last_camera_turf + + + + +

+

The turf where the camera was last updated.

+ + + diff --git a/obj/machinery/computer/shuttle.html b/obj/machinery/computer/shuttle.html new file mode 100644 index 00000000000..ba88ac80e68 --- /dev/null +++ b/obj/machinery/computer/shuttle.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/computer/shuttle - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

shuttle + + + +

+ + + + + + + +

Vars

admin_controlledVariable dictating if the attached shuttle requires authorization from the admin staff to move
destinationID of the currently selected destination of the attached shuttle
no_destination_swapVariable dictating if the attached shuttle is forbidden to change destinations mid-flight
possible_destinationsPossible destinations of the attached shuttle
request_cooldownAuthorization request cooldown to prevent request spam to admin staff
shuttleIdID of the attached shuttle
+

Var Details

admin_controlled + + + + +

+

Variable dictating if the attached shuttle requires authorization from the admin staff to move

destination + + + + +

+

ID of the currently selected destination of the attached shuttle

no_destination_swap + + + + +

+

Variable dictating if the attached shuttle is forbidden to change destinations mid-flight

possible_destinations + + + + +

+

Possible destinations of the attached shuttle

request_cooldown + + + + +

+

Authorization request cooldown to prevent request spam to admin staff

shuttleId + + + + +

+

ID of the attached shuttle

+ + + diff --git a/obj/machinery/computer/shuttle/pod.html b/obj/machinery/computer/shuttle/pod.html new file mode 100644 index 00000000000..7c3897bbee7 --- /dev/null +++ b/obj/machinery/computer/shuttle/pod.html @@ -0,0 +1,40 @@ + + + + + + + /obj/machinery/computer/shuttle/pod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

pod + + + +

+ + +

Procs

check_lockSignal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

Proc Details

check_lock +

+

Signal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

+

Arguments:

+
+ + + diff --git a/obj/machinery/computer/vaultcontroller.html b/obj/machinery/computer/vaultcontroller.html new file mode 100644 index 00000000000..47cb200bcc6 --- /dev/null +++ b/obj/machinery/computer/vaultcontroller.html @@ -0,0 +1,84 @@ + + + + + + + /obj/machinery/computer/vaultcontroller - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

vaultcontroller + + + +

+ +

Vault controller for use on the derelict/KS13.

+ + + + + + + +

Procs

activate_lockAttempts to lock/unlock vault doors, if machine is charged.
attempt_siphonTries to charge from powernet excess, no upper limit except max charge.
cycle_closeHandles the doors closing
cycle_openHandles the doors opening
find_airlocksInitializes airlock links.
lock_vaultAttempts to lock the vault doors
unlock_vaultAttempts to unlock the vault doors
update_cableLooks for a cable connection beneath the machine.

Proc Details

activate_lock +

+

Attempts to lock/unlock vault doors, if machine is charged.

attempt_siphon +

+

Tries to charge from powernet excess, no upper limit except max charge.

cycle_close +

+

Handles the doors closing

cycle_open +

+

Handles the doors opening

find_airlocks +

+

Initializes airlock links.

lock_vault +

+

Attempts to lock the vault doors

unlock_vault +

+

Attempts to unlock the vault doors

update_cable +

+

Looks for a cable connection beneath the machine.

+ + + diff --git a/obj/machinery/cryopod.html b/obj/machinery/cryopod.html new file mode 100644 index 00000000000..280550fbce0 --- /dev/null +++ b/obj/machinery/cryopod.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/cryopod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cryopod + + + +

+ + + + +

Vars

control_computer_weakrefWeakref to our controller
despawn_world_timeCooldown for when it's now safe to try an despawn the player.
time_till_despawnTime until despawn when a mob enters a cryopod. You can cryo other people in pods.
+

Var Details

control_computer_weakref + + + + +

+

Weakref to our controller

despawn_world_time + + + + +

+

Cooldown for when it's now safe to try an despawn the player.

time_till_despawn + + + + +

+

Time until despawn when a mob enters a cryopod. You can cryo other people in pods.

+ + + diff --git a/obj/machinery/door.html b/obj/machinery/door.html new file mode 100644 index 00000000000..39b6255400d --- /dev/null +++ b/obj/machinery/door.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/door - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

door + + + +

+ + +

Vars

can_open_with_handsWhether or not the door can be opened by hand (used for blast doors and shutters)
+

Var Details

can_open_with_hands + + + + +

+

Whether or not the door can be opened by hand (used for blast doors and shutters)

+ + + diff --git a/obj/machinery/door/airlock.html b/obj/machinery/door/airlock.html new file mode 100644 index 00000000000..b9564cce695 --- /dev/null +++ b/obj/machinery/door/airlock.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/door/airlock - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

airlock + + + +

+ + + + +

Vars

unelectrify_timeridsigh

Procs

beforeShuttleMoveTurf move procs
should_try_removing_electronicsReturns if a crowbar would remove the airlock electronics
+

Var Details

unelectrify_timerid + + + + +

+

sigh

Proc Details

beforeShuttleMove +

+

Turf move procs

+

Area move procs

+

Machinery move procs

should_try_removing_electronics +

+

Returns if a crowbar would remove the airlock electronics

+ + + diff --git a/obj/machinery/door/airlock/vault/derelict.html b/obj/machinery/door/airlock/vault/derelict.html new file mode 100644 index 00000000000..3e261b4b276 --- /dev/null +++ b/obj/machinery/door/airlock/vault/derelict.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/door/airlock/vault/derelict - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

derelict + + + +

+ +

Airlock that can't be deconstructed, broken or hacked.

+

Procs

attackbyOverrides screwdriver attack to prevent all deconstruction and hacking.

Proc Details

attackby +

+

Overrides screwdriver attack to prevent all deconstruction and hacking.

+ + + diff --git a/obj/machinery/door/keycard.html b/obj/machinery/door/keycard.html new file mode 100644 index 00000000000..e26a92c3ade --- /dev/null +++ b/obj/machinery/door/keycard.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/door/keycard - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

keycard + + + +

+ + + +

Vars

open_messageMessage that occurs when the door is opened
puzzle_idMake sure that the key has the same puzzle_id as the keycard door!
+

Var Details

open_message + + + + +

+

Message that occurs when the door is opened

puzzle_id + + + + +

+

Make sure that the key has the same puzzle_id as the keycard door!

+ + + diff --git a/obj/machinery/doppler_array/research/science.html b/obj/machinery/doppler_array/research/science.html new file mode 100644 index 00000000000..ad9654fbd4e --- /dev/null +++ b/obj/machinery/doppler_array/research/science.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/doppler_array/research/science - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

science + + + +

+ + +

Procs

InitializeThe Point Calculator

Proc Details

Initialize +

+

The Point Calculator

+

The Point Capper

+ + + diff --git a/obj/machinery/duct.html b/obj/machinery/duct.html new file mode 100644 index 00000000000..411b77fd472 --- /dev/null +++ b/obj/machinery/duct.html @@ -0,0 +1,232 @@ + + + + + + + /obj/machinery/duct - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

duct + + + +

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

Vars

activewheter to even bother with plumbing code or not
capacityamount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct
color_to_color_supportTRUE to let colors connect when forced with a wrench, false to just not do that at all
connectsbitfield with the directions we're connected in
drop_on_wrenchwheter we just unanchored or drop whatever is in the variable. either is safe
ductour ductnet, wich tracks what we're connected to
duct_colorthe color of our duct
duct_layer1,2,4,8,16
dumbset to TRUE to disable smart duct behaviour
ignore_colorsTRUE to ignore colors, so yeah we also connect with other colors without issue
lock_connectswheter we allow our connects to be changed after initialization or not
lock_layerswhether we allow our layers to be altered
neighbourstrack ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Procs

add_connectsadd a connect direction
add_neighbouradd a duct as neighbour. this means we're connected and will connect again if we ever regenerate
attempt_connectstart looking around us for stuff to connect to
can_anchorcollection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked
connect_ductconnect to a duct
connect_networksee if whatever we found can be connected to
connect_plumberconnect to a plumbing object
create_ductcreate a new duct datum
disconnect_ductwe disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one
generate_connectsSpecial proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds
get_adjacent_ductsget a list of the ducts we can connect to if we are dumb
handle_layerupdate the layer we are on
lose_neighboursremove all our neighbours, and remove us from our neighbours aswell
reconnect''''''''''''''''optimized''''''''''''''''' proc for quickly reconnecting after a duct net was destroyed
remove_connectsremove a connect direction
reset_connectsremove our connects
+

Var Details

active + + + + +

+

wheter to even bother with plumbing code or not

capacity + + + + +

+

amount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct

color_to_color_support + + + + +

+

TRUE to let colors connect when forced with a wrench, false to just not do that at all

connects + + + + +

+

bitfield with the directions we're connected in

drop_on_wrench + + + + +

+

wheter we just unanchored or drop whatever is in the variable. either is safe

duct + + + + +

+

our ductnet, wich tracks what we're connected to

duct_color + + + + +

+

the color of our duct

duct_layer + + + + +

+

1,2,4,8,16

dumb + + + + +

+

set to TRUE to disable smart duct behaviour

ignore_colors + + + + +

+

TRUE to ignore colors, so yeah we also connect with other colors without issue

lock_connects + + + + +

+

wheter we allow our connects to be changed after initialization or not

lock_layers + + + + +

+

whether we allow our layers to be altered

neighbours + + + + +

+

track ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Proc Details

add_connects +

+

add a connect direction

add_neighbour +

+

add a duct as neighbour. this means we're connected and will connect again if we ever regenerate

attempt_connect +

+

start looking around us for stuff to connect to

can_anchor +

+

collection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked

connect_duct +

+

connect to a duct

connect_network +

+

see if whatever we found can be connected to

connect_plumber +

+

connect to a plumbing object

create_duct +

+

create a new duct datum

disconnect_duct +

+

we disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one

generate_connects +

+

Special proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds

get_adjacent_ducts +

+

get a list of the ducts we can connect to if we are dumb

handle_layer +

+

update the layer we are on

lose_neighbours +

+

remove all our neighbours, and remove us from our neighbours aswell

reconnect +

+

''''''''''''''''optimized''''''''''''''''' proc for quickly reconnecting after a duct net was destroyed

remove_connects +

+

remove a connect direction

reset_connects +

+

remove our connects

+ + + diff --git a/obj/machinery/duct/multilayered.html b/obj/machinery/duct/multilayered.html new file mode 100644 index 00000000000..7eabd5fde33 --- /dev/null +++ b/obj/machinery/duct/multilayered.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/duct/multilayered - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

multilayered + + + +

+ +

has a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect.

+

Procs

connect_ductdon't connect to other multilayered stuff because honestly it shouldn't be done and I dont wanna deal with it

Proc Details

connect_duct +

+

don't connect to other multilayered stuff because honestly it shouldn't be done and I dont wanna deal with it

+ + + diff --git a/obj/machinery/gateway.html b/obj/machinery/gateway.html new file mode 100644 index 00000000000..0c8fb1a99aa --- /dev/null +++ b/obj/machinery/gateway.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/gateway - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

gateway + + + +

+ + + + + + + + +

Vars

destinationThis is our own destination, pointing at this gateway
destination_nameName of the generated destination
destination_typeType of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway
light_overlayOverlay of the lights. They light up fully when it charges fully.
portalbumper object, the thing that starts actual teleport
portal_visualsVisual object for handling the viscontents
targetThis is current active destination
+

Var Details

destination + + + + +

+

This is our own destination, pointing at this gateway

destination_name + + + + +

+

Name of the generated destination

destination_type + + + + +

+

Type of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway

light_overlay + + + + +

+

Overlay of the lights. They light up fully when it charges fully.

portal + + + + +

+

bumper object, the thing that starts actual teleport

portal_visuals + + + + +

+

Visual object for handling the viscontents

target + + + + +

+

This is current active destination

+ + + diff --git a/obj/machinery/gear_painter.html b/obj/machinery/gear_painter.html new file mode 100644 index 00000000000..840026230f6 --- /dev/null +++ b/obj/machinery/gear_painter.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/gear_painter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

gear_painter + + + +

+ + + + + + + +

Vars

allow_mobsAllow holder'd mobs
minimum_matrix_lightnessMinimum lightness for matrix mode, tested using 4 test colors of full red, green, blue, white.
minimum_matrix_testsMinimum matrix tests that must pass for something to be considered a valid color (see above)
minimum_normal_lightnessMinimum lightness for normal mode
tempTemporary messages

Procs

build_previewProduces the preview image of the item, used in the UI, the way the color is not stacking is a sin.
+

Var Details

allow_mobs + + + + +

+

Allow holder'd mobs

minimum_matrix_lightness + + + + +

+

Minimum lightness for matrix mode, tested using 4 test colors of full red, green, blue, white.

minimum_matrix_tests + + + + +

+

Minimum matrix tests that must pass for something to be considered a valid color (see above)

minimum_normal_lightness + + + + +

+

Minimum lightness for normal mode

temp + + + + +

+

Temporary messages

Proc Details

build_preview +

+

Produces the preview image of the item, used in the UI, the way the color is not stacking is a sin.

+ + + diff --git a/obj/machinery/gravity_generator/part.html b/obj/machinery/gravity_generator/part.html new file mode 100644 index 00000000000..64c8cef6d7d --- /dev/null +++ b/obj/machinery/gravity_generator/part.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/gravity_generator/part - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

part + + + +

+ + +

Procs

on_update_iconUsed to eat args

Proc Details

on_update_icon +

+

Used to eat args

+ + + diff --git a/obj/machinery/holopad.html b/obj/machinery/holopad.html new file mode 100644 index 00000000000..18583bd4144 --- /dev/null +++ b/obj/machinery/holopad.html @@ -0,0 +1,148 @@ + + + + + + + /obj/machinery/holopad - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

holopad + + + +

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

Vars

callingIf we are currently calling another holopad
diskRecord disk
force_answer_callCalls will be automatically answered after a couple rings, here for debugging
holo_callsArray of /datum/holocalls
holo_rangeChange to change how far the AI can move away from the holopad before deactivating
holoraysHoloray-mob link
last_requestTo prevent request spam. ~Carn
loop_modeCurrently looping a recording
mastersList of living mobs that use the holopad
outgoing_callCurrently outgoing holocall, do not modify the datums only check and call the public procs
record_modeCurrently recording
record_startRecording start time
record_userUser that inititiated the recording
replay_holoReplay hologram
replay_modeCurrently replaying a recording
secureFor pads in secure areas; do not allow forced connecting

Procs

hangup_all_callshangup_all_calls: Disconnects all current holocalls from the holopad
+

Var Details

calling + + + + +

+

If we are currently calling another holopad

disk + + + + +

+

Record disk

force_answer_call + + + + +

+

Calls will be automatically answered after a couple rings, here for debugging

holo_calls + + + + +

+

Array of /datum/holocalls

holo_range + + + + +

+

Change to change how far the AI can move away from the holopad before deactivating

holorays + + + + +

+

Holoray-mob link

last_request + + + + +

+

To prevent request spam. ~Carn

loop_mode + + + + +

+

Currently looping a recording

masters + + + + +

+

List of living mobs that use the holopad

outgoing_call + + + + +

+

Currently outgoing holocall, do not modify the datums only check and call the public procs

record_mode + + + + +

+

Currently recording

record_start + + + + +

+

Recording start time

record_user + + + + +

+

User that inititiated the recording

replay_holo + + + + +

+

Replay hologram

replay_mode + + + + +

+

Currently replaying a recording

secure + + + + +

+

For pads in secure areas; do not allow forced connecting

Proc Details

hangup_all_calls +

+

hangup_all_calls: Disconnects all current holocalls from the holopad

+ + + diff --git a/obj/machinery/hydroponics.html b/obj/machinery/hydroponics.html new file mode 100644 index 00000000000..037d00281e7 --- /dev/null +++ b/obj/machinery/hydroponics.html @@ -0,0 +1,60 @@ + + + + + + + /obj/machinery/hydroponics - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

hydroponics + + + +

+ + + + + +

Procs

adjustWaterTray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.
apply_chemicalsThis is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.
mutation_rollContains the reagents within the tray.
plantdiesPlant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.

Proc Details

adjustWater +

+

Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.

apply_chemicals +

+

This is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.

mutation_roll +

+

Contains the reagents within the tray.

plantdies +

+

Plant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.

+ + + diff --git a/obj/machinery/hypnochair.html b/obj/machinery/hypnochair.html new file mode 100644 index 00000000000..07286e08655 --- /dev/null +++ b/obj/machinery/hypnochair.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/hypnochair - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

hypnochair + + + +

+ + + + + + + +

Vars

interrogatingKeeps track of the victim to apply effects if it teleports away
message_cooldownTimer ID for interrogations
start_timeIs the device currently interrogating someone?
timeridTrigger phrase to implant
trigger_phraseTime when the interrogation was started, to calculate effect in case of interruption

Procs

InitializeCooldown for breakout message
+

Var Details

interrogating + + + + +

+

Keeps track of the victim to apply effects if it teleports away

message_cooldown + + + + +

+

Timer ID for interrogations

start_time + + + + +

+

Is the device currently interrogating someone?

timerid + + + + +

+

Trigger phrase to implant

trigger_phrase + + + + +

+

Time when the interrogation was started, to calculate effect in case of interruption

Proc Details

Initialize +

+

Cooldown for breakout message

+ + + diff --git a/obj/machinery/limbgrower.html b/obj/machinery/limbgrower.html new file mode 100644 index 00000000000..76fa57de629 --- /dev/null +++ b/obj/machinery/limbgrower.html @@ -0,0 +1,95 @@ + + + + + + + /obj/machinery/limbgrower - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

limbgrower + + + +

+ +

The limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.

+ + + + + + + + +

Vars

being_builtThe design we're printing currently.
busyIf we're currently printing something.
categoriesAll the categories of organs we can print.
production_coefficientHow efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.
production_speedHow long it takes for us to print a limb. Affected by production_coefficient.
selected_categoryThe category of limbs we're browing in our UI.
stored_researchOur internal techweb for limbgrower designs.

Procs

build_itemAll the reagents we're using to make our organ. +The amount of power we're going to use, based on how much reagent we use.
emag_actEmagging a limbgrower allows you to build synthetic armblades.
+

Var Details

being_built + + + + +

+

The design we're printing currently.

busy + + + + +

+

If we're currently printing something.

categories + + + + +

+

All the categories of organs we can print.

production_coefficient + + + + +

+

How efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.

production_speed + + + + +

+

How long it takes for us to print a limb. Affected by production_coefficient.

selected_category + + + + +

+

The category of limbs we're browing in our UI.

stored_research + + + + +

+

Our internal techweb for limbgrower designs.

Proc Details

build_item +

+

All the reagents we're using to make our organ. +The amount of power we're going to use, based on how much reagent we use.

emag_act +

+

Emagging a limbgrower allows you to build synthetic armblades.

+ + + diff --git a/obj/machinery/mecha_part_fabricator.html b/obj/machinery/mecha_part_fabricator.html new file mode 100644 index 00000000000..96c0ba93e62 --- /dev/null +++ b/obj/machinery/mecha_part_fabricator.html @@ -0,0 +1,302 @@ + + + + + + + /obj/machinery/mecha_part_fabricator - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_part_fabricator + + + +

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

Vars

being_builtThe current design datum that the machine is building.
build_finishWorld time when the build will finish.
build_materialsReference to all materials used in the creation of the item being_built.
build_startWorld time when the build started.
component_coeffCoefficient for the efficiency of material usage in item building. Based on the installed parts.
link_on_initWhether the Exofab links to the ore silo on init. Special derelict or maintanance variants should set this to FALSE.
part_setsA list of categories that valid MECHFAB design datums will broadly categorise themselves under.
process_queueWhether or not the machine is building the entire queue automagically.
queueCurrent items in the build queue.
rmatReference to a remote material inventory, such as an ore silo.
stored_partPart currently stored in the Exofab.
stored_researchCopy of the currently synced techweb.
time_coeffCoefficient for the speed of item building. Based on the installed parts.

Procs

add_part_set_to_queueAdds a list of datum designs to the build queue.
add_to_queueAdds a datum design to the build queue.
build_next_in_queueAttempts to build the next item in the build queue.
build_partStarts the build process for a given design datum.
check_resourcesChecks if the Exofab has enough resources to print a given item.
dispense_built_partDispenses a part to the tile infront of the Exosuit Fab.
eject_sheetsEject material sheets.
get_construction_time_w_coeffCalculates the coefficient-modified build time of a design.
get_resource_cost_w_coeffCalculates the coefficient-modified resource cost of a single material component of a design's recipe.
get_resources_w_coeffCalculates resource/material costs for printing an item based on the machine's resource coefficient.
list_queueGenerates a list of parts formatted for tgui based on the current build queue.
on_finish_printingIntended to be called when the exofab has stopped working and is no longer printing items.
on_start_printingIntended to be called when an item starts printing.
output_available_resourcesGenerates a list of resources / materials available to this Exosuit Fab
output_part_infoGenerates an info list for a given part.
remove_from_queueRemoves datum design from the build queue based on index.
syncSyncs machine with R&D servers.
+

Var Details

being_built + + + + +

+

The current design datum that the machine is building.

build_finish + + + + +

+

World time when the build will finish.

build_materials + + + + +

+

Reference to all materials used in the creation of the item being_built.

build_start + + + + +

+

World time when the build started.

component_coeff + + + + +

+

Coefficient for the efficiency of material usage in item building. Based on the installed parts.

+

Whether the Exofab links to the ore silo on init. Special derelict or maintanance variants should set this to FALSE.

part_sets + + + + +

+

A list of categories that valid MECHFAB design datums will broadly categorise themselves under.

process_queue + + + + +

+

Whether or not the machine is building the entire queue automagically.

queue + + + + +

+

Current items in the build queue.

rmat + + + + +

+

Reference to a remote material inventory, such as an ore silo.

stored_part + + + + +

+

Part currently stored in the Exofab.

stored_research + + + + +

+

Copy of the currently synced techweb.

time_coeff + + + + +

+

Coefficient for the speed of item building. Based on the installed parts.

Proc Details

add_part_set_to_queue +

+

Adds a list of datum designs to the build queue.

+

Will only add designs that are in this machine's stored techweb. +Does final checks for datum IDs and makes sure this machine can build the designs.

+

add_to_queue +

+

Adds a datum design to the build queue.

+

Returns TRUE if successful and FALSE if the design was not added to the queue.

+

build_next_in_queue +

+

Attempts to build the next item in the build queue.

+

Returns FALSE if either there are no more parts to build or the next part is not buildable. +Returns TRUE if the next part has started building.

+

build_part +

+

Starts the build process for a given design datum.

+

Returns FALSE if the procedure fails. Returns TRUE when being_built is set. +Uses materials.

+

check_resources +

+

Checks if the Exofab has enough resources to print a given item.

+

Returns FALSE if the design has no reagents used in its construction (?) or if there are insufficient resources. +Returns TRUE if there are sufficient resources to print the item.

+

dispense_built_part +

+

Dispenses a part to the tile infront of the Exosuit Fab.

+

Returns FALSE is the machine cannot dispense the part on the appropriate turf. +Return TRUE if the part was successfully dispensed.

+

eject_sheets +

+

Eject material sheets.

+

Returns the number of sheets successfully ejected. +eject_sheet - Byond REF of the material to eject. +eject_amt - Number of sheets to attempt to eject.

get_construction_time_w_coeff +

+

Calculates the coefficient-modified build time of a design.

+

Returns coefficient-modified build time of a given design.

+

get_resource_cost_w_coeff +

+

Calculates the coefficient-modified resource cost of a single material component of a design's recipe.

+

Returns coefficient-modified resource cost for the given material component.

+

get_resources_w_coeff +

+

Calculates resource/material costs for printing an item based on the machine's resource coefficient.

+

Returns a list of k,v resources with their amounts.

+

list_queue +

+

Generates a list of parts formatted for tgui based on the current build queue.

+

Returns a formatted list of lists containing formatted part information for every part in the build queue.

on_finish_printing +

+

Intended to be called when the exofab has stopped working and is no longer printing items.

+

Removes the overlay to show the fab working and sets idle power usage settings. Additionally resets the description and turns off queue processing.

on_start_printing +

+

Intended to be called when an item starts printing.

+

Adds the overlay to show the fab working and sets active power usage settings.

output_available_resources +

+

Generates a list of resources / materials available to this Exosuit Fab

+

Returns null if there is no material container available. +List format is list(material_name = list(amount = ..., ref = ..., etc.))

output_part_info +

+

Generates an info list for a given part.

+

Returns a list of part information.

+

remove_from_queue +

+

Removes datum design from the build queue based on index.

+

Returns TRUE if successful and FALSE if a design was not removed from the queue.

+

sync +

+

Syncs machine with R&D servers.

+

Requires an R&D Console visible within 7 tiles. Copies techweb research. Updates tgui's state data.

+ + + diff --git a/obj/machinery/medipen_refiller.html b/obj/machinery/medipen_refiller.html new file mode 100644 index 00000000000..714ddc98822 --- /dev/null +++ b/obj/machinery/medipen_refiller.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/medipen_refiller - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

medipen_refiller + + + +

+ + + + + +

Vars

allowedlist of medipen subtypes it can refill
busyvar to prevent glitches in the animation

Procs

attackbyhandles the messages and animation, calls refill to end the animation
refillrefills the medipen
+

Var Details

allowed + + + + +

+

list of medipen subtypes it can refill

busy + + + + +

+

var to prevent glitches in the animation

Proc Details

attackby +

+

handles the messages and animation, calls refill to end the animation

refill +

+

refills the medipen

+ + + diff --git a/obj/machinery/mineral.html b/obj/machinery/mineral.html new file mode 100644 index 00000000000..5a65c9d89ac --- /dev/null +++ b/obj/machinery/mineral.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/mineral - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mineral + + + +

+ +

Mineral processing unit console

+ + + + + + + +

Vars

input_dirThe current direction of input_turf, in relation to the machine.
input_turfThe turf the machines listens to for items to pick up. Calls the pickup_item() proc.
needs_item_inputDetermines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.
output_dirThe current direction, in relation to the machine, that items will be output to.

Procs

pickup_itemBase proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.
register_input_turfGets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.
unload_mineralGeneric unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.
unregister_input_turfUnregisters signals that are registered the machine's input turf, if it has one.
+

Var Details

input_dir + + + + +

+

The current direction of input_turf, in relation to the machine.

input_turf + + + + +

+

The turf the machines listens to for items to pick up. Calls the pickup_item() proc.

needs_item_input + + + + +

+

Determines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.

output_dir + + + + +

+

The current direction, in relation to the machine, that items will be output to.

Proc Details

pickup_item +

+

Base proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.

+

Called when the COMSIG_ATOM_ENTERED and COMSIG_ATOM_CREATED signals are sent.

+

Arguments:

+

register_input_turf +

+

Gets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.

unload_mineral +

+

Generic unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.

unregister_input_turf +

+

Unregisters signals that are registered the machine's input turf, if it has one.

+ + + diff --git a/obj/machinery/mineral/labor_claim_console.html b/obj/machinery/mineral/labor_claim_console.html new file mode 100644 index 00000000000..994441611a5 --- /dev/null +++ b/obj/machinery/mineral/labor_claim_console.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/mineral/labor_claim_console - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

labor_claim_console + + + +

+ +

Prisoners' Console

+ + +

Vars

RadioNeeded to send messages to sec radio
machinedirDirection of the stacking machine
stacking_machineConnected stacking machine
+

Var Details

Radio + + + + +

+

Needed to send messages to sec radio

machinedir + + + + +

+

Direction of the stacking machine

stacking_machine + + + + +

+

Connected stacking machine

+ + + diff --git a/obj/machinery/mineral/stacking_unit_console.html b/obj/machinery/mineral/stacking_unit_console.html new file mode 100644 index 00000000000..4935d95fed1 --- /dev/null +++ b/obj/machinery/mineral/stacking_unit_console.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/mineral/stacking_unit_console - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

stacking_unit_console + + + +

+ +

Mineral stacking unit console

+ +

Vars

machineConnected stacking machine
machinedirDirection for which console looks for stacking machine to connect to
+

Var Details

machine + + + + +

+

Connected stacking machine

machinedir + + + + +

+

Direction for which console looks for stacking machine to connect to

+ + + diff --git a/obj/machinery/modular_computer.html b/obj/machinery/modular_computer.html new file mode 100644 index 00000000000..29b4c1fde59 --- /dev/null +++ b/obj/machinery/modular_computer.html @@ -0,0 +1,120 @@ + + + + + + + /obj/machinery/modular_computer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_computer + + + +

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

Vars

base_active_power_usagePower usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
base_idle_power_usagePower usage when the computer is idle and screen is off (currently only applies to laptops)
cpuCPU that handles most logic while this type only handles power and other specific things.
hardware_flagA flag that describes this device type
icon_state_poweredIcon state when the computer is turned on.
icon_state_unpoweredIcon state when the computer is turned off.
last_power_usagePower usage during last tick
light_strengthLight luminosity when turned on
max_hardware_sizeMaximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
screen_icon_screensaverIcon state overlay when the computer is powered, but not 'switched on'.
screen_icon_state_menuIcon state overlay when the computer is turned on, but no program is loaded that would override the screen.
steel_sheet_costAmount of steel sheets refunded when disassembling an empty frame of this computer.

Procs

relay_icon_updateEats the "source" arg because update_icon actually expects args now.
+

Var Details

base_active_power_usage + + + + +

+

Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.

base_idle_power_usage + + + + +

+

Power usage when the computer is idle and screen is off (currently only applies to laptops)

cpu + + + + +

+

CPU that handles most logic while this type only handles power and other specific things.

hardware_flag + + + + +

+

A flag that describes this device type

icon_state_powered + + + + +

+

Icon state when the computer is turned on.

icon_state_unpowered + + + + +

+

Icon state when the computer is turned off.

last_power_usage + + + + +

+

Power usage during last tick

light_strength + + + + +

+

Light luminosity when turned on

max_hardware_size + + + + +

+

Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.

screen_icon_screensaver + + + + +

+

Icon state overlay when the computer is powered, but not 'switched on'.

screen_icon_state_menu + + + + +

+

Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.

steel_sheet_cost + + + + +

+

Amount of steel sheets refunded when disassembling an empty frame of this computer.

Proc Details

relay_icon_update +

+

Eats the "source" arg because update_icon actually expects args now.

+ + + diff --git a/obj/machinery/modular_computer/console.html b/obj/machinery/modular_computer/console.html new file mode 100644 index 00000000000..7e403d3c0fa --- /dev/null +++ b/obj/machinery/modular_computer/console.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_computer/console - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

console + + + +

+ + +

Vars

console_departmentUsed in New() to set network tag according to our area.
+

Var Details

console_department + + + + +

+

Used in New() to set network tag according to our area.

+ + + diff --git a/obj/machinery/modular_computer/console/preset/cargochat.html b/obj/machinery/modular_computer/console/preset/cargochat.html new file mode 100644 index 00000000000..1253bfba6f9 --- /dev/null +++ b/obj/machinery/modular_computer/console/preset/cargochat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_computer/console/preset/cargochat - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

cargochat + + + +

+ + +

Vars

chatprogramchat client installed on this computer, just helpful for linking all the computers
+

Var Details

chatprogram + + + + +

+

chat client installed on this computer, just helpful for linking all the computers

+ + + diff --git a/obj/machinery/photocopier.html b/obj/machinery/photocopier.html new file mode 100644 index 00000000000..283ed10f784 --- /dev/null +++ b/obj/machinery/photocopier.html @@ -0,0 +1,214 @@ + + + + + + + /obj/machinery/photocopier - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

photocopier + + + +

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

Vars

assA reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.
busyIndicates whether the printer is currently busy copying or not.
color_modeUsed with photos. Determines if the copied photo will be in greyscale or color.
document_copyA reference to an /obj/item/documents inside the copier, if one is inserted. Otherwise null.
num_copiesHow many copies will be printed with one click of the "copy" button.
paper_copyA reference to an /obj/item/paper inside the copier, if one is inserted. Otherwise null.
photo_copyA reference to an /obj/item/photo inside the copier, if one is inserted. Otherwise null.
toner_cartridgeA reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Procs

check_assChecks the living mob ass exists and its location is the same as the photocopier.
copier_blockedChecks if the copier is deleted, or has something dense at its location. Called in MouseDrop_T()
copier_emptyChecks if there is an item inserted into the copier or a mob sitting on top of it.
do_copy_loopWill invoke the passed in copy_cb callback in 1 second intervals, and charge the user 5 credits for each copy made.
do_insertionInserts the item into the copier. Called in attackby() after a human mob clicked on the copier with a paper, photo, or document.
give_pixel_offsetGives items a random x and y pixel offset, between -10 and 10 for each.
has_enough_tonerDetermines if the photocopier has enough toner to create num_copies amount of copies of the currently inserted item.
make_ass_copyHandles the copying of an ass photo.
make_devil_paper_copyHandles the copying of devil contract paper. Transfers all the text, stamps and so on from the old paper, to the copy.
make_document_copyHandles the copying of documents.
make_paper_copyHandles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.
make_photo_copyHandles the copying of photos, which can be printed in either color or greyscale.
remove_photocopyCalled when someone hits the "remove item" button on the copier UI.
reset_busySets busy to FALSE. Created as a proc so it can be used in callbacks.
+

Var Details

ass + + + + +

+

A reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.

busy + + + + +

+

Indicates whether the printer is currently busy copying or not.

color_mode + + + + +

+

Used with photos. Determines if the copied photo will be in greyscale or color.

document_copy + + + + +

+

A reference to an /obj/item/documents inside the copier, if one is inserted. Otherwise null.

num_copies + + + + +

+

How many copies will be printed with one click of the "copy" button.

paper_copy + + + + +

+

A reference to an /obj/item/paper inside the copier, if one is inserted. Otherwise null.

photo_copy + + + + +

+

A reference to an /obj/item/photo inside the copier, if one is inserted. Otherwise null.

toner_cartridge + + + + +

+

A reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Proc Details

check_ass +

+

Checks the living mob ass exists and its location is the same as the photocopier.

+

Returns FALSE if ass doesn't exist or is not at the copier's location. Returns TRUE otherwise.

copier_blocked +

+

Checks if the copier is deleted, or has something dense at its location. Called in MouseDrop_T()

copier_empty +

+

Checks if there is an item inserted into the copier or a mob sitting on top of it.

+

Return FALSE is the copier has something inside of it. Returns TRUE if it doesn't.

do_copy_loop +

+

Will invoke the passed in copy_cb callback in 1 second intervals, and charge the user 5 credits for each copy made.

+

Arguments:

+

do_insertion +

+

Inserts the item into the copier. Called in attackby() after a human mob clicked on the copier with a paper, photo, or document.

+

Arugments:

+

give_pixel_offset +

+

Gives items a random x and y pixel offset, between -10 and 10 for each.

+

This is done that when someone prints multiple papers, we dont have them all appear to be stacked in the same exact location.

+

Arguments:

+

has_enough_toner +

+

Determines if the photocopier has enough toner to create num_copies amount of copies of the currently inserted item.

make_ass_copy +

+

Handles the copying of an ass photo.

+

Calls check_ass() first to make sure that ass exists, among other conditions. Since this proc is called from a timer, it's possible that it was removed. +Additionally checks that the mob has their clothes off.

make_devil_paper_copy +

+

Handles the copying of devil contract paper. Transfers all the text, stamps and so on from the old paper, to the copy.

+

Checks first if paper_copy exists. Since this proc is called from a timer, it's possible that it was removed. +Does not check if it has enough toner because devil contracts cost no toner to print.

make_document_copy +

+

Handles the copying of documents.

+

Checks first if document_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_paper_copy +

+

Handles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.

+

Checks first if paper_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_photo_copy +

+

Handles the copying of photos, which can be printed in either color or greyscale.

+

Checks first if photo_copy exists. Since this proc is called from a timer, it's possible that it was removed.

remove_photocopy +

+

Called when someone hits the "remove item" button on the copier UI.

+

If the user is a silicon, it drops the object at the location of the copier. If the user is not a silicon, it tries to put the object in their hands first. +Sets busy to FALSE because if the inserted item is removed, the copier should halt copying.

+

Arguments:

+

reset_busy +

+

Sets busy to FALSE. Created as a proc so it can be used in callbacks.

+ + + diff --git a/obj/machinery/plate_press.html b/obj/machinery/plate_press.html new file mode 100644 index 00000000000..03dce350218 --- /dev/null +++ b/obj/machinery/plate_press.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/plate_press - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

plate_press + + + +

+ + +

Procs

work_pressThis proc attempts to create a plate. User cannot move during this process.

Proc Details

work_press +

+

This proc attempts to create a plate. User cannot move during this process.

+ + + diff --git a/obj/machinery/plumbing.html b/obj/machinery/plumbing.html new file mode 100644 index 00000000000..d5d8e94e04a --- /dev/null +++ b/obj/machinery/plumbing.html @@ -0,0 +1,67 @@ + + + + + + + /obj/machinery/plumbing - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

plumbing + + + +

+ +

Basic plumbing object. +It doesn't really hold anything special, YET. +Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank +Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it

+ + + + +

Vars

bufferPlumbing machinery is always gonna need reagents, so we might aswell put it here
rcd_constructablewheter we partake in rcd construction or not
rcd_costcost of the plumbing rcd construction
rcd_delaydelay of constructing it throught the plumbing rcd
reagent_flagsFlags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm
+

Var Details

buffer + + + + +

+

Plumbing machinery is always gonna need reagents, so we might aswell put it here

rcd_constructable + + + + +

+

wheter we partake in rcd construction or not

rcd_cost + + + + +

+

cost of the plumbing rcd construction

rcd_delay + + + + +

+

delay of constructing it throught the plumbing rcd

reagent_flags + + + + +

+

Flags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm

+ + + diff --git a/obj/machinery/plumbing/acclimator.html b/obj/machinery/plumbing/acclimator.html new file mode 100644 index 00000000000..fc351a2215b --- /dev/null +++ b/obj/machinery/plumbing/acclimator.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/plumbing/acclimator - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

acclimator + + + +

+ +

this the plumbing version of a heater/freezer.

+ + + + + +

Vars

acclimate_stateCOOLING, HEATING or NEUTRAL. We track this for change, so we dont needlessly update our icon
allowed_temperature_differenceI cant find a good name for this. Basically if target is 300, and this is 10, it will still target 300 but will start emptying itself at 290 and 310.
emptying*We can't take anything in, at least till we're emptied. Down side of the round robin chem transfer, otherwise while emptying 5u of an unreacted chem gets added, +and you get nasty leftovers
enabledAre we turned on or off? this is from the on and off button
heater_coefficientcool/heat power
target_temperaturetowards wich temperature do we build?
+

Var Details

acclimate_state + + + + +

+

COOLING, HEATING or NEUTRAL. We track this for change, so we dont needlessly update our icon

allowed_temperature_difference + + + + +

+

I cant find a good name for this. Basically if target is 300, and this is 10, it will still target 300 but will start emptying itself at 290 and 310.

emptying + + + + +

+

*We can't take anything in, at least till we're emptied. Down side of the round robin chem transfer, otherwise while emptying 5u of an unreacted chem gets added, +and you get nasty leftovers

enabled + + + + +

+

Are we turned on or off? this is from the on and off button

heater_coefficient + + + + +

+

cool/heat power

target_temperature + + + + +

+

towards wich temperature do we build?

+ + + diff --git a/obj/machinery/plumbing/bottler.html b/obj/machinery/plumbing/bottler.html new file mode 100644 index 00000000000..413223846fb --- /dev/null +++ b/obj/machinery/plumbing/bottler.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/plumbing/bottler - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

bottler + + + +

+ + + + + + + +

Vars

badspotwhere beakers that are already full will be sent
goodspotwhere things are sent
inputspotwhere things are taken
wanted_amounthow much do we fill

Procs

interactchanging input ammount with a window
setDirchanges the tile array
+

Var Details

badspot + + + + +

+

where beakers that are already full will be sent

goodspot + + + + +

+

where things are sent

inputspot + + + + +

+

where things are taken

wanted_amount + + + + +

+

how much do we fill

Proc Details

interact +

+

changing input ammount with a window

setDir +

+

changes the tile array

+ + + diff --git a/obj/machinery/plumbing/disposer.html b/obj/machinery/plumbing/disposer.html new file mode 100644 index 00000000000..0926eda8aef --- /dev/null +++ b/obj/machinery/plumbing/disposer.html @@ -0,0 +1,41 @@ + + + + + + + /obj/machinery/plumbing/disposer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

disposer + + + +

+ +

see if machine has enough to fill +pick a reagent_container that could be used +see if it would overflow else inject +glass was full so we move it away +slime extracts need inject +no need to move slimecross industrial things

+

Vars

disposal_ratewe remove 10 reagents per second
+

Var Details

disposal_rate + + + + +

+

we remove 10 reagents per second

+ + + diff --git a/obj/machinery/plumbing/fermenter.html b/obj/machinery/plumbing/fermenter.html new file mode 100644 index 00000000000..73f9037fcf3 --- /dev/null +++ b/obj/machinery/plumbing/fermenter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/plumbing/fermenter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

fermenter + + + +

+ + +

Vars

eat_dirinput dir
+

Var Details

eat_dir + + + + +

+

input dir

+ + + diff --git a/obj/machinery/plumbing/filter.html b/obj/machinery/plumbing/filter.html new file mode 100644 index 00000000000..77437cadd70 --- /dev/null +++ b/obj/machinery/plumbing/filter.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/plumbing/filter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

filter + + + +

+ +

chemical plumbing filter. If it's not filtered by left and right, it goes straight.

+ + + +

Vars

english_leftwhitelist of chems but their name instead of path
english_rightwhitelist of chems but their name instead of path
leftwhitelist of chems id's that go to the left side. Empty to disable port
rightwhitelist of chem id's that go to the right side. Empty to disable port
+

Var Details

english_left + + + + +

+

whitelist of chems but their name instead of path

english_right + + + + +

+

whitelist of chems but their name instead of path

left + + + + +

+

whitelist of chems id's that go to the left side. Empty to disable port

right + + + + +

+

whitelist of chem id's that go to the right side. Empty to disable port

+ + + diff --git a/obj/machinery/plumbing/liquid_pump.html b/obj/machinery/plumbing/liquid_pump.html new file mode 100644 index 00000000000..7a3b5dd6844 --- /dev/null +++ b/obj/machinery/plumbing/liquid_pump.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/plumbing/liquid_pump - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

liquid_pump + + + +

+ +

We pump liquids from activated(plungerated) geysers to a plumbing outlet. We don't need to be wired.

+ + + + + +

Vars

geyserThe geyser object
geyserlessset to true if the loop couldnt find a geyser in process, so it remembers and stops checking every loop until moved. more accurate name would be absolutely_no_geyser_under_me_so_dont_try
pump_powerunits we pump per process (2 seconds)
volumevolume of our internal buffer

Procs

default_unfasten_wrenchplease note that the component has a hook in the parent call, wich handles activating and deactivating
pumppump up that sweet geyser nectar
+

Var Details

geyser + + + + +

+

The geyser object

geyserless + + + + +

+

set to true if the loop couldnt find a geyser in process, so it remembers and stops checking every loop until moved. more accurate name would be absolutely_no_geyser_under_me_so_dont_try

pump_power + + + + +

+

units we pump per process (2 seconds)

volume + + + + +

+

volume of our internal buffer

Proc Details

default_unfasten_wrench +

+

please note that the component has a hook in the parent call, wich handles activating and deactivating

pump +

+

pump up that sweet geyser nectar

+ + + diff --git a/obj/machinery/plumbing/pill_press.html b/obj/machinery/plumbing/pill_press.html new file mode 100644 index 00000000000..485da29a046 --- /dev/null +++ b/obj/machinery/plumbing/pill_press.html @@ -0,0 +1,113 @@ + + + + + + + /obj/machinery/plumbing/pill_press - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

pill_press + + + +

+ +

We take a constant input of reagents, and produce a pill once a set volume is reached

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

Vars

current_volumeselected size of the product
max_bottle_volumemaximum size of a bottle
max_floor_productsmax amount of pills allowed on our tile before we start storing them instead
max_patch_volumemaximum size of a patch
max_pill_volumemaximum size of a pill
max_volumethe maximum size a pill or patch can be
min_volumethe minimum size a pill or patch can be
pill_numberthe icon_state number for the pill.
pill_styleslist of id's and icons for the pill selection of the ui
productcurrent operating product (pills or patches)
product_nameprefix for the product name
stored_productslist of products stored in the machine, so we dont have 610 pills on one tile
+

Var Details

current_volume + + + + +

+

selected size of the product

max_bottle_volume + + + + +

+

maximum size of a bottle

max_floor_products + + + + +

+

max amount of pills allowed on our tile before we start storing them instead

max_patch_volume + + + + +

+

maximum size of a patch

max_pill_volume + + + + +

+

maximum size of a pill

max_volume + + + + +

+

the maximum size a pill or patch can be

min_volume + + + + +

+

the minimum size a pill or patch can be

pill_number + + + + +

+

the icon_state number for the pill.

pill_styles + + + + +

+

list of id's and icons for the pill selection of the ui

product + + + + +

+

current operating product (pills or patches)

product_name + + + + +

+

prefix for the product name

stored_products + + + + +

+

list of products stored in the machine, so we dont have 610 pills on one tile

+ + + diff --git a/obj/machinery/plumbing/reaction_chamber.html b/obj/machinery/plumbing/reaction_chamber.html new file mode 100644 index 00000000000..47230e1453d --- /dev/null +++ b/obj/machinery/plumbing/reaction_chamber.html @@ -0,0 +1,45 @@ + + + + + + + /obj/machinery/plumbing/reaction_chamber - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

reaction_chamber + + + +

+ +

a reaction chamber for plumbing. pretty much everything can react, but this one keeps the reagents seperated and only reacts under your given terms

+ +

Vars

emptyingour reagent goal has been reached, so now we lock our inputs and start emptying
required_reagents*list of set reagents that the reaction_chamber allows in, and must all be present before mixing is enabled. +* example: list(/datum/reagent/water = 20, /datum/reagent/fuel/oil = 50)
+

Var Details

emptying + + + + +

+

our reagent goal has been reached, so now we lock our inputs and start emptying

required_reagents + + + + +

+

*list of set reagents that the reaction_chamber allows in, and must all be present before mixing is enabled. +* example: list(/datum/reagent/water = 20, /datum/reagent/fuel/oil = 50)

+ + + diff --git a/obj/machinery/plumbing/splitter.html b/obj/machinery/plumbing/splitter.html new file mode 100644 index 00000000000..8de1187c584 --- /dev/null +++ b/obj/machinery/plumbing/splitter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/plumbing/splitter - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

splitter + + + +

+ +

it splits the reagents however you want. So you can "every 60 units, 45 goes left and 15 goes straight". The side direction is EAST, you can change this in the component

+ + +

Vars

transfer_sidehow much we must transfer to the side
transfer_straighthow much we must transfer straight. note input can be as high as 10 reagents per process, usually
turn_straightconstantly switches between TRUE and FALSE. TRUE means the batch tick goes straight, FALSE means the next batch goes in the side duct.
+

Var Details

transfer_side + + + + +

+

how much we must transfer to the side

transfer_straight + + + + +

+

how much we must transfer straight. note input can be as high as 10 reagents per process, usually

turn_straight + + + + +

+

constantly switches between TRUE and FALSE. TRUE means the batch tick goes straight, FALSE means the next batch goes in the side duct.

+ + + diff --git a/obj/machinery/plumbing/synthesizer.html b/obj/machinery/plumbing/synthesizer.html new file mode 100644 index 00000000000..d6062ba4b54 --- /dev/null +++ b/obj/machinery/plumbing/synthesizer.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/plumbing/synthesizer - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

synthesizer + + + +

+ +

A single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories

+ + + + +

Vars

amountAmount we produce for every process. Ideally keep under 5 since thats currently the standard duct capacity
bufferThe maximum we can produce for every process
dispensable_reagentsstraight up copied from chem dispenser. Being a subtype would be extremely tedious and making it global would restrict potential subtypes using different dispensable_reagents
possible_amountsI track them here because I have no idea how I'd make tgui loop like that
reagent_idThe reagent we are producing. We are a typepath, but are also typecast because there's several occations where we need to use initial.
+

Var Details

amount + + + + +

+

Amount we produce for every process. Ideally keep under 5 since thats currently the standard duct capacity

buffer + + + + +

+

The maximum we can produce for every process

dispensable_reagents + + + + +

+

straight up copied from chem dispenser. Being a subtype would be extremely tedious and making it global would restrict potential subtypes using different dispensable_reagents

possible_amounts + + + + +

+

I track them here because I have no idea how I'd make tgui loop like that

reagent_id + + + + +

+

The reagent we are producing. We are a typepath, but are also typecast because there's several occations where we need to use initial.

+ + + diff --git a/obj/machinery/pool/controller.html b/obj/machinery/pool/controller.html new file mode 100644 index 00000000000..a96debd40cf --- /dev/null +++ b/obj/machinery/pool/controller.html @@ -0,0 +1,176 @@ + + + + + + + /obj/machinery/pool/controller - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

controller + + + +

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

Vars

bloodyIs the pool bloody?
drainableWhether or not the pool can be drained
drainingJust to prevent spam
interact_delayNext world.time you can interact with settings
last_reagent_processLast time we process_reagents()'d
linked_drainPool drain
linked_filterPool filter
linked_mistLinked mist effects
linked_turfsPool turfs
max_beaker_transferMaximum amount we will take from a beaker
min_reagent_amountMinimum amount of a reagent for it to work on us
mist_stateIs pool mist currently on?
mobs_in_poolAll mobs in pool
noreact_reagentsADMINBUS ONLY - WHETHER OR NOT WE HAVE NOREACT ;)
old_rcolorOld reagent color, used to determine if update_color needs to reset colors.
reagent_tick_intervalhow fast in deciseconds between reagent processes
respect_reagent_blacklistReagent blacklisting
scan_rangeHow far it scans for pool objects
shockedAirlock style shocks
temperatureSee __DEFINES/pool.dm, temperature defines
temperature_unlockedCan we use unsafe temperatures
+

Var Details

bloody + + + + +

+

Is the pool bloody?

drainable + + + + +

+

Whether or not the pool can be drained

draining + + + + +

+

Just to prevent spam

interact_delay + + + + +

+

Next world.time you can interact with settings

last_reagent_process + + + + +

+

Last time we process_reagents()'d

linked_drain + + + + +

+

Pool drain

linked_filter + + + + +

+

Pool filter

linked_mist + + + + +

+

Linked mist effects

linked_turfs + + + + +

+

Pool turfs

max_beaker_transfer + + + + +

+

Maximum amount we will take from a beaker

min_reagent_amount + + + + +

+

Minimum amount of a reagent for it to work on us

mist_state + + + + +

+

Is pool mist currently on?

mobs_in_pool + + + + +

+

All mobs in pool

noreact_reagents + + + + +

+

ADMINBUS ONLY - WHETHER OR NOT WE HAVE NOREACT ;)

old_rcolor + + + + +

+

Old reagent color, used to determine if update_color needs to reset colors.

reagent_tick_interval + + + + +

+

how fast in deciseconds between reagent processes

respect_reagent_blacklist + + + + +

+

Reagent blacklisting

scan_range + + + + +

+

How far it scans for pool objects

shocked + + + + +

+

Airlock style shocks

temperature + + + + +

+

See __DEFINES/pool.dm, temperature defines

temperature_unlocked + + + + +

+

Can we use unsafe temperatures

+ + + diff --git a/obj/machinery/pool/drain.html b/obj/machinery/pool/drain.html new file mode 100644 index 00000000000..080b175301b --- /dev/null +++ b/obj/machinery/pool/drain.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/pool/drain - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

drain + + + +

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

Vars

activeActive/on?
controllerParent controller
cycles_leftCycles left for fill/drain while active
drain_suck_rangeDrain mode suction range
fill_push_rangeFill mode knock away range
fillingFilling or draining
item_suction_rangeDrain item suction range
suck_in_once_perSuck in once per x ticks
whirling_mobsMobs we are swirling around

Procs

whirl_mobdangerous proc don't fuck with, admins
+

Var Details

active + + + + +

+

Active/on?

controller + + + + +

+

Parent controller

cycles_left + + + + +

+

Cycles left for fill/drain while active

drain_suck_range + + + + +

+

Drain mode suction range

fill_push_range + + + + +

+

Fill mode knock away range

filling + + + + +

+

Filling or draining

item_suction_range + + + + +

+

Drain item suction range

suck_in_once_per + + + + +

+

Suck in once per x ticks

whirling_mobs + + + + +

+

Mobs we are swirling around

Proc Details

whirl_mob +

+

dangerous proc don't fuck with, admins

+ + + diff --git a/obj/machinery/porta_turret.html b/obj/machinery/porta_turret.html new file mode 100644 index 00000000000..5761546d0dd --- /dev/null +++ b/obj/machinery/porta_turret.html @@ -0,0 +1,274 @@ + + + + + + + /obj/machinery/porta_turret - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

porta_turret + + + +

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

Vars

always_upWill stay active
baseFor turrets inside other objects
base_icon_stateBase turret icon state
controllockIf the turret responds to control panels
coverThe cover that is covering this turret
cpLinked turret control panel of the turret
factionSame faction mobs will never be shot at, no matter the other settings
gun_chargeThe charge of the gun when retrieved from wreckage
has_coverHides the cover
installationThe type of weapon installed by default
last_firedWorld.time the turret last fired
lethal_projectileLethal mode projectile type
lethal_projectile_soundSound of lethal projectile
lockedIf the turret's behaviour control access is locked
manual_controlIf the turret is manually controlled
modeIn which mode is turret in, stun or lethal
nonlethal_projectileProjectile to use in stun mode when the target is resting, if any
nonlethal_projectile_soundSound of stun projectile wen the target is resting, optional
onDetermines if the turret is on
power_channelOnly people with Security access
quit_actionAction button holder for quitting manual control
raisedIf the turret cover is "open" and the turret is raised
raisingIf the turret is currently opening or closing its cover
remote_controllerMob that is remotely controlling the turret
reqpowerPower needed per shot
scan_rangeScan range of the turret for locating targets
shot_delayTicks until next shot (1.5 ?)
shot_staggerMISSING:
spark_systemThe spark system, used for generating... sparks?
stored_gunWhat stored gun is in the turret
stun_projectileStun mode projectile type
stun_projectile_soundSound of stun projectile
toggle_actionAction button holder for switching between turret modes when manually controlling
turret_flagsTurret flags about who is turret allowed to shoot
wall_turret_directionThe turret will try to shoot from a turf in that direction when in a wall
+

Var Details

always_up + + + + +

+

Will stay active

base + + + + +

+

For turrets inside other objects

base_icon_state + + + + +

+

Base turret icon state

controllock + + + + +

+

If the turret responds to control panels

cover + + + + +

+

The cover that is covering this turret

cp + + + + +

+

Linked turret control panel of the turret

faction + + + + +

+

Same faction mobs will never be shot at, no matter the other settings

gun_charge + + + + +

+

The charge of the gun when retrieved from wreckage

has_cover + + + + +

+

Hides the cover

installation + + + + +

+

The type of weapon installed by default

last_fired + + + + +

+

World.time the turret last fired

lethal_projectile + + + + +

+

Lethal mode projectile type

lethal_projectile_sound + + + + +

+

Sound of lethal projectile

locked + + + + +

+

If the turret's behaviour control access is locked

manual_control + + + + +

+

If the turret is manually controlled

mode + + + + +

+

In which mode is turret in, stun or lethal

nonlethal_projectile + + + + +

+

Projectile to use in stun mode when the target is resting, if any

nonlethal_projectile_sound + + + + +

+

Sound of stun projectile wen the target is resting, optional

on + + + + +

+

Determines if the turret is on

power_channel + + + + +

+

Only people with Security access

quit_action + + + + +

+

Action button holder for quitting manual control

raised + + + + +

+

If the turret cover is "open" and the turret is raised

raising + + + + +

+

If the turret is currently opening or closing its cover

remote_controller + + + + +

+

Mob that is remotely controlling the turret

reqpower + + + + +

+

Power needed per shot

scan_range + + + + +

+

Scan range of the turret for locating targets

shot_delay + + + + +

+

Ticks until next shot (1.5 ?)

shot_stagger + + + + +

+

MISSING:

spark_system + + + + +

+

The spark system, used for generating... sparks?

stored_gun + + + + +

+

What stored gun is in the turret

stun_projectile + + + + +

+

Stun mode projectile type

stun_projectile_sound + + + + +

+

Sound of stun projectile

toggle_action + + + + +

+

Action button holder for switching between turret modes when manually controlling

turret_flags + + + + +

+

Turret flags about who is turret allowed to shoot

wall_turret_direction + + + + +

+

The turret will try to shoot from a turf in that direction when in a wall

+ + + diff --git a/obj/machinery/portable_atmospherics/canister.html b/obj/machinery/portable_atmospherics/canister.html new file mode 100644 index 00000000000..d607c7071aa --- /dev/null +++ b/obj/machinery/portable_atmospherics/canister.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/portable_atmospherics/canister - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

canister + + + +

+ + + + +

Vars

req_accessSet the tier of the canister and overlay used
temperature_resistanceMax amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits) +Max amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)

Procs

ui_statefunction used to check the limit of the canisters and also set the amount of damage that the canister can receive, if the heat and pressure are way higher than the limit the more damage will be done
+

Var Details

req_access + + + + +

+

Set the tier of the canister and overlay used

temperature_resistance + + + + +

+

Max amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits) +Max amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)

Proc Details

ui_state +

+

function used to check the limit of the canisters and also set the amount of damage that the canister can receive, if the heat and pressure are way higher than the limit the more damage will be done

+ + + diff --git a/obj/machinery/power/apc.html b/obj/machinery/power/apc.html new file mode 100644 index 00000000000..9abd3a61d06 --- /dev/null +++ b/obj/machinery/power/apc.html @@ -0,0 +1,80 @@ + + + + + + + /obj/machinery/power/apc - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

apc + + + +

+ + + + +

Procs

autosetReturns the new status value for an APC channel.
check_updatesChecks for what icon updates we will need to handle
setsubsystemUsed by external forces to set the APCs channel status's.

Proc Details

autoset +

+

Returns the new status value for an APC channel.

+

// val 0=off, 1=off(auto) 2=on 3=on(auto) +// on 0=off, 1=on, 2=autooff +TODO: Make this use bitflags instead. It should take at most three lines, but it's out of scope for now.

+

Arguments:

+

check_updates +

+

Checks for what icon updates we will need to handle

setsubsystem +

+

Used by external forces to set the APCs channel status's.

+

Arguments:

+
+ + + diff --git a/obj/machinery/power/deck_relay.html b/obj/machinery/power/deck_relay.html new file mode 100644 index 00000000000..5a20717acc2 --- /dev/null +++ b/obj/machinery/power/deck_relay.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/power/deck_relay - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

deck_relay + + + +

+ + + + + + +

Vars

aboveThe relay that's below us (for bridging powernets)
anchoredThe relay that's above us (for bridging powernets)

Procs

find_relaysLocates relays that are above and below this object
multitool_actAllows you to scan the relay with a multitool to see stats.
refreshHandles re-acquiring + merging powernets found by find_relays()
+

Var Details

above + + + + +

+

The relay that's below us (for bridging powernets)

anchored + + + + +

+

The relay that's above us (for bridging powernets)

Proc Details

find_relays +

+

Locates relays that are above and below this object

multitool_act +

+

Allows you to scan the relay with a multitool to see stats.

refresh +

+

Handles re-acquiring + merging powernets found by find_relays()

+ + + diff --git a/obj/machinery/power/solar.html b/obj/machinery/power/solar.html new file mode 100644 index 00000000000..d00d1d07d16 --- /dev/null +++ b/obj/machinery/power/solar.html @@ -0,0 +1,42 @@ + + + + + + + /obj/machinery/power/solar - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

solar + + + +

+ + + +

Procs

occlusion_setuptrace towards sun to see if we're in shadow
update_solar_exposurecalculates the fraction of the sunlight that the panel receives

Proc Details

occlusion_setup +

+

trace towards sun to see if we're in shadow

update_solar_exposure +

+

calculates the fraction of the sunlight that the panel receives

+ + + diff --git a/obj/machinery/power/solar_control.html b/obj/machinery/power/solar_control.html new file mode 100644 index 00000000000..c78285547b6 --- /dev/null +++ b/obj/machinery/power/solar_control.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/power/solar_control - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

solar_control + + + +

+ + + + + +

Vars

connected_trackerSOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO
trackdegree change per minute

Procs

set_panelsRotates the panel to the passed angles
timed_trackRan every time the sun updates.
+

Var Details

connected_tracker + + + + +

+

SOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO

track + + + + +

+

degree change per minute

Proc Details

set_panels +

+

Rotates the panel to the passed angles

timed_track +

+

Ran every time the sun updates.

+ + + diff --git a/obj/machinery/power/supermatter_crystal.html b/obj/machinery/power/supermatter_crystal.html new file mode 100644 index 00000000000..0ce12f74857 --- /dev/null +++ b/obj/machinery/power/supermatter_crystal.html @@ -0,0 +1,349 @@ + + + + + + + /obj/machinery/power/supermatter_crystal - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

supermatter_crystal + + + +

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

Vars

base_icon_stateUsed for changing icon states for diff base sprites
bullet_energyHow much the bullets damage should be multiplied by when it is added to the internal variables
combined_gasThe last air sample's total molar count, will always be above or equal to 0
common_channelThe common channel
countdownAn effect we show to admins and ghosts the percentage of delam we're at
damageThe amount of damage we have currently
damage_archivedThe damage we had before this cycle. Used to limit the damage we can take each cycle, and for safe_alert
damage_penalty_pointWhen we pass this amount of damage we start shooting bolts
dynamic_heat_resistanceAffects the amount of damage and minimum point at which the sm takes heat damage
emergency_alertThe alert we send when we've reached emergency_point
emergency_pointThe point at which we start sending messages to the common channel
engineering_channelThe engineering channel
explosion_pointThe point at which we delam
explosion_powerA scaling value that affects the severity of explosions.
final_countdownAre we exploding?
gas_change_rateDetermines the rate of positve change in gas comp values
gasefficencyThe portion of the gasmix we're on that we should remove
gasmix_power_ratioAffects the power gain the sm experiances from heat
gl_uidThe amount of supermatters that have been created this round
hallucination_powerHow much hallucination should we produce per unit of power?
has_been_poweredBoolean used for logging if we've been powered
has_reached_emergencyBoolean used for logging if we've passed the emergency point
is_main_engineUsed along with a global var to track if we can give out the sm sliver stealing objective
last_accent_soundcooldown tracker for accent sounds
lastwarningTime in 1/10th of seconds since the last sent warning
matter_powerTakes the energy throwing things into the sm generates and slowly turns it into actual power
mole_heat_penaltyUsed to increase or lessen the amount of damage the sm takes from heat based on molar counts.
moveableCan it be moved?
powerRefered to as eer on the moniter. This value effects gas output, heat, damage, and radiation.
power_changesDisables power changes
powerloss_dynamic_scalingBased on co2 percentage, slowly moves between 0 and 1. We use it to calc the powerloss_inhibitor
powerloss_inhibitorUses powerloss_dynamic_scaling and combined_gas to lessen the effects of our powerloss functions
processesDisables the sm's proccessing totally.
produces_gasDisables the production of gas, and pretty much any handling of it we do.
radioOur internal radio
radio_keyThe key our internal radio uses
safe_alertOur "Shit is no longer fucked" message. We send it when damage is less then damage_archived
soundloopOur soundloop
takes_damageDisables all methods of taking damage
uidThe id of our supermatter
warning_alertThe alert we send when we've reached warning_point
warning_pointThe point at which we should start sending messeges about the damage to the engi channels.
zap_cutoffThe cutoff for a bolt jumping, grows with heat, lowers with higher mol count,
zap_iconTracks the bolt color we are using

Procs

bullet_actEXPERIMENTAL, HUGBOXY AS HELL CITADEL CHANGES: Even in a vaccum, update gas composition and modifiers. +This means that the SM will usually have a very small explosion if it ends up being breached to space, +and CO2 tesla delaminations basically require multiple grounding rods to stabilize it long enough to not have it vent.
+

Var Details

base_icon_state + + + + +

+

Used for changing icon states for diff base sprites

bullet_energy + + + + +

+

How much the bullets damage should be multiplied by when it is added to the internal variables

combined_gas + + + + +

+

The last air sample's total molar count, will always be above or equal to 0

common_channel + + + + +

+

The common channel

countdown + + + + +

+

An effect we show to admins and ghosts the percentage of delam we're at

damage + + + + +

+

The amount of damage we have currently

damage_archived + + + + +

+

The damage we had before this cycle. Used to limit the damage we can take each cycle, and for safe_alert

damage_penalty_point + + + + +

+

When we pass this amount of damage we start shooting bolts

dynamic_heat_resistance + + + + +

+

Affects the amount of damage and minimum point at which the sm takes heat damage

emergency_alert + + + + +

+

The alert we send when we've reached emergency_point

emergency_point + + + + +

+

The point at which we start sending messages to the common channel

engineering_channel + + + + +

+

The engineering channel

explosion_point + + + + +

+

The point at which we delam

explosion_power + + + + +

+

A scaling value that affects the severity of explosions.

final_countdown + + + + +

+

Are we exploding?

gas_change_rate + + + + +

+

Determines the rate of positve change in gas comp values

gasefficency + + + + +

+

The portion of the gasmix we're on that we should remove

gasmix_power_ratio + + + + +

+

Affects the power gain the sm experiances from heat

gl_uid + + + + +

+

The amount of supermatters that have been created this round

hallucination_power + + + + +

+

How much hallucination should we produce per unit of power?

has_been_powered + + + + +

+

Boolean used for logging if we've been powered

has_reached_emergency + + + + +

+

Boolean used for logging if we've passed the emergency point

is_main_engine + + + + +

+

Used along with a global var to track if we can give out the sm sliver stealing objective

last_accent_sound + + + + +

+

cooldown tracker for accent sounds

lastwarning + + + + +

+

Time in 1/10th of seconds since the last sent warning

matter_power + + + + +

+

Takes the energy throwing things into the sm generates and slowly turns it into actual power

mole_heat_penalty + + + + +

+

Used to increase or lessen the amount of damage the sm takes from heat based on molar counts.

moveable + + + + +

+

Can it be moved?

power + + + + +

+

Refered to as eer on the moniter. This value effects gas output, heat, damage, and radiation.

power_changes + + + + +

+

Disables power changes

powerloss_dynamic_scaling + + + + +

+

Based on co2 percentage, slowly moves between 0 and 1. We use it to calc the powerloss_inhibitor

powerloss_inhibitor + + + + +

+

Uses powerloss_dynamic_scaling and combined_gas to lessen the effects of our powerloss functions

processes + + + + +

+

Disables the sm's proccessing totally.

produces_gas + + + + +

+

Disables the production of gas, and pretty much any handling of it we do.

radio + + + + +

+

Our internal radio

radio_key + + + + +

+

The key our internal radio uses

safe_alert + + + + +

+

Our "Shit is no longer fucked" message. We send it when damage is less then damage_archived

soundloop + + + + +

+

Our soundloop

takes_damage + + + + +

+

Disables all methods of taking damage

uid + + + + +

+

The id of our supermatter

warning_alert + + + + +

+

The alert we send when we've reached warning_point

warning_point + + + + +

+

The point at which we should start sending messeges about the damage to the engi channels.

zap_cutoff + + + + +

+

The cutoff for a bolt jumping, grows with heat, lowers with higher mol count,

zap_icon + + + + +

+

Tracks the bolt color we are using

Proc Details

bullet_act +

+

EXPERIMENTAL, HUGBOXY AS HELL CITADEL CHANGES: Even in a vaccum, update gas composition and modifiers. +This means that the SM will usually have a very small explosion if it ends up being breached to space, +and CO2 tesla delaminations basically require multiple grounding rods to stabilize it long enough to not have it vent.

+

END CITADEL CHANGES

+ + + diff --git a/obj/machinery/power/tracker.html b/obj/machinery/power/tracker.html new file mode 100644 index 00000000000..ab95a0da4c3 --- /dev/null +++ b/obj/machinery/power/tracker.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/power/tracker - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

tracker + + + +

+ + +

Procs

sun_updateTell the controller to turn the solar panels

Proc Details

sun_update +

+

Tell the controller to turn the solar panels

+ + + diff --git a/obj/machinery/recharger.html b/obj/machinery/recharger.html new file mode 100644 index 00000000000..cafdca4bcbc --- /dev/null +++ b/obj/machinery/recharger.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/recharger - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

recharger + + + +

+ + +

Vars

finished_rechargingDid we finish recharging the currently inserted item?
+

Var Details

finished_recharging + + + + +

+

Did we finish recharging the currently inserted item?

+ + + diff --git a/obj/machinery/research/explosive_compressor.html b/obj/machinery/research/explosive_compressor.html new file mode 100644 index 00000000000..e098ac94f17 --- /dev/null +++ b/obj/machinery/research/explosive_compressor.html @@ -0,0 +1,77 @@ + + + + + + + /obj/machinery/research/explosive_compressor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Explosive compressor machines + + + +

+ +

The explosive compressor machine used in anomaly core production.

+

Uses the standard toxins/tank explosion scaling to compress raw anomaly cores into completed ones. The required explosion radius increases as more cores of that type are created.

+ + + + + +

Vars

inserted_bombThe TTV inserted in the machine.
inserted_coreThe raw core inserted in the machine.
last_requirements_sayThe last time we did say_requirements(), because someone will inevitably click spam this.

Procs

do_implosionThe ""explosion"" proc.
get_required_radiusDetermines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.
say_requirementsSays (no, literally) the data of required explosive power for a certain anomaly type.
+

Var Details

inserted_bomb + + + + +

+

The TTV inserted in the machine.

inserted_core + + + + +

+

The raw core inserted in the machine.

last_requirements_say + + + + +

+

The last time we did say_requirements(), because someone will inevitably click spam this.

Proc Details

do_implosion +

+

The ""explosion"" proc.

get_required_radius +

+

Determines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.

+

Returns null if the max amount has already been reached.

+

Arguments:

+

say_requirements +

+

Says (no, literally) the data of required explosive power for a certain anomaly type.

+ + + diff --git a/obj/machinery/seed_extractor.html b/obj/machinery/seed_extractor.html new file mode 100644 index 00000000000..35007646626 --- /dev/null +++ b/obj/machinery/seed_extractor.html @@ -0,0 +1,65 @@ + + + + + + + /obj/machinery/seed_extractor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

seed_extractor + + + +

+ + + + +

Vars

pilesAssociated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Procs

add_seed
generate_seed_stringGenerate seed string
+

Var Details

piles + + + + +

+

Associated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Proc Details

add_seed +

+

generate_seed_string +

+

Generate seed string

+

Creates a string based of the traits of a seed. We use this string as a bucket for all +seeds that match as well as the key the ui uses to get the seed. We also use the key +for the data shown in the ui. Javascript parses this string to display

+

Arguments:

+
+ + + diff --git a/obj/machinery/smartfridge.html b/obj/machinery/smartfridge.html new file mode 100644 index 00000000000..b7067fe4a74 --- /dev/null +++ b/obj/machinery/smartfridge.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/smartfridge - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

smartfridge + + + +

+ + + + +

Vars

max_n_of_itemsWhat path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.

Procs

attackbyItem Adding
dispenseReally simple proc, just moves the object "O" into the hands of mob "M" if able, done so I could modify the proc a little for the organ fridge
+

Var Details

max_n_of_items + + + + +

+

What path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.

Proc Details

attackby +

+

Item Adding

dispense +

+

Really simple proc, just moves the object "O" into the hands of mob "M" if able, done so I could modify the proc a little for the organ fridge

+ + + diff --git a/obj/machinery/status_display.html b/obj/machinery/status_display.html new file mode 100644 index 00000000000..70b399b0077 --- /dev/null +++ b/obj/machinery/status_display.html @@ -0,0 +1,77 @@ + + + + + + + /obj/machinery/status_display - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

status_display + + + +

+ +

Status display which can show images and scrolling text.

+ + + + +

Procs

remove_messagesRemove both message objs and null the fields. +Don't call this in subclasses.
set_messagesImmediately change the display to the given two lines.
set_pictureImmediately change the display to the given picture.
updateUpdate the display and, if necessary, re-enable processing.
update_messageCreate/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:

Proc Details

remove_messages +

+

Remove both message objs and null the fields. +Don't call this in subclasses.

set_messages +

+

Immediately change the display to the given two lines.

set_picture +

+

Immediately change the display to the given picture.

update +

+

Update the display and, if necessary, re-enable processing.

update_message +

+

Create/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:

+
+ + + diff --git a/obj/machinery/status_display/ai.html b/obj/machinery/status_display/ai.html new file mode 100644 index 00000000000..f19237b5b4d --- /dev/null +++ b/obj/machinery/status_display/ai.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/status_display/ai - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

ai + + + +

+ +

Pictograph display which the AI can use to emote.

+

Vars

emotion_mapA mapping between AI_EMOTION_* string constants, which also double as user readable descriptions, and the name of the iconfile.
+

Var Details

emotion_map + + + + +

+

A mapping between AI_EMOTION_* string constants, which also double as user readable descriptions, and the name of the iconfile.

+ + + diff --git a/obj/machinery/suit_storage_unit.html b/obj/machinery/suit_storage_unit.html new file mode 100644 index 00000000000..b3a42dae773 --- /dev/null +++ b/obj/machinery/suit_storage_unit.html @@ -0,0 +1,149 @@ + + + + + + + /obj/machinery/suit_storage_unit - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

suit_storage_unit + + + +

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

Vars

breakout_timeHow long it takes to break out of the SSU.
charge_rateHow fast it charges cells in a suit
helmet_typeWhat type of space helmet the unit starts with when spawned.
lockedIf the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.
mask_typeWhat type of breathmask the unit starts with when spawned.
message_cooldownCooldown for occupant breakout messages via relaymove()
mod_typeWhat type of MOD the unit starts with when spawned.
safetiesIf the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().
shoes_typeWhat type of shoes the unit starts with when spawned.
storage_typeWhat type of additional item the unit starts with when spawned.
suit_typeWhat type of spacesuit the unit starts with when spawned.
uvIf UV decontamination sequence is running. See cook()
uv_cyclesHow many cycles remain for the decontamination sequence.
uv_superIf the hack wire is cut/pulsed. +Modifies effects of cook()

Procs

cookUV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.
+

Var Details

breakout_time + + + + +

+

How long it takes to break out of the SSU.

charge_rate + + + + +

+

How fast it charges cells in a suit

helmet_type + + + + +

+

What type of space helmet the unit starts with when spawned.

locked + + + + +

+

If the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.

mask_type + + + + +

+

What type of breathmask the unit starts with when spawned.

message_cooldown + + + + +

+

Cooldown for occupant breakout messages via relaymove()

mod_type + + + + +

+

What type of MOD the unit starts with when spawned.

safeties + + + + +

+

If the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().

shoes_type + + + + +

+

What type of shoes the unit starts with when spawned.

storage_type + + + + +

+

What type of additional item the unit starts with when spawned.

suit_type + + + + +

+

What type of spacesuit the unit starts with when spawned.

uv + + + + +

+

If UV decontamination sequence is running. See cook()

uv_cycles + + + + +

+

How many cycles remain for the decontamination sequence.

uv_super + + + + +

+

If the hack wire is cut/pulsed. +Modifies effects of cook()

+

Proc Details

cook +

+

UV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.

+
+ + + diff --git a/obj/machinery/turretid.html b/obj/machinery/turretid.html new file mode 100644 index 00000000000..67394a1b055 --- /dev/null +++ b/obj/machinery/turretid.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/turretid - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

turretid + + + +

+ + + + + + + + +

Vars

ailockAI is unable to use this machine if set to TRUE
control_areaAn area in which linked turrets are located, it can be an area name, path or nothing
enabledVariable dictating if linked turrets are active and will shoot targets
lethalVariable dictating if linked turrets will shoot lethal projectiles
lockedVariable dictating if the panel is locked, preventing changes to turret settings
shoot_cyborgsVariable dictating if linked turrets will shoot cyborgs
turretsList of all linked turrets
+

Var Details

ailock + + + + +

+

AI is unable to use this machine if set to TRUE

control_area + + + + +

+

An area in which linked turrets are located, it can be an area name, path or nothing

enabled + + + + +

+

Variable dictating if linked turrets are active and will shoot targets

lethal + + + + +

+

Variable dictating if linked turrets will shoot lethal projectiles

locked + + + + +

+

Variable dictating if the panel is locked, preventing changes to turret settings

shoot_cyborgs + + + + +

+

Variable dictating if linked turrets will shoot cyborgs

turrets + + + + +

+

List of all linked turrets

+ + + diff --git a/obj/machinery/vending.html b/obj/machinery/vending.html new file mode 100644 index 00000000000..773e828514e --- /dev/null +++ b/obj/machinery/vending.html @@ -0,0 +1,423 @@ + + + + + + + /obj/machinery/vending - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

vending machines + + + +

+ +

Captalism in the year 2525, everything in a vending machine, even love

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

Vars

Radioused for narcing on underages
activeIs the machine active (No sales pitches if off)!
age_restrictionsWhether our age check is currently functional
billBills we accept?
canload_access_listID's that can load this vending machine wtih refills
coinCoins that we accept?
contrabandList of products this machine sells when you hack it
cost_multiplier_per_deptcost multiplier per department or access
default_priceDefault price of items if not overridden
extended_inventorycan we access the hidden inventory?
extra_priceDefault price of premium items if not overridden
icon_denyIcon to flash when user is denied a vend
icon_vendIcon when vending an item to the user
input_display_headerDisplay header on the input view
last_replyLast world tick we sent a vent reply
last_shopperThe ref of the last mob to shop with us
last_sloganLast world tick we sent a slogan message out
light_maskName of lighting mask for the vending machine
loaded_itemshow many items have been inserted in a vendor
onstationIs this item on station or not
onstation_overrideA variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements
premiumList of premium products this machine sells
product_adsString of small ad messages in the vending screen - random chance
product_slogansString of slogans separated by semicolons, optional
productsList of products this machine sells
purchase_message_cooldownNext world time to send a purchase message
scan_idAre we checking the users ID
seconds_electrifiedWorld ticks the machine is electified for
shoot_inventoryWhen this is TRUE, we fire items at customers! We're broken!
shoot_inventory_chanceHow likely this is to happen (prob 100) per second
slogan_delayHow many ticks until we can send another
small_adsSmall ad messages in the vending screen - random chance of popping up whenever you open it
vend_readyAre we ready to vend?? Is it time??
vend_replyMessage sent post vend (Thank you for shopping!)

Procs

InitializeInitialize the vending machine
build_inventoryBuild the inventory of the vending machine from it's product and record lists
canLoadItemAre we able to load the item passed in
compartmentLoadAccessCheckIs the passed in user allowed to load this vending machines compartments
pre_throwA callback called before an item is tossed out
refill_inventoryRefill our inventory from the passed in product list into the record list
restockPrices of vending machines are all increased uniformly. +Refill a vending machine from a refill canister
shockShock the passed in user
speakSpeak the given message verbally
throw_impactCrush the mob that the vending machine got thrown at
throw_itemThrow an item from our internal inventory out in front of us
tiltTilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.
unbuild_inventoryGiven a record list, go through and and return a list of type -> amount
update_canisterSet up a refill canister that matches this machines products
+

Var Details

Radio + + + + +

+

used for narcing on underages

active + + + + +

+

Is the machine active (No sales pitches if off)!

age_restrictions + + + + +

+

Whether our age check is currently functional

bill + + + + +

+

Bills we accept?

canload_access_list + + + + +

+

ID's that can load this vending machine wtih refills

coin + + + + +

+

Coins that we accept?

contraband + + + + +

+

List of products this machine sells when you hack it

+

form should be list(/type/path = amount, /type/path2 = amount2)

cost_multiplier_per_dept + + + + +

+

cost multiplier per department or access

default_price + + + + +

+

Default price of items if not overridden

extended_inventory + + + + +

+

can we access the hidden inventory?

extra_price + + + + +

+

Default price of premium items if not overridden

icon_deny + + + + +

+

Icon to flash when user is denied a vend

icon_vend + + + + +

+

Icon when vending an item to the user

input_display_header + + + + +

+

Display header on the input view

last_reply + + + + +

+

Last world tick we sent a vent reply

last_shopper + + + + +

+

The ref of the last mob to shop with us

last_slogan + + + + +

+

Last world tick we sent a slogan message out

light_mask + + + + +

+

Name of lighting mask for the vending machine

loaded_items + + + + +

+

how many items have been inserted in a vendor

onstation + + + + +

+

Is this item on station or not

+

if it doesn't originate from off-station during mapload, everything is free

onstation_override + + + + +

+

A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements

premium + + + + +

+

List of premium products this machine sells

+

form should be list(/type/path, /type/path2) as there is only ever one in stock

product_ads + + + + +

+

String of small ad messages in the vending screen - random chance

product_slogans + + + + +

+

String of slogans separated by semicolons, optional

products + + + + +

+

List of products this machine sells

+

form should be list(/type/path = amount, /type/path2 = amount2)

purchase_message_cooldown + + + + +

+

Next world time to send a purchase message

scan_id + + + + +

+

Are we checking the users ID

seconds_electrified + + + + +

+

World ticks the machine is electified for

shoot_inventory + + + + +

+

When this is TRUE, we fire items at customers! We're broken!

shoot_inventory_chance + + + + +

+

How likely this is to happen (prob 100) per second

slogan_delay + + + + +

+

How many ticks until we can send another

small_ads + + + + +

+

Small ad messages in the vending screen - random chance of popping up whenever you open it

vend_ready + + + + +

+

Are we ready to vend?? Is it time??

vend_reply + + + + +

+

Message sent post vend (Thank you for shopping!)

Proc Details

Initialize +

+

Initialize the vending machine

+

Builds the vending machine inventory, sets up slogans and other such misc work

+

This also sets the onstation var to:

+

build_inventory +

+

Build the inventory of the vending machine from it's product and record lists

+

This builds up a full set of /datum/data/vending_products from the product list of the vending machine type +Arguments:

+

canLoadItem +

+

Are we able to load the item passed in

+

Arguments:

+

compartmentLoadAccessCheck +

+

Is the passed in user allowed to load this vending machines compartments

+

Arguments:

+

pre_throw +

+

A callback called before an item is tossed out

+

Override this if you need to do any special case handling

+

Arguments:

+

refill_inventory +

+

Refill our inventory from the passed in product list into the record list

+

Arguments:

+

restock +

+

Prices of vending machines are all increased uniformly. +Refill a vending machine from a refill canister

+

This takes the products from the refill canister and then fills the products,contraband and premium product categories

+

Arguments:

+

shock +

+

Shock the passed in user

+

This checks we have power and that the passed in prob is passed, then generates some sparks +and calls electrocute_mob on the user

+

Arguments:

+

speak +

+

Speak the given message verbally

+

Checks if the machine is powered and the message exists

+

Arguments:

+

throw_impact +

+

Crush the mob that the vending machine got thrown at

throw_item +

+

Throw an item from our internal inventory out in front of us

+

This is called when we are hacked, it selects a random product from the records that has an amount > 0 +This item is then created and tossed out in front of us with a visible message

tilt +

+

Tilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.

unbuild_inventory +

+

Given a record list, go through and and return a list of type -> amount

update_canister +

+

Set up a refill canister that matches this machines products

+

This is used when the machine is deconstructed, so the items aren't "lost"

+ + + diff --git a/obj/machinery/vending/custom.html b/obj/machinery/vending/custom.html new file mode 100644 index 00000000000..3e1d3b74e68 --- /dev/null +++ b/obj/machinery/vending/custom.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/vending/custom - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

custom + + + +

+ + + + +

Vars

base64_cacheBase64 cache of custom icons.
max_loaded_itemsmax number of items that the custom vendor can hold
private_awhere the money is sent
+

Var Details

base64_cache + + + + +

+

Base64 cache of custom icons.

max_loaded_items + + + + +

+

max number of items that the custom vendor can hold

private_a + + + + +

+

where the money is sent

+ + + diff --git a/obj/structure/alien/resin/flower_bud_enemy.html b/obj/structure/alien/resin/flower_bud_enemy.html new file mode 100644 index 00000000000..2f3f2585fae --- /dev/null +++ b/obj/structure/alien/resin/flower_bud_enemy.html @@ -0,0 +1,48 @@ + + + + + + + /obj/structure/alien/resin/flower_bud_enemy - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

flower_bud_enemy + + + +

+ +

Kudzu Flower Bud

+

A flower created by flowering kudzu which spawns a venus human trap after a certain amount of time has passed.

+

A flower created by kudzu with the flowering mutation. Spawns a venus human trap after 2 minutes under normal circumstances. +Also spawns 4 vines going out in diagonal directions from the bud. Any living creature not aligned with plants is damaged by these vines. +Once it grows a venus human trap, the bud itself will destroy itself.

+ +

Vars

growth_timeThe amount of time it takes to create a venus human trap, in deciseconds

Procs

bear_fruitSpawns a venus human trap, then qdels itself.
+

Var Details

growth_time + + + + +

+

The amount of time it takes to create a venus human trap, in deciseconds

Proc Details

bear_fruit +

+

Spawns a venus human trap, then qdels itself.

+

Displays a message, spawns a human venus trap, then qdels itself.

+ + + diff --git a/obj/structure/bed/double.html b/obj/structure/bed/double.html new file mode 100644 index 00000000000..d500e2d0803 --- /dev/null +++ b/obj/structure/bed/double.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bed/double - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

double + + + +

+ + +

Vars

goldilocksThe mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.
+

Var Details

goldilocks + + + + +

+

The mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.

+ + + diff --git a/obj/structure/bloodsucker/candelabrum.html b/obj/structure/bloodsucker/candelabrum.html new file mode 100644 index 00000000000..e01ad8b90f1 --- /dev/null +++ b/obj/structure/bloodsucker/candelabrum.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/bloodsucker/candelabrum - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

candelabrum + + + +

+ + +

Procs

Destroyobj/structure/bloodsucker/candelabrum/is_hot() // candle.dm

Proc Details

Destroy +

+

obj/structure/bloodsucker/candelabrum/is_hot() // candle.dm

+ + + diff --git a/obj/structure/bookcase.html b/obj/structure/bookcase.html new file mode 100644 index 00000000000..5623d891e62 --- /dev/null +++ b/obj/structure/bookcase.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/bookcase - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

bookcase + + + +

+ + + + +

Vars

books_to_loadHow many random books to generate.
load_random_booksWhen enabled, books_to_load number of random books will be generated for this bookcase when first interacted with.
random_categoryThe category of books to pick from when populating random books.
+

Var Details

books_to_load + + + + +

+

How many random books to generate.

load_random_books + + + + +

+

When enabled, books_to_load number of random books will be generated for this bookcase when first interacted with.

random_category + + + + +

+

The category of books to pick from when populating random books.

+ + + diff --git a/obj/structure/cable.html b/obj/structure/cable.html new file mode 100644 index 00000000000..7213a964dfb --- /dev/null +++ b/obj/structure/cable.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/cable - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

cable + + + +

+ + +

Procs

shuttleRotateStructure rotate procs

Proc Details

shuttleRotate +

+

Structure rotate procs

+ + + diff --git a/obj/structure/carp_rift.html b/obj/structure/carp_rift.html new file mode 100644 index 00000000000..5c1c5295911 --- /dev/null +++ b/obj/structure/carp_rift.html @@ -0,0 +1,106 @@ + + + + + + + /obj/structure/carp_rift - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

Carp Rift + + + +

+ +

The portals Space Dragon summons to bring carp onto the station.

+

The portals Space Dragon summons to bring carp onto the station. His main objective is to summon 3 of them and protect them from being destroyed. +The portals can summon sentient space carp in limited amounts. The portal also changes color based on whether or not a carp spawn is available. +Once it is fully charged, it becomes indestructible, and intermitently spawns non-sentient carp. It is still destroyed if Space Dragon dies.

+ + + + + + + + +

Vars

carp_intervalThe interval for adding additional space carp spawns to the rift.
carp_storedHow many carp spawns it has available.
charge_stateCurrent charge state of the rift.
dragonA reference to the Space Dragon that created it.
last_carp_incThe time since an extra carp was added to the ghost role spawning pool.
max_chargeThe maximum charge the rift can have.
time_chargedThe amount of time the rift has charged for.

Procs

summon_carpUsed to create carp controlled by ghosts when the option is available.
update_checkDoes a series of checks based on the portal's status.
+

Var Details

carp_interval + + + + +

+

The interval for adding additional space carp spawns to the rift.

carp_stored + + + + +

+

How many carp spawns it has available.

charge_state + + + + +

+

Current charge state of the rift.

dragon + + + + +

+

A reference to the Space Dragon that created it.

last_carp_inc + + + + +

+

The time since an extra carp was added to the ghost role spawning pool.

max_charge + + + + +

+

The maximum charge the rift can have.

time_charged + + + + +

+

The amount of time the rift has charged for.

Proc Details

summon_carp +

+

Used to create carp controlled by ghosts when the option is available.

+

Creates a carp for the ghost to control if we have a carp spawn available. +Gives them prompt to control a carp, and if our circumstances still allow if when they hit yes, spawn them in as a carp. +Also add them to the list of carps in Space Dragon's antgonist datum, so they'll be displayed as having assisted him on round end. +Arguments:

+

update_check +

+

Does a series of checks based on the portal's status.

+

Performs a number of checks based on the current charge of the portal, and triggers various effects accordingly. +If the current charge is a multiple of carp_interval, add an extra carp spawn. +If we're halfway charged, announce to the crew our location in a CENTCOM announcement. +If we're fully charged, tell the crew we are, change our color to yellow, become invulnerable, and give Space Dragon the ability to make another rift, if he hasn't summoned 3 total.

+ + + diff --git a/obj/structure/carving_block.html b/obj/structure/carving_block.html new file mode 100644 index 00000000000..05bb76cdda9 --- /dev/null +++ b/obj/structure/carving_block.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/carving_block - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

carving_block + + + +

+ + + + + + + +

Vars

completionstatue completion from 0 to 1.0
current_preset_typeCurrently chosen preset statue type
current_targetThe thing it will look like - Unmodified resulting statue appearance
greyscale_with_value_bumpHSV color filters parameters
target_appearance_with_filtersGreyscaled target with cutout filter

Procs

get_possible_statuesReturns a list of preset statues carvable from this block depending on the custom materials
+

Var Details

completion + + + + +

+

statue completion from 0 to 1.0

current_preset_type + + + + +

+

Currently chosen preset statue type

current_target + + + + +

+

The thing it will look like - Unmodified resulting statue appearance

greyscale_with_value_bump + + + + +

+

HSV color filters parameters

target_appearance_with_filters + + + + +

+

Greyscaled target with cutout filter

Proc Details

get_possible_statues +

+

Returns a list of preset statues carvable from this block depending on the custom materials

+ + + diff --git a/obj/structure/closet.html b/obj/structure/closet.html new file mode 100644 index 00000000000..99bee4e4444 --- /dev/null +++ b/obj/structure/closet.html @@ -0,0 +1,49 @@ + + + + + + + /obj/structure/closet - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

closet + + + +

+ + + + +

Procs

after_closeProc to override for effects after closing a door
after_openProc to override for effects after opening a door
handle_lock_additioncit specific

Proc Details

after_close +

+

Proc to override for effects after closing a door

after_open +

+

Proc to override for effects after opening a door

handle_lock_addition +

+

cit specific

+ + + diff --git a/obj/structure/closet/crate/secure/owned.html b/obj/structure/closet/crate/secure/owned.html new file mode 100644 index 00000000000..bdce612b63d --- /dev/null +++ b/obj/structure/closet/crate/secure/owned.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/closet/crate/secure/owned - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

owned + + + +

+ + + + + +

Vars

buyer_accountAccount of the person buying the crate if private purchasing.
department_accountDepartment of the person buying the crate if buying via the NIRN app.
department_purchaseIs the crate being bought by a person, or a budget card?
privacy_lockIs the secure crate opened or closed?
+

Var Details

buyer_account + + + + +

+

Account of the person buying the crate if private purchasing.

department_account + + + + +

+

Department of the person buying the crate if buying via the NIRN app.

department_purchase + + + + +

+

Is the crate being bought by a person, or a budget card?

privacy_lock + + + + +

+

Is the secure crate opened or closed?

+ + + diff --git a/obj/structure/closet/secure_closet/cargo/owned.html b/obj/structure/closet/secure_closet/cargo/owned.html new file mode 100644 index 00000000000..e96d20c4b38 --- /dev/null +++ b/obj/structure/closet/secure_closet/cargo/owned.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/closet/secure_closet/cargo/owned - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

owned + + + +

+ + + + + +

Vars

buyer_accountAccount of the person buying the crate if private purchasing.
department_accountDepartment of the person buying the crate if buying via the NIRN app.
department_purchaseIs the crate being bought by a person, or a budget card?
privacy_lockIs the secure crate opened or closed?
+

Var Details

buyer_account + + + + +

+

Account of the person buying the crate if private purchasing.

department_account + + + + +

+

Department of the person buying the crate if buying via the NIRN app.

department_purchase + + + + +

+

Is the crate being bought by a person, or a budget card?

privacy_lock + + + + +

+

Is the secure crate opened or closed?

+ + + diff --git a/obj/structure/closet/supplypod.html b/obj/structure/closet/supplypod.html new file mode 100644 index 00000000000..1bdc79d8209 --- /dev/null +++ b/obj/structure/closet/supplypod.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/closet/supplypod - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

supplypod + + + +

+ + +

Vars

pod_flagsList of bitflags for supply pods, see: code__DEFINES\obj_flags.dm
+

Var Details

pod_flags + + + + +

+

List of bitflags for supply pods, see: code__DEFINES\obj_flags.dm

+ + + diff --git a/obj/structure/displaycase/forsale.html b/obj/structure/displaycase/forsale.html new file mode 100644 index 00000000000..8928b8dc449 --- /dev/null +++ b/obj/structure/displaycase/forsale.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/displaycase/forsale - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

forsale + + + +

+ + + + +

Vars

payments_accThe Account which will receive payment for purchases. Set by the first ID to swipe the tray.
sale_priceThe price of the item being sold. Altered by grab intent ID use.
viewing_uiWe're using the same trick as paper does in order to cache the image, and only load the UI when messed with.
+

Var Details

payments_acc + + + + +

+

The Account which will receive payment for purchases. Set by the first ID to swipe the tray.

sale_price + + + + +

+

The price of the item being sold. Altered by grab intent ID use.

viewing_ui + + + + +

+

We're using the same trick as paper does in order to cache the image, and only load the UI when messed with.

+ + + diff --git a/obj/structure/eldritch_crucible.html b/obj/structure/eldritch_crucible.html new file mode 100644 index 00000000000..9699869acb1 --- /dev/null +++ b/obj/structure/eldritch_crucible.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/eldritch_crucible - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch_crucible + + + +

+ + + + + +

Vars

current_massHow much mass this currently holds
in_useCheck to see if it is currently being used.
max_massMaximum amount of mass

Procs

devourProc that eats the active limb of the victim
+

Var Details

current_mass + + + + +

+

How much mass this currently holds

in_use + + + + +

+

Check to see if it is currently being used.

max_mass + + + + +

+

Maximum amount of mass

Proc Details

devour +

+

Proc that eats the active limb of the victim

+ + + diff --git a/obj/structure/energy_net.html b/obj/structure/energy_net.html new file mode 100644 index 00000000000..1fe93ccded8 --- /dev/null +++ b/obj/structure/energy_net.html @@ -0,0 +1,39 @@ + + + + + + + /obj/structure/energy_net - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

Energy Net + + + +

+ +

Energy net which ensnares prey until it is destroyed. Used by space ninjas.

+

Energy net which keeps its target from moving until it is destroyed. Used to send +players to a holding area in which they could never leave, but such feature has since +been removed.

+

Vars

affectingThe creature currently caught in the net
+

Var Details

affecting + + + + +

+

The creature currently caught in the net

+ + + diff --git a/obj/structure/filingcabinet/employment.html b/obj/structure/filingcabinet/employment.html new file mode 100644 index 00000000000..638474f605a --- /dev/null +++ b/obj/structure/filingcabinet/employment.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/filingcabinet/employment - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

employment + + + +

+ + +

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact
+

Var Details

virgin + + + + +

+

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

+ + + diff --git a/obj/structure/filingcabinet/medical.html b/obj/structure/filingcabinet/medical.html new file mode 100644 index 00000000000..cb1318b561a --- /dev/null +++ b/obj/structure/filingcabinet/medical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/filingcabinet/medical - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

medical + + + +

+ + +

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact
+

Var Details

virgin + + + + +

+

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

+ + + diff --git a/obj/structure/flora/rock.html b/obj/structure/flora/rock.html new file mode 100644 index 00000000000..27e427d2d3e --- /dev/null +++ b/obj/structure/flora/rock.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/flora/rock - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

rock + + + +

+ + + +

Vars

mineAmountAmount of the itemstack to drop
mineResultItemstack that is dropped when a rock is mined with a pickaxe
+

Var Details

mineAmount + + + + +

+

Amount of the itemstack to drop

mineResult + + + + +

+

Itemstack that is dropped when a rock is mined with a pickaxe

+ + + diff --git a/obj/structure/fluff/iced_abductor.html b/obj/structure/fluff/iced_abductor.html new file mode 100644 index 00000000000..6c15c49acb5 --- /dev/null +++ b/obj/structure/fluff/iced_abductor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/fluff/iced_abductor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

iced_abductor + + + +

+ + +

Vars

nameUnless more non-machine ayy structures made, it will stay in fluff.
+

Var Details

name + + + + +

+

Unless more non-machine ayy structures made, it will stay in fluff.

+ + + diff --git a/obj/structure/glowshroom.html b/obj/structure/glowshroom.html new file mode 100644 index 00000000000..d5a4aa25946 --- /dev/null +++ b/obj/structure/glowshroom.html @@ -0,0 +1,111 @@ + + + + + + + /obj/structure/glowshroom - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

glowshroom + + + +

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

Vars

blacklisted_glowshroom_turfsTurfs where the glowshroom cannot spread to
delay_decayTime interval between glowshroom decay checks
delay_spreadTime interval between glowshroom "spreads"
floorBoolean to indicate if the shroom is on the floor/wall
generationMushroom generation number
myseedInternal seed of the glowshroom, stats are stored here
spreadIntoAdjacentChanceChance to spread into adjacent tiles (0-100)

Procs

DecayCauses the glowshroom to decay by decreasing its endurance.
Initialize
SpreadCauses glowshroom spreading across the floor/walls.
+

Var Details

blacklisted_glowshroom_turfs + + + + +

+

Turfs where the glowshroom cannot spread to

delay_decay + + + + +

+

Time interval between glowshroom decay checks

delay_spread + + + + +

+

Time interval between glowshroom "spreads"

floor + + + + +

+

Boolean to indicate if the shroom is on the floor/wall

generation + + + + +

+

Mushroom generation number

myseed + + + + +

+

Internal seed of the glowshroom, stats are stored here

spreadIntoAdjacentChance + + + + +

+

Chance to spread into adjacent tiles (0-100)

Proc Details

Decay +

+

Causes the glowshroom to decay by decreasing its endurance.

+

Arguments:

+

Initialize +

+
Creates a new glowshroom structure.
+
+

Arguments:

+

Spread +

+

Causes glowshroom spreading across the floor/walls.

+ + + diff --git a/obj/structure/grille.html b/obj/structure/grille.html new file mode 100644 index 00000000000..b0884439fed --- /dev/null +++ b/obj/structure/grille.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/grille - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

grille + + + +

+ + +

Procs

beforeShuttleMoveStructure move procs

Proc Details

beforeShuttleMove +

+

Structure move procs

+ + + diff --git a/obj/structure/janitorialcart.html b/obj/structure/janitorialcart.html new file mode 100644 index 00000000000..3ff8c5a419a --- /dev/null +++ b/obj/structure/janitorialcart.html @@ -0,0 +1,39 @@ + + + + + + + /obj/structure/janitorialcart - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

janitorialcart + + + +

+ + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
+ + + diff --git a/obj/structure/legionturret.html b/obj/structure/legionturret.html new file mode 100644 index 00000000000..aaa18a1f8be --- /dev/null +++ b/obj/structure/legionturret.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/legionturret - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

legionturret + + + +

+ +

A basic turret that shoots at nearby mobs. Intended to be used for the legion megafauna.

+ + + + + + +

Vars

factionCompared with the targeted mobs. If they have the faction, turret won't shoot.
initial_firing_timeTime until the tracer gets shot
projectile_typeWhat kind of projectile the actual damaging part should be.
shot_delayHow long it takes between shooting the tracer and the projectile.

Procs

fireCalled when attacking a target. Shoots a projectile at the turf underneath the target.
fire_beamCalled shot_delay after the turret shot the tracer. Shoots a projectile into the same direction.
set_up_shotHandles an extremely basic AI
+

Var Details

faction + + + + +

+

Compared with the targeted mobs. If they have the faction, turret won't shoot.

initial_firing_time + + + + +

+

Time until the tracer gets shot

projectile_type + + + + +

+

What kind of projectile the actual damaging part should be.

shot_delay + + + + +

+

How long it takes between shooting the tracer and the projectile.

Proc Details

fire +

+

Called when attacking a target. Shoots a projectile at the turf underneath the target.

fire_beam +

+

Called shot_delay after the turret shot the tracer. Shoots a projectile into the same direction.

set_up_shot +

+

Handles an extremely basic AI

+ + + diff --git a/obj/structure/loom.html b/obj/structure/loom.html new file mode 100644 index 00000000000..1831e114404 --- /dev/null +++ b/obj/structure/loom.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/loom - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

loom + + + +

+ +

This is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.

+

Procs

weaveHandles the weaving.

Proc Details

weave +

+

Handles the weaving.

+ + + diff --git a/obj/structure/noticeboard.html b/obj/structure/noticeboard.html new file mode 100644 index 00000000000..1d319ad1b41 --- /dev/null +++ b/obj/structure/noticeboard.html @@ -0,0 +1,48 @@ + + + + + + + /obj/structure/noticeboard - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

noticeboard + + + +

+ + + +

Vars

noticesCurrent number of a pinned notices

Procs

remove_itemRemoves an item from the notice board
+

Var Details

notices + + + + +

+

Current number of a pinned notices

Proc Details

remove_item +

+

Removes an item from the notice board

+

Arguments:

+
+ + + diff --git a/obj/structure/railing.html b/obj/structure/railing.html new file mode 100644 index 00000000000..ece6725c9e0 --- /dev/null +++ b/obj/structure/railing.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/railing - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

railing + + + +

+ + + +

Vars

ini_dirInitial direction of the railing.

Procs

wrench_actImplements behaviour that makes it possible to unanchor the railing.
+

Var Details

ini_dir + + + + +

+

Initial direction of the railing.

Proc Details

wrench_act +

+

Implements behaviour that makes it possible to unanchor the railing.

+ + + diff --git a/obj/structure/safe.html b/obj/structure/safe.html new file mode 100644 index 00000000000..6e154e20938 --- /dev/null +++ b/obj/structure/safe.html @@ -0,0 +1,113 @@ + + + + + + + /obj/structure/safe - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

safe + + + +

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

Vars

current_tumbler_indexThe index in the tumblers list of the tumbler dial position that needs to be hit
dialThe position the dial is pointing to
explosion_countTough, but breakable if explosion counts reaches set value
lockedWhether the safe is locked or not
maxspaceThe maximum combined w_class of stuff in the safe
number_of_tumblersThe amount of tumblers that will be generated
openWhether the safe is open or not
spaceThe combined w_class of everything in the safe
tumblersThe list of tumbler dial positions that need to be hit

Procs

check_brokenChecks if safe is considered in a broken state for force-opening the safe
check_unlockedCalled every dial turn to determine whether the safe should unlock or not.
notify_userCalled every dial turn to provide feedback if possible.
+

Var Details

current_tumbler_index + + + + +

+

The index in the tumblers list of the tumbler dial position that needs to be hit

dial + + + + +

+

The position the dial is pointing to

explosion_count + + + + +

+

Tough, but breakable if explosion counts reaches set value

locked + + + + +

+

Whether the safe is locked or not

maxspace + + + + +

+

The maximum combined w_class of stuff in the safe

number_of_tumblers + + + + +

+

The amount of tumblers that will be generated

open + + + + +

+

Whether the safe is open or not

space + + + + +

+

The combined w_class of everything in the safe

tumblers + + + + +

+

The list of tumbler dial positions that need to be hit

Proc Details

check_broken +

+

Checks if safe is considered in a broken state for force-opening the safe

check_unlocked +

+

Called every dial turn to determine whether the safe should unlock or not.

notify_user +

+

Called every dial turn to provide feedback if possible.

+ + + diff --git a/obj/structure/sign/painting.html b/obj/structure/sign/painting.html new file mode 100644 index 00000000000..32e235a047d --- /dev/null +++ b/obj/structure/sign/painting.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/sign/painting - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

painting + + + +

+ + + +

Vars

current_canvasCanvas we're currently displaying.
desc_with_canvasDescription set when canvas is added.
+

Var Details

current_canvas + + + + +

+

Canvas we're currently displaying.

desc_with_canvas + + + + +

+

Description set when canvas is added.

+ + + diff --git a/obj/structure/spawner/ice_moon.html b/obj/structure/spawner/ice_moon.html new file mode 100644 index 00000000000..2343ff4bde0 --- /dev/null +++ b/obj/structure/spawner/ice_moon.html @@ -0,0 +1,49 @@ + + + + + + + /obj/structure/spawner/ice_moon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

ice_moon + + + +

+ + + + +

Procs

clear_rockClears rocks around the spawner when it is created
destroy_effectEffects and messages created when the spawner is destroyed
drop_lootDrops items after the spawner is destroyed

Proc Details

clear_rock +

+

Clears rocks around the spawner when it is created

destroy_effect +

+

Effects and messages created when the spawner is destroyed

drop_loot +

+

Drops items after the spawner is destroyed

+ + + diff --git a/obj/structure/statue.html b/obj/structure/statue.html new file mode 100644 index 00000000000..26bc5163724 --- /dev/null +++ b/obj/structure/statue.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/statue - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

statue + + + +

+ + + + +

Vars

abstract_typeAbstract root type
art_typeArt component subtype added to this statue
impressivenessBeauty component mood modifier
+

Var Details

abstract_type + + + + +

+

Abstract root type

art_type + + + + +

+

Art component subtype added to this statue

impressiveness + + + + +

+

Beauty component mood modifier

+ + + diff --git a/obj/structure/statue/custom.html b/obj/structure/statue/custom.html new file mode 100644 index 00000000000..082a95805b8 --- /dev/null +++ b/obj/structure/statue/custom.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/statue/custom - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

custom + + + +

+ + +

Vars

content_maprimary statue overlay
+

Var Details

content_ma + + + + +

+

primary statue overlay

+ + + diff --git a/obj/structure/table.html b/obj/structure/table.html new file mode 100644 index 00000000000..299b648a85a --- /dev/null +++ b/obj/structure/table.html @@ -0,0 +1,37 @@ + + + + + + + /obj/structure/table - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

table + + + +

+ + +

Procs

connected_floodfillGets all connected tables +Cardinals only

Proc Details

connected_floodfill +

+

Gets all connected tables +Cardinals only

+ + + diff --git a/obj/structure/tank_holder.html b/obj/structure/tank_holder.html new file mode 100644 index 00000000000..a7bf4229b50 --- /dev/null +++ b/obj/structure/tank_holder.html @@ -0,0 +1,45 @@ + + + + + + + /obj/structure/tank_holder - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

tank_holder + + + +

+ +

?

+ +

Vars

tankThe stored tank. If this is a path, it gets created into contents at Initialize.

Procs

after_detach_tankCall this after taking the tank from contents in order to update references, icon +and density.
+

Var Details

tank + + + + +

+

The stored tank. If this is a path, it gets created into contents at Initialize.

Proc Details

after_detach_tank +

+

Call this after taking the tank from contents in order to update references, icon +and density.

+ + + diff --git a/obj/structure/trap/eldritch.html b/obj/structure/trap/eldritch.html new file mode 100644 index 00000000000..ac93bfd6fa7 --- /dev/null +++ b/obj/structure/trap/eldritch.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/trap/eldritch - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch + + + +

+ + + +

Vars

ownerOwner of the trap

Procs

set_ownerProc that sets the owner
+

Var Details

owner + + + + +

+

Owner of the trap

Proc Details

set_owner +

+

Proc that sets the owner

+ + + diff --git a/obj/structure/window.html b/obj/structure/window.html new file mode 100644 index 00000000000..1edf6e9dc14 --- /dev/null +++ b/obj/structure/window.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/window - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

window + + + +

+ + + +

Vars

electrochromatic_idElectrochromatic ID. Set the first character to ! to replace with a SSmapping generated pseudorandom obfuscated ID for mapping purposes.
electrochromatic_statusElectrochromatic status
+

Var Details

electrochromatic_id + + + + +

+

Electrochromatic ID. Set the first character to ! to replace with a SSmapping generated pseudorandom obfuscated ID for mapping purposes.

electrochromatic_status + + + + +

+

Electrochromatic status

+ + + diff --git a/obj/vehicle/ridden/scooter/skateboard.html b/obj/vehicle/ridden/scooter/skateboard.html new file mode 100644 index 00000000000..c4c1399a53e --- /dev/null +++ b/obj/vehicle/ridden/scooter/skateboard.html @@ -0,0 +1,71 @@ + + + + + + + /obj/vehicle/ridden/scooter/skateboard - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

skateboard + + + +

+ + + + + + + +

Vars

board_iconStores the default icon state
board_item_typeThe handheld item counterpart for the board
grindingWhether the board is currently grinding
instabilityStamina drain multiplier
next_crashStores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions

Procs

grindMoves the vehicle forward and if it lands on a table, repeats
+

Var Details

board_icon + + + + +

+

Stores the default icon state

board_item_type + + + + +

+

The handheld item counterpart for the board

grinding + + + + +

+

Whether the board is currently grinding

instability + + + + +

+

Stamina drain multiplier

next_crash + + + + +

+

Stores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions

Proc Details

grind +

+

Moves the vehicle forward and if it lands on a table, repeats

+ + + diff --git a/obj/vehicle/sealed/car/clowncar.html b/obj/vehicle/sealed/car/clowncar.html new file mode 100644 index 00000000000..7a18dbf6324 --- /dev/null +++ b/obj/vehicle/sealed/car/clowncar.html @@ -0,0 +1,132 @@ + + + + + + + /obj/vehicle/sealed/car/clowncar - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

clowncar + + + +

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

Vars

cannonmodeCurrent status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY
dice_cooldown_timeCooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages
headlight_colorslist of headlight colors we use to pick through when we have party mode due to emag
thankscountHow many times kidnappers in the clown car said thanks

Procs

activate_cannonFinalizes canon activation
cover_in_oilDeploys oil when the clowncar moves in oil deploy mode
deactivate_cannonFinalizes canon deactivation
fire_cannon_atFires the cannon where the user clicks
increment_thanks_counterIncrements the thanks counter every time someone thats been kidnapped thanks the driver
reset_iconresets the icon and iconstate of the clowncar after it was set to singulo states
roll_the_dicePlays a random funky effect +Only available while car is emagged +Possible effects:
stop_dropping_oilStops dropping oil after the time has run up
toggle_cannonToggles the on and off state of the clown cannon that shoots random kidnapped people
+

Var Details

cannonmode + + + + +

+

Current status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY

dice_cooldown_time + + + + +

+

Cooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages

headlight_colors + + + + +

+

list of headlight colors we use to pick through when we have party mode due to emag

thankscount + + + + +

+

How many times kidnappers in the clown car said thanks

Proc Details

activate_cannon +

+

Finalizes canon activation

cover_in_oil +

+

Deploys oil when the clowncar moves in oil deploy mode

deactivate_cannon +

+

Finalizes canon deactivation

fire_cannon_at +

+

Fires the cannon where the user clicks

increment_thanks_counter +

+

Increments the thanks counter every time someone thats been kidnapped thanks the driver

reset_icon +

+

resets the icon and iconstate of the clowncar after it was set to singulo states

roll_the_dice +

+

Plays a random funky effect +Only available while car is emagged +Possible effects:

+

stop_dropping_oil +

+

Stops dropping oil after the time has run up

toggle_cannon +

+

Toggles the on and off state of the clown cannon that shoots random kidnapped people

+ + + diff --git a/obj/vehicle/sealed/mecha.html b/obj/vehicle/sealed/mecha.html new file mode 100644 index 00000000000..433f2f21375 --- /dev/null +++ b/obj/vehicle/sealed/mecha.html @@ -0,0 +1,574 @@ + + + + + + + /obj/vehicle/sealed/mecha - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha + + + +

+ +

WELCOME TO MECHA.DM, ENJOY YOUR STAY

+

Mechs are now (finally) vehicles, this means you can make them multicrew +They can also grant select ability buttons based on occupant bitflags

+

Movement is handled through vehicle_move() which is called by relaymove +Clicking is done by way of signals registering to the entering mob +NOTE: MMIS are NOT mobs but instead contain a brain that is, so you need special checks +AI also has special checks becaus it gets in and out of the mech differently +Always call remove_occupant(mob) when leaving the mech so the mob is removed properly

+

For multi-crew, you need to set how the occupants recieve ability bitflags corresponding to their status on the vehicle(i.e: driver, gunner etc) +Abilities can then be set to only apply for certain bitflags and are assigned as such automatically

+

Clicks are wither translated into mech_melee_attack (see mech_melee_attack.dm) +Or are used to call action() on equipped gear +Cooldown for gear is on the mech because exploits

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

Vars

active_thrusters/Action vars +Ref to any active thrusters we might have
allow_diagonal_movementWhether this mech is allowed to move diagonally
bumpsmashWhether or not the mech destroys walls by running into it.
cabin_airInternal air mix datum
capacitorKeeps track of the mech's capacitor
cellKeeps track of the mech's cell
completely_disabledJust stop the mech from doing anything
connected_portThe connected air port, if we have one
construction_stateWhether the mechs maintenance protocols are on or off
defense_modeBool for energy shield on/off
deflect_chancechance to deflect the incoming projectiles, hits, or lesser the effect of ex_act.
destruction_sleep_durationTime you get slept for if you get forcible ejected by the mech exploding
dir_inWhat direction will the mech face when entered/powered on? Defaults to South.
dna_lockStores the DNA enzymes of a carbon so tht only they can access the mech
equipment_disabledif we cant use our equipment(such as due to EMP)
exit_delayTIme taken to leave the mech
facing_modifiersModifiers for directional armor
internal_damageBitflags for internal damage
internal_damage_thresholdhealth percentage below which internal damage is possible
internal_tankThe internal air tank obj of the mech
internal_tank_valveThe setting of the valve on the internal tank
internals_req_accessrequired access to change internal components
is_currently_ejectingCurrently ejecting, and unable to do things
lavaland_onlyBool for whether this mech can only be used on lavaland
leg_overload_coeffEnergy use modifier for leg overload
leg_overload_modeBool for leg overload on/off
lights_powerHow powerful our lights are
max_equipMaximum amount of equipment we can have
mecha_flagsContains flags for the mecha
melee_cooldownCooldown duration between melee punches
melee_energy_drainHow much energy we drain each time we mechpunch someone
normal_step_energy_drainHow much energy the mech will consume each time it moves. This variable is a backup for when leg actuators affect the energy drain.
operation_req_accessrequired access level for mecha operation
overload_step_energy_drain_minThe minimum amount of energy charge consumed by leg overload
phase_stateicon_state for flick() when phazing
phasingBool for if the mech is currently phasing
phasing_energy_drainPower we use every time we phaze through something
radioSpecial version of the radio, which is unsellable
scanmodKeeps track of the mech's scanning module
selectedCurrent active equipment
silicon_icon_stateWhether outside viewers can see the pilot inside +In case theres a different iconstate for AI/MMI pilot(currently only used for ripley)
smashcooldownCooldown length between bumpsmashes
smoke_chargesRemaining smoke charges
smoke_cooldownCooldown between using smoke
spark_systemSpark effects are handled by this datum
step_energy_drainHow much energy the mech will consume each time it moves. this is the current active energy consumed
step_silentWhether our steps are silent, for example in zero-G
stepsoundSound played when the mech moves
strafeWether we are strafing
turnsoundSound played when the mech walks
use_internal_tank////////ATMOS +Whether we are currrently drawing from the internal tank
wreckageTypepath for the wreckage it spawns when destroyed

Procs

TopicTopic
add_airtankUpdates the values given by scanning module and capacitor tier, called when a part is removed or inserted.
add_capacitorAdds a capacitor, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
add_cellAdds a cell, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
add_scanmodAdds a scanning module, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
aimob_enter_mechHandles an actual AI (simple_animal mecha pilot) entering the mech
aimob_exit_mechHandles an actual AI (simple_animal mecha pilot) exiting the mech
ammo_resupplyAmmo stuff
attack_aiAI piloting
check_for_internal_damageInternal damage
generate_action_typeMECHA ACTIONS
get_actionsReturns HTML for mech actions. Ideally, this proc would be empty for the base mecha. Segmented for easy refactoring.
get_commandsHTML for commands.
get_equipment_listHTML for list of equipment.
get_stats_htmlRendering stats window
get_stats_partReturns the status of the mech.
has_chargePower stuff
on_mouseclickAction processing
operation_allowedAccess stuff
play_stepsound///// Movement procs ////////
remove_airAtmospheric stuff
report_internal_damageHTML for internal damage.
stationary_repairRepairs internal damage if the mech hasn't moved.
+

Var Details

active_thrusters + + + + +

+

/Action vars +Ref to any active thrusters we might have

allow_diagonal_movement + + + + +

+

Whether this mech is allowed to move diagonally

bumpsmash + + + + +

+

Whether or not the mech destroys walls by running into it.

cabin_air + + + + +

+

Internal air mix datum

capacitor + + + + +

+

Keeps track of the mech's capacitor

cell + + + + +

+

Keeps track of the mech's cell

completely_disabled + + + + +

+

Just stop the mech from doing anything

connected_port + + + + +

+

The connected air port, if we have one

construction_state + + + + +

+

Whether the mechs maintenance protocols are on or off

defense_mode + + + + +

+

Bool for energy shield on/off

deflect_chance + + + + +

+

chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act.

destruction_sleep_duration + + + + +

+

Time you get slept for if you get forcible ejected by the mech exploding

dir_in + + + + +

+

What direction will the mech face when entered/powered on? Defaults to South.

dna_lock + + + + +

+

Stores the DNA enzymes of a carbon so tht only they can access the mech

equipment_disabled + + + + +

+

if we cant use our equipment(such as due to EMP)

exit_delay + + + + +

+

TIme taken to leave the mech

facing_modifiers + + + + +

+

Modifiers for directional armor

internal_damage + + + + +

+

Bitflags for internal damage

internal_damage_threshold + + + + +

+

health percentage below which internal damage is possible

internal_tank + + + + +

+

The internal air tank obj of the mech

internal_tank_valve + + + + +

+

The setting of the valve on the internal tank

internals_req_access + + + + +

+

required access to change internal components

is_currently_ejecting + + + + +

+

Currently ejecting, and unable to do things

lavaland_only + + + + +

+

Bool for whether this mech can only be used on lavaland

leg_overload_coeff + + + + +

+

Energy use modifier for leg overload

leg_overload_mode + + + + +

+

Bool for leg overload on/off

lights_power + + + + +

+

How powerful our lights are

max_equip + + + + +

+

Maximum amount of equipment we can have

mecha_flags + + + + +

+

Contains flags for the mecha

melee_cooldown + + + + +

+

Cooldown duration between melee punches

melee_energy_drain + + + + +

+

How much energy we drain each time we mechpunch someone

normal_step_energy_drain + + + + +

+

How much energy the mech will consume each time it moves. This variable is a backup for when leg actuators affect the energy drain.

operation_req_access + + + + +

+

required access level for mecha operation

overload_step_energy_drain_min + + + + +

+

The minimum amount of energy charge consumed by leg overload

phase_state + + + + +

+

icon_state for flick() when phazing

phasing + + + + +

+

Bool for if the mech is currently phasing

phasing_energy_drain + + + + +

+

Power we use every time we phaze through something

radio + + + + +

+

Special version of the radio, which is unsellable

scanmod + + + + +

+

Keeps track of the mech's scanning module

selected + + + + +

+

Current active equipment

silicon_icon_state + + + + +

+

Whether outside viewers can see the pilot inside +In case theres a different iconstate for AI/MMI pilot(currently only used for ripley)

smashcooldown + + + + +

+

Cooldown length between bumpsmashes

smoke_charges + + + + +

+

Remaining smoke charges

smoke_cooldown + + + + +

+

Cooldown between using smoke

spark_system + + + + +

+

Spark effects are handled by this datum

step_energy_drain + + + + +

+

How much energy the mech will consume each time it moves. this is the current active energy consumed

step_silent + + + + +

+

Whether our steps are silent, for example in zero-G

stepsound + + + + +

+

Sound played when the mech moves

strafe + + + + +

+

Wether we are strafing

turnsound + + + + +

+

Sound played when the mech walks

use_internal_tank + + + + +

+

////////ATMOS +Whether we are currrently drawing from the internal tank

wreckage + + + + +

+

Typepath for the wreckage it spawns when destroyed

Proc Details

Topic +

+

Topic

add_airtank +

+

Updates the values given by scanning module and capacitor tier, called when a part is removed or inserted.

+

/// Helpers /////////

add_capacitor +

+

Adds a capacitor, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

add_cell +

+

Adds a cell, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

add_scanmod +

+

Adds a scanning module, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

aimob_enter_mech +

+

Handles an actual AI (simple_animal mecha pilot) entering the mech

aimob_exit_mech +

+

Handles an actual AI (simple_animal mecha pilot) exiting the mech

ammo_resupply +

+

Ammo stuff

attack_ai +

+

AI piloting

check_for_internal_damage +

+

Internal damage

generate_action_type +

+

MECHA ACTIONS

get_actions +

+

Returns HTML for mech actions. Ideally, this proc would be empty for the base mecha. Segmented for easy refactoring.

get_commands +

+

HTML for commands.

get_equipment_list +

+

HTML for list of equipment.

get_stats_html +

+

Rendering stats window

get_stats_part +

+

Returns the status of the mech.

has_charge +

+

Power stuff

on_mouseclick +

+

Action processing

operation_allowed +

+

Access stuff

play_stepsound +

+

///// Movement procs ////////

+

Plays the mech step sound effect. Split from movement procs so that other mechs (HONK) can override this one specific part.

remove_air +

+

Atmospheric stuff

report_internal_damage +

+

HTML for internal damage.

stationary_repair +

+

Repairs internal damage if the mech hasn't moved.

+ + + diff --git a/obj/vehicle/sealed/mecha/combat/durand.html b/obj/vehicle/sealed/mecha/combat/durand.html new file mode 100644 index 00000000000..0cb7714b558 --- /dev/null +++ b/obj/vehicle/sealed/mecha/combat/durand.html @@ -0,0 +1,44 @@ + + + + + + + /obj/vehicle/sealed/mecha/combat/durand - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

durand + + + +

+ + + +

Procs

defense_check*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.
relayRelays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

Proc Details

defense_check +

+

*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.

relay +

+

Relays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

+ + + diff --git a/obj/vehicle/sealed/mecha/working.html b/obj/vehicle/sealed/mecha/working.html new file mode 100644 index 00000000000..3df2d6d5b88 --- /dev/null +++ b/obj/vehicle/sealed/mecha/working.html @@ -0,0 +1,36 @@ + + + + + + + /obj/vehicle/sealed/mecha/working - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

working + + + +

+ + +

Procs

collect_oreHandles collecting ore.

Proc Details

collect_ore +

+

Handles collecting ore.

+

Checks for a hydraulic clamp or ore box manager and if it finds an ore box inside them puts ore in the ore box.

+ + + diff --git a/obj/vehicle/sealed/mecha/working/ripley.html b/obj/vehicle/sealed/mecha/working/ripley.html new file mode 100644 index 00000000000..a57c31a4998 --- /dev/null +++ b/obj/vehicle/sealed/mecha/working/ripley.html @@ -0,0 +1,72 @@ + + + + + + + /obj/vehicle/sealed/mecha/working/ripley - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

ripley + + + +

+ + + + + + + +

Vars

cargoList of all things in Ripley's Cargo Compartment
cargo_capacityHow much things Ripley can carry in their Cargo Compartment
fast_pressure_step_inHow fast the mech is in low pressure
hidesAmount of Goliath hides attached to the mech
slow_pressure_step_inHow fast the mech is in normal pressure

Procs

update_pressureMakes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure.
+

Var Details

cargo + + + + +

+

List of all things in Ripley's Cargo Compartment

cargo_capacity + + + + +

+

How much things Ripley can carry in their Cargo Compartment

fast_pressure_step_in + + + + +

+

How fast the mech is in low pressure

hides + + + + +

+

Amount of Goliath hides attached to the mech

slow_pressure_step_in + + + + +

+

How fast the mech is in normal pressure

Proc Details

update_pressure +

+

Makes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure.

+

Checks for Lavaland pressure, if that works out the mech's speed is equal to fast_pressure_step_in and the cooldown for the mecha drill is halved. If not it uses slow_pressure_step_in and drill cooldown is normal.

+ + + diff --git a/procpath.html b/procpath.html new file mode 100644 index 00000000000..e868b0ea67c --- /dev/null +++ b/procpath.html @@ -0,0 +1,73 @@ + + + + + + + /procpath - Nostra-13 + + +
+ Nostra-13 - + 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/tools/CreditsTool/remappings.html b/tools/CreditsTool/remappings.html new file mode 100644 index 00000000000..05c0bc6f47f --- /dev/null +++ b/tools/CreditsTool/remappings.html @@ -0,0 +1,57 @@ + + + + + + + tools/CreditsTool/remappings.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/CreditsTool/remappings.txt + +

+ + +
# To make your name something other than your github name type it in the format "<github name> <credited name>
+# e.g.
+# Cyberboss Jordan Brown
+# To suppress your name from appearing in the credits do "<github name> __REMOVE__
+# e.g.
+# Cyberboss __REMOVE__
+
+tgstation-server Thanks for playing!
+
+optimumtact oranges
+qustinnus Floyd / Qustinnus
+catalystfd __REMOVE__
+TheVekter Vekter
+ChangelingRain Joan
+NewSta1 NewSta
+theOperand Miauw
+PraiseRatvar Frozenguy5
+FuryMcFlurry Fury McFlurry
+vuonojenmustaturska Naksu
+praisenarsie Frozenguy5
+MrDoomBringer Mr. DoomBringer
+Fikou Dr. Fikou
+TiviPlus Tivi Plus
+tralezab Trale Zab
+Iamgoofball goofball
+Tharcoonvagh Tharcoon
+Rectification itseasytosee
+ATHATH ATH1909
+trollbreeder troll breeder
+BuffEngineering Buff Engineering```
+
+ + + diff --git a/tools/HitboxExpander.html b/tools/HitboxExpander.html new file mode 100644 index 00000000000..0358eadfe84 --- /dev/null +++ b/tools/HitboxExpander.html @@ -0,0 +1,34 @@ + + + + + + + tools/HitboxExpander/README.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/HitboxExpander/README.txt + +

+ + +
Usage: tools/bootstrap/python -m HitboxExpander <path_to_file.dmi or png>
+
+This tool expands the hitbox of the given image by 1 pixel.
+Works by changing some of the fully-transparent pixels to alpha=1 black pixels.
+Naked human eye usually cannot notice the difference.
+
+No space carps or corgis have been used or injured in the production of this tool.
+
+ + + diff --git a/tools/LinuxOneShot.html b/tools/LinuxOneShot.html new file mode 100644 index 00000000000..e831b29504a --- /dev/null +++ b/tools/LinuxOneShot.html @@ -0,0 +1,107 @@ + + + + + + + tools/LinuxOneShot/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/LinuxOneShot/README.md + +

+ + +

This is @Cyberboss rage code

+

The goal is a one stop solution for hosting /tg/station on linux via Docker. Will not work with Docker on Windows.

+

This requires Docker with the docker-compose command to be installed on your system. See ubuntu instructions here. If you fail to find the docker-ce package refer to this StackOverflow answer.

+

Some basic configuration options in docker-compose.yml before starting:

+
    +
  • Change TGS_ADMIN_CKEY to your ckey so you may have initial control over the server.
  • +
  • Change TGS_SCHEMA_MAJOR_VERSION to your repo's latest schema major version.
  • +
  • Change TGS_SCHEMA_MINOR_VERSION to your repo's latest schema minor version.
  • +
  • If you want to change the MariaDB password, there are three locations in the file it must be changed from its default value of ChangeThisInBothMariaDBAndTgsConnectionString.
  • +
  • Change TGS_BYOND to set the initial BYOND version.
  • +
  • Ports are mapped in the form <external>:<internal> NEVER change the internal port. If you want to prevent a service from being exposed, delete/comment out the entire line. +
      +
    • The first (3306) is the exposed mariadb port. Do not expose this over the internet without changing the password. In general it's a bad idea.
    • +
    • The second (1337) is the exposed DreamDaemon port
    • +
    • The third (5000) is the exposed TGS API port. Do not expose this over the internet. Setup an HTTPS reverse proxy instead.
    • +
    +
  • +
  • Change TGS_REPO to set the repository used. Note, this must be a /tg/ derivative from at least 2019 that implements the latest TGS DreamMaker API. Repositories that follow tgstation/tgstation will have this automatically. It also must contain a prefixed SQL schema setup file.
  • +
+

To launch, change to this directory and run docker-compose up. The initial setup will take a long time. If that fails, Ctrl+C out, run docker-compose down, remove ./TGS_Instances and ./Database, and try again. Once setup is complete, you can either leave the terminal running, or Ctrl+C out (this will stop DreamDaemon) and run docker-compose -d to run it in the background.

+

What it does:

+
    +
  • Starts mariadb with the data files in ./Database on port 3306
  • +
  • Installs and starts Tgs4 (using latest stable docker tag, no HTTPS) on port 5000. Configuration in ./TGS_Config, logs in ./TGS_Logs.
  • +
  • Configures a TGS instance for tgstation in ./TGS_Instances (SetupProgram) +
      +
    • The instance is configured to autostart
    • +
    • Repo is cloned from the origin specified in the docker-compose.yml
    • +
    • BYOND version is set to the latest one specified in the docker-compose.yml
    • +
    • A script will be run to setup dependencies. This does the following every time the game is built: +
        +
      • Reads dependency information from dependencies.sh in the root of the repository
      • +
      • Installs the following necessary packages into the TGS image +
          +
        • Rust/cargo
        • +
        • git
        • +
        • cmake
        • +
        • grep
        • +
        • g++-6
        • +
        • g++-6-multilib
        • +
        • mysql-client
        • +
        • libmariadb-dev:i386
        • +
        • libssl-dev:i386
        • +
        +
      • +
      • Builds rust-g in ./TGS_Instances/main/Configuration/EventScripts/rust-g and copies the artifact to the game directory.
      • +
      • Builds BSQL in ./TGS_Instances/main/Configuration/EventScripts/BSQL and copies the artifact to the game directory.
      • +
      • Sets up ./TGS_Instances/main/Configuration/GameStaticFiles/config with the initial repository config.
      • +
      • Sets up ./TGS_Instances/main/Configuration/GameStaticFiles/data.
      • +
      • If it doesn't exist, create the ss13_db database on the mariadb server and populate it with the repository's.
      • +
      +
    • +
    • Start DreamDaemon and configure it to autostart and keep it running via TGS.
    • +
    • Updates will be pulled from the default repository branch and deployed every hour
    • +
    +
  • +
+

What it DOESN'T do:

+
    +
  • Configure sane MariaDB security
  • +
  • TGS Test merging
  • +
  • TGS Chat bots
  • +
  • Handle updating BYOND versions
  • +
  • Handle updating the database schema
  • +
  • Manage TGS users, permissions, or change the default admin password
  • +
  • Provide HTTPS for TGS
  • +
  • Expose the DB to the internet UNLESS you have port 3306 forwarded for some ungodly reason
  • +
  • Port forward or setup firewall rules for DreamDaemon or TGS
  • +
  • Notify you of TGS errors past initial setup
  • +
  • Keep MariaDB logs
  • +
  • Backup ANYTHING
  • +
  • Pretend like it's a long term solution
  • +
+

This is enough to host a production level server !!!IN THEORY!!! This script guarantees nothing and comes with no warranty

+

You can change the TGS_BYOND and TGS_REPO variables when setting up the first time. But further configuration must be done with TGS itself.

+

You can connect to TGS with Tgstation.Server.ControlPanel (Binaries provided for windows, must be compiled manually on Linux).

+
    +
  • Connect to http://localhost:5000. Be sure to Use Plain HTTP and Default Credentials
  • +
+

You should learn how to manually setup TGS if you truly want control over what your server does.

+

You have been warned.

+ + + diff --git a/tools/Redirector/config.html b/tools/Redirector/config.html new file mode 100644 index 00000000000..7011993ea1d --- /dev/null +++ b/tools/Redirector/config.html @@ -0,0 +1,39 @@ + + + + + + + tools/Redirector/config.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/Redirector/config.txt + +

+ + +
[SERVERS]
+## Simply enter a list of servers to poll. Be sure to specify a server name in parentheses.
+
+(Sibyl #1) byond://game.nanotrasen.com:1337
+
+(Sibyl #2) byond://game.nanotrasen.com:2337
+
+
+[ADMINS]
+## Specify some standard Windows filepaths (you may use relative paths) for admin txt lists to poll.
+
+C:\SS13\config\admins.txt
+
+ + + diff --git a/tools/Redirector/textprocs.html b/tools/Redirector/textprocs.html new file mode 100644 index 00000000000..f8d092bf446 --- /dev/null +++ b/tools/Redirector/textprocs.html @@ -0,0 +1,36 @@ + + + + + + + tools/Redirector/textprocs.dm - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/Redirector/textprocs.dm + +

+ + + + + + + + + + + +
/proc/dd_file2listReading files
/proc/dd_replacetextReplacing text
/proc/dd_hasprefixPrefix checking
/proc/dd_hassuffixSuffix checking
/proc/dd_text2listTurning text into lists
+ + + diff --git a/tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.html b/tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.html new file mode 100644 index 00000000000..d852479e589 --- /dev/null +++ b/tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.html @@ -0,0 +1,2994 @@ + + + + + + + tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.txt + +

+ + +
..code\datums\outfit.dm 
+list(path = count)
+list(otherpath = count)
+Total Unquoted List Associations: 2
+..code\game\gamemodes\blob\theblob.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\blob\blobs\core.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 75)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\blob\blobs\node.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 65)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\blob\blobs\shield.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\changeling\powers\mutations.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 4)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 4)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 32
+..code\game\gamemodes\clock_cult\clock_items\clockwork_armor.dm 
+list(bullet = 70)
+list(energy = 0)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 70)
+list(energy = 0)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 70)
+list(energy = 0)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 21
+..code\game\gamemodes\clock_cult\clock_scriptures\scripture_revenant.dm 
+list(time = 88)
+Total Unquoted List Associations: 1
+..code\game\gamemodes\cult\cult_items.dm 
+list(bullet = 10)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 30)
+list(laser = 50)
+list(energy = 20)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 30)
+list(laser = 50)
+list(energy = 20)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 40)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 40)
+list(acid = 75)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 30)
+list(rad = 30)
+list(fire = 50)
+list(acid = 60)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 30)
+list(rad = 30)
+list(fire = 50)
+list(acid = 50)
+list(fire = 0)
+list(acid = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 68
+..code\game\gamemodes\gang\dominator.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 10)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\gang\gang_datum.dm 
+list(bullet = 30)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\miniantags\abduction\abduction_gear.dm 
+list(bullet = 15)
+list(laser = 15)
+list(energy = 15)
+list(bomb = 15)
+list(bio = 15)
+list(rad = 15)
+list(fire = 70)
+list(acid = 70)
+list(bullet = 15)
+list(laser = 15)
+list(energy = 15)
+list(bomb = 15)
+list(bio = 15)
+list(rad = 15)
+list(fire = 70)
+list(acid = 70)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 50)
+list(bio = 50)
+list(rad = 50)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 24
+..code\game\gamemodes\nuclear\nuclearbomb.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\machinery\ai_slipper.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\machinery\buttons.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\deployable.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 10)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\machinery\firealarm.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\machinery\hologram.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\machinery\igniter.dm 
+list(bullet = 30)
+list(laser = 70)
+list(energy = 50)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\machinery.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\navbeacon.dm 
+list(bullet = 70)
+list(laser = 70)
+list(energy = 70)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\game\machinery\newscaster.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\machinery\requests_console.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\machinery\spaceheater.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 10)
+Total Unquoted List Associations: 8
+..code\game\machinery\vending.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 70)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 136
+..code\game\machinery\camera\camera.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\machinery\computer\computer.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 40)
+list(acid = 20)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\door.dm 
+list(bullet = 30)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\firedoor.dm 
+list(bullet = 30)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 95)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\poddoor.dm 
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\windowdoor.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 70)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\machinery\porta_turret\portable_turret.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\mecha\mecha.dm 
+list(bullet = 10)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\combat.dm 
+list(bullet = 30)
+list(laser = 15)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\durand.dm 
+list(bullet = 35)
+list(laser = 15)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\gygax.dm 
+list(bullet = 20)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 35)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 16
+..code\game\mecha\combat\honker.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\marauder.dm 
+list(bullet = 55)
+list(laser = 40)
+list(energy = 30)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\phazon.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\reticence.dm 
+list(bullet = 20)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\working\ripley.dm 
+list(bullet = 20)
+list(laser = 10)
+list(energy = 20)
+list(bomb = 40)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 16
+..code\game\objects\items.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\objs.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\structures.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\religion.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+list(bullet = 60)
+list(laser = 60)
+list(energy = 50)
+list(bomb = 70)
+list(bio = 50)
+list(rad = 50)
+list(fire = 60)
+list(acid = 60)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+Total Unquoted List Associations: 32
+..code\game\objects\items\devices\PDA\PDA.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\stacks\sheets\glass.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 100)
+Total Unquoted List Associations: 24
+..code\game\objects\items\stacks\sheets\sheet_types.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 80)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 0)
+Total Unquoted List Associations: 16
+..code\game\objects\items\stacks\tiles\tile_types.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\cards_ids.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\defib.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\handcuffs.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\kitchen.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 24
+..code\game\objects\items\weapons\pneumaticCannon.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\powerfist.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 40)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\RCD.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\RPD.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\RSF.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\shields.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\singularityhammer.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 0)
+list(bomb = 50)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\stunbaton.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 50)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\teleportation.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\tools.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+Total Unquoted List Associations: 40
+..code\game\objects\items\weapons\twohanded.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+Total Unquoted List Associations: 32
+..code\game\objects\items\weapons\vending_items.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\weaponry.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 24
+..code\game\objects\items\weapons\melee\energy.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\storage\backpack.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\tanks\tanks.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\tanks\watertank.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\barsigns.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\displaycase.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\fireaxe.dm 
+list(bullet = 20)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\grille.dm 
+list(bullet = 70)
+list(laser = 70)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\holosign.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 20)
+list(acid = 20)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\lattice.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\mineral_doors.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\plasticflaps.dm 
+list(bullet = 80)
+list(laser = 80)
+list(energy = 100)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\signs.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\tables_racks.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 100)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 16
+..code\game\objects\structures\window.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 25)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 100)
+Total Unquoted List Associations: 32
+..code\game\objects\structures\crates_lockers\closets.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 60)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\crates_lockers\crates\secure.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\airalarm.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\atmosmachinery.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\components\unary_devices\cryo.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 30)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\components\unary_devices\thermomachine.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\other\meter.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 40)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\portable\canister.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\portable\portable_atmospherics.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 60)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\awaymissions\mission_ 
+list(bullet = 10)
+list(laser = 0)
+list(energy = 5)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 25)
+list(acid = 25)
+Total Unquoted List Associations: 8
+..code\modules\client\preferences.dm 
+list(widthPerColumn = 295)
+list(height = 620)
+Total Unquoted List Associations: 2
+..code\modules\clothing\chameleon.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 5)
+list(laser = 5)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 5)
+list(laser = 5)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 72
+..code\modules\clothing\clothing.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 50)
+list(fire = 80)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 50)
+list(fire = 80)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 32
+..code\modules\clothing\glasses\glasses.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\clothing\gloves\color.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\gloves\miscellaneous.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+list(bullet = 35)
+list(laser = 35)
+list(energy = 20)
+list(bomb = 35)
+list(bio = 35)
+list(rad = 35)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 24
+..code\modules\clothing\head\hardhat.dm 
+list(bullet = 5)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 10)
+list(rad = 20)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\head\helmet.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 40)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 40)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 5)
+list(bio = 2)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 90)
+list(rad = 20)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 5)
+list(bio = 2)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 25)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 5)
+list(rad = 20)
+list(fire = 40)
+list(acid = 20)
+Total Unquoted List Associations: 80
+..code\modules\clothing\head\jobs.dm 
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 5)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 50)
+list(acid = 60)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 60)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 20)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 50)
+Total Unquoted List Associations: 56
+..code\modules\clothing\head\misc.dm 
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 15)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 16
+..code\modules\clothing\head\misc_special.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 60)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 32
+..code\modules\clothing\head\soft_caps.dm 
+list(bullet = 25)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 20)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\masks\gasmask.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 55)
+list(bullet = 0)
+list(laser = 2)
+list(energy = 2)
+list(bomb = 0)
+list(bio = 75)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 16
+..code\modules\clothing\masks\miscellaneous.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 25)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\clothing\neck\ties.dm 
+list(bullet = 5)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 5)
+list(fire = 0)
+list(acid = 25)
+Total Unquoted List Associations: 8
+..code\modules\clothing\shoes\miscellaneous.dm 
+list(bullet = 25)
+list(laser = 25)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 10)
+list(rad = 0)
+list(fire = 70)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 25)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 30)
+list(rad = 30)
+list(fire = 90)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 40)
+list(acid = 75)
+Total Unquoted List Associations: 24
+..code\modules\clothing\spacesuits\chronosuit.dm 
+list(bullet = 30)
+list(laser = 60)
+list(energy = 60)
+list(bomb = 30)
+list(bio = 90)
+list(rad = 90)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 60)
+list(laser = 60)
+list(energy = 60)
+list(bomb = 30)
+list(bio = 90)
+list(rad = 90)
+list(fire = 100)
+list(acid = 1000)
+Total Unquoted List Associations: 16
+..code\modules\clothing\spacesuits\flightsuit.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 24
+..code\modules\clothing\spacesuits\hardsuit.dm 
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 90)
+list(fire = 100)
+list(acid = 90)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 90)
+list(fire = 100)
+list(acid = 90)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 90)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 90)
+list(bullet = 60)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 55)
+list(bio = 100)
+list(rad = 70)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 60)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 55)
+list(bio = 100)
+list(rad = 70)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 60)
+list(fire = 60)
+list(acid = 80)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 60)
+list(fire = 60)
+list(acid = 80)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 25)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 50)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 25)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 50)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 30)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 30)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 280
+..code\modules\clothing\spacesuits\miscellaneous.dm 
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 90)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 60)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 60)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 50)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 0)
+list(acid = 95)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 50)
+list(acid = 65)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 50)
+list(acid = 65)
+list(bullet = 40)
+list(laser = 30)
+list(energy = 25)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 40)
+list(laser = 30)
+list(energy = 25)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 75)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 75)
+Total Unquoted List Associations: 120
+..code\modules\clothing\spacesuits\plasmamen.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+Total Unquoted List Associations: 16
+..code\modules\clothing\spacesuits\syndi.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 80)
+list(acid = 85)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 80)
+list(acid = 85)
+Total Unquoted List Associations: 16
+..code\modules\clothing\suits\armor.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 90)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 90)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 25)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 80)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 40)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 60)
+list(energy = 50)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 88
+..code\modules\clothing\suits\bio.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+Total Unquoted List Associations: 32
+..code\modules\clothing\suits\cloaks.dm 
+list(bullet = 30)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 70)
+list(bio = 60)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 70)
+list(bio = 60)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 16
+..code\modules\clothing\suits\jobs.dm 
+list(bullet = 10)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 45)
+Total Unquoted List Associations: 8
+..code\modules\clothing\suits\labcoat.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\suits\miscellaneous.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 30)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 45)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 0)
+list(acid = 45)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 20)
+list(fire = 30)
+list(acid = 45)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 72
+..code\modules\clothing\suits\utility.dm 
+list(bullet = 0)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 100)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 100)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 60)
+list(rad = 100)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 60)
+list(rad = 100)
+list(fire = 30)
+list(acid = 30)
+Total Unquoted List Associations: 32
+..code\modules\clothing\suits\wiz_robe.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 64
+..code\modules\clothing\under\miscellaneous.dm 
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 0)
+list(fire = 95)
+list(acid = 95)
+Total Unquoted List Associations: 16
+..code\modules\clothing\under\syndicate.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 40)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 40)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 24
+..code\modules\clothing\under\ties.dm 
+list(bullet = 5)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 5)
+list(fire = 0)
+list(acid = 25)
+Total Unquoted List Associations: 8
+..code\modules\clothing\under\trek.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\clothing\under\jobs\civilian.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\clothing\under\jobs\engineering.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 10)
+list(fire = 80)
+list(acid = 40)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 10)
+list(fire = 60)
+list(acid = 20)
+Total Unquoted List Associations: 16
+..code\modules\clothing\under\jobs\medsci.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 35)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 50)
+list(acid = 65)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 80
+..code\modules\clothing\under\jobs\security.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 32
+..code\modules\events\holiday\xmas.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\library\lib_items.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\mining\equipment.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 5)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 20)
+list(acid = 40)
+Total Unquoted List Associations: 24
+..code\modules\modular_computers\computers\item\computer.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\ninja\suit\head.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 25)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\ninja\suit\shoes.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\ninja\suit\suit.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\power\apc.dm 
+list(bullet = 20)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\power\lighting.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\power\singularity\field_generator.dm 
+list(bullet = 10)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\modules\power\singularity\particle_accelerator\particle_accelerator.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\modules\reagents\chem_splash.dm 
+list(extra_heat = 0)
+list(threatscale = 1)
+list(adminlog = 1)
+Total Unquoted List Associations: 3
+..code\modules\reagents\reagent_containers\glass.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 75)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\recycling\disposal-structures.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\recycling\disposal-unit.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\vehicles\vehicle.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+Total Unquoted List Associations: 8
+146/2012 files have Unquoted List Associations in them
+There are 2673 total Unquoted List Associations```
+
+ + + diff --git a/tools/UnstandardnessTestForDM.html b/tools/UnstandardnessTestForDM.html new file mode 100644 index 00000000000..006719e34b9 --- /dev/null +++ b/tools/UnstandardnessTestForDM.html @@ -0,0 +1,31 @@ + + + + + + + tools/UnstandardnessTestForDM/readme.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/UnstandardnessTestForDM/readme.txt + +

+ + +
the compiled exe file for the Unstandardness text for DM program is in:
+UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe
+
+You have to move it to the root folder (where the dme file is) and run it from there for it to work.
+
+ + + diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.html b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.html new file mode 100644 index 00000000000..9c98d4ceca1 --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.html @@ -0,0 +1,45 @@ + + + + + + + tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt + +

+ + +
c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.pdb
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\ResolveAssemblyReference.cache
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Form1.resources
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Properties.Resources.resources
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.read.1.tlog
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.write.1.tlog
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.exe
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.pdb
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.pdb
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\ResolveAssemblyReference.cache
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Form1.resources
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Properties.Resources.resources
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.read.1.tlog
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.write.1.tlog
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.exe
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.pdb
+
+ + + diff --git a/tools/UpdatePaths/apc_pixel_offsets.html b/tools/UpdatePaths/apc_pixel_offsets.html new file mode 100644 index 00000000000..8fdd2cedfc3 --- /dev/null +++ b/tools/UpdatePaths/apc_pixel_offsets.html @@ -0,0 +1,31 @@ + + + + + + + tools/UpdatePaths/apc_pixel_offsets.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/UpdatePaths/apc_pixel_offsets.txt + +

+ + +
/obj/machinery/power/apc/@SUBTYPES{dir = 1} : @OLD{@OLD; pixel_y = 23}
+/obj/machinery/power/apc/@SUBTYPES{dir = 2} : @OLD{@OLD; pixel_y = -23}
+/obj/machinery/power/apc/@SUBTYPES{dir = 4} : @OLD{@OLD; pixel_x = 24}
+/obj/machinery/power/apc/@SUBTYPES{dir = 8} : @OLD{@OLD; pixel_x = -25}
+
+ + + diff --git a/tools/UpdatePaths/bridge_to_command.html b/tools/UpdatePaths/bridge_to_command.html new file mode 100644 index 00000000000..02f13b6f1e2 --- /dev/null +++ b/tools/UpdatePaths/bridge_to_command.html @@ -0,0 +1,44 @@ + + + + + + + tools/UpdatePaths/bridge_to_command.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/UpdatePaths/bridge_to_command.txt + +

+ + +
/area/bridge : /area/command/bridge
+/area/bridge/meeting_room : /area/command/meeting_room
+/area/bridge/meeting_room/council : /area/command/meeting_room/council
+/area/bridge/showroom/corporate : /area/command/corporate_showroom
+/area/service/heads/captain : /area/command/heads_quarters/captain
+/area/service/heads/captain/private : /area/command/heads_quarters/captain/private
+/area/service/heads/chief : /area/command/heads_quarters/ce
+/area/service/heads/chief/private : /area/command/heads_quarters/ce/private
+/area/service/heads/cmo : /area/command/heads_quarters/cmo
+/area/service/heads/cmo/private : /area/command/heads_quarters/cmo/private
+/area/service/heads/hop : /area/command/heads_quarters/hop
+/area/service/heads/hop/private : /area/command/heads_quarters/hop/private
+/area/service/heads/hos : /area/command/heads_quarters/hos
+/area/service/heads/hos/private : /area/command/heads_quarters/hos/private
+/area/service/heads/hor : /area/command/heads_quarters/rd
+/area/crew_quarters/heads/hor/private : /area/command/heads_quarters/rd/private
+
+
+ + + diff --git a/tools/UpdatePaths/cornersfix.html b/tools/UpdatePaths/cornersfix.html new file mode 100644 index 00000000000..7fc845794ee --- /dev/null +++ b/tools/UpdatePaths/cornersfix.html @@ -0,0 +1,57 @@ + + + + + + + tools/UpdatePaths/cornersfix.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/UpdatePaths/cornersfix.txt + +

+ + +
/obj/effect/turf_decal/stripes/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/stripes/corner {dir=2} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/stripes/corner {dir=4} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=1}
+/obj/effect/turf_decal/stripes/corner {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD}
+/obj/effect/turf_decal/stripes/red/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/stripes/red/corner {dir=2} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/stripes/red/corner {dir=4} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=1}
+/obj/effect/turf_decal/stripes/red/corner {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD}
+/obj/effect/turf_decal/stripes/white/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/stripes/white/corner {dir=2} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/stripes/white/corner {dir=4} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=1}
+/obj/effect/turf_decal/stripes/white/corner {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD}
+/obj/effect/turf_decal/box/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/box/corners {dir=2} : /obj/effect/turf_decal/box/corners {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/box/corners {dir=4} : /obj/effect/turf_decal/box/corners {@OLD;dir=1}
+/obj/effect/turf_decal/box/corners {dir=8} : /obj/effect/turf_decal/box/corners {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/corners {@OLD}
+/obj/effect/turf_decal/box/red/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/box/red/corners {dir=2} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/box/red/corners {dir=4} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=1}
+/obj/effect/turf_decal/box/red/corners {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD}
+/obj/effect/turf_decal/box/white/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/box/white/corners {dir=2} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/box/white/corners {dir=4} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=1}
+/obj/effect/turf_decal/box/white/corners {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD}```
+
+ + + diff --git a/tools/UpdatePaths/turfs2decals.html b/tools/UpdatePaths/turfs2decals.html new file mode 100644 index 00000000000..7da147246b0 --- /dev/null +++ b/tools/UpdatePaths/turfs2decals.html @@ -0,0 +1,494 @@ + + + + + + + tools/UpdatePaths/turfs2decals.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/UpdatePaths/turfs2decals.txt + +

+ + +
/turf/open/floor/circuit/killroom : /turf/open/floor/circuit/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/airless/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/plasteel/airless  {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/airless/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/plasteel/airless {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=1} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/arrival {dir=@UNSET} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=2} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=4} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=5} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=6} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=8} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/arrival {dir=9} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/arrival {dir=10} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival/corner {dir=1} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/arrival/corner {dir=@UNSET} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/arrival/corner {dir=2} : /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival/corner {dir=4} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival/corner {dir=8} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/plasteel
+/turf/open/floor/plasteel/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/barber : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/caution {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=2} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/checker {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=6} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/caution {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/caution {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/checker {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution/corner {dir=1} : /turf/open/floor/plasteel/dark/corner {@OLD}
+/turf/open/floor/plasteel/caution/corner {dir=@UNSET} : /turf/open/floor/plasteel/dark/corner {@OLD}
+/turf/open/floor/plasteel/caution/corner {dir=2} : /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution/corner {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution/corner {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/cmo : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/dark/telecomms/mainframe : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/dark/telecomms/server : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/dark/telecomms/server/walkway : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=1} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/escape {dir=@UNSET} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=2} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=4} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=5} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=6} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=8} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/escape {dir=9} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/escape {dir=10} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape/corner {dir=1} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/escape/corner {dir=@UNSET} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/escape/corner {dir=2} : /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape/corner {dir=4} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape/corner {dir=8} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/hydrofloor : /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/airless : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/airless {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/snowdin : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/snowdin {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/telecomms : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/telecomms/mainframe : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/killroom : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plating/airless/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating/airless  {@OLD;dir=@SKIP}
+/turf/open/floor/plating/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating  {@OLD;dir=@SKIP}```
+
+ + + diff --git a/tools/build.html b/tools/build.html new file mode 100644 index 00000000000..9069a859377 --- /dev/null +++ b/tools/build.html @@ -0,0 +1,51 @@ + + + + + + + tools/build/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

/tg/station build script + +

+ + +

This build script is the recommended way to compile the game, including not only the DM code but also the JavaScript and any other dependencies.

+
    +
  • VSCode: +a) Press Ctrl+Shift+B to build. +b) Press F5 to build and run with debugger attached.
  • +
  • Windows: +a) Double-click BUILD.bat in the repository root to build (will wait for a key press before it closes). +b) Double-click tools/build/build.bat to build (will exit as soon as it finishes building).
  • +
  • Linux: +a) Run tools/build/build from the repository root.
  • +
+

The script will skip build steps whose inputs have not changed since the last run.

+

Getting list of available targets

+

You can get a list of all targets that you can build by running the following command:

+
tools/build/build --help
+
+

Dependencies

+
    +
  • On Windows, BUILD.bat will automatically install a private (vendored) copy of Node.
  • +
  • On Linux, install Node using your package manager or from https://nodejs.org/en/download/.
  • +
  • On Linux , unless using tgs4 or later you will need to compile rust-g on the server and obtain a .so file, for instructions see https://github.com/tgstation/rust-g
  • +
+

Why?

+

We used to include compiled versions of the tgui JavaScript code in the Git repository so that the project could be compiled using BYOND only. These pre-compiled files tended to have merge conflicts for no good reason. Using a build script lets us avoid this problem, while keeping builds convenient for people who are not modifying tgui.

+

This build script is based on Juke Build - please follow the link and read the documentation for the project to understand how it works and how to contribute to this build script.

+ + + diff --git a/tools/ci/ci_config.html b/tools/ci/ci_config.html new file mode 100644 index 00000000000..057c0af0376 --- /dev/null +++ b/tools/ci/ci_config.html @@ -0,0 +1,36 @@ + + + + + + + tools/ci/ci_config.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/ci/ci_config.txt + +

+ + +
SQL_ENABLED
+ADDRESS 127.0.0.1
+PORT 3306
+FEEDBACK_DATABASE tg_ci
+FEEDBACK_TABLEPREFIX
+FEEDBACK_LOGIN root
+FEEDBACK_PASSWORD
+LAVALAND_BUDGET 0
+SPACE_BUDGET 0
+
+ + + diff --git a/tools/hooks.html b/tools/hooks.html new file mode 100644 index 00000000000..d35db7d10e2 --- /dev/null +++ b/tools/hooks.html @@ -0,0 +1,48 @@ + + + + + + + tools/hooks/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Git Integration Hooks + +

+ + +

This folder contains installable scripts for Git hooks and merge drivers. +Use of these hooks and drivers is optional and they must be installed +explicitly before they take effect.

+

To install the current set of hooks, or update if new hooks are added, run +Install.bat (Windows) or tools/hooks/install.sh (Unix-like) as appropriate.

+

If your Git GUI does not support a given hook, there is usually a .bat file +or other script you can run instead - see the links below for details.

+

Hooks

+ +

Adding New Hooks

+

New Git hooks may be added by creating a file named <hook-name>.hook in +this directory. Git determines what hooks are available and what their names +are.

+

New Git merge drivers may be added by adding a shell script named <ext>.merge +and updating .gitattributes in the root of the repository to include the line +*.<ext> merge=<ext>.

+

Adding or removing hooks or merge drivers requires running the install script +again, but modifying them does not. See existing .hook and .merge files for examples.

+ + + diff --git a/tools/mapmerge2.html b/tools/mapmerge2.html new file mode 100644 index 00000000000..12f5e4317db --- /dev/null +++ b/tools/mapmerge2.html @@ -0,0 +1,73 @@ + + + + + + + tools/mapmerge2/README.md - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

Map Merger + +

+ + +

The Map Merger is a collection of scripts that keep this repository's maps +in a format which is easier to track in Git and less likely to cause merge +conflicts. When merge conflicts do occur, it can sometimes resolve them.

+

For detailed troubleshooting instructions and other tips, visit the +Map Merger wiki article.

+

Installation

+

To install the Git hooks, open the tools/hooks/ folder and double-click +Install.bat. Linux users run tools/hooks/install.sh.

+

Manual Use

+

If using a Git GUI which is not compatible with the hooks:

+
    +
  • Before committing, double-click Run Before Committing.bat
  • +
  • When a merge has map conflicts, double-click Resolve Map Conflicts.bat
  • +
+

The console will show whether the operation succeeded.

+

For more details, see the Map Merger wiki article.

+

What Map Merging Is

+

The "map merge" operation describes the process of rewriting a map file written +by the DreamMaker map editor to A) use a format more amenable to Git's conflict +resolution and B) differ in the least amount textually from the previous +version of the map while maintaining all the actual changes. It requires an old +version of the map to use as a reference and a new version of the map which +contains the desired changes.

+

Map Merge 2 adds multi-Z support, automatic handling of key overflow, better +merge conflict prevention, and a real merge conflict resolver.

+

Code Structure

+

Frontend scripts are meant to be run directly. They obey the environment +variables TGM to set whether files are saved in TGM (1) or DMM (0) format, +and MAPROOT to determine where maps are kept. By default, TGM is used and +the map root is autodetected. Each script may either prompt for the desired map +or be run with command-line parameters indicating which maps to act on. The +scripts include:

+
    +
  • convert.py for converting maps to and from the TGM format. Used by +tgm2dmm.bat and dmm2tgm.bat.
  • +
  • mapmerge.py for running the map merge on map backups saved by +Prepare Maps.bat. Used by mapmerge.bat
  • +
+

Implementation modules:

+
    +
  • dmm.py includes the map reader and writer.
  • +
  • mapmerge.py includes the implementation of the map merge operation.
  • +
  • frontend.py includes the common code for the frontend scripts.
  • +
+

precommit.py is run by the Git hooks if installed, and merges the new +version of any map saved in the index (git added) with the old version stored +in Git when run.

+ + + diff --git a/tools/midi2piano.html b/tools/midi2piano.html new file mode 100644 index 00000000000..6df0f1bdf3a --- /dev/null +++ b/tools/midi2piano.html @@ -0,0 +1,60 @@ + + + + + + + tools/midi2piano/README.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/midi2piano/README.txt + +

+ + +
This is a remake of 2013 midi2piano tool.
+
+Requirements:
+  Python 3
+
+Simply run midi2piano.py and choose midi file you want to convert.
+The "sheet music" will be copied to the clipboard.
+
+There are some constants defined at the top of midi2piano.py.
+
+TICK_LAG - CHANGE THIS VALUE TO TICK LAG OF YOUR SERVER!
+
+Change their value if needed.
+
+LINE_LENGTH_LIM - max length of line allowed in the sheet music
+LINES_LIMIT - max amount of lines allowed in the sheet music. Extra lines will be cropped.
+
+OVERALL_IMPORT_LIM - max amount of characters allowed in the sheet music.
+
+
+You can also transpose music if you need to
+OCTAVE_TRANSPOSE - amount of octaves you melody will be shifted by
+FLOAT_PRECISION - read comment
+
+Additional notes:
+1. Unlike previous midi2piano, this tool optimizes sheet music to fit more in less lines. 
+2. If two notes are less than 50 ms apart, they are chorded. BYOND works in  1/10th of a second so 50 ms is time quanta.
+4. MIDI event set_tempo is NOT supported. If your MIDI file uses set_tempo to change BPM significantly, consider using some other midi file.
+
+This tool is considered final.
+
+Made by EditorRUS/Delta Epsilon from Animus Station, ss13.ru
+Contact me in Discord if you find any major issues: DeltaEpsilon#7787```
+
+ + + diff --git a/tools/minibot/LICENCE-bot_folder.html b/tools/minibot/LICENCE-bot_folder.html new file mode 100644 index 00000000000..7c4a97a81de --- /dev/null +++ b/tools/minibot/LICENCE-bot_folder.html @@ -0,0 +1,32 @@ + + + + + + + tools/minibot/LICENCE-bot_folder.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/minibot/LICENCE-bot_folder.txt + +

+ + +
The author or authors of this code dedicate any and all copyright interest in
+this code to the public domain. We make this dedication for the benefit of the
+public at large and to the detriment of our heirs and successors. We intend
+this dedication to be an overt act of relinquishment in perpetuity of all
+present and future rights to this code under copyright law. 
+
+ + + diff --git a/tools/requirements.html b/tools/requirements.html new file mode 100644 index 00000000000..33f8d7a6914 --- /dev/null +++ b/tools/requirements.html @@ -0,0 +1,34 @@ + + + + + + + tools/requirements.txt - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

tools/requirements.txt + +

+ + +
pygit2==1.0.1
+bidict==0.13.1
+Pillow==10.0.1
+
+# changelogs
+PyYaml==5.4
+beautifulsoup4==4.9.3
+
+ + + diff --git a/turf.html b/turf.html new file mode 100644 index 00000000000..c93a66bf4e7 --- /dev/null +++ b/turf.html @@ -0,0 +1,97 @@ + + + + + + + /turf - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

turf + + + +

+ +

Any floor or wall. What makes up the station and the rest of the map.

+ + + + + + + +

Procs

InitializeTurf Initialize
LinkBlockedWithAccessFor seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags
consider_pressure_differenceSPACEWIND
fromShuttleMoveBase procs
is_blocked_turfreturns if the turf has something dense inside it. if exclude_mobs is true, skips dense mobs like fat yoshi. if exclude_object is true, it will exclude the excluded_object you sent through
process_cellSIMULATION
reachableAdjacentTurfsReturns adjacent turfs to this turf that are reachable, in all cardinal directions
update_air_refFunction for Extools Atmos

Proc Details

Initialize +

+

Turf Initialize

+

Doesn't call parent, see /atom/proc/Initialize

LinkBlockedWithAccess +

+

For seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags

+

Arguments:

+

consider_pressure_difference +

+

SPACEWIND

fromShuttleMove +

+

Base procs

is_blocked_turf +

+

returns if the turf has something dense inside it. if exclude_mobs is true, skips dense mobs like fat yoshi. if exclude_object is true, it will exclude the excluded_object you sent through

process_cell +

+

SIMULATION

reachableAdjacentTurfs +

+

Returns adjacent turfs to this turf that are reachable, in all cardinal directions

+

Arguments:

+

update_air_ref +

+

Function for Extools Atmos

+ + + diff --git a/turf/closed.html b/turf/closed.html new file mode 100644 index 00000000000..27b406e2dc3 --- /dev/null +++ b/turf/closed.html @@ -0,0 +1,43 @@ + + + + + + + /turf/closed - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

closed + + + +

+ + + +

Vars

yelling_dampenhow much of inbound yelling to dampen
yelling_resistanceHow much we block yelling
+

Var Details

yelling_dampen + + + + +

+

how much of inbound yelling to dampen

yelling_resistance + + + + +

+

How much we block yelling

+ + + diff --git a/turf/closed/indestructible/splashscreen.html b/turf/closed/indestructible/splashscreen.html new file mode 100644 index 00000000000..071d1b99ef3 --- /dev/null +++ b/turf/closed/indestructible/splashscreen.html @@ -0,0 +1,35 @@ + + + + + + + /turf/closed/indestructible/splashscreen - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

splashscreen + + + +

+ + +

Procs

handle_generic_titlescreen_sizeshelper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

Proc Details

handle_generic_titlescreen_sizes +

+

helper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

+ + + diff --git a/turf/closed/mineral.html b/turf/closed/mineral.html new file mode 100644 index 00000000000..fd2d55747b7 --- /dev/null +++ b/turf/closed/mineral.html @@ -0,0 +1,35 @@ + + + + + + + /turf/closed/mineral - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

mineral + + + +

+ +

Mineral deposits

+

Procs

shuttleRotateTurf rotate procs

Proc Details

shuttleRotate +

+

Turf rotate procs

+ + + diff --git a/turf/closed/wall.html b/turf/closed/wall.html new file mode 100644 index 00000000000..e484892744c --- /dev/null +++ b/turf/closed/wall.html @@ -0,0 +1,64 @@ + + + + + + + /turf/closed/wall - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

wall + + + +

+ + + + + +

Vars

explosion_power_minimum_chance_dismantleExplosion power to potentially dismantle the wall
explosion_power_to_dismantleExplosion power to dismantle the wall
explosion_power_to_scrapeExplosion power to disintegrate the wall

Procs

hulk_recoilDeals damage back to the hulk's arm.
+

Var Details

explosion_power_minimum_chance_dismantle + + + + +

+

Explosion power to potentially dismantle the wall

explosion_power_to_dismantle + + + + +

+

Explosion power to dismantle the wall

explosion_power_to_scrape + + + + +

+

Explosion power to disintegrate the wall

Proc Details

hulk_recoil +

+

Deals damage back to the hulk's arm.

+

When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. +This is in its own proc just to be easily overridden by other wall types. Default allows for three +smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied +by hulk code based on arm damage and checked when we call break_an_arm(). +Arguments: +*arg1 is the arm to deal damage to. +*arg2 is the hulk

+ + + diff --git a/turf/open.html b/turf/open.html new file mode 100644 index 00000000000..e2146e99b44 --- /dev/null +++ b/turf/open.html @@ -0,0 +1,73 @@ + + + + + + + /turf/open - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

open + + + +

+ + + + + + + +

Vars

dirt_buildup_allowedDirtyness system, cit specific. +Does dirt buildup happen on us?
dirt_spawn_thresholdDirt level to spawn dirt. Null to use config.
dirtynessDirt level.

Procs

Assimilate_AirAssimilate Air
assume_airGAS MIXTURE PROCS
update_visualsGAS OVERLAYS
+

Var Details

dirt_buildup_allowed + + + + +

+

Dirtyness system, cit specific. +Does dirt buildup happen on us?

dirt_spawn_threshold + + + + +

+

Dirt level to spawn dirt. Null to use config.

dirtyness + + + + +

+

Dirt level.

Proc Details

Assimilate_Air +

+

Assimilate Air

assume_air +

+

GAS MIXTURE PROCS

update_visuals +

+

GAS OVERLAYS

+ + + diff --git a/turf/open/floor.html b/turf/open/floor.html new file mode 100644 index 00000000000..8b11e506a7c --- /dev/null +++ b/turf/open/floor.html @@ -0,0 +1,71 @@ + + + + + + + /turf/open/floor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

floor + + + +

+ + + + + + + +

Vars

explosion_power_break_tileMinimum explosion power to break tile
explosion_power_break_turfMinimum explosion power to break turf
explosion_power_break_turf_bonusStarting from here, +20% chance to break turf.
explosion_power_minimum_chance_breakStarting from here, there's a chance for this to break
explosion_power_protect_shieldedShielded turfs are completely protected from anything under this
explosion_power_turf_scrapeMinimum explosion power to scrape away the floor
+

Var Details

explosion_power_break_tile + + + + +

+

Minimum explosion power to break tile

explosion_power_break_turf + + + + +

+

Minimum explosion power to break turf

explosion_power_break_turf_bonus + + + + +

+

Starting from here, +20% chance to break turf.

explosion_power_minimum_chance_break + + + + +

+

Starting from here, there's a chance for this to break

explosion_power_protect_shielded + + + + +

+

Shielded turfs are completely protected from anything under this

explosion_power_turf_scrape + + + + +

+

Minimum explosion power to scrape away the floor

+ + + diff --git a/turf/open/floor/catwalk_floor.html b/turf/open/floor/catwalk_floor.html new file mode 100644 index 00000000000..5f86bca0a2c --- /dev/null +++ b/turf/open/floor/catwalk_floor.html @@ -0,0 +1,31 @@ + + + + + + + /turf/open/floor/catwalk_floor - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types +
+
+

catwalk_floor + + + +

+ +

catwalk flooring

+

They show what's underneath their catwalk flooring (pipes and the like) +you can crowbar it to interact with the underneath stuff without destroying the tile... +unless you want to!

+ + + diff --git a/turf/open/floor/glass.html b/turf/open/floor/glass.html new file mode 100644 index 00000000000..e78987473d8 --- /dev/null +++ b/turf/open/floor/glass.html @@ -0,0 +1,35 @@ + + + + + + + /turf/open/floor/glass - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

glass + + + +

+ + +

Procs

crowbar_actn(omegalul)

Proc Details

crowbar_act +

+

n(omegalul)

+ + + diff --git a/turf/open/floor/plating/asteroid.html b/turf/open/floor/plating/asteroid.html new file mode 100644 index 00000000000..b22adc39fd1 --- /dev/null +++ b/turf/open/floor/plating/asteroid.html @@ -0,0 +1,78 @@ + + + + + + + /turf/open/floor/plating/asteroid - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

asteroid + + + +

+ +

Asteroid

+ + + + + + +

Vars

digResultItemstack to drop when dug by a shovel
dugWhether the turf has been dug or not
environment_typeEnvironment type for the turf
floor_varianceProbability floor has a different icon state
postdig_icon_changeWhether to change the turf's icon_state to "[base_icon_state]_dug" when its dugged up
turf_typeBase turf type to be created by the tunnel

Procs

can_digIf the user can dig the turf
+

Var Details

digResult + + + + +

+

Itemstack to drop when dug by a shovel

dug + + + + +

+

Whether the turf has been dug or not

environment_type + + + + +

+

Environment type for the turf

floor_variance + + + + +

+

Probability floor has a different icon state

postdig_icon_change + + + + +

+

Whether to change the turf's icon_state to "[base_icon_state]_dug" when its dugged up

turf_type + + + + +

+

Base turf type to be created by the tunnel

Proc Details

can_dig +

+

If the user can dig the turf

+ + + diff --git a/turf/open/lava.html b/turf/open/lava.html new file mode 100644 index 00000000000..3111bb57941 --- /dev/null +++ b/turf/open/lava.html @@ -0,0 +1,71 @@ + + + + + + + /turf/open/lava - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details - Proc Details
+
+

lava + + + +

+ +

LAVA

+ + + + + +

Vars

immunity_resistance_flagsobjects with these flags won't burn.
immunity_traitmobs with this trait won't burn.
lava_damageHow much fire damage we deal to living mobs stepping on us
lava_firestacksHow many firestacks we add to living mobs stepping on us
temperature_damageHow much temperature we expose objects with

Procs

burn_stuffProc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.
+

Var Details

immunity_resistance_flags + + + + +

+

objects with these flags won't burn.

immunity_trait + + + + +

+

mobs with this trait won't burn.

lava_damage + + + + +

+

How much fire damage we deal to living mobs stepping on us

lava_firestacks + + + + +

+

How many firestacks we add to living mobs stepping on us

temperature_damage + + + + +

+

How much temperature we expose objects with

Proc Details

burn_stuff +

+

Proc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.

+ + + diff --git a/turf/open/openspace/icemoon.html b/turf/open/openspace/icemoon.html new file mode 100644 index 00000000000..06889e9903a --- /dev/null +++ b/turf/open/openspace/icemoon.html @@ -0,0 +1,43 @@ + + + + + + + /turf/open/openspace/icemoon - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Var Details
+
+

icemoon + + + +

+ + + +

Vars

drill_belowIf true mineral turfs below this openspace turf will be mined automatically
protect_ruinReplaces itself with replacement_turf if the turf below this one is in a no ruins allowed area (usually ruins themselves)
+

Var Details

drill_below + + + + +

+

If true mineral turfs below this openspace turf will be mined automatically

protect_ruin + + + + +

+

Replaces itself with replacement_turf if the turf below this one is in a no ruins allowed area (usually ruins themselves)

+ + + diff --git a/turf/open/space.html b/turf/open/space.html new file mode 100644 index 00000000000..75f1ecdd635 --- /dev/null +++ b/turf/open/space.html @@ -0,0 +1,36 @@ + + + + + + + /turf/open/space - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

space + + + +

+ + +

Procs

InitializeSpace Initialize

Proc Details

Initialize +

+

Space Initialize

+

Doesn't call parent, see /atom/proc/Initialize

+ + + diff --git a/turf/open/space/transparent.html b/turf/open/space/transparent.html new file mode 100644 index 00000000000..ef49d48b46e --- /dev/null +++ b/turf/open/space/transparent.html @@ -0,0 +1,35 @@ + + + + + + + /turf/open/space/transparent - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

transparent + + + +

+ + +

Procs

show_bottom_levelCalled when there is no real turf below this turf

Proc Details

show_bottom_level +

+

Called when there is no real turf below this turf

+ + + diff --git a/turf/open/space/transparent/openspace.html b/turf/open/space/transparent/openspace.html new file mode 100644 index 00000000000..3172b50b958 --- /dev/null +++ b/turf/open/space/transparent/openspace.html @@ -0,0 +1,35 @@ + + + + + + + /turf/open/space/transparent/openspace - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

openspace + + + +

+ + +

Procs

show_bottom_levelNo bottom level for openspace.

Proc Details

show_bottom_level +

+

No bottom level for openspace.

+ + + diff --git a/turf/open/water/cursed_spring.html b/turf/open/water/cursed_spring.html new file mode 100644 index 00000000000..b6205445c48 --- /dev/null +++ b/turf/open/water/cursed_spring.html @@ -0,0 +1,38 @@ + + + + + + + /turf/open/water/cursed_spring - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

cursed_spring + + + +

+ +

Turns whoever enters into a mob

+

If mob is chosen, turns the person into a random animal type +Once the spring is used, it cannot be used by the same mind ever again +After usage, teleports the user back to a random safe turf (so mobs are not killed by ice moon atmosphere)

+

Procs

remove_from_cursedDeletes minds from the cursed minds list after their deletion

Proc Details

remove_from_cursed +

+

Deletes minds from the cursed minds list after their deletion

+ + + diff --git a/world.html b/world.html new file mode 100644 index 00000000000..07ade4efd9a --- /dev/null +++ b/world.html @@ -0,0 +1,57 @@ + + + + + + + /world - Nostra-13 + + +
+ Nostra-13 - + Modules - + Types + — Proc Details
+
+

World + + + +

+ +

Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke

+

The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity

+

The world /New() is the root of where a round itself begins

+ + +

Procs

ImmediateInvokeAsyncImmediately Invoke proctocall on thingtocall, with waitfor set to false
refresh_atmos_gridAuxtools atmos
send_cross_commsSends a message to a given cross comms server by name (by name for security).

Proc Details

ImmediateInvokeAsync +

+

Immediately Invoke proctocall on thingtocall, with waitfor set to false

+

Arguments:

+

refresh_atmos_grid +

+

Auxtools atmos

send_cross_comms +

+

Sends a message to a given cross comms server by name (by name for security).

+ + +