commit cdab8d7a05ba68e9aefc892ad034dd9f1bdfec20 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Jun 25 01:53:45 2026 +0000 Deploy to GitHub pages 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..d72cba32e28 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +codedocs.paradisestation.org \ No newline at end of file diff --git a/__spacemandmm.html b/__spacemandmm.html new file mode 100644 index 00000000000..5ce401ed171 --- /dev/null +++ b/__spacemandmm.html @@ -0,0 +1 @@ +__spacemandmm.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

__spacemandmm.dm

SHOULD_BE_PUREA "pure" proc does not make any external changes, or to its output.
PRIVATE_PROCPrivate procs can only be called by things of exactly the same type. This also prevents overriding of the proc.
PROTECTED_PROCProtected procs can only be call by things of the same type or subtypes
CAN_BE_REDEFINEDRedefinable procs permit multiple declarations of themselves.
VAR_FINALFinal vars forbid overriding their value by types that inherit it.
VAR_PRIVATEPrivate vars can only be called by things of exactly the same type
VAR_PROTECTEDProtected vars can only be call by things of the same type or subtypes

Define Details

CAN_BE_REDEFINED

Redefinable procs permit multiple declarations of themselves.

PRIVATE_PROC

Private procs can only be called by things of exactly the same type. This also prevents overriding of the proc.

PROTECTED_PROC

Protected procs can only be call by things of the same type or subtypes

SHOULD_BE_PURE

A "pure" proc does not make any external changes, or to its output.

VAR_FINAL

Final vars forbid overriding their value by types that inherit it.

VAR_PRIVATE

Private vars can only be called by things of exactly the same type

VAR_PROTECTED

Protected vars can only be call by things of the same type or subtypes

\ No newline at end of file diff --git a/_maps/__MAP_DEFINES.html b/_maps/__MAP_DEFINES.html new file mode 100644 index 00000000000..a082cb8e7c4 --- /dev/null +++ b/_maps/__MAP_DEFINES.html @@ -0,0 +1 @@ +_maps/__MAP_DEFINES.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

_maps/__MAP_DEFINES.dm

SPAWN_RUINSRuins will spawn on this z-level
REACHABLE_SPACE_ONLYA level that can be navigated to through space, but for real this time.
GAME_TEST_LEVELA level used for spawning map areas in tests
TCOMM_RELAY_ALWAYSTcomms relays will always extend to this level.

Define Details

GAME_TEST_LEVEL

A level used for spawning map areas in tests

REACHABLE_SPACE_ONLY

A level that can be navigated to through space, but for real this time.

SPAWN_RUINS

Ruins will spawn on this z-level

TCOMM_RELAY_ALWAYS

Tcomms relays will always extend to this level.

\ No newline at end of file diff --git a/area.html b/area.html new file mode 100644 index 00000000000..8488a16abee --- /dev/null +++ b/area.html @@ -0,0 +1,16 @@ +/area - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

area

Vars

air_alarmsThe air alarms present in this area.
airlock_wiresWire assignment for airlocks in this area
always_unpoweredIf TRUE, machines that require power in this area will never be powered
apcAll APCs currently constructed in this area
apc_starts_offIf TRUE, the local powernet in this area will have all its power channels switched off
atmos_cam_networkAtmosphere alarm camera network
can_get_auto_cryodDo we despawn the person in this area? Pretty much just used in security areas that aren't permabrig
fast_despawnDo we quickly despawn the person in this area? Pretty much just used in permabrig
fire_cam_networkFire alarm camera network
firealarm_sound_stop_timerTimer to stop ongoing fire alarm sounds
global_uidStatic var that is incremented when the UID of a area is being assigned.
hide_attacklogsFor areas such as thunderdome which generate a lot of spammy attacklogs. Reduces log priority.
is_haunted"Haunted" areas such as the morgue and chapel are easier to boo. Because flavor.
lightswitchIs the lightswitch in this area on? Controls whether or not lights are on and off
map_nameSet in New(); preserves the name set by the map maker, even if renamed by the Blueprints.
max_ambience_cooldownUsed to decide what the maximum time between ambience is
min_ambience_cooldownUsed to decide what the minimum time between ambience is
movingIs a shuttle moving to our area?
parallax_move_directionHandles the direction parallax will be moved in. References
power_cam_networkPower alarm camera network
powernetThe local powernet of this area, this is where all machine/apc/object power related operations are handled
request_console_announcesWhether request consoles in this area can send announcements.
request_console_flagsThe flags applied to request consoles spawned in this area. +See RC_ASSIST, RC_SUPPLY, RC_INFO.
request_console_nameThe name for any spawned request consoles. Defaults to the area name.
requires_powerIf TRUE, this area's local powernet will require power to properly operate machines
scrubbersThe list of scrubbers in our area.
sound_environmentUsed to decide what kind of reverb the area makes sound have
turret_controlsTurrets use this list to see if individual power/lethal settings are allowed. Contains the /obj/machinery/turretid for this area
valid_territoryused for cult summoning areas on station zlevel
ventsThe list of vents in our area.
window_tintIs the window tint control in this area on? Controls whether electrochromic windows and doors are tinted or not

Procs

ModifyFiredoorsTry to close all the firedoors in the area
atmosalertGenerate an atmospheric alert for this area
burglaralertRaise a burglar alert for this area
close_and_lock_doorClose and lock a door passed into this proc
firealertGenerate a firealarm alert for this area
fireresetReset the firealarm alert for this area
get_top_parent_typeReturns highest area type in the hirarchy of a given ruin or /area/station if it is given a station area. +For an example the top parent of area/ruin/space/bar/backroom is area/ruin/space/bar
poweralertGenerate a power alert for this area
processIf 100 ticks has elapsed, toggle all the firedoors closed again
set_fire_alarm_effectTrigger the fire alarm visual affects in an area
unset_fire_alarm_effectsunset the fire alarm visual affects in an area

Var Details

air_alarms

The air alarms present in this area.

airlock_wires

Wire assignment for airlocks in this area

always_unpowered

If TRUE, machines that require power in this area will never be powered

apc

All APCs currently constructed in this area

apc_starts_off

If TRUE, the local powernet in this area will have all its power channels switched off

atmos_cam_network

Atmosphere alarm camera network

can_get_auto_cryod

Do we despawn the person in this area? Pretty much just used in security areas that aren't permabrig

fast_despawn

Do we quickly despawn the person in this area? Pretty much just used in permabrig

fire_cam_network

Fire alarm camera network

firealarm_sound_stop_timer

Timer to stop ongoing fire alarm sounds

global_uid

Static var that is incremented when the UID of a area is being assigned.

hide_attacklogs

For areas such as thunderdome which generate a lot of spammy attacklogs. Reduces log priority.

is_haunted

"Haunted" areas such as the morgue and chapel are easier to boo. Because flavor.

lightswitch

Is the lightswitch in this area on? Controls whether or not lights are on and off

map_name

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

max_ambience_cooldown

Used to decide what the maximum time between ambience is

min_ambience_cooldown

Used to decide what the minimum time between ambience is

moving

Is a shuttle moving to our area?

parallax_move_direction

Handles the direction parallax will be moved in. References

power_cam_network

Power alarm camera network

powernet

The local powernet of this area, this is where all machine/apc/object power related operations are handled

request_console_announces

Whether request consoles in this area can send announcements.

request_console_flags

The flags applied to request consoles spawned in this area. +See RC_ASSIST, RC_SUPPLY, RC_INFO.

request_console_name

The name for any spawned request consoles. Defaults to the area name.

requires_power

If TRUE, this area's local powernet will require power to properly operate machines

scrubbers

The list of scrubbers in our area.

sound_environment

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

turret_controls

Turrets use this list to see if individual power/lethal settings are allowed. Contains the /obj/machinery/turretid for this area

valid_territory

used for cult summoning areas on station zlevel

vents

The list of vents in our area.

window_tint

Is the window tint control in this area on? Controls whether electrochromic windows and doors are tinted or not

Proc Details

ModifyFiredoors

Try to close all the firedoors in the area

atmosalert

Generate an atmospheric alert for this area

+

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

burglaralert

Raise a burglar alert for this area

+

Close and locks all doors in the area and alerts silicon mobs of a break in

+

Alarm auto resets after 600 ticks

close_and_lock_door

Close and lock a door passed into this proc

+

Does this need to exist on area? probably not

firealert

Generate a firealarm alert for this area

+

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

+

Also starts the area processing on SSobj

firereset

Reset the firealarm alert for this area

+

resets the alert sent to all ai players, alert consoles, drones and alarm monitor programs +in the world

+

Also cycles the icons of all firealarms and deregisters the area from processing on SSOBJ

get_top_parent_type

Returns highest area type in the hirarchy of a given ruin or /area/station if it is given a station area. +For an example the top parent of area/ruin/space/bar/backroom is area/ruin/space/bar

poweralert

Generate a power alert for this area

+

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

process

If 100 ticks has elapsed, toggle all the firedoors closed again

set_fire_alarm_effect

Trigger the fire alarm visual affects in an area

+

Updates the fire light on fire alarms in the area and sets all lights to emergency mode

unset_fire_alarm_effects

unset the fire alarm visual affects in an area

\ No newline at end of file diff --git a/area/syndicate_depot/core.html b/area/syndicate_depot/core.html new file mode 100644 index 00000000000..47a5a87bb4b --- /dev/null +++ b/area/syndicate_depot/core.html @@ -0,0 +1,20 @@ +/area/syndicate_depot/core - Space Station 13
Space Station 13 - Modules - TypesProc Details

core

Procs

list_getmobsReturns a LIST of the MOBS in one of the depot area's lists.
list_showReturns a STRING, containing the NAMES of the mobs in the provided list, JOINED together with ", "
list_shownamesReturns a LIST of the NAMES of the mobs in the provided list.

Proc Details

list_getmobs

Returns a LIST of the MOBS in one of the depot area's lists.

+

E.g. list_getmobs(depotarea.guard_list) returns a list of the extra guard mobs in the depot. +Arguments:

+

list_show

Returns a STRING, containing the NAMES of the mobs in the provided list, JOINED together with ", "

+

E.g. list_show(depotarea.guard_list) returns a string like: +"Syndicate Backup (123), Syndicate Backup(456), Syndicate Backup(789)", etc. +Arguments:

+

list_shownames

Returns a LIST of the NAMES of the mobs in the provided list.

+

E.g. list_shownames(depotarea.guard_list) returns a list of the names of extra guard mobs in depot. +Arguments:

+
\ No newline at end of file diff --git a/atom.html b/atom.html new file mode 100644 index 00000000000..7f4b3652369 --- /dev/null +++ b/atom.html @@ -0,0 +1,136 @@ +/atom - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

atom

Vars

ai_controllerAI controller that controls this atom. type on init, then turned into an instance during runtime
alternate_appearancesThe alternate appearances we own. Lazylist
attack_infoInformation about attacks performed on this atom.
base_icon_stateUsed for changing icon states for different base sprites.
bottom_left_cornerSmoothing variable
bottom_right_cornerSmoothing variable
bubble_iconWhat icon the mob uses for speechbubbles
canSmoothWithList of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself.
can_pathfind_passHow this atom should react to having its astar blocking checked
cares_about_temperatureDo we care about temperature at all? Saves us a ton of proc calls during big fires.
chat_colorLast color calculated for the the chatmessage overlays. Used for caching.
chat_color_nameLast name used to calculate a color for the chatmessage overlays. Used for caching.
drag_startContains the world.time of when we start dragging something with our mouse. Used to prevent weird situations where you fail to click on something
explosion_blockValue used to increment ex_act() if reactionary_explosions is on
filter_dataFor handling persistent filters
flags_ricochethow the atom should handle ricochet behavior
germ_levelThe higher the germ level, the more germ on the atom.
hud_listThis atom's HUD (med/sec, etc) images. Associative list.
hud_possibleHUD images that this atom can provide.
light_powerIntensity of the light. Can be negative to remove light
managed_overlaysoverlays managed by update_overlays to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.
managed_vis_overlaysvis overlays managed by SSvis_overlays to automaticaly turn them like other overlays.
map_json_dataThis var isn't actually used for anything, but is present so that DM's map reader doesn't forfeit on reading a JSON-serialized map. AKA DO NOT FUCK WITH
new_attack_chainWhether this atom is using the new attack chain.
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.
rad_insulation_alphaRadiation insulation for alpha emissions
rad_insulation_betaRadiation insulation for beta emissions
rad_insulation_gammaRadiation insulation for gamma emissions
receive_ricochet_chance_modWhen a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this
receive_ricochet_damage_coeffWhen a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom
should_spread_bloodWill the atom spread blood when touched?
simulatedFilter for actions - used by lighting overlays
smoothing_flagsIcon-smoothing behavior.
smoothing_groupsWhat smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it.
smoothing_junctionWhat directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.
suit_fibersList of fibers that this atom has
top_left_cornerSmoothing variable
top_right_cornerSmoothing variable
viewing_alternate_appearancesThe alternate appearances we're viewing, stored here to reestablish them after Logout()s. Lazylist

Procs

AltClickNoInteractUse this instead of [/mob/proc/AltClickOn] where you only want turf content listing without additional atom alt-click interaction
CanPathfindPassThis proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.
ExitAn atom is attempting to exit this atom's contents
TopicPasses Stat Browser Panel clicks to the game and calls client click on an atom
acid_actRespond to acid being used on our atom
after_slipBase proc, intended to be overriden.
attack_basic_mobWhen a basic mob attacks something, either by AI or user.
attack_byCalled when mob user is hitting us with an item attacking. +Part of the /obj/item/proc/melee_attack_chain.
attackby__legacy__attackchainCalled when user attacks us with item W.
attacked_byCalled after we have been attacked with the item attacker by user.
attacked_by__legacy__attackchainCalled after user has attacked us with item W.
base_item_interaction
base_rad_actSends a COMSIG_ATOM_RAD_ACT signal, calls the atoms rad_act with the amount of radiation it should have absorbed and returns the rad insulation of the atom that isappropriate for emission_type
base_ranged_item_interaction
bitmask_smoothBasic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.
calculate_adjacenciesScans all adjacent turfs to find targets to smooth with.
clean_radiationRemoves some radiation from an atom
contaminate_atomAttempt to contaminate a single atom
contents_ui_distancepublic
defileBegin defile and malfunction on-atom definitions
emag_actThis is when an atom is emagged. Should return false if it fails, or it has no emag_act defined.
emp_actProc which will make the atom act accordingly to an EMP. +This proc can sleep depending on the implementation. So assume it sleeps!
event_costReturns the cost of the atom for the event system as a list of all requirements. By default this is just 1 crew.
examine_moreExtended description of an object. Allows you to double examine objects and have them give you a second description of an item. Useful for writing flavourful stuff.
find_all_cells_containingdebug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)
find_grid_statistics_for_z_leveldebug proc for finding how full the cells of src's z level are
find_type_in_directionScans direction to find targets to smooth with.
fire_projectileFire a projectile from this atom at another atom
get_all_contentsReturns the src and all recursive contents as a list.
get_orbitersSimple helper proc to get a list of everything directly orbiting the current atom, without checking contents, or null if nothing is.
get_orbiters_recursiveRecursive getter method to return a list of all ghosts transitively orbiting this atom. +This will find orbiters either directly orbiting the followed atom, or any orbiters orbiting them (and so on).
get_orbiters_up_hierarchyCheck every object in the hierarchy above ourselves for orbiters, and return the full list of them. +If an object is being held in a backpack, returns orbiters of the backpack, the person +If recursive == TRUE, this will also check recursively through any ghosts seen to make sure we find everything upstream
get_oversized_icon_offsetsReturns an x and y value require to reverse the transformations made to center an oversized icon
get_runechat_colorProc to allow atoms to set their own runechat colour
handle_basic_attackThis exists so stuff can override the default call of attack_animal for attack_basic_mob +Remove this when simple animals are removed and everything can be handled on attack basic mob.
hit_by_thrown_mobThis proc applies special effects of a carbon mob hitting something, be it a wall, structure, or window. You can set mob_hurt to false to avoid double dipping through subtypes if returning ..()
is_drainableIs this atom drainable of reagents
is_drawableCan we draw from this atom with an injectable atom
is_injectableIs this atom injectable into other atoms
is_open_containerConvenience proc to see if a container is open for chemistry handling
is_refillableCan this atoms reagents be refilled
item_interactionCalled when this atom has an item used on it. +IE, a mob is clicking on this atom with an item.
makeHologramMakes this atom look like a "hologram" +So transparent, blue, with a scanline and an emissive glow +This is acomplished using a combination of filters and render steps/overlays +The degree of the opacity is optional, based off the opacity arg (0 -> 1)
mech_melee_attackHandle melee attack by a mech
move_camera_by_clickIf usr is an AI, set the camera eye's location to the location of the atom clicked.
on_mob_spawnUsed with the spawner component to do something when a mob is spawned.
persistent_loadAtom Persistent Loader
persistent_saveAtom Persistent Saver
rad_actRespond to a radioactive wave hitting this atom
ranged_item_interactionCalled when this atom has an item used on it from a distance. +IE, a mob is clicking on this atom with an item and is not adjacent.
ray_filter_helperUsed to create rays on an item. Make sure to removefilter("rays") when done with it
relaydriveA special case of relaymove() in which the person relaying the move may be "driving" this atom
remove_orbiterRemove an orbiter from the atom it's orbiting.
rename_interactive
return_analyzable_airReturn the air if we can analyze it
rust_heretic_actCauses effects when the atom gets hit by a rust effect from heretics
set_opacityUpdates the atom's opacity value.
set_smoothed_icon_stateChanges the icon state based on the new junction bitmask. Returns the old junction value.
shuttleRotateBase proc
storage_depthReturns the storage depth of an atom up to the area level.
storage_depth_turfLike /atom/proc/storage_depth, but returns the depth to the nearest turf.
tool_act
update_appearanceUpdates the appearence of the atom, including text.
update_descUpdates the description of the atom
update_iconUpdates the icon and overlays of the atom
update_icon_stateUpdates the icon state of the atom
update_nameUpdates the name of the atom
update_overlaysUpdates the managed overlays of the atom
zap_actRespond to an electric bolt action on our item

Var Details

ai_controller

AI controller that controls this atom. type on init, then turned into an instance during runtime

alternate_appearances

The alternate appearances we own. Lazylist

attack_info

Information about attacks performed on this atom.

base_icon_state

Used for changing icon states for different base sprites.

bottom_left_corner

Smoothing variable

bottom_right_corner

Smoothing variable

bubble_icon

What icon the mob uses for speechbubbles

canSmoothWith

List of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself.

can_pathfind_pass

How this atom should react to having its astar blocking checked

cares_about_temperature

Do we care about temperature at all? Saves us a ton of proc calls during big fires.

chat_color

Last color calculated for the the chatmessage overlays. Used for caching.

chat_color_name

Last name used to calculate a color for the chatmessage overlays. Used for caching.

drag_start

Contains the world.time of when we start dragging something with our mouse. Used to prevent weird situations where you fail to click on something

explosion_block

Value used to increment ex_act() if reactionary_explosions is on

filter_data

For handling persistent filters

flags_ricochet

how the atom should handle ricochet behavior

germ_level

The higher the germ level, the more germ on the atom.

hud_list

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

hud_possible

HUD images that this atom can provide.

light_power

Intensity of the light. Can be negative to remove light

managed_overlays

overlays managed by update_overlays to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.

managed_vis_overlays

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

map_json_data

This var isn't actually used for anything, but is present so that DM's map reader doesn't forfeit on reading a JSON-serialized map. AKA DO NOT FUCK WITH

new_attack_chain

Whether this atom is using the new attack chain.

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.

rad_insulation_alpha

Radiation insulation for alpha emissions

rad_insulation_beta

Radiation insulation for beta emissions

rad_insulation_gamma

Radiation insulation for gamma emissions

receive_ricochet_chance_mod

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

receive_ricochet_damage_coeff

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

should_spread_blood

Will the atom spread blood when touched?

simulated

Filter for actions - used by lighting overlays

smoothing_flags

Icon-smoothing behavior.

smoothing_groups

What smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it.

smoothing_junction

What directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.

suit_fibers

List of fibers that this atom has

top_left_corner

Smoothing variable

top_right_corner

Smoothing variable

viewing_alternate_appearances

The alternate appearances we're viewing, stored here to reestablish them after Logout()s. Lazylist

Proc Details

AltClickNoInteract

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

CanPathfindPass

This proc is used for telling whether something can pass by this atom 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.

+

For turfs this will only be used if pathing_pass_method is TURF_PATHING_PASS_PROC

+

Arguments:

+ +

IMPORTANT NOTE: /turf/proc/LinkBlockedWithAccess assumes that overrides of CanPathfindPass will always return true if density is FALSE +If this is NOT you, ensure you edit your can_pathfind_pass variable. Check __DEFINES/path.dm

Exit

An atom is attempting to exit this atom's contents

+

Default behaviour is to send the COMSIG_ATOM_EXIT

Topic

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

acid_act

Respond to acid being used on our atom

+

Default behaviour is to send COMSIG_ATOM_ACID_ACT and return

after_slip

Base proc, intended to be overriden.

+

This should only be called from one place: inside the slippery component. +Called after a human mob slips on this atom.

+

If you want the person who slipped to have something special done to them, put it here.

attack_basic_mob

When a basic mob attacks something, either by AI or user.

attack_by

Called when mob user is hitting us with an item attacking. +Part of the /obj/item/proc/melee_attack_chain.

+

Handles calling [/atom/proc/attack] or /obj/item/proc/attack_obj as necessary.

+

Arguments:

+ +

Handles COMSIG_ATTACK_BY returning COMPONENT_SKIP_AFTERATTACK. +Returns FINISH_ATTACK if the attack chain should stop here.

attackby__legacy__attackchain

Called when user attacks us with item W.

+

Handles COMSIG_ATTACK_BY returning COMPONENT_SKIP_AFTERATTACK. +Returns TRUE if afterattack should not be called, FALSE otherwise.

+

New uses of this proc are prohibited! Use [/atom/proc/attackby] or /atom/proc/base_item_interaction instead! +If you are modifiying an existing implementation of this proc, it is expected that you replace it with the proper alternative!

attacked_by

Called after we have been attacked with the item attacker by user.

+

Return value is ignored for purposes of the attack chain.

attacked_by__legacy__attackchain

Called after user has attacked us with item W.

+

New uses of this proc are prohibited! Used /atom/proc/attacked_by. +If you are modifiying an existing implementation of this proc, it is expected that you replace it with the proper alternative!

base_item_interaction

Item interaction

+

Handles non-combat iteractions of a tool on this atom, +such as using a tool on a wall to deconstruct it, +or scanning someone with a health analyzer

base_rad_act

Sends a COMSIG_ATOM_RAD_ACT signal, calls the atoms rad_act with the amount of radiation it should have absorbed and returns the rad insulation of the atom that isappropriate for emission_type

base_ranged_item_interaction

Ranged item interaction

+

Handles non-combat ranged interactions of a tool on this atom, +such as shooting a gun in the direction of someone*, +having a scanner you can point at someone to scan them at any distance, +or pointing a laser pointer at something.

+

*While this intuitively sounds combat related, it is not, +because a "combat use" of a gun is gun-butting.

bitmask_smooth

Basic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.

+

Returns the previous smoothing_junction state so the previous state can be compared with the new one after the proc ends, and see the changes, if any.

+

Objects override this to prevent unanchored objects from smoothing, see /obj/bitmask_smooth()

calculate_adjacencies

Scans all adjacent turfs to find targets to smooth with.

clean_radiation

Removes some radiation from an atom

+

Removes a configurable amount of radiation from an atom +and stops green glow if radiation gets low enough through it. +Arguments:

+

contaminate_atom

Attempt to contaminate a single atom

contents_ui_distance

public

+

Check the distance for a living mob. +Really only used for checks outside the context of a mob. +Otherwise, use shared_living_ui_distance().

+

required src_object The object which owns the UI. +required user mob The mob who opened/is using the UI.

+

return UI_state The state of the UI.

defile

Begin defile and malfunction on-atom definitions

emag_act

This is when an atom is emagged. Should return false if it fails, or it has no emag_act defined.

emp_act

Proc which will make the atom act accordingly to an EMP. +This proc can sleep depending on the implementation. So assume it sleeps!

+

severity - The severity of the EMP. Either EMP_HEAVY, EMP_LIGHT, or EMP_WEAKENED

event_cost

Returns the cost of the atom for the event system as a list of all requirements. By default this is just 1 crew.

examine_more

Extended description of an object. Allows you to double examine objects and have them give you a second description of an item. Useful for writing flavourful stuff.

find_all_cells_containing

debug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)

find_grid_statistics_for_z_level

debug proc for finding how full the cells of src's z level are

find_type_in_direction

Scans direction to find targets to smooth with.

fire_projectile

Fire a projectile from this atom at another atom

get_all_contents

Returns the src and all recursive contents as a list.

get_orbiters

Simple helper proc to get a list of everything directly orbiting the current atom, without checking contents, or null if nothing is.

get_orbiters_recursive

Recursive getter method to return a list of all ghosts transitively orbiting this atom. +This will find orbiters either directly orbiting the followed atom, or any orbiters orbiting them (and so on).

+

This shouldn't be passed arugments.

get_orbiters_up_hierarchy

Check every object in the hierarchy above ourselves for orbiters, and return the full list of them. +If an object is being held in a backpack, returns orbiters of the backpack, the person +If recursive == TRUE, this will also check recursively through any ghosts seen to make sure we find everything upstream

get_oversized_icon_offsets

Returns an x and y value require to reverse the transformations made to center an oversized icon

get_runechat_color

Proc to allow atoms to set their own runechat colour

+

This is a proc designed to be overridden in places if you want a specific atom to use a specific runechat colour +Exampls include consoles using a colour based on their screen colour, and mobs using a colour based off of a customisation property

handle_basic_attack

This exists so stuff can override the default call of attack_animal for attack_basic_mob +Remove this when simple animals are removed and everything can be handled on attack basic mob.

hit_by_thrown_mob

This proc applies special effects of a carbon mob hitting something, be it a wall, structure, or window. You can set mob_hurt to false to avoid double dipping through subtypes if returning ..()

is_drainable

Is this atom drainable of reagents

is_drawable

Can we draw from this atom with an injectable atom

is_injectable

Is this atom injectable into other atoms

is_open_container

Convenience proc to see if a container is open for chemistry handling

is_refillable

Can this atoms reagents be refilled

item_interaction

Called when this atom has an item used on it. +IE, a mob is clicking on this atom with an item.

+

Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code. +Return NONE to allow default interaction / tool handling.

makeHologram

Makes this atom look like a "hologram" +So transparent, blue, with a scanline and an emissive glow +This is acomplished using a combination of filters and render steps/overlays +The degree of the opacity is optional, based off the opacity arg (0 -> 1)

mech_melee_attack

Handle melee attack by a mech

move_camera_by_click

If usr is an AI, set the camera eye's location to the location of the atom clicked.

on_mob_spawn

Used with the spawner component to do something when a mob is spawned.

persistent_load

Atom Persistent Loader

+

Overridden on every atom which needs to load persistent data

persistent_save

Atom Persistent Saver

+

Overridden on every atom which needs to save persistent data

rad_act

Respond to a radioactive wave hitting this atom

+

This should only be called through the atom/base_rad_act proc

ranged_item_interaction

Called when this atom has an item used on it from a distance. +IE, a mob is clicking on this atom with an item and is not adjacent.

+

Does NOT include Telekinesis users, they are considered adjacent generally.

+

Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code.

ray_filter_helper

Used to create rays on an item. Make sure to removefilter("rays") when done with it

relaydrive

A special case of relaymove() in which the person relaying the move may be "driving" this atom

+

This is a special case for vehicles and ridden animals where the relayed movement may be handled +by the riding component attached to this atom. Returns TRUE as long as there's nothing blocking +the movement, or FALSE if the signal gets a reply that specifically blocks the movement

remove_orbiter

Remove an orbiter from the atom it's orbiting.

rename_interactive

return_analyzable_air

Return the air if we can analyze it

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 +/turf/rust_turf should be used instead for overriding rust on turfs

set_opacity

Updates the atom's opacity value.

+

This exists to act as a hook for associated behavior. +It notifies (potentially) affected light sources so they can update (if needed).

set_smoothed_icon_state

Changes the icon state based on the new junction bitmask. Returns the old junction value.

shuttleRotate

Base proc

storage_depth

Returns the storage depth of an atom up to the area level.

+

The storage depth is the number of storage items the atom is contained in. +Returns -1 if the atom was not found in a container.

storage_depth_turf

Like /atom/proc/storage_depth, but returns the depth to the nearest turf.

+

Returns -1 if there's no top level turf. (A loc was null somewhere, or a non-turf atom's loc was an area somehow.)

tool_act

Tool Act

+

Handles using specific tools on this atom directly.

+

Handles the tool_acts in particular, such as wrenches and screwdrivers.

+

This can be overriden to handle unique "tool interactions" +IE using an item like a tool (when it's not actually one) +but otherwise does nothing that [item_interaction] doesn't already do.

+

In other words, use sparingly. It's harder to use (correctly) than [item_interaction].

update_appearance

Updates the appearence of the atom, including text.

+

Mostly delegates to update_name, update_desc, and update_icon

+

Arguments:

+ +

Supported bitflags: UPDATE_NAME, UPDATE_DESC, UPDATE_ICON

update_desc

Updates the description of the atom

update_icon

Updates the icon and overlays of the atom

+

Mostly delegates to update_icon_state and update_overlays

+

Arguments:

+ +

Supported bitflags: UPDATE_ICON_STATE, UPDATE_OVERLAYS

update_icon_state

Updates the icon state of the atom

+

Excluding the base proc, or child overrides that do not intend to change the icon_state, this proc needs a minimum of two possible icon_states, otherwise it effectively becomes permanent and a redundant proc.

update_name

Updates the name of the atom

update_overlays

Updates the managed overlays of the atom

+

Old overlays from this proc are removed when called, and does not affect overlays from outside it. e.g. add_overlay() called independently in a different proc.

+

It has to return a list of overlays if it can't call the parent to create one. The list can contain anything that would be valid for the add_overlay proc: Images, mutable appearances, icon state names...

zap_act

Respond to an electric bolt action on our item

+

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

\ No newline at end of file diff --git a/atom/movable.html b/atom/movable.html new file mode 100644 index 00000000000..ecb6d3dd0e1 --- /dev/null +++ b/atom/movable.html @@ -0,0 +1,138 @@ +/atom/movable - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

movable

Vars

active_movementA list containing arguments for Moved().
blocks_emissiveEither FALSE, [EMISSIVE_BLOCK_GENERIC], or EMISSIVE_BLOCK_UNIQUE
buckle_lyingBed-like behaviour, forces the mob to lie down if buckle_lying != -1
buckle_offsetThe Pixel_y to offset the buckled mob by
buckle_prevents_pullCan we pull the mob while they're buckled. Currently set to false on every movable
buckle_requires_restraintsRequire people to be handcuffed before being able to buckle. eg: pipes
buckled_mobsLazylist of the mobs buckled to this object.
can_be_unanchoredUsed for icon smoothing. Won't smooth if it ain't anchored and can be unanchored. Only set to true on windows
em_blockInternal holder for emissive blocker object, do not use directly use blocks_emissive
face_while_pullingFace towards the atom while pulling it
important_recursive_contentsan associative lazylist of relevant nested contents by "channel", the list is of the form: list(channel = list(important nested contents of that type)) +each channel has a specific purpose and is meant to replace potentially expensive nested contents iteration. +do NOT add channels to this for little reason as it can add considerable memory usage.
inertia_move_delayDelay in deciseconds between inertia based movement
inertia_movingAre we moving with inertia? Mostly used as an optimization
last_pushoffThe last time we pushed off something +This is a hack to get around dumb him him me scenarios
max_buckled_mobsThe max amount of mobs that can be buckled to this object. Currently set to 1 on every movable
move_packetHolds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on
moving_from_pullattempt to resume grab after moving instead of before.
orbiting_uidUID for the atom which the current atom is orbiting
scatter_distanceHow far (in pixels) should this atom scatter when created/dropped/etc. Does not apply to mapped-in items.
set_dir_on_moveWhether this atom should have its dir automatically changed when it +moves. Setting this to FALSE allows for things such as directional windows +to retain dir on moving without snowflake code all of the place. +PARA: Doesn't set this currently to maintain current behavior for pulling items around, +because modifying direction on pull is expected.
spatial_grid_keyString representing the spatial grid groups we want to be held in. +acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. +We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves
thought_bubble_imageIcon state for thought bubbles. Normally set by mobs.

Procs

Crosseddefault byond proc that is deprecated for us in lieu of signals. do not call
MovedCalled after a successful Move(). By this point, we've already moved. +Arguments:
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][/atom/movable/proc/newtonian_move]
UncrossUncross() is a default BYOND proc that is called when something is going +to exit this atom's turf. It is prefered over Uncrossed when you want to +deny that movement, such as in the case of border objects, objects that allow +you to walk through them in any direction except the one they block +(think side windows).
Uncrosseddefault byond proc that is normally called on everything inside the previous turf +a movable was in after moving to its current turf +this is wasteful since the vast majority of objects do not use Uncrossed +use connect_loc to register to COMSIG_ATOM_EXITED instead
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()].
admin_FreezeCreated here as a base proc. Override as needed for any type of object or mob you want able to be frozen.
become_area_sensitiveallows this movable to know when it has "entered" another area no matter how many movable atoms its stuffed into, uses important_recursive_contents
become_hearing_sensitiveallows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in
can_reachA backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.
can_reach_nested_adjacentA backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.
create_point_bubbleCreate a bubble pointing at a particular icon and icon state. +See args for create_point_bubble_from_atom.
create_point_bubble_from_atomCreate a point bubble towards a given item.
create_point_bubble_from_iconsCreate a point bubble towards a given item, from an icon/icon state.
create_point_bubble_from_pathSee above, this uses an uninstantiated path.
deadchat_playsAdds the deadchat_plays component to this atom with simple movement commands.
end_throwcalled after an items throw is ended.
fall_and_crushTip over this atom onto a turf, crushing things in its path.
key_loopKey loop to check for movement keys held and move in the desired direction.
lose_area_sensitivityremoves the area sensitive channel from the important_recursive_contents list of this and all nested locs containing us if there are no more source of the trait left
lose_hearing_sensitivityremoves the hearing sensitivity channel from the important_recursive_contents list of this and all nested locs containing us if there are no more sources of the trait left +since RECURSIVE_CONTENTS_HEARING_SENSITIVE is also a spatial grid content type, removes us from the spatial grid if the trait is removed
move_from_pullCalled when src is being moved to a target turf because another movable (puller) is moving around.
on_changed_z_levelCalled when a movable changes z-levels.
on_crush_thinguseful callback for things that want special behavior on crush
orbitSet an atom to orbit around another one. This atom will follow the base atom's movement and rotate around it.
point_atPoint at an atom
scatter_atomUsed to scatter atoms so that multiple copies aren't all at the exact same spot.
set_glide_sizeThis proc is recursive, and calls itself to constantly set the glide size of an atom/movable
set_locUsed in shuttle movement and camera eye stuff. +Primarily used to notify objects being moved by a shuttle/bluespace fuckup.
shove_impactcalled when a mob gets shoved into an items turf. false means the mob will be shoved backwards normally, true means the mob will not be moved by the disarm proc.
stop_deadchat_playsEasy way to remove the component when the fun has been played out
stop_orbitStop this atom from orbiting whatever it's orbiting.
tilt_overTip over an atom without too much fuss. This won't cause damage to anything, and just rotates the thing and (optionally) adds the component.
untiltUntilt a tilted object.

Var Details

active_movement

A list containing arguments for Moved().

blocks_emissive

Either FALSE, [EMISSIVE_BLOCK_GENERIC], or EMISSIVE_BLOCK_UNIQUE

buckle_lying

Bed-like behaviour, forces the mob to lie down if buckle_lying != -1

buckle_offset

The Pixel_y to offset the buckled mob by

buckle_prevents_pull

Can we pull the mob while they're buckled. Currently set to false on every movable

buckle_requires_restraints

Require people to be handcuffed before being able to buckle. eg: pipes

buckled_mobs

Lazylist of the mobs buckled to this object.

can_be_unanchored

Used for icon smoothing. Won't smooth if it ain't anchored and can be unanchored. Only set to true on windows

em_block

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

face_while_pulling

Face towards the atom while pulling it

important_recursive_contents

an associative lazylist of relevant nested contents by "channel", the list is of the form: list(channel = list(important nested contents of that type)) +each channel has a specific purpose and is meant to replace potentially expensive nested contents iteration. +do NOT add channels to this for little reason as it can add considerable memory usage.

inertia_move_delay

Delay in deciseconds between inertia based movement

inertia_moving

Are we moving with inertia? Mostly used as an optimization

last_pushoff

The last time we pushed off something +This is a hack to get around dumb him him me scenarios

max_buckled_mobs

The max amount of mobs that can be buckled to this object. Currently set to 1 on every movable

move_packet

Holds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on

moving_from_pull

attempt to resume grab after moving instead of before.

orbiting_uid

UID for the atom which the current atom is orbiting

scatter_distance

How far (in pixels) should this atom scatter when created/dropped/etc. Does not apply to mapped-in items.

set_dir_on_move

Whether this atom should have its dir automatically changed when it +moves. Setting this to FALSE allows for things such as directional windows +to retain dir on moving without snowflake code all of the place. +PARA: Doesn't set this currently to maintain current behavior for pulling items around, +because modifying direction on pull is expected.

spatial_grid_key

String representing the spatial grid groups we want to be held in. +acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. +We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves

thought_bubble_image

Icon state for thought bubbles. Normally set by mobs.

Proc Details

Crossed

default byond proc that is deprecated for us in lieu of signals. do not call

Moved

Called after a successful Move(). By this point, we've already moved. +Arguments:

+

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][/atom/movable/proc/newtonian_move]

+

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

+

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

+

Arguments:

+

Uncross

Uncross() is a default BYOND proc that is called when something is going +to exit this atom's turf. It is prefered over Uncrossed when you want to +deny that movement, such as in the case of border objects, objects that allow +you to walk through them in any direction except the one they block +(think side windows).

+

While being seemingly harmless, most everything doesn't actually want to +use this, meaning that we are wasting proc calls for every single atom +on a turf, every single time something exits it, when basically nothing +cares.

+

If you want to replicate the old Uncross() behavior, the most apt +replacement is [/datum/element/connect_loc] while hooking onto +[COMSIG_ATOM_EXIT].

Uncrossed

default byond proc that is normally called on everything inside the previous turf +a movable was in after moving to its current turf +this is wasteful since the vast majority of objects do not use Uncrossed +use connect_loc to register to COMSIG_ATOM_EXITED instead

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

admin_Freeze

Created here as a base proc. Override as needed for any type of object or mob you want able to be frozen.

become_area_sensitive

allows this movable to know when it has "entered" another area no matter how many movable atoms its stuffed into, uses important_recursive_contents

become_hearing_sensitive

allows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in

can_reach

A backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.

can_reach_nested_adjacent

A backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.

+

Arguments:

+

create_point_bubble

Create a bubble pointing at a particular icon and icon state. +See args for create_point_bubble_from_atom.

create_point_bubble_from_atom

Create a point bubble towards a given item.

+

Arguments:

+

create_point_bubble_from_icons

Create a point bubble towards a given item, from an icon/icon state.

+

Arguments:

+

create_point_bubble_from_path

See above, this uses an uninstantiated path.

deadchat_plays

Adds the deadchat_plays component to this atom with simple movement commands.

+

Returns the component added. +Arguments:

+

end_throw

called after an items throw is ended.

fall_and_crush

Tip over this atom onto a turf, crushing things in its path.

+

Arguments:

+

key_loop

Key loop to check for movement keys held and move in the desired direction.

lose_area_sensitivity

removes the area sensitive channel from the important_recursive_contents list of this and all nested locs containing us if there are no more source of the trait left

lose_hearing_sensitivity

removes the hearing sensitivity channel from the important_recursive_contents list of this and all nested locs containing us if there are no more sources of the trait left +since RECURSIVE_CONTENTS_HEARING_SENSITIVE is also a spatial grid content type, removes us from the spatial grid if the trait is removed

+

move_from_pull

Called when src is being moved to a target turf because another movable (puller) is moving around.

on_changed_z_level

Called when a movable changes z-levels.

+

Arguments:

+

on_crush_thing

useful callback for things that want special behavior on crush

orbit

Set an atom to orbit around another one. This atom will follow the base atom's movement and rotate around it.

+

orbiter: atom which will be doing the orbiting +radius: range to orbit at, radius of the circle formed by orbiting +clockwise: whether you orbit clockwise or anti clockwise +rotation_speed: how fast to rotate +rotation_segments: the resolution of the orbit circle, less = a more block circle, this can be used to produce hexagons (6 segments) triangles (3 segments), and so on, 36 is the best default. +pre_rotation: Chooses to rotate src 90 degress towards the orbit dir (clockwise/anticlockwise), useful for things to go "head first" like ghosts +lock_in_orbit: Forces src to always be on A's turf, otherwise the orbit cancels when src gets too far away (eg: ghosts) +force_move: If true, ghosts will be ForceMoved instead of having their .loc updated directly. +orbit_layer: layer that the orbiter should be on. The original layer will be restored on orbit end.

point_at

Point at an atom

+

Intended to enable and standardise the pointing animation for all atoms

+

Not intended as a replacement for the mob verb

scatter_atom

Used to scatter atoms so that multiple copies aren't all at the exact same spot.

set_glide_size

This proc is recursive, and calls itself to constantly set the glide size of an atom/movable

set_loc

Used in shuttle movement and camera eye stuff. +Primarily used to notify objects being moved by a shuttle/bluespace fuckup.

shove_impact

called when a mob gets shoved into an items turf. false means the mob will be shoved backwards normally, true means the mob will not be moved by the disarm proc.

stop_deadchat_plays

Easy way to remove the component when the fun has been played out

stop_orbit

Stop this atom from orbiting whatever it's orbiting.

tilt_over

Tip over an atom without too much fuss. This won't cause damage to anything, and just rotates the thing and (optionally) adds the component.

+

Arguments:

+

untilt

Untilt a tilted object.

\ No newline at end of file diff --git a/atom/movable/emissive_blocker.html b/atom/movable/emissive_blocker.html new file mode 100644 index 00000000000..716c8880ce1 --- /dev/null +++ b/atom/movable/emissive_blocker.html @@ -0,0 +1,4 @@ +/atom/movable/emissive_blocker - Space Station 13
Space Station 13 - Modules - Types

emissive_blocker

Internal atom that copies an appearance on to the blocker 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.

\ No newline at end of file diff --git a/atom/movable/plane_master_controller.html b/atom/movable/plane_master_controller.html new file mode 100644 index 00000000000..d191fba5036 --- /dev/null +++ b/atom/movable/plane_master_controller.html @@ -0,0 +1 @@ +/atom/movable/plane_master_controller - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

plane_master_controller

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

Vars

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

Procs

NewEnsures that all the planes are correctly in the controlled_planes list.
add_atom_colourFull override so we can just use filterrific
add_filterFull override so we can just use filterrific
get_filtersGets all filters for this controllers plane masters
remove_atom_colourRemoves an instance of colour_type from the atom's atom_colours list
remove_filterFull override so we can just use filterrific
transition_filterTransitions all filters owned by this plane master controller
update_atom_colourResets the atom's color to null, and then sets it to the highest priority colour available

Var Details

controlled_planes

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

owner_hud

hud that owns this controller

Proc Details

New

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

add_atom_colour

Full override so we can just use filterrific

add_filter

Full override so we can just use filterrific

get_filters

Gets all filters for this controllers plane masters

remove_atom_colour

Removes an instance of colour_type from the atom's atom_colours list

remove_filter

Full override so we can just use filterrific

transition_filter

Transitions all filters owned by this plane master controller

update_atom_colour

Resets the atom's color to null, and then sets it to the highest priority colour available

\ No newline at end of file diff --git a/atom/movable/screen.html b/atom/movable/screen.html new file mode 100644 index 00000000000..2ec02490d15 --- /dev/null +++ b/atom/movable/screen.html @@ -0,0 +1,11 @@ +/atom/movable/screen - Space Station 13
Space Station 13 - Modules - TypesVar 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.

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.

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.

\ No newline at end of file diff --git a/atom/movable/screen/action_landing.html b/atom/movable/screen/action_landing.html new file mode 100644 index 00000000000..b09fc6f580a --- /dev/null +++ b/atom/movable/screen/action_landing.html @@ -0,0 +1 @@ +/atom/movable/screen/action_landing - Space Station 13
Space Station 13 - Modules - TypesProc Details

action_landing

Exists so you have a place to put your buttons when you move them around

Procs

hit_byReacts to having a button dropped on it

Proc Details

hit_by

Reacts to having a button dropped on it

\ No newline at end of file diff --git a/atom/movable/screen/alert.html b/atom/movable/screen/alert.html new file mode 100644 index 00000000000..9b7b4e7a154 --- /dev/null +++ b/atom/movable/screen/alert.html @@ -0,0 +1 @@ +/atom/movable/screen/alert - Space Station 13
Space Station 13 - Modules - TypesVar Details

alert

Vars

alerttooltipstyleTool-tip for the alert.
override_alertsIf true, this should override any other alerts of the same type thrown.
ownerThe mob that this alert was originally thrown to.
severitySome alerts may have different icon states based on severity, this adjusts that.
timeoutHow long before this alert automatically clears itself (in deciseconds). If zero, remains until cleared.

Var Details

alerttooltipstyle

Tool-tip for the alert.

override_alerts

If true, this should override any other alerts of the same type thrown.

owner

The mob that this alert was originally thrown to.

severity

Some alerts may have different icon states based on severity, this adjusts that.

timeout

How long before this alert automatically clears itself (in deciseconds). If zero, remains until cleared.

\ No newline at end of file diff --git a/atom/movable/screen/alert/augury.html b/atom/movable/screen/alert/augury.html new file mode 100644 index 00000000000..16b5a0e1dce --- /dev/null +++ b/atom/movable/screen/alert/augury.html @@ -0,0 +1,14 @@ +/atom/movable/screen/alert/augury - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

augury

Vars

follow_targetThe atom being followed
followersThe atoms following it
next_targetsQueue of next atoms to follow
thing_followedTitle for the thing that will be followed.
time_between_switchesAfter a followed item is qdeleted, wait this long before switching to the next target, allowing you to see aftermath.

Procs

InitializeCreate a new augury alert.
change_targetsChange the atom that everyone is currently following, moving everyone to the new object.
on_following_qdelExecuted when the parent is deleted. +Don't immediately kill ourselves, since it's possible that we might want to move somewhere else +(for example, after a meteor strike)
remove_follower_on_stop_orbitCalled when someone stops orbiting our followed object, so they can actually get out of the loop.

Var Details

follow_target

The atom being followed

followers

The atoms following it

next_targets

Queue of next atoms to follow

thing_followed

Title for the thing that will be followed.

time_between_switches

After a followed item is qdeleted, wait this long before switching to the next target, allowing you to see aftermath.

Proc Details

Initialize

Create a new augury alert.

+

Arguments:

+

change_targets

Change the atom that everyone is currently following, moving everyone to the new object.

+

Arguments:

+

on_following_qdel

Executed when the parent is deleted. +Don't immediately kill ourselves, since it's possible that we might want to move somewhere else +(for example, after a meteor strike)

remove_follower_on_stop_orbit

Called when someone stops orbiting our followed object, so they can actually get out of the loop.

\ No newline at end of file diff --git a/atom/movable/screen/alert/modlink_call.html b/atom/movable/screen/alert/modlink_call.html new file mode 100644 index 00000000000..4e7e9d2503f --- /dev/null +++ b/atom/movable/screen/alert/modlink_call.html @@ -0,0 +1 @@ +/atom/movable/screen/alert/modlink_call - Space Station 13
Space Station 13 - Modules - TypesVar Details

modlink_call

Vars

link_caller_uidA UID to the MODlink that is calling.
link_receiver_uidA UID to the MODlink that is being called.
user_uidA UID to the mob that is calling.

Var Details

A UID to the MODlink that is calling.

A UID to the MODlink that is being called.

user_uid

A UID to the mob that is calling.

\ No newline at end of file diff --git a/atom/movable/screen/alert/status_effect/offering_item.html b/atom/movable/screen/alert/status_effect/offering_item.html new file mode 100644 index 00000000000..2e51a89803c --- /dev/null +++ b/atom/movable/screen/alert/status_effect/offering_item.html @@ -0,0 +1 @@ +/atom/movable/screen/alert/status_effect/offering_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

offering_item

Vars

item_UIDUID of the item being given.
receiver_UIDUID of the mob who's being offered the item.

Var Details

item_UID

UID of the item being given.

receiver_UID

UID of the mob who's being offered the item.

\ No newline at end of file diff --git a/atom/movable/screen/alert/take_item.html b/atom/movable/screen/alert/take_item.html new file mode 100644 index 00000000000..47de85bcc2a --- /dev/null +++ b/atom/movable/screen/alert/take_item.html @@ -0,0 +1,2 @@ +/atom/movable/screen/alert/take_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

Take Item alert

Alert which appears for a user when another player is attempting to offer them an item. +The user can click the alert to accept, or simply do nothing to not take the item.

Vars

giver_UIDUID of the mob offering the receiver an item.
item_UIDUID of the item being given.
receiver_UIDUID of the mob who has this alert.

Var Details

giver_UID

UID of the mob offering the receiver an item.

item_UID

UID of the item being given.

receiver_UID

UID of the mob who has this alert.

\ No newline at end of file diff --git a/atom/movable/screen/button_palette.html b/atom/movable/screen/button_palette.html new file mode 100644 index 00000000000..49c3a542e3d --- /dev/null +++ b/atom/movable/screen/button_palette.html @@ -0,0 +1 @@ +/atom/movable/screen/button_palette - Space Station 13
Space Station 13 - Modules - TypesVar Details

button_palette

Vars

color_timer_idId of any currently running timers that set our color matrix

Var Details

color_timer_id

Id of any currently running timers that set our color matrix

\ No newline at end of file diff --git a/atom/movable/screen/fullscreen/stretch/cursor_catcher.html b/atom/movable/screen/fullscreen/stretch/cursor_catcher.html new file mode 100644 index 00000000000..e8f9530e7ca --- /dev/null +++ b/atom/movable/screen/fullscreen/stretch/cursor_catcher.html @@ -0,0 +1 @@ +/atom/movable/screen/fullscreen/stretch/cursor_catcher - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cursor_catcher

An effect which tracks the cursor's location on the screen

Vars

given_turfThe turf we send to the scope component.
given_xPixel x we send to the scope component.
given_yPixel y we send to the scope component.
mouse_paramsMouse parameters, for calculation.
ownerThe mob whose cursor we are tracking.
view_listClient view size of the scoping mob.

Procs

assign_to_mobLinks this up with a mob
on_moveUpdate when the mob we're assigned to has moved

Var Details

given_turf

The turf we send to the scope component.

given_x

Pixel x we send to the scope component.

given_y

Pixel y we send to the scope component.

mouse_params

Mouse parameters, for calculation.

owner

The mob whose cursor we are tracking.

view_list

Client view size of the scoping mob.

Proc Details

assign_to_mob

Links this up with a mob

on_move

Update when the mob we're assigned to has moved

\ No newline at end of file diff --git a/atom/movable/screen/fullscreen/stretch/cursor_catcher/scope.html b/atom/movable/screen/fullscreen/stretch/cursor_catcher/scope.html new file mode 100644 index 00000000000..c46886659b8 --- /dev/null +++ b/atom/movable/screen/fullscreen/stretch/cursor_catcher/scope.html @@ -0,0 +1 @@ +/atom/movable/screen/fullscreen/stretch/cursor_catcher/scope - Space Station 13
Space Station 13 - Modules - TypesVar Details

scope

Vars

range_modifierMultiplier for given_X an given_y.

Var Details

range_modifier

Multiplier for given_X an given_y.

\ No newline at end of file diff --git a/atom/movable/screen/movable.html b/atom/movable/screen/movable.html new file mode 100644 index 00000000000..597e3fb3227 --- /dev/null +++ b/atom/movable/screen/movable.html @@ -0,0 +1 @@ +/atom/movable/screen/movable - Space Station 13
Space Station 13 - Modules - TypesProc Details

movable

Procs

mouse_params_to_positionTakes mouse parmas as input, returns a string representing the appropriate mouse position

Proc Details

mouse_params_to_position

Takes mouse parmas as input, returns a string representing the appropriate mouse position

\ No newline at end of file diff --git a/atom/movable/screen/movable/action_button.html b/atom/movable/screen/movable/action_button.html new file mode 100644 index 00000000000..eff640d96fb --- /dev/null +++ b/atom/movable/screen/movable/action_button.html @@ -0,0 +1 @@ +/atom/movable/screen/movable/action_button - Space Station 13
Space Station 13 - Modules - TypesVar Details

action_button

Vars

actiontooltipstyleThe style of tool-tip.
active_overlay_icon_stateThe icon state of our active overlay, used to prevent re-applying identical overlays
active_underlay_icon_stateThe icon state of our active underlay, used to prevent re-applying identical underlays
button_overlayThe overlay we have overtop our button
idA unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position
last_hovered_refUID of the last thing we hovered over. Used for managing action button dragging.
linked_actionThe action triggered by this button.
linked_keybindThe keybind that will trigger this action button.
locationWhere we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks
lockedWhether or not this button is locked, preventing it from being dragged.
our_hudThe HUD this action button belongs to
shown_to_observersWhether or not this should be shown to observers
unavailable_imageOverlay for displaying the availability of the button

Var Details

actiontooltipstyle

The style of tool-tip.

active_overlay_icon_state

The icon state of our active overlay, used to prevent re-applying identical overlays

active_underlay_icon_state

The icon state of our active underlay, used to prevent re-applying identical underlays

button_overlay

The overlay we have overtop our button

id

A unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position

last_hovered_ref

UID of the last thing we hovered over. Used for managing action button dragging.

linked_action

The action triggered by this button.

linked_keybind

The keybind that will trigger this action button.

location

Where we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks

locked

Whether or not this button is locked, preventing it from being dragged.

our_hud

The HUD this action button belongs to

shown_to_observers

Whether or not this should be shown to observers

unavailable_image

Overlay for displaying the availability of the button

\ No newline at end of file diff --git a/atom/movable/screen/palette_scroll.html b/atom/movable/screen/palette_scroll.html new file mode 100644 index 00000000000..f40dc9fead7 --- /dev/null +++ b/atom/movable/screen/palette_scroll.html @@ -0,0 +1,3 @@ +/atom/movable/screen/palette_scroll - Space Station 13
Space Station 13 - Modules - TypesVar Details

palette_scroll

Vars

scroll_directionHow should we move the palette's actions? +Positive scrolls down the list, negative scrolls back

Var Details

scroll_direction

How should we move the palette's actions? +Positive scrolls down the list, negative scrolls back

\ No newline at end of file diff --git a/atom/movable/screen/plane_master/emissive.html b/atom/movable/screen/plane_master/emissive.html new file mode 100644 index 00000000000..5cf40c4e009 --- /dev/null +++ b/atom/movable/screen/plane_master/emissive.html @@ -0,0 +1,3 @@ +/atom/movable/screen/plane_master/emissive - Space Station 13
Space Station 13 - Modules - Types

emissive

Things placed on this mask the lighting plane. Doesn't render directly.

+

Gets masked by blocking plane. Use for things that you want blocked by +mobs, items, etc.

\ No newline at end of file diff --git a/atom/movable/screen/robot/active_module.html b/atom/movable/screen/robot/active_module.html new file mode 100644 index 00000000000..41454b27a69 --- /dev/null +++ b/atom/movable/screen/robot/active_module.html @@ -0,0 +1 @@ +/atom/movable/screen/robot/active_module - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

active_module

Vars

activated_icon_stringWhere the string for the activated icon state is stored
activeIf it should have a green background
deactivated_icon_stringWhere the string for the deactivated icon state is stored
module_numberIf it's slot 1, 2, or 3

Procs

activateUpdates the background of the module to be active
deactivateUpdates the background of the module to be inactive

Var Details

activated_icon_string

Where the string for the activated icon state is stored

active

If it should have a green background

deactivated_icon_string

Where the string for the deactivated icon state is stored

module_number

If it's slot 1, 2, or 3

Proc Details

activate

Updates the background of the module to be active

deactivate

Updates the background of the module to be inactive

\ No newline at end of file diff --git a/atom/movable/screen/text/blurb.html b/atom/movable/screen/text/blurb.html new file mode 100644 index 00000000000..f4493ea4b30 --- /dev/null +++ b/atom/movable/screen/text/blurb.html @@ -0,0 +1 @@ +/atom/movable/screen/text/blurb - Space Station 13
Space Station 13 - Modules - TypesVar Details

blurb

Vars

appear_animation_durationAmount of time the blurbs appering (alpha changing from 0 to 255). 0 means blurb is fully opaque from the start
blurb_textText that will be shown in blurb
chars_per_intervalNumber of chars from the text that will be displayed per interval. Defaults to 1
fade_animation_durationAmount of time the blurb takes to fade (alpha changing from 255 to 0). 0 means blurb is instantly removed from the screen after finished
font_familyFont family
font_sizeFont size in pixels
hold_forAmount of time the blurb will be present on the screen. 0 means that blurb will dissappear immediately
intervalThe interval between chars rendering
text_alignmentWhere text is aligned
text_colorColor of text in RGB
text_outline_colorColor of text outline
text_outline_widthWidth of text outline in pixels

Var Details

appear_animation_duration

Amount of time the blurbs appering (alpha changing from 0 to 255). 0 means blurb is fully opaque from the start

blurb_text

Text that will be shown in blurb

chars_per_interval

Number of chars from the text that will be displayed per interval. Defaults to 1

fade_animation_duration

Amount of time the blurb takes to fade (alpha changing from 255 to 0). 0 means blurb is instantly removed from the screen after finished

font_family

Font family

font_size

Font size in pixels

hold_for

Amount of time the blurb will be present on the screen. 0 means that blurb will dissappear immediately

interval

The interval between chars rendering

text_alignment

Where text is aligned

text_color

Color of text in RGB

text_outline_color

Color of text outline

text_outline_width

Width of text outline in pixels

\ No newline at end of file diff --git a/client.html b/client.html new file mode 100644 index 00000000000..205a344172b --- /dev/null +++ b/client.html @@ -0,0 +1,59 @@ +/client - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

client

Vars

ViewModsWas used to handle view modifications. Now only used for a mecha module. Please just edit the string in the future
ViewModsActiveStores the viewmod we set using this system. Only used for a mecha module
ViewPreferedIconSizeStores the icon size we use for skins. As the server has control freak enabled, this is always static
active_keybindingsThe client's active keybindings, depending on their active mob.
admin_music_volumeCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT +Admin music volume, from 0 to 1.
byondacc_ageDays since the client's BYOND account was created
byondacc_dateDate the client registered their BYOND account on
click_intercept_timeTime when the click was intercepted
completed_asset_jobsList of all completed blocking send jobs awaiting acknowledgement by send_asset
connection_timeworld.time they connected
creditslist of all credit object bound to this client
cui_entriesList of the clients CUIs
description_holdersPersistent storage for the flavour text of examined atoms.
drag_detailsThe params we passed at the start of the drag, in list form
drag_startWhen we started the currently active drag
fullscreenThe current fullscreen state for /client/toggle_fullscreen()
input_dataInput datum, what the client is pressing.
jbhThe client's job ban holder
last_asset_jobThe ID of the last asset job
last_completed_asset_jobThe ID of the last asset job that was properly finished
last_discord_pm_timeLast world.time that a PM was send to discord by a player
last_parallax_shiftStored world.tim of the last parallax update. Used to make sure parallax isn't updated too often
m5_uid_cacheCache of MD5'd UIDs. This is to stop clients from poking at object UIDs and being exploity with them
macro_setsBasically a local variable on a client datum. Used when setting macros and nowhere else
mouseParamsUsed in MouseDrag to preserve the original mouse click parameters
mouse_location_UIDUsed in MouseDrag to preserve the last mouse-entered location.
mouse_object_UIDUsed in MouseDrag to preserve the last mouse-entered object.
moused_overThe client's currently moused over datum, limited to movable and stored as UID
movement_kb_dirsThe client's movement keybindings to directions, which work regardless of modifiers.
movingmobUsed with parallax to update the parallax offsets when the subsystem fires. Compared to the clients Eye variable
next_mouse_macro_warningUsed to throw an admin warning if someone used a mouse macro. Also stores the world time so we can send funny noises to them
obj_windowOur object window datum. It stores info about and handles behavior for the object tab
pai_saveClient's pAI save
panel_tabslist of all tabs
parallax_animate_timerHandles how parallax loops in situations like shuttles leaving. Stores the timer that handles that
parallax_layersList of parallax layers a client is viewing. Accessed when paralax is updated
parallax_layers_cachedA cached list of available parallax layers. This may potentially be changeable to a static variable. Updated upon changing parallax prefs
parallax_layers_maxThe amount of parallax layers that will exist on your screen. Affected by the parallax preference
parallax_movedirThe direction parallax will be moved it. References parallax_move_direction on areas
parallax_static_layers_tailAdded to parallax layers when parallax settings are changed
parallax_throttleDeciseconds of added delay to parallax by client preferences
parent_typeClient is casted to /datum so that we're able to use datum variables, search for clients through datums, and not need to duplicate code for GCing
previous_turfUsed with parallax to grab the offset needed. Uses the X and Y coords of the turf stored here
received_discord_pmLast world/time that a PM was sent to the player by an admin
recent_examinesA lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of [/atom/proc/examine] on them when examining +A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of [/atom/proc/examine] on them when examining
screen_mapsUsed with the camera console to clear out the screen objects it adds to the client when the console is deleted
seen_messagesMessages currently seen by this client
selected_targetAutoclick list of two elements, first being the clicked thing, second being the parameters.
sent_assetsList of all asset filenames sent to this client by the asset cache, along with their assoicated md5s
show_verb_panelhides the byond verb panel as we use our own custom version
spell_tabslist of tabs containing spells and abilities
stat_panelStat panel window declaration, we don't usually allow this but tgui windows/panels are exceptions
stat_tabour current tab
tgui_cache_reloadedglobal
tgui_panelCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT
tgui_sayAssigned say modal of the client
tgui_windowsglobal
topiclimiterUsed for limiting the rate of topic sends by the client to avoid abuse
tos_consentHas the client accepted the TOS about data collection and other stuff
version_blockedIf true, client cannot ready up, late join, or observe. Used for players with EXTREMELY old byond versions.
visual_delayThe visual delay to use for the current client.Move(), mostly used for making a client based move look like it came from some other slower source
watchlistedIs the client watchlisted
window_scalingIf this client has any windows scaling applied

Procs

Process_GrabProcess_Grab() +Called by client/Move() +Checks to see if you are being grabbed and if so attemps to break it
Process_IncorpmoveProcess_Incorpmove +Called by client/Move() +Allows mobs to run though walls
_Topicdumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic, +so we cant queue it without this
asset_cache_confirm_arrivalProcess asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"
asset_cache_preload_dataProcess asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]
asset_cache_update_jsonUpdates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.
browse_queue_flushBlocks until all currently sending browse and browse_rs 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.
display_job_bansLists all active jobbans for src client
fix_tgui_paneltgui panel / chat troubleshooting verb
get_byond_account_dateSets the clients BYOND date up properly
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
maxviewReturns the biggest number from client.view so we can do easier maths
on_stat_panel_messageHandles incoming messages from the stat-panel TGUI.
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.
retrieve_byondacc_dataRetrieves the BYOND accounts data from the BYOND servers
set_macrosThis proc sets the built in BYOND macros for keypresses to pass inputs on to the rebindable input system or the legacy system +If you plan on ripping out the legacy system, see the set_macros() proc at the following commit: https://github.com/S34NW/Paradise/commit/83a0a0b0c633807cc5a88a630f623cec24e16027
setup_popupCreate the popup, and get it ready for generic use by giving +it a background.
tgui_say_create_open_commandCreates a JSON encoded message to open TGUI say modals properly.
toggle_fullscreenHandles fullscreen on the client.
uicloseverb
vv_core_topicsCore topics are VV topics which should work even if the code responsible +for processing vv topics for that datum is runtiming. They're kept separately +from /datum/proc/vv_do_topic for that reason.

Var Details

ViewMods

Was used to handle view modifications. Now only used for a mecha module. Please just edit the string in the future

ViewModsActive

Stores the viewmod we set using this system. Only used for a mecha module

ViewPreferedIconSize

Stores the icon size we use for skins. As the server has control freak enabled, this is always static

active_keybindings

The client's active keybindings, depending on their active mob.

admin_music_volume

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT +Admin music volume, from 0 to 1.

byondacc_age

Days since the client's BYOND account was created

byondacc_date

Date the client registered their BYOND account on

click_intercept_time

Time when the click was intercepted

completed_asset_jobs

List of all completed blocking send jobs awaiting acknowledgement by send_asset

connection_time

world.time they connected

credits

list of all credit object bound to this client

cui_entries

List of the clients CUIs

description_holders

Persistent storage for the flavour text of examined atoms.

drag_details

The params we passed at the start of the drag, in list form

drag_start

When we started the currently active drag

fullscreen

The current fullscreen state for /client/toggle_fullscreen()

input_data

Input datum, what the client is pressing.

jbh

The client's job ban holder

last_asset_job

The ID of the last asset job

last_completed_asset_job

The ID of the last asset job that was properly finished

last_discord_pm_time

Last world.time that a PM was send to discord by a player

last_parallax_shift

Stored world.tim of the last parallax update. Used to make sure parallax isn't updated too often

m5_uid_cache

Cache of MD5'd UIDs. This is to stop clients from poking at object UIDs and being exploity with them

macro_sets

Basically a local variable on a client datum. Used when setting macros and nowhere else

mouseParams

Used in MouseDrag to preserve the original mouse click parameters

mouse_location_UID

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

mouse_object_UID

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

moused_over

The client's currently moused over datum, limited to movable and stored as UID

movement_kb_dirs

The client's movement keybindings to directions, which work regardless of modifiers.

movingmob

Used with parallax to update the parallax offsets when the subsystem fires. Compared to the clients Eye variable

next_mouse_macro_warning

Used to throw an admin warning if someone used a mouse macro. Also stores the world time so we can send funny noises to them

obj_window

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

pai_save

Client's pAI save

panel_tabs

list of all tabs

parallax_animate_timer

Handles how parallax loops in situations like shuttles leaving. Stores the timer that handles that

parallax_layers

List of parallax layers a client is viewing. Accessed when paralax is updated

parallax_layers_cached

A cached list of available parallax layers. This may potentially be changeable to a static variable. Updated upon changing parallax prefs

parallax_layers_max

The amount of parallax layers that will exist on your screen. Affected by the parallax preference

parallax_movedir

The direction parallax will be moved it. References parallax_move_direction on areas

parallax_static_layers_tail

Added to parallax layers when parallax settings are changed

parallax_throttle

Deciseconds of added delay to parallax by client preferences

parent_type

Client is casted to /datum so that we're able to use datum variables, search for clients through datums, and not need to duplicate code for GCing

previous_turf

Used with parallax to grab the offset needed. Uses the X and Y coords of the turf stored here

received_discord_pm

Last world/time that a PM was sent to the player by an admin

recent_examines

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

screen_maps

Used with the camera console to clear out the screen objects it adds to the client when the console is deleted

seen_messages

Messages currently seen by this client

selected_target

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

sent_assets

List of all asset filenames sent to this client by the asset cache, along with their assoicated md5s

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_panel

Stat panel window declaration, we don't usually allow this but tgui windows/panels are exceptions

stat_tab

our current tab

tgui_cache_reloaded

global

+

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

tgui_panel

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

tgui_say

Assigned say modal of the client

tgui_windows

global

+

Tracks open windows for a user.

topiclimiter

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

Has the client accepted the TOS about data collection and other stuff

version_blocked

If true, client cannot ready up, late join, or observe. Used for players with EXTREMELY old byond versions.

visual_delay

The visual delay to use for the current client.Move(), mostly used for making a client based move look like it came from some other slower source

watchlisted

Is the client watchlisted

window_scaling

If this client has any windows scaling applied

Proc Details

Process_Grab

Process_Grab() +Called by client/Move() +Checks to see if you are being grabbed and if so attemps to break it

Process_Incorpmove

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

_Topic

dumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic, +so we cant queue it without this

asset_cache_confirm_arrival

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

asset_cache_preload_data

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

asset_cache_update_json

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

browse_queue_flush

Blocks until all currently sending browse and browse_rs 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.

display_job_bans

Lists all active jobbans for src client

+

from_client_connection - If true, user will not receive any info in chat if they have no job bans, used when a player loads into to the lobby.

fix_tgui_panel

tgui panel / chat troubleshooting verb

get_byond_account_date

Sets the clients BYOND date up properly

+

If the client does not have a saved BYOND account creation date, retrieve it from the website +If they do have a saved date, use that from the DB, because this value will never change +Arguments:

+

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

maxview

Returns the biggest number from client.view so we can do easier maths

on_stat_panel_message

Handles incoming messages from the stat-panel TGUI.

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.

retrieve_byondacc_data

Retrieves the BYOND accounts data from the BYOND servers

+

Makes a web request to byond.com to retrieve the details for the BYOND account associated with the clients ckey. +Returns the data in a parsed, associative list

set_macros

This proc sets the built in BYOND macros for keypresses to pass inputs on to the rebindable input system or the legacy system +If you plan on ripping out the legacy system, see the set_macros() proc at the following commit: https://github.com/S34NW/Paradise/commit/83a0a0b0c633807cc5a88a630f623cec24e16027

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.

tgui_say_create_open_command

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

+

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

toggle_fullscreen

Handles fullscreen on the client.

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.

vv_core_topics

Core topics are VV topics which should work even if the code responsible +for processing vv topics for that datum is runtiming. They're kept separately +from /datum/proc/vv_do_topic for that reason.

\ No newline at end of file diff --git a/code/__DEFINES/MC.html b/code/__DEFINES/MC.html new file mode 100644 index 00000000000..4b96aa6da17 --- /dev/null +++ b/code/__DEFINES/MC.html @@ -0,0 +1,7 @@ +code/__DEFINES/MC.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/MC.dm

MC_AVG_OVER_TIMEcreates a running average of "things elapsed" per time period when you need to count via a smaller time period. +eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +make sure both time intervals are in the same units. doesnt work if current_duration > total_duration or if total_duration == 0
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_TICKER(also forces it to run first in the tick (unless SS_BACKGROUND))

Define Details

MC_AVG_OVER_TIME

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

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_TICKER

(also forces it to run first in the tick (unless SS_BACKGROUND))

\ No newline at end of file diff --git a/code/__DEFINES/__proc_refs.html b/code/__DEFINES/__proc_refs.html new file mode 100644 index 00000000000..257614f4f7d --- /dev/null +++ b/code/__DEFINES/__proc_refs.html @@ -0,0 +1 @@ +code/__DEFINES/__proc_refs.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/__proc_refs.dm

PROC_REFValidates the proc exists on this type
TYPE_PROC_REFValidates the proc exists on the specified type
GLOBAL_PROC_REFValidates the proc exists on global

Define Details

GLOBAL_PROC_REF

Validates the proc exists on global

PROC_REF

Validates the proc exists on this type

TYPE_PROC_REF

Validates the proc exists on the specified type

\ No newline at end of file diff --git a/code/__DEFINES/_click.html b/code/__DEFINES/_click.html new file mode 100644 index 00000000000..fbca3f4417f --- /dev/null +++ b/code/__DEFINES/_click.html @@ -0,0 +1,3 @@ +code/__DEFINES/_click.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/_click.dm

BUTTONMouse button that was just clicked/released +if(modifiersBUTTON == LEFT_CLICK)
MOUSE_OPACITY_TRANSPARENTObjects will ignore being clicked on regardless of their transparency (used in parallax, lighting effects, holograms, lasers, etc.)
MOUSE_OPACITY_ICONObjects will be clicked on if it is the topmost object and the pixel isn't transparent at the position of the mouse (default behavior for 99.99% of game objects)
MOUSE_OPACITY_OPAQUEObjects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, storage containers)

Define Details

BUTTON

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

MOUSE_OPACITY_ICON

Objects will be clicked on if it is the topmost object and the pixel isn't transparent at the position of the mouse (default behavior for 99.99% of game objects)

MOUSE_OPACITY_OPAQUE

Objects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, storage containers)

MOUSE_OPACITY_TRANSPARENT

Objects will ignore being clicked on regardless of their transparency (used in parallax, lighting effects, holograms, lasers, etc.)

\ No newline at end of file diff --git a/code/__DEFINES/_globals.html b/code/__DEFINES/_globals.html new file mode 100644 index 00000000000..5716465178e --- /dev/null +++ b/code/__DEFINES/_globals.html @@ -0,0 +1 @@ +code/__DEFINES/_globals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/_globals.dm

GLOBAL_REAL_VARStandard BYOND global, seriously do not use without an earthshakingly good reason
GLOBAL_REALStandard typed BYOND global, seriously do not use without an earthshakingly good reason
GLOBAL_RAWDefines a global var on the controller, do not use
GLOBAL_VAR_INITCreate an untyped global with an initializer expression
GLOBAL_VAR_CONSTCreate a global const var, do not use
GLOBAL_LIST_INITCreate a list global with an initializer expression
GLOBAL_LIST_EMPTYCreate a list global that is initialized as an empty list
GLOBAL_LIST_INIT_TYPEDCreate a typed list global with an initializer expression
GLOBAL_LIST_EMPTY_TYPEDCreate a typed list global that is initialized as an empty list
GLOBAL_DATUM_INITCreate a typed global with an initializer expression
GLOBAL_VARCreate an untyped null global
GLOBAL_LISTCreate a null global list
GLOBAL_DATUMCreate a typed null global

Define Details

GLOBAL_DATUM

Create a typed null global

GLOBAL_DATUM_INIT

Create a typed global with an initializer expression

GLOBAL_LIST

Create a null global list

GLOBAL_LIST_EMPTY

Create a list global that is initialized as an empty list

GLOBAL_LIST_EMPTY_TYPED

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

GLOBAL_LIST_INIT

Create a list global with an initializer expression

GLOBAL_LIST_INIT_TYPED

Create a typed list global with an initializer expression

GLOBAL_RAW

Defines a global var on the controller, do not use

GLOBAL_REAL

Standard typed BYOND global, seriously do not use without an earthshakingly good reason

GLOBAL_REAL_VAR

Standard BYOND global, seriously do not use without an earthshakingly good reason

GLOBAL_VAR

Create an untyped null global

GLOBAL_VAR_CONST

Create a global const var, do not use

GLOBAL_VAR_INIT

Create an untyped global with an initializer expression

\ No newline at end of file diff --git a/code/__DEFINES/_math.html b/code/__DEFINES/_math.html new file mode 100644 index 00000000000..1a89f3a4e91 --- /dev/null +++ b/code/__DEFINES/_math.html @@ -0,0 +1,3 @@ +code/__DEFINES/_math.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/_math.dm

SPT_PROB_RATEConverts a probability/second chance to probability/seconds_per_tick 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*SPT_PROB_RATE(0.1, 5)))
SPT_PROBLike SPT_PROB_RATE but easier to use, simply put if(SPT_PROB(10, 5))
normal_distributionReturns probability based on deviation from the mean(m) and sigma(s)
IS_INTChecks if a number is an integer, or a float
hex2numReturns an integer given a hex input, supports negative values "-ff". Skips preceding invalid characters.
num2hexReturns the hex value of a decimal number. len == length of returned string.
IS_IN_BOUNDSTests if the value is in the given range.

Define Details

IS_INT

Checks if a number is an integer, or a float

IS_IN_BOUNDS

Tests if the value is in the given range.

SPT_PROB

Like SPT_PROB_RATE but easier to use, simply put if(SPT_PROB(10, 5))

SPT_PROB_RATE

Converts a probability/second chance to probability/seconds_per_tick 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*SPT_PROB_RATE(0.1, 5)))

hex2num

Returns an integer given a hex input, supports negative values "-ff". Skips preceding invalid characters.

normal_distribution

Returns probability based on deviation from the mean(m) and sigma(s)

num2hex

Returns the hex value of a decimal number. len == length of returned string.

\ No newline at end of file diff --git a/code/__DEFINES/_protection.html b/code/__DEFINES/_protection.html new file mode 100644 index 00000000000..1f085342ecd --- /dev/null +++ b/code/__DEFINES/_protection.html @@ -0,0 +1 @@ +code/__DEFINES/_protection.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/_protection.dm

GENERAL_PROTECT_DATUMProtects a datum from being VV'd

Define Details

GENERAL_PROTECT_DATUM

Protects a datum from being VV'd

\ No newline at end of file diff --git a/code/__DEFINES/_tick.html b/code/__DEFINES/_tick.html new file mode 100644 index 00000000000..23013e125f9 --- /dev/null +++ b/code/__DEFINES/_tick.html @@ -0,0 +1 @@ +code/__DEFINES/_tick.dm - Space Station 13
Space Station 13 - Modules - TypesDefine 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_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
RUNNING_BEFORE_MASTERChecks if a sleeping proc is running before or after the master controller
VERB_SHOULD_YIELDReturns true if a verb ought to yield to the MC (IE: queue up to be processed by a subsystem)
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

RUNNING_BEFORE_MASTER

Checks if a sleeping proc is running before or after the master controller

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

VERB_SHOULD_YIELD

Returns true if a verb ought to yield to the MC (IE: queue up to be processed by a subsystem)

\ No newline at end of file diff --git a/code/__DEFINES/access_defines.html b/code/__DEFINES/access_defines.html new file mode 100644 index 00000000000..63a96a0ae54 --- /dev/null +++ b/code/__DEFINES/access_defines.html @@ -0,0 +1,5 @@ +code/__DEFINES/access_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/access_defines.dm

ACCESS_SECURITYSecurity equipment.
ACCESS_BRIGBrig timers and permabrig.
ACCESS_FORENSICS_LOCKERSDetective office and locker
ACCESS_RC_ANNOUNCERequest console announcements.
ACCESS_KEYCARD_AUTHUsed for events which require at least two people to confirm them.
ACCESS_TCOMSATHas access to the entire telecomms satellite / machinery.
ACCESS_SEC_DOORSSecurity front doors.
ACCESS_EVIDENCESecurity evidence room
ACCESS_WEAPONSWeapon authorization for secbots.
ACCESS_CENT_GENERALCentcomm General facilities.
ACCESS_CENT_LIVINGCentcomm Living quarters.
ACCESS_CENT_SECURITYCentcomm Security.
ACCESS_CENT_SHUTTLESCentcomm Shuttle docks.
ACCESS_CENT_SPECOPSCentcomm Special Ops.
ACCESS_CENT_SPECOPS_COMMANDERCentcomm Special Ops Commander.
ACCESS_CENT_COMMANDERCentcomm Commander's Office/ID computer.
ACCESS_SYNDICATEMARK: SYNDICATE ACCESS +General Syndicate Access
ACCESS_SYNDICATE_LEADERNuke Op Leader Access
ACCESS_VOXVox Access
ACCESS_SYNDICATE_COMMANDAdmin syndi officer
ACCESS_TRADE_SOLMARK: MISC ACCESS +Trade stations
ACCESS_AWAY01Access used for moonoutpost19 ruin.
ACCESS_FREE_GOLEMSGhost role: free golems.
ACCESS_THETA_STATIONGhost role: Theta station.
ACCESS_DEEPSTORAGESpace ruin: Deep Storage

Define Details

ACCESS_AWAY01

Access used for moonoutpost19 ruin.

ACCESS_BRIG

Brig timers and permabrig.

ACCESS_CENT_COMMANDER

Centcomm Commander's Office/ID computer.

ACCESS_CENT_GENERAL

Centcomm General facilities.

ACCESS_CENT_LIVING

Centcomm Living quarters.

ACCESS_CENT_SECURITY

Centcomm Security.

ACCESS_CENT_SHUTTLES

Centcomm Shuttle docks.

ACCESS_CENT_SPECOPS

Centcomm Special Ops.

ACCESS_CENT_SPECOPS_COMMANDER

Centcomm Special Ops Commander.

ACCESS_DEEPSTORAGE

Space ruin: Deep Storage

ACCESS_EVIDENCE

Security evidence room

ACCESS_FORENSICS_LOCKERS

Detective office and locker

ACCESS_FREE_GOLEMS

Ghost role: free golems.

ACCESS_KEYCARD_AUTH

Used for events which require at least two people to confirm them.

ACCESS_RC_ANNOUNCE

Request console announcements.

ACCESS_SECURITY

Security equipment.

ACCESS_SEC_DOORS

Security front doors.

ACCESS_SYNDICATE

MARK: SYNDICATE ACCESS +General Syndicate Access

ACCESS_SYNDICATE_COMMAND

Admin syndi officer

ACCESS_SYNDICATE_LEADER

Nuke Op Leader Access

ACCESS_TCOMSAT

Has access to the entire telecomms satellite / machinery.

ACCESS_THETA_STATION

Ghost role: Theta station.

ACCESS_TRADE_SOL

MARK: MISC ACCESS +Trade stations

ACCESS_VOX

Vox Access

ACCESS_WEAPONS

Weapon authorization for secbots.

\ No newline at end of file diff --git a/code/__DEFINES/action_button_defines.html b/code/__DEFINES/action_button_defines.html new file mode 100644 index 00000000000..94eae4f3d7b --- /dev/null +++ b/code/__DEFINES/action_button_defines.html @@ -0,0 +1 @@ +code/__DEFINES/action_button_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/action_button_defines.dm

SCRN_OBJ_DEFAULTWhatever the base action datum thinks is best
SCRN_OBJ_FLOATINGFloating somewhere on the hud, not in any predefined place
SCRN_OBJ_IN_LISTIn the list of buttons stored at the top of the screen
SCRN_OBJ_IN_PALETTEIn the collapseable palette
SCRN_OBJ_CULT_LISTIn cult spell list

Define Details

SCRN_OBJ_CULT_LIST

In cult spell list

SCRN_OBJ_DEFAULT

Whatever the base action datum thinks is best

SCRN_OBJ_FLOATING

Floating somewhere on the hud, not in any predefined place

SCRN_OBJ_IN_LIST

In the list of buttons stored at the top of the screen

SCRN_OBJ_IN_PALETTE

In the collapseable palette

\ No newline at end of file diff --git a/code/__DEFINES/action_defines.html b/code/__DEFINES/action_defines.html new file mode 100644 index 00000000000..538388f18af --- /dev/null +++ b/code/__DEFINES/action_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/action_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/action_defines.dm

PANEL_DISPLAY_PANELThe stat panel the action is displayed in.
PANEL_DISPLAY_STATUSThe status shown in the stat panel. +Can be stuff like "ready", "on cooldown", "active", "charges", "charge cost", etc.
PANEL_DISPLAY_NAMEThe name shown in the stat panel.

Define Details

PANEL_DISPLAY_NAME

The name shown in the stat panel.

PANEL_DISPLAY_PANEL

The stat panel the action is displayed in.

PANEL_DISPLAY_STATUS

The status shown in the stat panel. +Can be stuff like "ready", "on cooldown", "active", "charges", "charge cost", etc.

\ No newline at end of file diff --git a/code/__DEFINES/admin_defines.html b/code/__DEFINES/admin_defines.html new file mode 100644 index 00000000000..0b54f8c9091 --- /dev/null +++ b/code/__DEFINES/admin_defines.html @@ -0,0 +1 @@ +code/__DEFINES/admin_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/admin_defines.dm

CIDWARNING_SUPPRESSED_NOTETEXTNote text for suppressed CID warning
CIDTRACKING_PSUEDO_CKEYNote "ckey" for CID info tracking. Do not EVER update this.
ANTAGTRACKING_PSUEDO_CKEYNote "ckey" for roundstart antag rolling tracking. Do not EVER update this.
CONNECTION_TYPE_ESTABLISHEDClient was let into the server
CONNECTION_TYPE_DROPPED_IPINTELClient was disallowed due to IPIntel
CONNECTION_TYPE_DROPPED_BANNEDClient was disallowed due to being banned
CONNECTION_TYPE_DROPPED_INVALIDClient was disallowed due to invalid data

Define Details

ANTAGTRACKING_PSUEDO_CKEY

Note "ckey" for roundstart antag rolling tracking. Do not EVER update this.

CIDTRACKING_PSUEDO_CKEY

Note "ckey" for CID info tracking. Do not EVER update this.

CIDWARNING_SUPPRESSED_NOTETEXT

Note text for suppressed CID warning

CONNECTION_TYPE_DROPPED_BANNED

Client was disallowed due to being banned

CONNECTION_TYPE_DROPPED_INVALID

Client was disallowed due to invalid data

CONNECTION_TYPE_DROPPED_IPINTEL

Client was disallowed due to IPIntel

CONNECTION_TYPE_ESTABLISHED

Client was let into the server

\ No newline at end of file diff --git a/code/__DEFINES/ai/ai_defines.html b/code/__DEFINES/ai/ai_defines.html new file mode 100644 index 00000000000..b14f7117271 --- /dev/null +++ b/code/__DEFINES/ai/ai_defines.html @@ -0,0 +1 @@ +code/__DEFINES/ai/ai_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/ai/ai_defines.dm

AI_STATUS_ONThe AI is currently active.
AI_STATUS_OFFThe AI is currently offline for any reason.
AI_STATUS_IDLEThe AI is currently in idle mode.
AI_UNABLE_TO_RUNpauses AI processing
AI_PREVENT_CANCEL_ACTIONSbypass canceling our actions on set_ai_status()
AI_FAILED_PLANNING_COOLDOWNCooldown on planning if planning failed last time
AI_CONTROLLER_INCOMPATIBLEFlags for ai_behavior new()
AI_BEHAVIOR_DELAYUpdate this behavior's cooldown
AI_BEHAVIOR_SUCCEEDEDFinish the behavior successfully
AI_BEHAVIOR_FAILEDFinish the behavior unsuccessfully
AI_BEHAVIOR_REQUIRE_MOVEMENTDoes this task require movement from the AI before it can be performed?
AI_BEHAVIOR_REQUIRE_REACHDoes this require the current_movement_target to be adjacent and in reach?
AI_BEHAVIOR_MOVE_AND_PERFORMDoes this task let you perform the action while you move closer? (Things like moving and shooting)
AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISHDoes finishing this task not null the current movement target?
AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTIONDoes this behavior NOT block planning?
AI_FLAG_STOP_MOVING_WHEN_PULLEDDon't move if being pulled
AI_FLAG_CAN_ACT_WHILE_DEADContinue processing even if dead
AI_FLAG_PAUSE_DURING_DO_AFTERStop processing while in a progress bar
AI_FLAG_CAN_ACT_IN_STASISContinue processing while in stasis
SUBTREE_RETURN_FINISH_PLANNINGThis subtree should cancel any further planning, (Including from other subtrees)
AI_MAX_PATH_LENGTHFor JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on
RESIST_SUBTREE_PROBprobability that the pawn should try resisting out of restraints
SHOULD_RESISTmacro for whether it's appropriate to resist right now, used by resist subtree

Define Details

AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION

Does this behavior NOT block planning?

AI_BEHAVIOR_DELAY

Update this behavior's cooldown

AI_BEHAVIOR_FAILED

Finish the behavior unsuccessfully

AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISH

Does finishing this task not null the current movement target?

AI_BEHAVIOR_MOVE_AND_PERFORM

Does this task let you perform the action while you move closer? (Things like moving and shooting)

AI_BEHAVIOR_REQUIRE_MOVEMENT

Does this task require movement from the AI before it can be performed?

AI_BEHAVIOR_REQUIRE_REACH

Does this require the current_movement_target to be adjacent and in reach?

AI_BEHAVIOR_SUCCEEDED

Finish the behavior successfully

AI_CONTROLLER_INCOMPATIBLE

Flags for ai_behavior new()

AI_FAILED_PLANNING_COOLDOWN

Cooldown on planning if planning failed last time

AI_FLAG_CAN_ACT_IN_STASIS

Continue processing while in stasis

AI_FLAG_CAN_ACT_WHILE_DEAD

Continue processing even if dead

AI_FLAG_PAUSE_DURING_DO_AFTER

Stop processing while in a progress bar

AI_FLAG_STOP_MOVING_WHEN_PULLED

Don't move if being pulled

AI_MAX_PATH_LENGTH

For JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on

AI_PREVENT_CANCEL_ACTIONS

bypass canceling our actions on set_ai_status()

AI_STATUS_IDLE

The AI is currently in idle mode.

AI_STATUS_OFF

The AI is currently offline for any reason.

AI_STATUS_ON

The AI is currently active.

AI_UNABLE_TO_RUN

pauses AI processing

RESIST_SUBTREE_PROB

probability that the pawn should try resisting out of restraints

SHOULD_RESIST

macro for whether it's appropriate to resist right now, used by resist subtree

SUBTREE_RETURN_FINISH_PLANNING

This subtree should cancel any further planning, (Including from other subtrees)

\ No newline at end of file diff --git a/code/__DEFINES/ai/ash_whelp_defines.html b/code/__DEFINES/ai/ash_whelp_defines.html new file mode 100644 index 00000000000..a89e0ed73f2 --- /dev/null +++ b/code/__DEFINES/ai/ash_whelp_defines.html @@ -0,0 +1 @@ +code/__DEFINES/ai/ash_whelp_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/ai/ash_whelp_defines.dm

BB_WHELP_STRAIGHTLINE_FIREwhelp's straight line fire ability
BB_WHELP_WIDESPREAD_FIREwhelp's secondary enraged ability
BB_TARGET_ROCKthe target rock we will attempt to create a sculpture out of
BB_TARGET_CANNIBALthe cannibal target we shall consume
BB_TARGET_TREEthe tree we will burn down

Define Details

BB_TARGET_CANNIBAL

the cannibal target we shall consume

BB_TARGET_ROCK

the target rock we will attempt to create a sculpture out of

BB_TARGET_TREE

the tree we will burn down

BB_WHELP_STRAIGHTLINE_FIRE

whelp's straight line fire ability

BB_WHELP_WIDESPREAD_FIRE

whelp's secondary enraged ability

\ No newline at end of file diff --git a/code/__DEFINES/ai/blackboard_defines.html b/code/__DEFINES/ai/blackboard_defines.html new file mode 100644 index 00000000000..4061a5dd8ca --- /dev/null +++ b/code/__DEFINES/ai/blackboard_defines.html @@ -0,0 +1 @@ +code/__DEFINES/ai/blackboard_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/ai/blackboard_defines.dm

BB_CURRENT_MIN_MOVE_DISTANCEThe closest we're allowed to / required to get to a target.
BB_BASIC_MOB_IDLE_WALK_CHANCEHow likely is this mob to move when idle per tick?
BB_BASIC_MOB_STOP_FLEEINGFlag to set on if you want your mob to STOP running away
BB_BASIC_MOB_FLEE_TARGETKey of something we're running away from
BB_BASIC_MOB_FLEE_TARGET_HIDING_LOCATIONKey for the current hidden location of something we're running away from
BB_FLEE_TARGETING_STRATEGYKey defining the targeting strategy for things to flee from
BB_BREED_READYare we ready to breed?
BB_MAX_CHILDRENmaximum kids we can have
BB_BASIC_MOB_FLEE_DISTANCEKey defining how far we attempt to get away from something we're fleeing from
BB_SEARCH_RANGEkey holding a range to look for stuff in
BB_TARGETED_ACTIONGeneric key for a non-specific targeted action
BB_GENERIC_ACTIONGeneric key for a non-specific action
BB_AGGRO_RANGEHow close a mob must be for us to select it as a target, if that is less than how far we can maintain it as a target
BB_BASIC_MOB_CURRENT_TARGETKey for our current target.
BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATIONKey for the current hidden location of our target if applicable.
BB_TARGETING_STRATEGYKey for the type of targeting strategy we will apply.
BB_TARGET_MINIMUM_STATKey for the minimum status at which we want to target mobs (does not need to be specified if CONSCIOUS)
BB_ALWAYS_IGNORE_FACTIONShould we skip the faction check for the targeting strategy?
BB_TEMPORARILY_IGNORE_FACTIONAre we in some kind of temporary state of ignoring factions when targeting? can result in volatile results if multiple behaviours touch this
BB_BASIC_MOB_RETALIATE_LISTList of mobs who have damaged us
BB_OBSTACLE_TARGETING_WHITELISTBlackboard key for a whitelist typecache of "things we can target while trying to move"
BB_BASIC_MOB_EXECUTION_TARGETsome behaviors that check current_target also set this on deep crit mobs
BB_BASIC_MOB_HAS_TARGET_TIMEBlackboard key storing how long your targeting strategy has held a particular target
BB_CURRENT_HUNTING_TARGETKey that holds our current hunting target
BB_LOW_PRIORITY_HUNTING_TARGETKey that holds our less priority hunting target
BB_HUNTING_COOLDOWNKey that holds the cooldown for our hunting subtree
BB_FOUND_MOMkey holds the adult we found
BB_FIND_MOM_TYPESlist of types of mobs we will look for
BB_IGNORE_MOM_TYPESlist of types of mobs we must ignore
BB_BABIES_PARTNER_TYPESTypes of animal we can make babies with.
BB_BABIES_CHILD_TYPESTypes of animal that we make as a baby.
BB_BABIES_TARGETCurrent partner target
BB_PARTNER_SEARCH_TIMEOUTTimeout for finding partners when theres too many of us in 1 location
BB_RANDOM_AGGRO_CHANCEChance to randomly acquire a new target
BB_RANDOM_DEAGGRO_CHANCEChance to randomly drop all of our targets
BB_NEXT_HUNGRYtime until we should next eat, set by the generic hunger subtree
BB_FOOD_TARGETwhat we're going to eat next
BB_CHECK_HUNGRYare we hungry? determined by the udder component
BB_BASIC_FOODSlist of foods this mob likes
BB_TARGET_FOODkey holding any food we've found
BB_EAT_EMOTESkey holding emotes we play after eating
BB_NEXT_FOOD_EATkey holding the next time we eat
BB_EAT_FOOD_COOLDOWNkey holding our eating cooldown
BB_VENTCRAWL_FINAL_TARGETkey holding the turf we will move to
BB_VENTCRAWL_ENTRANCEkey holding the vent we will move to
BB_VENTCRAWL_EXITkey holding the vent we will ventcrawl to
BB_VENTCRAWL_IS_ENTERINGkey holding a boolean value if we're entering into a vent
BB_VENTCRAWL_DELAYkey holding the amount of delay between steps in a vent (recommended: 1)
BB_VENT_SEARCH_RANGEkey holding a range to look for vents (recommended: 10)
BB_RANGED_SKIRMISH_MIN_DISTANCEMinimum range to keep target within
BB_RANGED_SKIRMISH_MAX_DISTANCEMaximum range to keep target within
BB_BASIC_MOB_TIP_REACTINGBool that means a basic mob will start reacting to being tipped in its planning
BB_BASIC_MOB_TIPPERthe motherfucker who tipped us
BB_STATIONARY_CAUSEIs there something that scared us into being stationary? If so, hold the reference here
BB_STATIONARY_SECONDSHow long should we remain stationary for?
BB_STATIONARY_MOVE_TO_TARGETShould we move towards the target that triggered us to be stationary?
BB_STATIONARY_TARGETSWhat targets will trigger us to be stationary? Must be a list.
BB_STATIONARY_COOLDOWNHow often can we get spooked by a target?
BB_MINEBOT_LIGHT_ABILITYkey that stores our toggle light ability
BB_MINEBOT_DUMP_ABILITYkey that stores our dump ore ability
BB_TARGET_MINERAL_TURFkey that stores our target turf
BB_BLACKLIST_MINERAL_TURFSkey that stores list of the turfs we ignore
BB_PREVIOUS_UNREACHABLE_WALLkey that stores the previous blocked wall
BB_AUTOMATED_MININGkey that stores our mining mode
BB_NEARBY_DEAD_MINERkey that stores the nearest dead human
BB_DRONE_DEFENDkey that holds the drone we defend
BB_MINIMUM_SHOOTING_DISTANCEkey that holds the minimum distance before we flee
BB_MINER_FRIENDkey that holds the miner we must befriend
BB_MINEBOT_AUTO_DEFENDshould we auto protect?
BB_MINEBOT_GIBTONITE_RUNgibtonite wall we need to run away from
BB_LEGION_CORPSECorpse we have consumed
BB_LEGION_RECENT_LINESThings our target recently said
BB_LEGION_BROOD_CREATORThe creator of our legion skull
BB_ACTIVE_PET_COMMANDBlackboard field for the most recent command the pet was given
BB_CURRENT_PET_TARGETBlackboard field for what we actually want the pet to target
BB_PET_TARGETING_STRATEGYBlackboard field for how we target things, as usually we want to be more permissive than normal
BB_FRIENDS_LISTList of UIDs to mobs this mob is friends with, will follow their instructions and won't attack them
BB_OWNER_SELF_HARM_RESPONSESList of strings we might say to encourage someone to make better choices.
BB_OWNER_FRIENDLY_FIRE_APOLOGIESList of strings used to apologize for attacking friends.
BB_HIVE_PARTNERthe hivebot partner we will go communicate with
BB_CLEAN_TARGETTarget define for cleaning
BB_FIND_TARGETS_FIELDFor /datum/ai_behavior/find_potential_targets, what if any field are we using currently
BB_TARGET_MINERAL_WALLkey that tells the wall we will mine
BB_ORE_TARGETkey that holds the ore we will eat
BB_ORE_IGNORE_TYPESwhich ore types we will not eat
BB_SPIDER_WEB_TARGETOur webbing target
BB_SPIDER_WEB_ACTIONKey where we store the web-spinning ability
BB_SPIDER_WRAP_TARGETOur wrapping target
BB_SPIDER_WRAP_ACTIONKey where we define the wrapping ability
BB_SPIDER_EGG_LAYING_ACTIONKey where we define the egg laying ability
BB_CHANGELING_SPIDER_ORDERKey used by changelings who control spiders
BB_MALF_DRONE_PASSIVEAre we active?
BB_CURRENT_HOMEthe bee hive we live inside
BB_TARGET_HYDROthe hydro we will pollinate
BB_GOLIATH_TENTACLESKey where we store the tentacleing ability
BB_GOLIATH_HOLE_TARGETKey where goliath stores a hole it wants to get into
BB_NIAN_CATERPILLAR_SPIN_MOTHSILK_ACTIONKey that stores the silk spin ability

Define Details

BB_ACTIVE_PET_COMMAND

Blackboard field for the most recent command the pet was given

BB_AGGRO_RANGE

How close a mob must be for us to select it as a target, if that is less than how far we can maintain it as a target

BB_ALWAYS_IGNORE_FACTION

Should we skip the faction check for the targeting strategy?

BB_AUTOMATED_MINING

key that stores our mining mode

BB_BABIES_CHILD_TYPES

Types of animal that we make as a baby.

BB_BABIES_PARTNER_TYPES

Types of animal we can make babies with.

BB_BABIES_TARGET

Current partner target

BB_BASIC_FOODS

list of foods this mob likes

BB_BASIC_MOB_CURRENT_TARGET

Key for our current target.

BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION

Key for the current hidden location of our target if applicable.

BB_BASIC_MOB_EXECUTION_TARGET

some behaviors that check current_target also set this on deep crit mobs

BB_BASIC_MOB_FLEE_DISTANCE

Key defining how far we attempt to get away from something we're fleeing from

BB_BASIC_MOB_FLEE_TARGET

Key of something we're running away from

BB_BASIC_MOB_FLEE_TARGET_HIDING_LOCATION

Key for the current hidden location of something we're running away from

BB_BASIC_MOB_HAS_TARGET_TIME

Blackboard key storing how long your targeting strategy has held a particular target

BB_BASIC_MOB_IDLE_WALK_CHANCE

How likely is this mob to move when idle per tick?

BB_BASIC_MOB_RETALIATE_LIST

List of mobs who have damaged us

BB_BASIC_MOB_STOP_FLEEING

Flag to set on if you want your mob to STOP running away

BB_BASIC_MOB_TIPPER

the motherfucker who tipped us

BB_BASIC_MOB_TIP_REACTING

Bool that means a basic mob will start reacting to being tipped in its planning

BB_BLACKLIST_MINERAL_TURFS

key that stores list of the turfs we ignore

BB_BREED_READY

are we ready to breed?

BB_CHANGELING_SPIDER_ORDER

Key used by changelings who control spiders

BB_CHECK_HUNGRY

are we hungry? determined by the udder component

BB_CLEAN_TARGET

Target define for cleaning

BB_CURRENT_HOME

the bee hive we live inside

BB_CURRENT_HUNTING_TARGET

Key that holds our current hunting target

BB_CURRENT_MIN_MOVE_DISTANCE

The closest we're allowed to / required to get to a target.

BB_CURRENT_PET_TARGET

Blackboard field for what we actually want the pet to target

BB_DRONE_DEFEND

key that holds the drone we defend

BB_EAT_EMOTES

key holding emotes we play after eating

BB_EAT_FOOD_COOLDOWN

key holding our eating cooldown

BB_FIND_MOM_TYPES

list of types of mobs we will look for

BB_FIND_TARGETS_FIELD

For /datum/ai_behavior/find_potential_targets, what if any field are we using currently

BB_FLEE_TARGETING_STRATEGY

Key defining the targeting strategy for things to flee from

BB_FOOD_TARGET

what we're going to eat next

BB_FOUND_MOM

key holds the adult we found

BB_FRIENDS_LIST

List of UIDs to mobs this mob is friends with, will follow their instructions and won't attack them

BB_GENERIC_ACTION

Generic key for a non-specific action

BB_GOLIATH_HOLE_TARGET

Key where goliath stores a hole it wants to get into

BB_GOLIATH_TENTACLES

Key where we store the tentacleing ability

BB_HIVE_PARTNER

the hivebot partner we will go communicate with

BB_HUNTING_COOLDOWN

Key that holds the cooldown for our hunting subtree

BB_IGNORE_MOM_TYPES

list of types of mobs we must ignore

BB_LEGION_BROOD_CREATOR

The creator of our legion skull

BB_LEGION_CORPSE

Corpse we have consumed

BB_LEGION_RECENT_LINES

Things our target recently said

BB_LOW_PRIORITY_HUNTING_TARGET

Key that holds our less priority hunting target

BB_MALF_DRONE_PASSIVE

Are we active?

BB_MAX_CHILDREN

maximum kids we can have

BB_MINEBOT_AUTO_DEFEND

should we auto protect?

BB_MINEBOT_DUMP_ABILITY

key that stores our dump ore ability

BB_MINEBOT_GIBTONITE_RUN

gibtonite wall we need to run away from

BB_MINEBOT_LIGHT_ABILITY

key that stores our toggle light ability

BB_MINER_FRIEND

key that holds the miner we must befriend

BB_MINIMUM_SHOOTING_DISTANCE

key that holds the minimum distance before we flee

BB_NEARBY_DEAD_MINER

key that stores the nearest dead human

BB_NEXT_FOOD_EAT

key holding the next time we eat

BB_NEXT_HUNGRY

time until we should next eat, set by the generic hunger subtree

BB_NIAN_CATERPILLAR_SPIN_MOTHSILK_ACTION

Key that stores the silk spin ability

BB_OBSTACLE_TARGETING_WHITELIST

Blackboard key for a whitelist typecache of "things we can target while trying to move"

BB_ORE_IGNORE_TYPES

which ore types we will not eat

BB_ORE_TARGET

key that holds the ore we will eat

BB_OWNER_FRIENDLY_FIRE_APOLOGIES

List of strings used to apologize for attacking friends.

BB_OWNER_SELF_HARM_RESPONSES

List of strings we might say to encourage someone to make better choices.

BB_PARTNER_SEARCH_TIMEOUT

Timeout for finding partners when theres too many of us in 1 location

BB_PET_TARGETING_STRATEGY

Blackboard field for how we target things, as usually we want to be more permissive than normal

BB_PREVIOUS_UNREACHABLE_WALL

key that stores the previous blocked wall

BB_RANDOM_AGGRO_CHANCE

Chance to randomly acquire a new target

BB_RANDOM_DEAGGRO_CHANCE

Chance to randomly drop all of our targets

BB_RANGED_SKIRMISH_MAX_DISTANCE

Maximum range to keep target within

BB_RANGED_SKIRMISH_MIN_DISTANCE

Minimum range to keep target within

BB_SEARCH_RANGE

key holding a range to look for stuff in

BB_SPIDER_EGG_LAYING_ACTION

Key where we define the egg laying ability

BB_SPIDER_WEB_ACTION

Key where we store the web-spinning ability

BB_SPIDER_WEB_TARGET

Our webbing target

BB_SPIDER_WRAP_ACTION

Key where we define the wrapping ability

BB_SPIDER_WRAP_TARGET

Our wrapping target

BB_STATIONARY_CAUSE

Is there something that scared us into being stationary? If so, hold the reference here

BB_STATIONARY_COOLDOWN

How often can we get spooked by a target?

BB_STATIONARY_MOVE_TO_TARGET

Should we move towards the target that triggered us to be stationary?

BB_STATIONARY_SECONDS

How long should we remain stationary for?

BB_STATIONARY_TARGETS

What targets will trigger us to be stationary? Must be a list.

BB_TARGETED_ACTION

Generic key for a non-specific targeted action

BB_TARGETING_STRATEGY

Key for the type of targeting strategy we will apply.

BB_TARGET_FOOD

key holding any food we've found

BB_TARGET_HYDRO

the hydro we will pollinate

BB_TARGET_MINERAL_TURF

key that stores our target turf

BB_TARGET_MINERAL_WALL

key that tells the wall we will mine

BB_TARGET_MINIMUM_STAT

Key for the minimum status at which we want to target mobs (does not need to be specified if CONSCIOUS)

BB_TEMPORARILY_IGNORE_FACTION

Are we in some kind of temporary state of ignoring factions when targeting? can result in volatile results if multiple behaviours touch this

BB_VENTCRAWL_DELAY

key holding the amount of delay between steps in a vent (recommended: 1)

BB_VENTCRAWL_ENTRANCE

key holding the vent we will move to

BB_VENTCRAWL_EXIT

key holding the vent we will ventcrawl to

BB_VENTCRAWL_FINAL_TARGET

key holding the turf we will move to

BB_VENTCRAWL_IS_ENTERING

key holding a boolean value if we're entering into a vent

BB_VENT_SEARCH_RANGE

key holding a range to look for vents (recommended: 10)

\ No newline at end of file diff --git a/code/__DEFINES/ai/incursion_blackboard_defines.html b/code/__DEFINES/ai/incursion_blackboard_defines.html new file mode 100644 index 00000000000..6e737c0680c --- /dev/null +++ b/code/__DEFINES/ai/incursion_blackboard_defines.html @@ -0,0 +1 @@ +code/__DEFINES/ai/incursion_blackboard_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/ai/incursion_blackboard_defines.dm

BB_REANIMATOR_SKULL_ACTIONThe skull action used by reanimators

Define Details

BB_REANIMATOR_SKULL_ACTION

The skull action used by reanimators

\ No newline at end of file diff --git a/code/__DEFINES/ai/swarmer_defines.html b/code/__DEFINES/ai/swarmer_defines.html new file mode 100644 index 00000000000..77520699a7d --- /dev/null +++ b/code/__DEFINES/ai/swarmer_defines.html @@ -0,0 +1 @@ +code/__DEFINES/ai/swarmer_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/ai/swarmer_defines.dm

BB_SWARMER_REPLICATE_ACTIONKey where we store the replication ability
BB_SWARMER_CONSTRUCT_TARGETOur construction target
BB_SWARMER_TRAP_ACTIONKey where we define the trap construction ability
BB_SWARMER_BARRIER_ACTIONKey where we define the barrier construction ability
BB_SWARMER_RESOURCE_SHARE_ACTIONKey where we define the resource share ability

Define Details

BB_SWARMER_BARRIER_ACTION

Key where we define the barrier construction ability

BB_SWARMER_CONSTRUCT_TARGET

Our construction target

BB_SWARMER_REPLICATE_ACTION

Key where we store the replication ability

BB_SWARMER_RESOURCE_SHARE_ACTION

Key where we define the resource share ability

BB_SWARMER_TRAP_ACTION

Key where we define the trap construction ability

\ No newline at end of file diff --git a/code/__DEFINES/announce_defines.html b/code/__DEFINES/announce_defines.html new file mode 100644 index 00000000000..bbf4e8681a9 --- /dev/null +++ b/code/__DEFINES/announce_defines.html @@ -0,0 +1 @@ +code/__DEFINES/announce_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/announce_defines.dm

ANNOUNCE_KIND_DEFAULTThese values are used when logging user-initiated announcements.

Define Details

ANNOUNCE_KIND_DEFAULT

These values are used when logging user-initiated announcements.

\ No newline at end of file diff --git a/code/__DEFINES/antag_defines.html b/code/__DEFINES/antag_defines.html new file mode 100644 index 00000000000..c02706db0db --- /dev/null +++ b/code/__DEFINES/antag_defines.html @@ -0,0 +1,16 @@ +code/__DEFINES/antag_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/antag_defines.dm

CONTRACT_STATUS_INVALIDContractors +The contract is invalid for some reason and cannot be taken. It may be made valid later.
CONTRACT_STATUS_INACTIVEThe contract hasn't been started yet.
CONTRACT_STATUS_ACTIVEThe contract is in progress.
CONTRACT_STATUS_COMPLETEDThe contract has been completed successfully.
CONTRACT_STATUS_FAILEDThe contract failed for some reason.
EXTRACTION_DIFFICULTY_EASYEasy difficulty area to extract the kidnapee. Low rewards.
EXTRACTION_DIFFICULTY_MEDIUMMedium difficulty area to extract the kidnapee. Moderate rewards.
EXTRACTION_DIFFICULTY_HARDHard difficulty area to extract the kidnapee. High rewards.
CONTRACT_STRINGS_WANTEDThe name of the strings file containing data to use for contract fluff texts.
HERETIC_INFLUENCE_FILEJSON string file for all of our heretic influence flavors
UPLINK_SPECIAL_SPAWNINGTraitors
CHANGELING_INNATE_POWERChangelings +Denotes that this power is free and should be given to all changelings by default.
CHANGELING_PURCHASABLE_POWERDenotes that this power can only be obtained by purchasing it.
CHANGELING_UNOBTAINABLE_POWERDenotes that this power can not be obtained normally. Primarily used for base types such as /datum/action/changeling/weapon.
ABDUCTOR_VEST_STEALTHAbductors
PULSEDEMON_SOURCE_DRAIN_INVALIDPulse Demon
THEFT_FLAG_SPECIALObjectives
IS_CHANGELINGIS_ANTAG defines
IS_HERETICHeretic checks +Checks if the given mob is a heretic.
IS_HERETIC_MONSTERCheck if the given mob is a heretic monster.
IS_HERETIC_OR_MONSTERChecks if the given mob is either a heretic, heretic monster.
IS_IN_MANSUSCHecks if the given mob is in the mansus realm
HERETIC_NO_HEART_ORGANDefines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart.
MAX_KNOWLEDGE_PRIORITYA define used in ritual priority for heretics.
IS_VALID_GHOUL_MOBChecks if the passed mob can become a heretic ghoul.
MINDSHIELDED_TARGETObjective targeting flags +Objective target must be mindshielded if possible
UNMINDSHIELDED_TARGETObjective target must be non-mindshielded if possible
SYNDICATE_TARGETObjective target must be a syndicate agent if possible
ORG_CHAOS_HUNTERAntag organizations +Antag hunting antag. Might help security overall.
ORG_CHAOS_MILDWill steal items/kill low importance crew, usually not much trouble
ORG_CHAOS_AVERAGEYour average tator, will be an issue
ORG_CHAOS_HIJACKHijack or hijack-tier antagonists.
BIOHAZARD_POP_INTERVALHow often a biohazard's population is recorded after the event fires.
BIOHAZARD_POP_INTERVAL_STRThe string version of the interval for use in blackbox key names.

Define Details

ABDUCTOR_VEST_STEALTH

Abductors

BIOHAZARD_POP_INTERVAL

How often a biohazard's population is recorded after the event fires.

BIOHAZARD_POP_INTERVAL_STR

The string version of the interval for use in blackbox key names.

CHANGELING_INNATE_POWER

Changelings +Denotes that this power is free and should be given to all changelings by default.

CHANGELING_PURCHASABLE_POWER

Denotes that this power can only be obtained by purchasing it.

CHANGELING_UNOBTAINABLE_POWER

Denotes that this power can not be obtained normally. Primarily used for base types such as /datum/action/changeling/weapon.

CONTRACT_STATUS_ACTIVE

The contract is in progress.

CONTRACT_STATUS_COMPLETED

The contract has been completed successfully.

CONTRACT_STATUS_FAILED

The contract failed for some reason.

CONTRACT_STATUS_INACTIVE

The contract hasn't been started yet.

CONTRACT_STATUS_INVALID

Contractors +The contract is invalid for some reason and cannot be taken. It may be made valid later.

CONTRACT_STRINGS_WANTED

The name of the strings file containing data to use for contract fluff texts.

EXTRACTION_DIFFICULTY_EASY

Easy difficulty area to extract the kidnapee. Low rewards.

EXTRACTION_DIFFICULTY_HARD

Hard difficulty area to extract the kidnapee. High rewards.

EXTRACTION_DIFFICULTY_MEDIUM

Medium difficulty area to extract the kidnapee. Moderate rewards.

HERETIC_INFLUENCE_FILE

JSON string file for all of our heretic influence flavors

HERETIC_NO_HEART_ORGAN

Defines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart.

IS_CHANGELING

IS_ANTAG defines

IS_HERETIC

Heretic checks +Checks if the given mob is a heretic.

IS_HERETIC_MONSTER

Check if the given mob is a heretic monster.

IS_HERETIC_OR_MONSTER

Checks if the given mob is either a heretic, heretic monster.

IS_IN_MANSUS

CHecks if the given mob is in the mansus realm

IS_VALID_GHOUL_MOB

Checks if the passed mob can become a heretic ghoul.

+

MAX_KNOWLEDGE_PRIORITY

A define used in ritual priority for heretics.

MINDSHIELDED_TARGET

Objective targeting flags +Objective target must be mindshielded if possible

ORG_CHAOS_AVERAGE

Your average tator, will be an issue

ORG_CHAOS_HIJACK

Hijack or hijack-tier antagonists.

ORG_CHAOS_HUNTER

Antag organizations +Antag hunting antag. Might help security overall.

ORG_CHAOS_MILD

Will steal items/kill low importance crew, usually not much trouble

PULSEDEMON_SOURCE_DRAIN_INVALID

Pulse Demon

SYNDICATE_TARGET

Objective target must be a syndicate agent if possible

THEFT_FLAG_SPECIAL

Objectives

UNMINDSHIELDED_TARGET

Objective target must be non-mindshielded if possible

Traitors

\ No newline at end of file diff --git a/code/__DEFINES/apc_defines.html b/code/__DEFINES/apc_defines.html new file mode 100644 index 00000000000..7f84b2320bf --- /dev/null +++ b/code/__DEFINES/apc_defines.html @@ -0,0 +1 @@ +code/__DEFINES/apc_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/apc_defines.dm

APC_CHANNEL_SETTING_OFFPower channel is off, anything connected to it is not powered, cannot be set manually by players
APC_CHANNEL_SETTING_AUTO_OFFAPC power channel Setting Off, if set while apc is "on" set apc to "off" otherwise set to "auto-off"
APC_CHANNEL_SETTING_ONAPC power channel setting on,

Define Details

APC_CHANNEL_SETTING_AUTO_OFF

APC power channel Setting Off, if set while apc is "on" set apc to "off" otherwise set to "auto-off"

APC_CHANNEL_SETTING_OFF

Power channel is off, anything connected to it is not powered, cannot be set manually by players

APC_CHANNEL_SETTING_ON

APC power channel setting on,

\ No newline at end of file diff --git a/code/__DEFINES/asset_defines.html b/code/__DEFINES/asset_defines.html new file mode 100644 index 00000000000..79b786d83ec --- /dev/null +++ b/code/__DEFINES/asset_defines.html @@ -0,0 +1,7 @@ +code/__DEFINES/asset_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/asset_defines.dm

URL2HTMLLOADERGet html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
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 extension.

Define Details

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 extension.

URL2HTMLLOADER

Get html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.

\ No newline at end of file diff --git a/code/__DEFINES/atmospherics_defines.html b/code/__DEFINES/atmospherics_defines.html new file mode 100644 index 00000000000..ca6ff7e52f8 --- /dev/null +++ b/code/__DEFINES/atmospherics_defines.html @@ -0,0 +1,5 @@ +code/__DEFINES/atmospherics_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/atmospherics_defines.dm

COLD_ROOM_TEMP-14C - Temperature used for kitchen cold room, medical freezer, etc.
SERVER_ROOM_TEMP1C - Temperature used for server rooms
N2O_DECOMPOSITION_COEFFICIENT_AThe coefficient a for a function of the form: 1 - (a / (x + c)^2) which gives a decomposition rate of 0.5 at 50000 Kelvin +And a decomposition close to 0 at 1400 Kelvin
N2O_DECOMPOSITION_COEFFICIENT_CThe coefficient c for a function of the form: 1 - (a / (x + c)^2) which gives a decomposition rate of 0.5 at 50000 Kelvin +And a decomposition rate close to 0 at 1400 Kelvin
AGENT_B_CONVERSION_MIN_TEMPAgent B starts working at this temperature
AGENT_B_CONVERSION_ENERGY_RELEASEDAgent B released this much energy per mole of CO2 converted to O2
ATMOS_MODE_SPACETile is exposed to space and loses air every second
ATMOS_MODE_SEALEDTile has no special behaviour
ATMOS_MODE_EXPOSED_TO_ENVIRONMENTTile is exposed to the environment, ex: lavaland
ATMOS_MODE_NO_DECAYPrevents hot tiles from automatically decaying towards T20C.
ENVIRONMENT_LAVALANDLavaland environment: hot, low pressure.
ENVIRONMENT_TEMPERATETemperate environment: Normal atmosphere, 20 C.
ENVIRONMENT_COLDCold environment: Normal atmosphere, -93 C.
PRESSURE_HUD_LOAD_RADIUSHow far away should we load the pressure HUD data from MILLA?
PRESSURE_HUD_RADIUSHow far away should we send the pressure HUD to the player?
ONLY_CHECK_EXT_PRESSUREDon't go over the external pressure
ONLY_CHECK_INT_PRESSUREOnly release until we reach this pressure

Define Details

AGENT_B_CONVERSION_ENERGY_RELEASED

Agent B released this much energy per mole of CO2 converted to O2

AGENT_B_CONVERSION_MIN_TEMP

Agent B starts working at this temperature

ATMOS_MODE_EXPOSED_TO_ENVIRONMENT

Tile is exposed to the environment, ex: lavaland

ATMOS_MODE_NO_DECAY

Prevents hot tiles from automatically decaying towards T20C.

ATMOS_MODE_SEALED

Tile has no special behaviour

ATMOS_MODE_SPACE

Tile is exposed to space and loses air every second

COLD_ROOM_TEMP

-14C - Temperature used for kitchen cold room, medical freezer, etc.

ENVIRONMENT_COLD

Cold environment: Normal atmosphere, -93 C.

ENVIRONMENT_LAVALAND

Lavaland environment: hot, low pressure.

ENVIRONMENT_TEMPERATE

Temperate environment: Normal atmosphere, 20 C.

N2O_DECOMPOSITION_COEFFICIENT_A

The coefficient a for a function of the form: 1 - (a / (x + c)^2) which gives a decomposition rate of 0.5 at 50000 Kelvin +And a decomposition close to 0 at 1400 Kelvin

N2O_DECOMPOSITION_COEFFICIENT_C

The coefficient c for a function of the form: 1 - (a / (x + c)^2) which gives a decomposition rate of 0.5 at 50000 Kelvin +And a decomposition rate close to 0 at 1400 Kelvin

ONLY_CHECK_EXT_PRESSURE

Don't go over the external pressure

ONLY_CHECK_INT_PRESSURE

Only release until we reach this pressure

PRESSURE_HUD_LOAD_RADIUS

How far away should we load the pressure HUD data from MILLA?

PRESSURE_HUD_RADIUS

How far away should we send the pressure HUD to the player?

SERVER_ROOM_TEMP

1C - Temperature used for server rooms

\ No newline at end of file diff --git a/code/__DEFINES/basic_mob_defines.html b/code/__DEFINES/basic_mob_defines.html new file mode 100644 index 00000000000..89f45a22b99 --- /dev/null +++ b/code/__DEFINES/basic_mob_defines.html @@ -0,0 +1 @@ +code/__DEFINES/basic_mob_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/basic_mob_defines.dm

BB_DEER_WATER_TARGETOur water target
BB_DEER_GRASS_TARGETOur grass target
BB_DEER_TREE_TARGETOur tree target
BB_DEER_PLAYFRIENDOur temporary playmate
BB_DEER_TREEHOMEOur home target
BB_DEER_RESTINGOur resting duration
BB_DEER_NEXT_REST_TIMERTime till our next rest duration

Define Details

BB_DEER_GRASS_TARGET

Our grass target

BB_DEER_NEXT_REST_TIMER

Time till our next rest duration

BB_DEER_PLAYFRIEND

Our temporary playmate

BB_DEER_RESTING

Our resting duration

BB_DEER_TREEHOME

Our home target

BB_DEER_TREE_TARGET

Our tree target

BB_DEER_WATER_TARGET

Our water target

\ No newline at end of file diff --git a/code/__DEFINES/basic_mob_flags.html b/code/__DEFINES/basic_mob_flags.html new file mode 100644 index 00000000000..a4146837c54 --- /dev/null +++ b/code/__DEFINES/basic_mob_flags.html @@ -0,0 +1,3 @@ +code/__DEFINES/basic_mob_flags.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/basic_mob_flags.dm

DEL_ON_DEATHBasic mob flags +Delete mob upon death
FLIP_ON_DEATHRotate mob 180 degrees while it is dead
REMAIN_DENSE_WHILE_DEADMob remains dense while dead
FLAMMABLE_MOBMob can be set on fire
IMMUNE_TO_FISTSMob never takes damage from unarmed attacks
PRECISE_ATTACK_ZONESDisables the function of attacking random body zones
EAT_FOOD_COOLDOWNhunger cooldown for basic mobs

Define Details

DEL_ON_DEATH

Basic mob flags +Delete mob upon death

EAT_FOOD_COOLDOWN

hunger cooldown for basic mobs

FLAMMABLE_MOB

Mob can be set on fire

FLIP_ON_DEATH

Rotate mob 180 degrees while it is dead

IMMUNE_TO_FISTS

Mob never takes damage from unarmed attacks

PRECISE_ATTACK_ZONES

Disables the function of attacking random body zones

REMAIN_DENSE_WHILE_DEAD

Mob remains dense while dead

\ No newline at end of file diff --git a/code/__DEFINES/bio_chip_defines.html b/code/__DEFINES/bio_chip_defines.html new file mode 100644 index 00000000000..097a143e84d --- /dev/null +++ b/code/__DEFINES/bio_chip_defines.html @@ -0,0 +1 @@ +code/__DEFINES/bio_chip_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/bio_chip_defines.dm

BIOCHIP_EMOTE_TRIGGER_INTENTIONALIf used, an implant will trigger when an emote is intentionally used.
BIOCHIP_EMOTE_TRIGGER_UNINTENTIONALIf used, an implant will trigger when an emote is forced/unintentionally used.
BIOCHIP_EMOTE_TRIGGER_ALWAYSIf used, an implant will always trigger when the user makes an emote.
BIOCHIP_TRIGGER_DEATH_ONCEIf used, an implant will trigger on the user's first death.
BIOCHIP_TRIGGER_DEATH_ANYIf used, an implant will trigger any time a user dies.
BIOCHIP_TRIGGER_NOT_WHEN_GIBBEDIf used, an implant will NOT trigger on death when a user is gibbed.
BIOCHIP_ACTIVATED_PASSIVEThe implant is passively active (like a mindshield)
BIOCHIP_ACTIVATED_ACTIVEThe implant is activated manually by a trigger

Define Details

BIOCHIP_ACTIVATED_ACTIVE

The implant is activated manually by a trigger

BIOCHIP_ACTIVATED_PASSIVE

The implant is passively active (like a mindshield)

BIOCHIP_EMOTE_TRIGGER_ALWAYS

If used, an implant will always trigger when the user makes an emote.

BIOCHIP_EMOTE_TRIGGER_INTENTIONAL

If used, an implant will trigger when an emote is intentionally used.

BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL

If used, an implant will trigger when an emote is forced/unintentionally used.

BIOCHIP_TRIGGER_DEATH_ANY

If used, an implant will trigger any time a user dies.

BIOCHIP_TRIGGER_DEATH_ONCE

If used, an implant will trigger on the user's first death.

BIOCHIP_TRIGGER_NOT_WHEN_GIBBED

If used, an implant will NOT trigger on death when a user is gibbed.

\ No newline at end of file diff --git a/code/__DEFINES/callbacks.html b/code/__DEFINES/callbacks.html new file mode 100644 index 00000000000..bd4230e2059 --- /dev/null +++ b/code/__DEFINES/callbacks.html @@ -0,0 +1 @@ +code/__DEFINES/callbacks.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/callbacks.dm

VERB_CALLBACKlike CALLBACK but specifically for verb callbacks

Define Details

VERB_CALLBACK

like CALLBACK but specifically for verb callbacks

\ No newline at end of file diff --git a/code/__DEFINES/chat.html b/code/__DEFINES/chat.html new file mode 100644 index 00000000000..62428aba8ba --- /dev/null +++ b/code/__DEFINES/chat.html @@ -0,0 +1,5 @@ +code/__DEFINES/chat.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/chat.dm

CHAT_RELIABILITY_HISTORY_SIZECopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT +How many chat payloads to keep in history
CHAT_RELIABILITY_MAX_RESENDSHow many resends to allow before giving up

Define Details

CHAT_RELIABILITY_HISTORY_SIZE

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT +How many chat payloads to keep in history

CHAT_RELIABILITY_MAX_RESENDS

How many resends to allow before giving up

\ No newline at end of file diff --git a/code/__DEFINES/clothing_defines.html b/code/__DEFINES/clothing_defines.html new file mode 100644 index 00000000000..24ae456b68c --- /dev/null +++ b/code/__DEFINES/clothing_defines.html @@ -0,0 +1 @@ +code/__DEFINES/clothing_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/clothing_defines.dm

ITEM_SLOT_2_INDEXTranslates an ITEM_SLOT back to an index that can be looked up in inv_slots. e.g. (1<<19) becomes 19.
MAX_EQUIPABLE_ACCESSORIESmax number of accessories that can be equiped to one piece of clothing

Define Details

ITEM_SLOT_2_INDEX

Translates an ITEM_SLOT back to an index that can be looked up in inv_slots. e.g. (1<<19) becomes 19.

MAX_EQUIPABLE_ACCESSORIES

max number of accessories that can be equiped to one piece of clothing

\ No newline at end of file diff --git a/code/__DEFINES/color_defines.html b/code/__DEFINES/color_defines.html new file mode 100644 index 00000000000..4f558f73d5a --- /dev/null +++ b/code/__DEFINES/color_defines.html @@ -0,0 +1 @@ +code/__DEFINES/color_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/color_defines.dm

COLOR_THEME_MIDNIGHTMain colors for UI themes
COLORTONE_DEAD_EXT_ORGANColor for dead external organs/zombies

Define Details

COLORTONE_DEAD_EXT_ORGAN

Color for dead external organs/zombies

COLOR_THEME_MIDNIGHT

Main colors for UI themes

\ No newline at end of file diff --git a/code/__DEFINES/combat_defines.html b/code/__DEFINES/combat_defines.html new file mode 100644 index 00000000000..8c4fe8407b1 --- /dev/null +++ b/code/__DEFINES/combat_defines.html @@ -0,0 +1 @@ +code/__DEFINES/combat_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/combat_defines.dm

SECONDS_TO_JITTERJitter decays at a rate of 3 per life cycle, 15 if resting.
SHAMEStam crits the effected mob, as well as ensures they dont die from suicide
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.
OBJ_INTEGRITY_TO_WALL_DAMAGEMultiplier for wall damage for comparison with object integrity.

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.

OBJ_INTEGRITY_TO_WALL_DAMAGE

Multiplier for wall damage for comparison with object integrity.

SECONDS_TO_JITTER

Jitter decays at a rate of 3 per life cycle, 15 if resting.

SHAME

Stam crits the effected mob, as well as ensures they dont die from suicide

\ No newline at end of file diff --git a/code/__DEFINES/construction_defines.html b/code/__DEFINES/construction_defines.html new file mode 100644 index 00000000000..3881ba1f99f --- /dev/null +++ b/code/__DEFINES/construction_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/construction_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/construction_defines.dm

GIRDER_NORMALgirder construction states
RWALL_INTACTrwall construction states
WINDOW_OUT_OF_FRAMEwindow construction states
AIRLOCK_ASSEMBLY_NEEDS_WIRESairlock assembly construction states
AICONTROLDISABLED_OFFused by airlocks and airlock wires.
PLASTIC_FLAPS_NORMALplastic flaps construction states
MOUNTED_FRAME_SIMFLOORMounted Frames BITMASK
EMPTY_COREai core defines
NARSIE_WINDOW_COLOURother construction-related things +windows affected by nar'sie turn this color.
FULLTILE_WINDOW_DIRlet's just pretend fulltile windows being children of border windows is fine
TINT_CONTROL_RANGE_AREARange of a tint control button, that works only in its area.
TINT_CONTROL_GROUP_NONEID of a tint control button with no group specified, so it controls only windows also with no group specified ('null-like' id).
MAT_WOODMaterial defines, for determining how much of a given material an item contains
MINERAL_MATERIAL_AMOUNTThe amount of materials you get from a sheet of mineral like iron/diamond/glass etc
MAX_STACK_SIZEThe maximum size of a stack object.
MAXCOILmaximum amount of cable in a coil
RCL_MAX_SPOOL_SIZEmaximum amount of cable in a RCL spool

Define Details

AICONTROLDISABLED_OFF

used by airlocks and airlock wires.

AIRLOCK_ASSEMBLY_NEEDS_WIRES

airlock assembly construction states

EMPTY_CORE

ai core defines

FULLTILE_WINDOW_DIR

let's just pretend fulltile windows being children of border windows is fine

GIRDER_NORMAL

girder construction states

MAT_WOOD

Material defines, for determining how much of a given material an item contains

MAXCOIL

maximum amount of cable in a coil

MAX_STACK_SIZE

The maximum size of a stack object.

MINERAL_MATERIAL_AMOUNT

The amount of materials you get from a sheet of mineral like iron/diamond/glass etc

MOUNTED_FRAME_SIMFLOOR

Mounted Frames BITMASK

NARSIE_WINDOW_COLOUR

other construction-related things +windows affected by nar'sie turn this color.

PLASTIC_FLAPS_NORMAL

plastic flaps construction states

RCL_MAX_SPOOL_SIZE

maximum amount of cable in a RCL spool

RWALL_INTACT

rwall construction states

TINT_CONTROL_GROUP_NONE

ID of a tint control button with no group specified, so it controls only windows also with no group specified ('null-like' id).

TINT_CONTROL_RANGE_AREA

Range of a tint control button, that works only in its area.

WINDOW_OUT_OF_FRAME

window construction states

\ No newline at end of file diff --git a/code/__DEFINES/cooking_defines.html b/code/__DEFINES/cooking_defines.html new file mode 100644 index 00000000000..7e68132ce7a --- /dev/null +++ b/code/__DEFINES/cooking_defines.html @@ -0,0 +1 @@ +code/__DEFINES/cooking_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/cooking_defines.dm

PCWJ_NO_STEPSThe used object has no valid recipe uses
PCWJ_CHOICE_CANCELThe user opted to cancel when given a choice
PCWJ_SUCCESSThe user decided to use the item and the step was followed
PCWJ_PARTIAL_SUCCESSThe user decided to use the item but the qualifications for the step was not fulfilled
PCWJ_COMPLETEThe meal has been completed!
PCWJ_LOCKOUTSomeone tried starting the function while a prompt was running. Jerk.
PCWJ_BURNTThe meal was ruined by burning the food somehow.
PCWJ_NO_RECIPESThere are no recipes that match this object and container combination.
PCWJ_CHECK_FULLFor reagents, nothing can be added to

Define Details

PCWJ_BURNT

The meal was ruined by burning the food somehow.

PCWJ_CHECK_FULL

For reagents, nothing can be added to

PCWJ_CHOICE_CANCEL

The user opted to cancel when given a choice

PCWJ_COMPLETE

The meal has been completed!

PCWJ_LOCKOUT

Someone tried starting the function while a prompt was running. Jerk.

PCWJ_NO_RECIPES

There are no recipes that match this object and container combination.

PCWJ_NO_STEPS

The used object has no valid recipe uses

PCWJ_PARTIAL_SUCCESS

The user decided to use the item but the qualifications for the step was not fulfilled

PCWJ_SUCCESS

The user decided to use the item and the step was followed

\ No newline at end of file diff --git a/code/__DEFINES/cult_defines.html b/code/__DEFINES/cult_defines.html new file mode 100644 index 00000000000..6fcc892b37b --- /dev/null +++ b/code/__DEFINES/cult_defines.html @@ -0,0 +1 @@ +code/__DEFINES/cult_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/cult_defines.dm

MAX_BLOODCHARGEMaximum number of spells with an empowering rune
RUNELESS_MAX_BLOODCHARGEMaximum number of spells without an empowering rune
ENHANCED_BLOODCHARGEMaximum number of spells with enhanced magic
CULT_POPULATION_THRESHOLDAt what population does it switch to highpop values
CULT_RISEN_LOWPercent before rise (Lowpop)
CULT_ASCENDANT_LOWPercent before ascend (Lowpop)
CULT_RISEN_HIGHPercent before rise (Highpop)
CULT_ASCENDANT_HIGHPercent before ascend (Highpop)
GET_CULT_DATASafely accesses SSticker.cult_data, returns the default if cult data is not set up yet. Allows for both variable and proc call access.
IS_CULTISTChecks that the given element is living an has a cult antag datum

Define Details

CULT_ASCENDANT_HIGH

Percent before ascend (Highpop)

CULT_ASCENDANT_LOW

Percent before ascend (Lowpop)

CULT_POPULATION_THRESHOLD

At what population does it switch to highpop values

CULT_RISEN_HIGH

Percent before rise (Highpop)

CULT_RISEN_LOW

Percent before rise (Lowpop)

ENHANCED_BLOODCHARGE

Maximum number of spells with enhanced magic

GET_CULT_DATA

Safely accesses SSticker.cult_data, returns the default if cult data is not set up yet. Allows for both variable and proc call access.

IS_CULTIST

Checks that the given element is living an has a cult antag datum

MAX_BLOODCHARGE

Maximum number of spells with an empowering rune

RUNELESS_MAX_BLOODCHARGE

Maximum number of spells without an empowering rune

\ No newline at end of file diff --git a/code/__DEFINES/dcs/ai_signals.html b/code/__DEFINES/dcs/ai_signals.html new file mode 100644 index 00000000000..d5112cf49ce --- /dev/null +++ b/code/__DEFINES/dcs/ai_signals.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/ai_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/ai_signals.dm

AI_CONTROLLER_BEHAVIOR_QUEUEDsent from ai controllers when a behavior is inserted into the queue: (list/new_arguments)
COMSIG_AI_BLACKBOARD_KEY_SETSignal sent when a blackboard key is set to a new value
COMSIG_AI_BLACKBOARD_KEY_PRECLEARSignal sent before a blackboard key is cleared
COMSIG_AI_BLACKBOARD_KEY_CLEAREDSignal sent when a blackboard key is cleared
COMSIG_AI_CONTROLLER_POSSESSED_PAWNsent from ai controllers when they possess a pawn: (datum/ai_controller/source_controller)
COMSIG_AI_CONTROLLER_PICKED_BEHAVIORSsent from ai controllers when they pick behaviors: (list/datum/ai_behavior/old_behaviors, list/datum/ai_behavior/new_behaviors)
COMSIG_AI_CONTROLLER_UNPOSSESSED_PAWNsent from ai controllers when they stop possessing a pawn: (datum/ai_controller/source_controller)

Define Details

AI_CONTROLLER_BEHAVIOR_QUEUED

sent from ai controllers when a behavior is inserted into the queue: (list/new_arguments)

COMSIG_AI_BLACKBOARD_KEY_CLEARED

Signal sent when a blackboard key is cleared

COMSIG_AI_BLACKBOARD_KEY_PRECLEAR

Signal sent before a blackboard key is cleared

COMSIG_AI_BLACKBOARD_KEY_SET

Signal sent when a blackboard key is set to a new value

COMSIG_AI_CONTROLLER_PICKED_BEHAVIORS

sent from ai controllers when they pick behaviors: (list/datum/ai_behavior/old_behaviors, list/datum/ai_behavior/new_behaviors)

COMSIG_AI_CONTROLLER_POSSESSED_PAWN

sent from ai controllers when they possess a pawn: (datum/ai_controller/source_controller)

COMSIG_AI_CONTROLLER_UNPOSSESSED_PAWN

sent from ai controllers when they stop possessing a pawn: (datum/ai_controller/source_controller)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/area_signals.html b/code/__DEFINES/dcs/area_signals.html new file mode 100644 index 00000000000..4cb36b39583 --- /dev/null +++ b/code/__DEFINES/dcs/area_signals.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/area_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/area_signals.dm

COMSIG_AREA_LIGHTSWITCH_DELETINGSignals for /area and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +From obj/machinery/light_switch/Destroy(): ()
COMSIG_AREA_LIGHTSWITCH_CANCELStop all area lightswitches from turning back on.

Define Details

COMSIG_AREA_LIGHTSWITCH_CANCEL

Stop all area lightswitches from turning back on.

COMSIG_AREA_LIGHTSWITCH_DELETING

Signals for /area and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +From obj/machinery/light_switch/Destroy(): ()

\ No newline at end of file diff --git a/code/__DEFINES/dcs/atom_signals.html b/code/__DEFINES/dcs/atom_signals.html new file mode 100644 index 00000000000..cc2d6e96e9a --- /dev/null +++ b/code/__DEFINES/dcs/atom_signals.html @@ -0,0 +1,5 @@ +code/__DEFINES/dcs/atom_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/atom_signals.dm

COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ONSignals for /atom and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument
COMSIG_ATOM_HULK_ATTACKfrom base of atom/attack_hulk(): (/mob/living/carbon/human)
COMSIG_PARENT_EXAMINEfrom base of atom/examine(): (examining_user, examine_list)
COMSIG_PARENT_EXAMINE_MOREfrom base of atom/examine_more(): (examining_user, examine_list)
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/proc/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_STATESent after /atom/proc/update_icon_state is called by /atom/proc/update_icon: ()
COMSIG_ATOM_UPDATE_OVERLAYSSent after /atom/proc/update_overlays is called by /atom/proc/update_icon: (list/new_overlays)
COMSIG_ATOM_UPDATED_ICONfrom base of /atom/proc/update_icon: (signalOut, did_anything)
COMSIG_ATOM_ENTEREDfrom base of atom/Entered(): (atom/movable/entered, /atom)
COMSIG_ATOM_EXITfrom base of atom/Exit(): (/atom/movable/exiting, /atom/newloc)
COMSIG_ATOM_EXITEDfrom base of atom/Exited(): (atom/movable/exiting, direction)
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/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, emission_type)
COMSIG_TURF_IRRADIATEfrom base of turf/irradiate(/datum/radiation_wave)
COMSIG_ATOM_SING_PULLfrom base of atom/singularity_pull(): (S, current_size)
COMSIG_ATOM_SET_LIGHTfrom base of atom/set_light(): (l_range, l_power, l_color)
COMSIG_ATOM_SET_OPACITYfrom base of atom/set_opacity(): (new_opacity)
COMSIG_ATOM_DIR_CHANGEfrom base of atom/setDir(): (old_dir, new_dir)
COMSIG_ATOM_DECALS_ROTATINGfrom /datum/controller/subsystem/processing/dcs/proc/rotate_decals: (list/datum/element/decal/rotating)
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_ORBIT_BEGINcalled when an atom starts orbiting another atom: (atom)
COMSIG_ATOM_ORBIT_STOPcalled when an atom stops orbiting another atom: (atom)
COMSIG_ATOM_ORBITER_STOPcalled on an atom who has stopped orbiting another atom (atom/orbiter, atom/formerly_orbited)
COMSIG_ATOM_HITBYfrom base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
COMSIG_ATOM_UPDATE_SHARPNESSCalled when an atom is sharpened or dulled.
COMSIG_ATOM_PREHITfrom base of atom/atom_prehit(obj/projectile/P):
COMSIG_ATOM_ATTACK_ANIMALfrom relay_attackers element: (atom/attacker, attack_flags)
ATTACKER_STAMINA_ATTACKThe damage type of the weapon projectile is non-lethal stamina
ATTACKER_SHOVINGthe attacker is shoving the source
ATTACKER_DAMAGING_ATTACKThe attack is a damaging-type attack
COMSIG_ATOM_INITIALIZED_ONCalled from atom/Initialize() of target: (atom/target)
COMSIG_ATOM_ATTACK_GHOSTfrom base of atom/attack_ghost(): (mob/dead/observer/ghost)
COMSIG_ATOM_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user)
COMSIG_ATOM_ATTACK_PAWfrom base of atom/attack_paw(): (mob/user)
COMSIG_LIVING_TRY_PULLcalled on /living, when pull is attempted, but before it completes, from base of [/mob/living/proc/start_pulling]: (atom/movable/thing, force)
COMSIG_ATOM_BUMPEDfrom base of atom/Bumped(atom/bumped_atom)
COMSIG_ATOM_EXPOSE_REAGENTSfrom base of atom/expose_reagents(): (/list, /datum/reagents, chemholder, volume_modifier)
COMSIG_CLICKfrom base of atom/Click(): (location, control, params, mob/user)
COMSIG_CLICK_SHIFTfrom base of atom/ShiftClick(): (/mob)
COMSIG_CLICK_CTRLfrom base of atom/CtrlClickOn(): (/mob)
COMSIG_CLICK_ALTfrom base of atom/AltClick(): (/mob)
COMPONENT_CANCEL_ALTCLICKCancel the alt-click, since this isn't properly part of the attack chain
COMSIG_CLICK_CTRL_SHIFTfrom base of atom/CtrlShiftClick(/mob)
COMSIG_MOUSEDROP_ONTOfrom base of atom/MouseDrop(): (/atom/over, /mob/user)
COMSIG_MOUSEDROPPED_ONTOfrom base of atom/MouseDrop_T: (/atom/from, /mob/user)
COMSIG_ATOM_HOLY_ATTACKCalled on the atom being hit, from /datum/component/anti_magic/on_attack() : (obj/item/weapon, mob/user, antimagic_flags)
COMSIG_ATOM_RANGED_ATTACKEDOn a ranged attack: base of mob/living/carbon/human/RangedAttack (/mob/living/carbon/human)
COMSIG_BIT_ATTACHWhen using a bit on an item that can accept a bit
COMSIG_LENS_ATTACHWhen using a lens on an item that can accept a lens
COMSIG_INSERT_ATTACHWhen using an insert on an item that can accept an insert

Define Details

ATTACKER_DAMAGING_ATTACK

The attack is a damaging-type attack

ATTACKER_SHOVING

the attacker is shoving the source

ATTACKER_STAMINA_ATTACK

The damage type of the weapon projectile is non-lethal stamina

COMPONENT_CANCEL_ALTCLICK

Cancel the alt-click, since this isn't properly part of the attack chain

COMSIG_ATOM_ACID_ACT

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

COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON

Signals for /atom and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument

COMSIG_ATOM_ATTACK_ANIMAL

from relay_attackers element: (atom/attacker, attack_flags)

COMSIG_ATOM_ATTACK_GHOST

from base of atom/attack_ghost(): (mob/dead/observer/ghost)

COMSIG_ATOM_ATTACK_HAND

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

COMSIG_ATOM_ATTACK_PAW

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

COMSIG_ATOM_BLOB_ACT

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

COMSIG_ATOM_BULLET_ACT

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

COMSIG_ATOM_BUMPED

from base of atom/Bumped(atom/bumped_atom)

COMSIG_ATOM_DECALS_ROTATING

from /datum/controller/subsystem/processing/dcs/proc/rotate_decals: (list/datum/element/decal/rotating)

COMSIG_ATOM_DIR_CHANGE

from base of atom/setDir(): (old_dir, new_dir)

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_ENTERED

from base of atom/Entered(): (atom/movable/entered, /atom)

COMSIG_ATOM_EXIT

from base of atom/Exit(): (/atom/movable/exiting, /atom/newloc)

COMSIG_ATOM_EXITED

from base of atom/Exited(): (atom/movable/exiting, direction)

COMSIG_ATOM_EXPOSE_REAGENTS

from base of atom/expose_reagents(): (/list, /datum/reagents, chemholder, volume_modifier)

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_HAS_GRAVITY

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

COMSIG_ATOM_HITBY

from base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)

COMSIG_ATOM_HOLY_ATTACK

Called on the atom being hit, from /datum/component/anti_magic/on_attack() : (obj/item/weapon, mob/user, antimagic_flags)

COMSIG_ATOM_HULK_ATTACK

from base of atom/attack_hulk(): (/mob/living/carbon/human)

COMSIG_ATOM_INITIALIZED_ON

Called from atom/Initialize() of target: (atom/target)

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_ORBITER_STOP

called on an atom who has stopped orbiting another atom (atom/orbiter, atom/formerly_orbited)

COMSIG_ATOM_ORBIT_BEGIN

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

COMSIG_ATOM_ORBIT_STOP

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

COMSIG_ATOM_PREHIT

from base of atom/atom_prehit(obj/projectile/P):

COMSIG_ATOM_RAD_ACT

from base of atom/rad_act(intensity, emission_type)

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_RANGED_ATTACKED

On a ranged attack: base of mob/living/carbon/human/RangedAttack (/mob/living/carbon/human)

COMSIG_ATOM_SET_LIGHT

from base of atom/set_light(): (l_range, l_power, l_color)

COMSIG_ATOM_SET_OPACITY

from base of atom/set_opacity(): (new_opacity)

COMSIG_ATOM_SING_PULL

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

COMSIG_ATOM_UPDATED_ICON

from base of /atom/proc/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/proc/update_icon: ()

COMSIG_ATOM_UPDATE_ICON_STATE

Sent after /atom/proc/update_icon_state is called by /atom/proc/update_icon: ()

COMSIG_ATOM_UPDATE_NAME

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

COMSIG_ATOM_UPDATE_OVERLAYS

Sent after /atom/proc/update_overlays is called by /atom/proc/update_icon: (list/new_overlays)

COMSIG_ATOM_UPDATE_SHARPNESS

Called when an atom is sharpened or dulled.

COMSIG_BIT_ATTACH

When using a bit on an item that can accept a bit

COMSIG_CLICK

from base of atom/Click(): (location, control, params, mob/user)

COMSIG_CLICK_ALT

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

COMSIG_CLICK_CTRL

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

COMSIG_CLICK_CTRL_SHIFT

from base of atom/CtrlShiftClick(/mob)

COMSIG_CLICK_SHIFT

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

COMSIG_INSERT_ATTACH

When using an insert on an item that can accept an insert

COMSIG_LENS_ATTACH

When using a lens on an item that can accept a lens

COMSIG_LIVING_TRY_PULL

called on /living, when pull is attempted, but before it completes, from base of [/mob/living/proc/start_pulling]: (atom/movable/thing, force)

COMSIG_MOUSEDROPPED_ONTO

from base of atom/MouseDrop_T: (/atom/from, /mob/user)

COMSIG_MOUSEDROP_ONTO

from base of atom/MouseDrop(): (/atom/over, /mob/user)

COMSIG_PARENT_EXAMINE

from base of atom/examine(): (examining_user, examine_list)

COMSIG_PARENT_EXAMINE_MORE

from base of atom/examine_more(): (examining_user, examine_list)

COMSIG_TURF_IRRADIATE

from base of turf/irradiate(/datum/radiation_wave)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/attack_chain_signals.html b/code/__DEFINES/dcs/attack_chain_signals.html new file mode 100644 index 00000000000..2ec4e7d47c6 --- /dev/null +++ b/code/__DEFINES/dcs/attack_chain_signals.html @@ -0,0 +1,4 @@ +code/__DEFINES/dcs/attack_chain_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/attack_chain_signals.dm

ITEM_INTERACT_COMPLETECancel the rest of the attack chain, indicating success.
ITEM_INTERACT_SKIP_TO_AFTER_ATTACKSkip pre-attack and attack/attack_by, going straight to after_attack.
COMSIG_INTERACT_TARGETSent when this atom is clicked on by a mob with an item.
COMSIG_INTERACT_USERSent to a mob clicking on an atom with an item.
COMSIG_INTERACTINGSent to an item clicking on an atom.
COMSIG_INTERACT_RANGED/atom/proc/ranged_item_interaction
COMSIG_INTERACTING_RANGED/atom/proc/ranged_item_interaction
COMSIG_ACTIVATE_SELF/obj/item/proc/activate_self -> mob/user
COMPONENT_CANCEL_ATTACK_CHAINCancel the attack chain entirely.
COMPONENT_SKIP_ATTACKSkip this attack step, continuing for the next one to happen.
COMPONENT_SKIP_AFTERATTACKSkip after_attacks (while allowing for e.g. attack_by).
COMSIG_PRE_ATTACK/obj/item/proc/pre_attack -> atom/target, mob/user, params
COMSIG_ATTACK/obj/item/proc/attack -> mob/living/target, mob/living/user
COMSIG_ATTACK_OBJ/obj/item/proc/attack_obj -> obj/attacked, mob/user
COMSIG_ATTACK_OBJ_LIVING/obj/item/proc/attack_obj -> obj/attacked
COMSIG_ATTACK_BY[/atom/proc/attackby] -> obj/item/weapon, mob/living/user, params
COMSIG_AFTER_ATTACK[/obj/item/proc/afterattack] -> atom/target, mob/user, params
COMSIG_AFTER_ATTACKED_BY[/obj/item/proc/afterattack] -> obj/item/weapon, mob/user, proximity_flag, params
COMSIG_HOSTILE_PRE_ATTACKINGTARGETBefore attackingtarget has happened, source is the attacker and target is the attacked
COMSIG_HOSTILE_FOUND_TARGETCalled when a /mob/living/simple_animal/hostile fines a new target: (atom/source, give_target)
COMSIG_HOSTILE_POST_ATTACKINGTARGETAfter attackingtarget has happened, source is the attacker and target is the attacked, extra argument for if the attackingtarget was successful
CONTINUE_ATTACKContinue the attack chain, i.e. allow other signals to respond.
FINISH_ATTACKDo not continue the attack chain.
MELEE_COOLDOWN_PREATTACKApply a CLICK_CD_MELEE cooldown.
COMSIG_TOOL_ATTACK[/obj/item/proc/tool_attack_chain] -> atom/tool, mob/user

Define Details

COMPONENT_CANCEL_ATTACK_CHAIN

Cancel the attack chain entirely.

COMPONENT_SKIP_AFTERATTACK

Skip after_attacks (while allowing for e.g. attack_by).

COMPONENT_SKIP_ATTACK

Skip this attack step, continuing for the next one to happen.

COMSIG_ACTIVATE_SELF

/obj/item/proc/activate_self -> mob/user

COMSIG_AFTER_ATTACK

[/obj/item/proc/afterattack] -> atom/target, mob/user, params

COMSIG_AFTER_ATTACKED_BY

[/obj/item/proc/afterattack] -> obj/item/weapon, mob/user, proximity_flag, params

COMSIG_ATTACK

/obj/item/proc/attack -> mob/living/target, mob/living/user

COMSIG_ATTACK_BY

[/atom/proc/attackby] -> obj/item/weapon, mob/living/user, params

COMSIG_ATTACK_OBJ

/obj/item/proc/attack_obj -> obj/attacked, mob/user

COMSIG_ATTACK_OBJ_LIVING

/obj/item/proc/attack_obj -> obj/attacked

COMSIG_HOSTILE_FOUND_TARGET

Called when a /mob/living/simple_animal/hostile fines a new target: (atom/source, give_target)

COMSIG_HOSTILE_POST_ATTACKINGTARGET

After attackingtarget has happened, source is the attacker and target is the attacked, extra argument for if the attackingtarget was successful

COMSIG_HOSTILE_PRE_ATTACKINGTARGET

Before attackingtarget has happened, source is the attacker and target is the attacked

COMSIG_INTERACTING

Sent to an item clicking on an atom.

+

/atom/proc/item_interaction -> mob/living/user, atom/target, list/modifiers

COMSIG_INTERACTING_RANGED

/atom/proc/ranged_item_interaction

COMSIG_INTERACT_RANGED

/atom/proc/ranged_item_interaction

COMSIG_INTERACT_TARGET

Sent when this atom is clicked on by a mob with an item.

+

/atom/proc/item_interaction -> mob/living/user, obj/item/tool, list/modifiers

COMSIG_INTERACT_USER

Sent to a mob clicking on an atom with an item.

+

/atom/proc/item_interaction -> atom/target, obj/item/tool, list/modifiers

COMSIG_PRE_ATTACK

/obj/item/proc/pre_attack -> atom/target, mob/user, params

COMSIG_TOOL_ATTACK

[/obj/item/proc/tool_attack_chain] -> atom/tool, mob/user

CONTINUE_ATTACK

Continue the attack chain, i.e. allow other signals to respond.

FINISH_ATTACK

Do not continue the attack chain.

ITEM_INTERACT_COMPLETE

Cancel the rest of the attack chain, indicating success.

ITEM_INTERACT_SKIP_TO_AFTER_ATTACK

Skip pre-attack and attack/attack_by, going straight to after_attack.

MELEE_COOLDOWN_PREATTACK

Apply a CLICK_CD_MELEE cooldown.

\ No newline at end of file diff --git a/code/__DEFINES/dcs/basetype_signals.html b/code/__DEFINES/dcs/basetype_signals.html new file mode 100644 index 00000000000..3e123b75638 --- /dev/null +++ b/code/__DEFINES/dcs/basetype_signals.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/basetype_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/basetype_signals.dm

COMSIG_CLIENT_CLICKSignals for base types that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of client/Click(): (atom/target, atom/location, control, params, mob/user)
COMSIG_CLIENT_MOUSEDOWNfrom base of client/MouseDown(): (/client, object, location, control, params)
COMSIG_CLIENT_MOUSEUPfrom base of client/MouseUp(): (/client, object, location, control, params)
COMSIG_CLIENT_MOUSEDRAGfrom base of client/MouseUp(): (/client, object, location, control, params)
COMSIG_AREA_ENTEREDfrom base of area/Entered(): (atom/movable/M)
COMSIG_AREA_EXITEDfrom base of area/Exited(): (atom/movable/M)
COMSIG_TURF_CHANGEfrom base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps)
COMSIG_TURF_ON_SHUTTLE_MOVEfrom base of turf/proc/onShuttleMove(): (turf/new_turf)
COMSIG_ATOM_GET_DECALSfrom base of turf/proc/get_decals(): (list/datum/element/decal/decals)
COMSIG_MOVABLE_ON_SHUTTLE_MOVEfrom base of atom/movable/onShuttleMove(): (turf/new_turf)

Define Details

COMSIG_AREA_ENTERED

from base of area/Entered(): (atom/movable/M)

COMSIG_AREA_EXITED

from base of area/Exited(): (atom/movable/M)

COMSIG_ATOM_GET_DECALS

from base of turf/proc/get_decals(): (list/datum/element/decal/decals)

COMSIG_CLIENT_CLICK

Signals for base types that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of client/Click(): (atom/target, atom/location, control, params, mob/user)

COMSIG_CLIENT_MOUSEDOWN

from base of client/MouseDown(): (/client, object, location, control, params)

COMSIG_CLIENT_MOUSEDRAG

from base of client/MouseUp(): (/client, object, location, control, params)

COMSIG_CLIENT_MOUSEUP

from base of client/MouseUp(): (/client, object, location, control, params)

COMSIG_MOVABLE_ON_SHUTTLE_MOVE

from base of atom/movable/onShuttleMove(): (turf/new_turf)

COMSIG_TURF_CHANGE

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

COMSIG_TURF_ON_SHUTTLE_MOVE

from base of turf/proc/onShuttleMove(): (turf/new_turf)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/carbon_signals.html b/code/__DEFINES/dcs/carbon_signals.html new file mode 100644 index 00000000000..dedeb9982f1 --- /dev/null +++ b/code/__DEFINES/dcs/carbon_signals.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/carbon_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/carbon_signals.dm

COMSIG_CARBON_GAIN_ORGANSignals for /mob/living/carbon and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from /item/organ/proc/Insert() (/obj/item/organ/)
COMSIG_CARBON_LOSE_ORGANfrom /item/organ/proc/Remove() (/obj/item/organ/)
COMSIG_CARBON_SWAP_HANDSFrom /mob/living/carbon/swap_hand(): Called when the user swaps their active hand
COMSIG_CARBON_TOGGLE_THROWFrom /mob/living/carbon/toggle_throw_mode()
COMSIG_CARBON_THROWN_ITEM_CAUGHTFrom /mob/living/carbon/human/hitby()
COMSIG_CARBON_FLASH_EYESFrom /mob/living/carbon/flash_eyes()
COMSIG_CARBON_UPDATE_HANDCUFFEDFrom /mob/living/carbon/update_handcuffed()
COMSIG_CARBON_REGENERATE_ICONSFrom /mob/living/carbon/regenerate_icons()
COMSIG_CARBON_ENTER_STAMINACRITFrom /mob/living/carbon/enter_stamcrit()
COMSIG_CARBON_EXIT_STAMINACRITFrom /mob/living/carbon/update_stamina()
COMSIG_CARBON_STAMINA_REGENERATEDFrom /mob/living/carbon/handle_status_effects()
COMSIG_HUMAN_MELEE_UNARMED_ATTACKfrom mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity)
COMSIG_HUMAN_MELEE_UNARMED_ATTACKBYfrom mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker)
COMSIG_HUMAN_CHANGE_BODY_ACCESSORYFrom mob/living/carbon/human/change_body_accessory(): (mob/living/carbon/human/H, body_accessory_style)
COMSIG_HUMAN_CHANGE_HEAD_ACCESSORYFrom mob/living/carbon/human/change_head_accessory(): (mob/living/carbon/human/H, head_accessory_style)
COMSIG_LIVING_MOB_BUMPFrom base of mob/living/MobBump() (mob/living)
COMSIG_HUMAN_SUICIDE_ACTFrom mob/living/carbon/human/do_suicide()
COMSIG_HUMAN_RECEIVE_CPRSent from mob/living/carbon/human/do_cpr(): (mob/living/carbon/human/H, new_seconds_of_life)
COMSIG_HUMAN_ATTACKEDFrom mob/living/carbon/human/attackedby(): (mob/living/carbon/human/attacker). Also found on species/disarm and species/harm
COMSIG_HUMAN_CHECK_SHIELDSfrom /mob/living/carbon/human/proc/check_shields(): (/mob/living/carbon/human/owner, atom/hitby, attack_text, final_block_chance, damage, attack_type)
COMSIG_HUMAN_CREATE_MOB_HUDfrom /mob/living/carbon/human/create_mob_hud()

Define Details

COMSIG_CARBON_ENTER_STAMINACRIT

From /mob/living/carbon/enter_stamcrit()

COMSIG_CARBON_EXIT_STAMINACRIT

From /mob/living/carbon/update_stamina()

COMSIG_CARBON_FLASH_EYES

From /mob/living/carbon/flash_eyes()

COMSIG_CARBON_GAIN_ORGAN

Signals for /mob/living/carbon and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from /item/organ/proc/Insert() (/obj/item/organ/)

COMSIG_CARBON_LOSE_ORGAN

from /item/organ/proc/Remove() (/obj/item/organ/)

COMSIG_CARBON_REGENERATE_ICONS

From /mob/living/carbon/regenerate_icons()

COMSIG_CARBON_STAMINA_REGENERATED

From /mob/living/carbon/handle_status_effects()

COMSIG_CARBON_SWAP_HANDS

From /mob/living/carbon/swap_hand(): Called when the user swaps their active hand

COMSIG_CARBON_THROWN_ITEM_CAUGHT

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

COMSIG_CARBON_TOGGLE_THROW

From /mob/living/carbon/toggle_throw_mode()

COMSIG_CARBON_UPDATE_HANDCUFFED

From /mob/living/carbon/update_handcuffed()

COMSIG_HUMAN_ATTACKED

From mob/living/carbon/human/attackedby(): (mob/living/carbon/human/attacker). Also found on species/disarm and species/harm

COMSIG_HUMAN_CHANGE_BODY_ACCESSORY

From mob/living/carbon/human/change_body_accessory(): (mob/living/carbon/human/H, body_accessory_style)

COMSIG_HUMAN_CHANGE_HEAD_ACCESSORY

From mob/living/carbon/human/change_head_accessory(): (mob/living/carbon/human/H, head_accessory_style)

COMSIG_HUMAN_CHECK_SHIELDS

from /mob/living/carbon/human/proc/check_shields(): (/mob/living/carbon/human/owner, atom/hitby, attack_text, final_block_chance, damage, attack_type)

COMSIG_HUMAN_CREATE_MOB_HUD

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

COMSIG_HUMAN_MELEE_UNARMED_ATTACK

from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity)

COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY

from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker)

COMSIG_HUMAN_RECEIVE_CPR

Sent from mob/living/carbon/human/do_cpr(): (mob/living/carbon/human/H, new_seconds_of_life)

COMSIG_HUMAN_SUICIDE_ACT

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

COMSIG_LIVING_MOB_BUMP

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/datum_signals.html b/code/__DEFINES/dcs/datum_signals.html new file mode 100644 index 00000000000..eea22574e38 --- /dev/null +++ b/code/__DEFINES/dcs/datum_signals.html @@ -0,0 +1,13 @@ +code/__DEFINES/dcs/datum_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/datum_signals.dm

COMSIG_COMPONENT_ADDEDSignals for /datums. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +when a component is added to a datum: (/datum/component)
COMSIG_COMPONENT_REMOVINGbefore a component is removed from a datum because of UnlinkComponent: (/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_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_MIND_TRANSER_TOfrom base of /datum/mind/proc/transfer_to(mob/living/new_character)
COMSIG_BODY_TRANSFER_TOcalled on the mob instead of the mind
COMSIG_MIND_INITIALIZEcalled when the mind is initialized (called every time the mob logins)
COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIEDcalled when character creation robotic limbs are applied
COMPONENT_BLOOD_SPLASH_HANDLEDIf returned from this signal, will prevent any surgery splashing.
COMSIG_SPECIES_GAINfrom datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)
COMSIG_SPECIES_LOSSfrom datum/species/on_species_loss(): (datum/species/lost_species)
COMSIG_SPECIES_HITBYfrom /datum/species/proc/spec_hitby()
COMSIG_AFTER_SPECIES_CHANGEFires after a carbon's species changes.
COMSIG_SONG_STARTsent to the instrument when a song starts playing
COMSIG_SONG_ENDsent to the instrument when a song stops playing
COMSIG_COMPONENT_CLEAN_ACTcalled on an object to clean it of cleanables.
COMPONENT_CLEANEDReturned by cleanable components when they are cleaned.
COMSIG_TWOHANDED_WIELDfrom base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)
COMSIG_TWOHANDED_UNWIELDfrom base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)
COMSIG_TWOHANDED_WIELDED_TRY_WIELD_INTERACTfrom base of /datum/component/forces_doors_open/proc/force_open_door(obj/item): (datum/source, mob/user, atom/target)
COMSIG_ACTION_TRIGGERfrom base of datum/action/proc/Trigger(): (datum/action)
COMSIG_ACTION_GRANTEDFrom /datum/action/Grant(): (mob/grant_to)
COMSIG_MOB_GRANTED_ACTIONFrom /datum/action/Grant(): (datum/action)
COMSIG_ACTION_REMOVEDFrom /datum/action/Remove(): (mob/removed_from)
COMSIG_MOB_REMOVED_ACTIONFrom /datum/action/Remove(): (datum/action)
COMSIG_ACTION_OVERLAY_APPLYFrom /datum/action/apply_button_overlay()
COMSIG_OBJECTIVE_TARGET_FOUNDfrom datum/objective/proc/find_target(list/target_blacklist)
COMSIG_OBJECTIVE_CHECK_VALID_TARGETfrom datum/objective/is_invalid_target()
COMSIG_DEFIB_PADDLES_APPLIED/datum/component/defib +Called when a defibrillator is first applied to someone. (mob/living/user, mob/living/target, harmful)
COMPONENT_BLOCK_DEFIB_DEADDefib is out of power.
COMPONENT_BLOCK_DEFIB_MISCSomething else: we won't have a custom message for this and should let the defib handle it.
COMSIG_DEFIB_SHOCK_APPLIEDCalled when a defib has been successfully used, and a shock has been applied. (mob/living/user, mob/living/target, harmful, successful)
COMSIG_DEFIB_READYCalled when a defib's cooldown has run its course and it is once again ready. ()
COMSIG_TRIGGERED_ALARMdatum/alarm_manager
COMSIG_POWERNET_POWER_CHANGEfrom base of /datum/local_powernet/proc/power_change()
COMSIG_SHADE_TO_CONSTRUCT_TRANSFERSent when bodies transfer between shades/shards and constructs +from base of /datum/component/construct_held_body/proc/transfer_held_body()
COMSIG_LABEL_REMOVE/datum/component/label +Called when a handlabeler is used on an item when off
COMSIG_RULESET_FAILED_SPECIESfrom base of /datum/ruleset/proc/can_apply()
SPATIAL_GRID_CELL_ENTEREDCalled from base of /datum/controller/subsystem/spatial_grid/proc/enter_cell: (/atom/movable)
SPATIAL_GRID_CELL_EXITEDCalled from base of /datum/controller/subsystem/spatial_grid/proc/exit_cell: (/atom/movable)

Define Details

COMPONENT_BLOCK_DEFIB_DEAD

Defib is out of power.

COMPONENT_BLOCK_DEFIB_MISC

Something else: we won't have a custom message for this and should let the defib handle it.

COMPONENT_BLOOD_SPLASH_HANDLED

If returned from this signal, will prevent any surgery splashing.

COMPONENT_CLEANED

Returned by cleanable components when they are cleaned.

COMSIG_ACTION_GRANTED

From /datum/action/Grant(): (mob/grant_to)

COMSIG_ACTION_OVERLAY_APPLY

From /datum/action/apply_button_overlay()

COMSIG_ACTION_REMOVED

From /datum/action/Remove(): (mob/removed_from)

COMSIG_ACTION_TRIGGER

from base of datum/action/proc/Trigger(): (datum/action)

COMSIG_AFTER_SPECIES_CHANGE

Fires after a carbon's species changes.

COMSIG_BODY_TRANSFER_TO

called on the mob instead of the mind

COMSIG_COMPONENT_ADDED

Signals for /datums. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +when a component is added to a datum: (/datum/component)

COMSIG_COMPONENT_CLEAN_ACT

called on an object to clean it of cleanables.

COMSIG_COMPONENT_REMOVING

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

COMSIG_DEFIB_PADDLES_APPLIED

/datum/component/defib +Called when a defibrillator is first applied to someone. (mob/living/user, mob/living/target, harmful)

COMSIG_DEFIB_READY

Called when a defib's cooldown has run its course and it is once again ready. ()

COMSIG_DEFIB_SHOCK_APPLIED

Called when a defib has been successfully used, and a shock has been applied. (mob/living/user, mob/living/target, harmful, successful)

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_HUMAN_ROBOTIC_LIMBS_APPLIED

called when character creation robotic limbs are applied

COMSIG_LABEL_REMOVE

/datum/component/label +Called when a handlabeler is used on an item when off

COMSIG_MIND_INITIALIZE

called when the mind is initialized (called every time the mob logins)

COMSIG_MIND_TRANSER_TO

from base of /datum/mind/proc/transfer_to(mob/living/new_character)

COMSIG_MOB_GRANTED_ACTION

From /datum/action/Grant(): (datum/action)

COMSIG_MOB_REMOVED_ACTION

From /datum/action/Remove(): (datum/action)

COMSIG_OBJECTIVE_CHECK_VALID_TARGET

from datum/objective/is_invalid_target()

COMSIG_OBJECTIVE_TARGET_FOUND

from datum/objective/proc/find_target(list/target_blacklist)

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_POWERNET_POWER_CHANGE

from base of /datum/local_powernet/proc/power_change()

COMSIG_RULESET_FAILED_SPECIES

from base of /datum/ruleset/proc/can_apply()

COMSIG_SHADE_TO_CONSTRUCT_TRANSFER

Sent when bodies transfer between shades/shards and constructs +from base of /datum/component/construct_held_body/proc/transfer_held_body()

COMSIG_SONG_END

sent to the instrument when a song stops playing

COMSIG_SONG_START

sent to the instrument when a song starts playing

COMSIG_SPECIES_GAIN

from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)

COMSIG_SPECIES_HITBY

from /datum/species/proc/spec_hitby()

COMSIG_SPECIES_LOSS

from datum/species/on_species_loss(): (datum/species/lost_species)

COMSIG_TRIGGERED_ALARM

datum/alarm_manager

COMSIG_TWOHANDED_UNWIELD

from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)

COMSIG_TWOHANDED_WIELD

from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)

COMSIG_TWOHANDED_WIELDED_TRY_WIELD_INTERACT

from base of /datum/component/forces_doors_open/proc/force_open_door(obj/item): (datum/source, mob/user, atom/target)

SPATIAL_GRID_CELL_ENTERED

Called from base of /datum/controller/subsystem/spatial_grid/proc/enter_cell: (/atom/movable)

SPATIAL_GRID_CELL_EXITED

Called from base of /datum/controller/subsystem/spatial_grid/proc/exit_cell: (/atom/movable)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/dcs_flags.html b/code/__DEFINES/dcs/dcs_flags.html new file mode 100644 index 00000000000..b6226f77580 --- /dev/null +++ b/code/__DEFINES/dcs/dcs_flags.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/dcs_flags.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/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_DETACH_ON_HOST_DESTROYCauses the detach proc to be called when the host object is being deleted
ELEMENT_BESPOKEOnly elements created with the same arguments given after argument_hash_start_idx share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref
COMPONENT_DUPE_HIGHLANDERold component is deleted (default)
COMPONENT_DUPE_ALLOWEDduplicates allowed
COMPONENT_DUPE_UNIQUEnew component is deleted
COMPONENT_DUPE_UNIQUE_PASSARGSold component is given the initialization args of the new
COMPONENT_DUPE_SELECTIVEeach component of the same type is consulted as to whether the duplicate should be allowed

Define Details

COMPONENT_DUPE_ALLOWED

duplicates allowed

COMPONENT_DUPE_HIGHLANDER

old component is deleted (default)

COMPONENT_DUPE_SELECTIVE

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

COMPONENT_DUPE_UNIQUE

new component is deleted

COMPONENT_DUPE_UNIQUE_PASSARGS

old component is given the initialization args of the new

COMPONENT_INCOMPATIBLE

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

COMPONENT_NOTRANSFER

Returned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE

ELEMENT_BESPOKE

Only elements created with the same arguments given after argument_hash_start_idx 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_ON_HOST_DESTROY

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

ELEMENT_INCOMPATIBLE

Return value to cancel attaching

\ No newline at end of file diff --git a/code/__DEFINES/dcs/dcs_helpers.html b/code/__DEFINES/dcs/dcs_helpers.html new file mode 100644 index 00000000000..b017abc5784 --- /dev/null +++ b/code/__DEFINES/dcs/dcs_helpers.html @@ -0,0 +1,9 @@ +code/__DEFINES/dcs/dcs_helpers.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/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.
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.

\ No newline at end of file diff --git a/code/__DEFINES/dcs/dept_signals.html b/code/__DEFINES/dcs/dept_signals.html new file mode 100644 index 00000000000..4d10ac62203 --- /dev/null +++ b/code/__DEFINES/dcs/dept_signals.html @@ -0,0 +1,5 @@ +code/__DEFINES/dcs/dept_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/dept_signals.dm

COMSIG_CARGO_BEGIN_SCANSignals for department mechanics. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument
COMSIG_XENO_SLIME_CLICK_CTRLfrom slime CtrlClickOn(): (/mob)
COMSIG_XENO_SLIME_CLICK_ALTfrom slime AltClickOn(): (/mob)
COMSIG_XENO_SLIME_CLICK_SHIFTfrom slime ShiftClickOn(): (/mob)
COMSIG_XENO_TURF_CLICK_SHIFTfrom turf ShiftClickOn(): (/mob)
COMSIG_XENO_TURF_CLICK_CTRLfrom turf AltClickOn(): (/mob)
COMSIG_XENO_MONKEY_CLICK_CTRLfrom monkey CtrlClickOn(): (/mob)

Define Details

COMSIG_CARGO_BEGIN_SCAN

Signals for department mechanics. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument

COMSIG_XENO_MONKEY_CLICK_CTRL

from monkey CtrlClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_ALT

from slime AltClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_CTRL

from slime CtrlClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_SHIFT

from slime ShiftClickOn(): (/mob)

COMSIG_XENO_TURF_CLICK_CTRL

from turf AltClickOn(): (/mob)

COMSIG_XENO_TURF_CLICK_SHIFT

from turf ShiftClickOn(): (/mob)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/disease_signals.html b/code/__DEFINES/dcs/disease_signals.html new file mode 100644 index 00000000000..983aff7b533 --- /dev/null +++ b/code/__DEFINES/dcs/disease_signals.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/disease_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/disease_signals.dm

COMSIG_ATOM_DISINFECTEDSent when the conditions to disinfect an atom are met
COMSIG_MOB_REAGENT_EXCHANGESent when something is eaten or drunk by a mob

Define Details

COMSIG_ATOM_DISINFECTED

Sent when the conditions to disinfect an atom are met

COMSIG_MOB_REAGENT_EXCHANGE

Sent when something is eaten or drunk by a mob

\ No newline at end of file diff --git a/code/__DEFINES/dcs/global_signals.html b/code/__DEFINES/dcs/global_signals.html new file mode 100644 index 00000000000..e01f4e7a01b --- /dev/null +++ b/code/__DEFINES/dcs/global_signals.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/global_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/global_signals.dm

COMSIG_GLOB_NEW_ZSignals for globally accessible objects/procs. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (name, linkage, list/traits, transition_tag, level_type, zlevel)
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_JOB_AFTER_SPAWNjob subsystem has spawned and equipped a new mob
COMSIG_SECURITY_LEVEL_CHANGE_PLANNEDfrom SSsecurity_level on planning security level change : (previous_level_number, new_level_number)
COMSIG_SECURITY_LEVEL_CHANGEDfrom SSsecurity_level when the security level changes : (previous_level_number, new_level_number)
COMSIG_GLOB_CABLE_UPDATEDcable was placed or joined somewhere : (turf)
COMSIG_TICKER_ROUND_STARTINGCalled when the round has started, but before GAME_STATE_PLAYING.
COMSIG_ADMIN_DECONTAMINATEUsed by admin-tooling to remove radiation
COMSIG_GLOB_SHELTER_PLACEDUsed when a shelter capsule deploys
COMSIG_GLOB_EXPANDED_WORLD_BOUNDSsent after world.maxx and/or world.maxy are expanded: (has_expanded_world_maxx, has_expanded_world_maxy)

Define Details

COMSIG_ADMIN_DECONTAMINATE

Used by admin-tooling to remove radiation

COMSIG_GLOB_CABLE_UPDATED

cable was placed or joined somewhere : (turf)

COMSIG_GLOB_EXPANDED_WORLD_BOUNDS

sent after world.maxx and/or world.maxy are expanded: (has_expanded_world_maxx, has_expanded_world_maxy)

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_SPAWN

job subsystem has spawned and equipped a new mob

COMSIG_GLOB_NEW_Z

Signals for globally accessible objects/procs. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (name, linkage, list/traits, transition_tag, level_type, zlevel)

COMSIG_GLOB_SHELTER_PLACED

Used when a shelter capsule deploys

COMSIG_GLOB_VAR_EDIT

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

COMSIG_SECURITY_LEVEL_CHANGED

from SSsecurity_level when the security level changes : (previous_level_number, new_level_number)

COMSIG_SECURITY_LEVEL_CHANGE_PLANNED

from SSsecurity_level on planning security level change : (previous_level_number, new_level_number)

COMSIG_TICKER_ROUND_STARTING

Called when the round has started, but before GAME_STATE_PLAYING.

\ No newline at end of file diff --git a/code/__DEFINES/dcs/heretic_signals.html b/code/__DEFINES/dcs/heretic_signals.html new file mode 100644 index 00000000000..d1e6b30ae8d --- /dev/null +++ b/code/__DEFINES/dcs/heretic_signals.html @@ -0,0 +1,3 @@ +code/__DEFINES/dcs/heretic_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/heretic_signals.dm

COMSIG_HERETIC_MANSUS_GRASP_ATTACKHeretic signals +From /datum/spell/touch/mansus_grasp/cast_on_hand_hit : (mob/living/source, mob/living/target)
COMPONENT_BLOCK_HAND_USEDefault behavior is to use the hand, so return this to blocks the mansus fist from being consumed after use.
COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARYFrom /datum/spell/touch/mansus_grasp/cast_on_secondary_hand_hit : (mob/living/source, atom/target)
COMPONENT_USE_HANDDefault behavior is to continue attack chain and do nothing else, so return this to use up the hand after use.
COMSIG_HERETIC_BLADE_ATTACKFrom /obj/item/melee/sickly_blade/afterattack : (mob/living/source, mob/living/target)
COMSIG_HERETIC_BLADE_TRIGGER_MARKFrom /obj/item/melee/sickly_blade/afterattack : (mob/living/source, mob/living/target)
COMSIG_HERETIC_RANGED_BLADE_ATTACKFrom /obj/item/melee/sickly_blade/ranged_interact_with_atom (without proximity) : (mob/living/source, mob/living/target)

Define Details

COMPONENT_BLOCK_HAND_USE

Default behavior is to use the hand, so return this to blocks the mansus fist from being consumed after use.

COMPONENT_USE_HAND

Default behavior is to continue attack chain and do nothing else, so return this to use up the hand after use.

COMSIG_HERETIC_BLADE_ATTACK

From /obj/item/melee/sickly_blade/afterattack : (mob/living/source, mob/living/target)

COMSIG_HERETIC_BLADE_TRIGGER_MARK

From /obj/item/melee/sickly_blade/afterattack : (mob/living/source, mob/living/target)

COMSIG_HERETIC_MANSUS_GRASP_ATTACK

Heretic signals +From /datum/spell/touch/mansus_grasp/cast_on_hand_hit : (mob/living/source, mob/living/target)

COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARY

From /datum/spell/touch/mansus_grasp/cast_on_secondary_hand_hit : (mob/living/source, atom/target)

COMSIG_HERETIC_RANGED_BLADE_ATTACK

From /obj/item/melee/sickly_blade/ranged_interact_with_atom (without proximity) : (mob/living/source, mob/living/target)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/item_signals.html b/code/__DEFINES/dcs/item_signals.html new file mode 100644 index 00000000000..3ffde5b8c77 --- /dev/null +++ b/code/__DEFINES/dcs/item_signals.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/item_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/item_signals.dm

COMSIG_ITEM_PRE_UNEQUIPSignals for /obj/item and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +called on /obj/item before unequip from base of [/mob/proc/unEquip]: (force, atom/newloc, no_move, invdrop, silent)
COMPONENT_ITEM_BLOCK_UNEQUIPonly the pre unequip can be cancelled
COMSIG_ITEM_EQUIPPEDfrom base of obj/item/equipped(): (/mob/equipper, slot)
COMSIG_ITEM_DROPPEDfrom base of obj/item/dropped(): (mob/user)
COMSIG_ITEM_PICKUPfrom base of obj/item/pickup(): (/mob/taker)
COMSIG_ITEM_HIT_REACTfrom base of obj/item/hit_reaction(): (list/args)
COMSIG_ITEM_SHARPEN_ACTfrom base of item/sharpener/attackby(): (amount, max)
COMSIG_ASSEMBLY_PULSEDCalled by /obj/item/assembly/proc/pulse
COMSIG_SHOES_STEP_ACTIONfrom [/mob/living/carbon/human/proc/Move]: ()
COMSIG_IMPLANT_ACTIVATEDfrom base of /obj/item/bio_chip/proc/activate(): ()
COMSIG_IMPLANT_IMPLANTINGfrom base of /obj/item/bio_chip/proc/implant(): (list/args)
COMSIG_IMPLANT_OTHERcalled on already installed implants when a new one is being added in /obj/item/bio_chip/proc/implant(): (list/args, obj/item/bio_chip/new_implant)
COMSIG_IMPLANT_EXISTING_UPLINKcalled on implants being implanted into someone with an uplink implant: (datum/component/uplink)
COMSIG_IMPLANT_IMPLANTEDcalled on implants, after a successful implantation: (mob/living/target, mob/user, silent, force)
COMSIG_IMPLANT_REMOVEDcalled on implants, after an implant has been removed: (mob/living/source, silent, special)
COMSIG_GUN_TRY_FIREcalled in /obj/item/gun/fire_gun (user, target, flag, params)
COMSIG_MOB_TRY_FIREcalled in /obj/item/gun/afterattack (user, target, flag, params)
COMSIG_GUN_FIREDcalled in /obj/item/gun/process_fire (user, target)
COMSIG_AUTOFIRE_ONMOUSEDOWNcalled in /datum/component/automatic_fire/proc/on_mouse_down: (client/clicker, atom/target, turf/location, control, params)
COMSIG_AUTOFIRE_SHOTcalled in /datum/component/automatic_fire/proc/process_shot(): (atom/target, mob/living/shooter, allow_akimbo, params)
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.
COMSIG_SPEED_POTION_APPLIEDfrom base of /obj/item/slimepotion/speed/afterattack__legacy__attackchain(): (obj/target, /obj/src, mob/user)
COMSIG_ORGAN_IMPLANTEDCalled on the organ when it is implanted into someone (mob/living/carbon/receiver)
COMSIG_ORGAN_REMOVEDCalled on the organ when it is removed from someone (mob/living/carbon/old_owner)
COMSIG_CYBORG_ITEM_ACTIVATEDfrom /mob/living/silicon/robot/proc/activate_item() (mob/user), A general signal for if a specific borg item needs something done when being activated.
COMSIG_CYBORG_ITEM_DEACTIVATEDfrom /mob/living/silicon/robot/proc/deactivate_item() (mob/user), A general signal for if a specific borg item needs something done when being deactivated.

Define Details

COMPONENT_ITEM_BLOCK_UNEQUIP

only the pre unequip can be cancelled

COMSIG_ASSEMBLY_PULSED

Called by /obj/item/assembly/proc/pulse

COMSIG_AUTOFIRE_ONMOUSEDOWN

called in /datum/component/automatic_fire/proc/on_mouse_down: (client/clicker, atom/target, turf/location, control, params)

COMSIG_AUTOFIRE_SHOT

called in /datum/component/automatic_fire/proc/process_shot(): (atom/target, mob/living/shooter, allow_akimbo, params)

COMSIG_CYBORG_ITEM_ACTIVATED

from /mob/living/silicon/robot/proc/activate_item() (mob/user), A general signal for if a specific borg item needs something done when being activated.

COMSIG_CYBORG_ITEM_DEACTIVATED

from /mob/living/silicon/robot/proc/deactivate_item() (mob/user), A general signal for if a specific borg item needs something done when being deactivated.

COMSIG_GUN_FIRED

called in /obj/item/gun/process_fire (user, target)

COMSIG_GUN_TRY_FIRE

called in /obj/item/gun/fire_gun (user, target, flag, params)

COMSIG_IMPLANT_ACTIVATED

from base of /obj/item/bio_chip/proc/activate(): ()

called on implants being implanted into someone with an uplink implant: (datum/component/uplink)

COMSIG_IMPLANT_IMPLANTED

called on implants, after a successful implantation: (mob/living/target, mob/user, silent, force)

COMSIG_IMPLANT_IMPLANTING

from base of /obj/item/bio_chip/proc/implant(): (list/args)

COMSIG_IMPLANT_OTHER

called on already installed implants when a new one is being added in /obj/item/bio_chip/proc/implant(): (list/args, obj/item/bio_chip/new_implant)

COMSIG_IMPLANT_REMOVED

called on implants, after an implant has been removed: (mob/living/source, silent, special)

COMSIG_ITEM_DROPPED

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

COMSIG_ITEM_EQUIPPED

from base of obj/item/equipped(): (/mob/equipper, slot)

COMSIG_ITEM_HIT_REACT

from base of obj/item/hit_reaction(): (list/args)

COMSIG_ITEM_PICKUP

from base of obj/item/pickup(): (/mob/taker)

COMSIG_ITEM_PRE_UNEQUIP

Signals for /obj/item and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +called on /obj/item before unequip from base of [/mob/proc/unEquip]: (force, atom/newloc, no_move, invdrop, silent)

COMSIG_ITEM_SHARPEN_ACT

from base of item/sharpener/attackby(): (amount, max)

COMSIG_MOB_TRY_FIRE

called in /obj/item/gun/afterattack (user, target, flag, params)

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.

COMSIG_ORGAN_IMPLANTED

Called on the organ when it is implanted into someone (mob/living/carbon/receiver)

COMSIG_ORGAN_REMOVED

Called on the organ when it is removed from someone (mob/living/carbon/old_owner)

COMSIG_SHOES_STEP_ACTION

from [/mob/living/carbon/human/proc/Move]: ()

COMSIG_SPEED_POTION_APPLIED

from base of /obj/item/slimepotion/speed/afterattack__legacy__attackchain(): (obj/target, /obj/src, mob/user)

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/leash_signals.html b/code/__DEFINES/dcs/leash_signals.html new file mode 100644 index 00000000000..f167030bcc5 --- /dev/null +++ b/code/__DEFINES/dcs/leash_signals.html @@ -0,0 +1,5 @@ +code/__DEFINES/dcs/leash_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/leash_signals.dm

COMSIG_LEASH_FORCE_TELEPORTCalled when a /datum/component/leash must forcibly teleport the parent to the owner. +Fired on the object with the leash component.
COMSIG_LEASH_PATH_STARTEDCalled when a /datum/component/leash plans on pathfinding to the target, if out of range. +Fired on the object with the leash component.

Define Details

COMSIG_LEASH_FORCE_TELEPORT

Called when a /datum/component/leash must forcibly teleport the parent to the owner. +Fired on the object with the leash component.

COMSIG_LEASH_PATH_STARTED

Called when a /datum/component/leash plans on pathfinding to the target, if out of range. +Fired on the object with the leash component.

\ No newline at end of file diff --git a/code/__DEFINES/dcs/machinery_signals.html b/code/__DEFINES/dcs/machinery_signals.html new file mode 100644 index 00000000000..390cf9d874b --- /dev/null +++ b/code/__DEFINES/dcs/machinery_signals.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/machinery_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/machinery_signals.dm

COMSIG_CAMERA_ONSignals for /obj/machinery and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +called on cameras after activation: (mob/user, display_message)
COMSIG_CAMERA_OFFcalled on cameras after deactivation: (mob/user, display_message, emped)
COMSIG_CAMERA_MOVEDcalled on cameras when moved, such as ones inside helmets: (turf/prev_turf)
COMSIG_DOOR_OPENcalled on doors when opened: ()
COMSIG_DOOR_CLOSEcalled on doors when closed: ()
COMSIG_AIRLOCK_OPENcalled on airlocks when opened: ()
COMSIG_AIRLOCK_CLOSEcalled on airlocks when closed: ()

Define Details

COMSIG_AIRLOCK_CLOSE

called on airlocks when closed: ()

COMSIG_AIRLOCK_OPEN

called on airlocks when opened: ()

COMSIG_CAMERA_MOVED

called on cameras when moved, such as ones inside helmets: (turf/prev_turf)

COMSIG_CAMERA_OFF

called on cameras after deactivation: (mob/user, display_message, emped)

COMSIG_CAMERA_ON

Signals for /obj/machinery and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +called on cameras after activation: (mob/user, display_message)

COMSIG_DOOR_CLOSE

called on doors when closed: ()

COMSIG_DOOR_OPEN

called on doors when opened: ()

\ No newline at end of file diff --git a/code/__DEFINES/dcs/mob_signals.html b/code/__DEFINES/dcs/mob_signals.html new file mode 100644 index 00000000000..a1720be7505 --- /dev/null +++ b/code/__DEFINES/dcs/mob_signals.html @@ -0,0 +1,17 @@ +code/__DEFINES/dcs/mob_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/mob_signals.dm

COMSIG_MOB_LOGINSignals for /mob, /mob/living, and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of /mob/Login(): ()
COMSIG_HUMAN_LOGINcalled in human/login
COMSIG_MOB_LOGOUTfrom base of /mob/Logout(): ()
COMSIG_MOB_DEATHfrom base of mob/death(): (gibbed)
COMSIG_MOB_STATCHANGEfrom base of mob/set_stat(): (new_stat)
COMSIG_MOB_CLICKONfrom base of mob/clickon(): (atom/A, params)
COMSIG_MOB_MIDDLECLICKONfrom base of mob/MiddleClickOn(): (atom/A)
COMSIG_MOB_ALTCLICKONfrom base of mob/AltClickOn(): (atom/A)
COMSIG_MOB_RESTRICT_MAGICfrom base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost)
COMSIG_MOB_RECEIVE_MAGICfrom base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost)
COMSIG_MOB_ALLOWEDfrom base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj
COMSIG_MOB_HUD_CREATEDfrom base of mob/create_mob_hud(): ()
COMSIG_MOB_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user)
COMSIG_MOB_ITEM_ATTACKfrom base of /obj/item/attack(): (mob/M, mob/user)
COMSIG_MOB_APPLY_DAMAGEfrom base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone)
COMSIG_MOB_ITEM_AFTERATTACKfrom base of obj/item/afterattack__legacy__attackchain(): (atom/target, mob/user, proximity_flag, click_parameters)
COMSIG_MOB_ATTACK_RANGEDfrom base of mob/RangedAttack(): (atom/A, params)
COMSIG_MOB_THROWfrom base of /mob/throw_item(): (atom/target)
COMSIG_MOB_WILLINGLY_DROPcalled when a user willingly drops something (i.e. keybind, or UI action)
COMSIG_MOB_WEAPON_APPEARScalled when a user is getting new weapon and we want to remove previous weapon to clear hands
COMSIG_MOB_EXAMINATEfrom base of /mob/verb/examinate(): (atom/target)
COMSIG_MOB_UPDATE_SIGHTfrom base of /mob/update_sight(): ()
COMSIG_MOB_SAYfrom /mob/living/say(): ()
COMSIG_MOB_DEADSAYfrom /mob/say_dead(): (mob/speaker, message)
COMSIG_MOB_PREEMOTESignal fired when an emote is used but before it's executed. +from /datum/emote/proc/try_run_emote(): (key, intentional)
COMPONENT_BLOCK_EMOTE_UNUSABLEReturn this to block an emote and let the user know the emote is unusable.
COMPONENT_BLOCK_EMOTE_SILENTReturn this to block an emote silently.
COMSIG_MOB_EMOTEGeneral signal fired when a mob does any old emote +from /datum/emote/proc/run_emote(): (key, intentional)
COMSIG_MOB_EMOTEDSpecific signal used to track when a specific emote is used. +From /datum/emote/run_emote(): (P, key, m_type, message, intentional)
COMSIG_MOB_EMOTE_ATFrom /datum/emote/select_param(): (target, key, intentional)
COMSIG_MOB_SWAPPING_HANDSfrom base of mob/swap_hand(): (obj/item)
COMPONENT_BLOCK_SWAPPrevent the mob from changing hands
COMSIG_MOB_SWAPPED_HANDSPerformed after the hands are swapped.
COMSIG_MOVE_INTENT_TOGGLEDCalled when movement intent is toggled.
COMSIG_MOB_TRIED_ACCESSfrom base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj
COMSIG_MOB_EQUIPPED_ITEMA mob has just equipped an item. Called on /mob from base of /obj/item/equipped(): (/obj/item/equipped_item, slot)
COMSIG_MOB_UNEQUIPPED_ITEMA mob has just unequipped an item.
COMSIG_LIVING_RESISTfrom base of mob/living/resist() (/mob/living)
COMSIG_LIVING_IGNITEDfrom base of mob/living/IgniteMob() (/mob/living)
COMSIG_LIVING_EXTINGUISHEDfrom base of mob/living/ExtinguishMob() (/mob/living)
COMSIG_LIVING_ELECTROCUTE_ACTfrom base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)
COMSIG_LIVING_SHOCK_PREVENTEDsent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)
COMSIG_LIVING_MINOR_SHOCKsent by stuff like stunbatons and tasers: ()
COMSIG_LIVING_PRE_DEFIBSent from defibrillators when everything seems good and the user will be shocked: (defibber, defib_item, ghost)
COMPONENT_BLOCK_DEFIBIf returned from LIVING_BEFORE_DEFIB or LIVING_DEFIBBED, the defibrillation will fail
COMPONENT_DEFIB_OVERRIDEIf returned, don't even show the "failed" message, defer to the signal handler to do that.
COMPONENT_DEFIB_FAKEDEATH_ACCEPTEDIf returned, allow to revive through false death.
COMPONENT_DEFIB_FAKEDEATH_DENIEDIf returned, make the fake death look like a unresponsive ghost.
COMSIG_LIVING_DEFIBBEDsend from defibs on ressurection: (defibber, defib_item, ghost)
COMSIG_LIVING_REVIVEfrom base of mob/living/revive() (full_heal, admin_revive)
COMSIG_LIVING_REGENERATE_LIMBSfrom base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)
COMSIG_LIVING_ATTACH_LIMBfrom base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment
COMSIG_LIVING_HEALTH_UPDATEfrom base of mob/living/health_update()
COMSIG_SUMMONER_EXTRACTEDSent during exfiltration to handle guardians
COMSIG_PROCESS_BORGCHARGER_OCCUPANTsent from borg recharge stations: (amount, repairs)
COMSIG_ENTERED_BORGCHARGERsent when a mob enters a borg charger
COMSIG_EXITED_BORGCHARGERsent when a mob exits a borg charger
COMSIG_MOB_CLIENT_LOGINsent when a mob/login() finishes: (client)
COMSIG_BORG_SAFE_DECONSTRUCTsent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)
COMSIG_LIVING_FIRE_TICKsent from living mobs every tick of fire
COMSIG_CARBON_APPLY_OVERLAYCalled from apply_overlay(cache_index, overlay)
COMSIG_CARBON_REMOVE_OVERLAYCalled from remove_overlay(cache_index, overlay)
COMSIG_LIVING_STATUS_STUNfrom base of mob/living/Stun() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_WEAKENfrom base of mob/living/Stun() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_PARALYSEfrom base of mob/living/Knockdown() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown" // one day +from base of mob/living/Paralyse() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_IMMOBILIZEfrom base of mob/living/Immobilize() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_UNCONSCIOUSfrom base of mob/living/Unconscious() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_SLEEPfrom base of mob/living/Sleeping() (amount, ignore_canstun)
COMSIG_LIVING_CAN_TRACKfrom base of /mob/living/can_track(): (mob/user)
COMSIG_LIVING_UNARMED_ATTACKfrom mob/living/*/UnarmedAttack(): (mob/living/source, atom/target, proximity, modifiers)
COMSIG_LIVING_WRITE_MEMORYfrom base of mob/living/Write_Memory()
COMSIG_LIVING_TRY_SYRINGE_INJECTSent to a mob being injected with a syringe when the do_after initiates
COMSIG_LIVING_TRY_SYRINGE_WITHDRAWSent to a mob being withdrawn from with a syringe when the do_after initiates
COMSIG_SIMPLEANIMAL_HANDLE_ENVIRONMENTfrom /mob/living/simple_animal/handle_environment()
COMSIG_DO_MOB_STRIPfrom of mob/MouseDrop(): (/atom/over, /mob/user)
COMSIG_MOB_PRE_EATFrom /datum/element/basic_eating/try_eating()
COMSIG_MOB_CANCEL_EATcancel eating attempt
COMSIG_MOB_SLEEP_TICKFrom /datum/status_effect/incapacitating/sleeping/tick()
COMSIG_MOB_ATEFrom /datum/element/basic_eating/finish_eating()
COMSIG_MOB_TERMINATE_EATcancel post eating
COMSIG_DO_AFTER_BEGANSent from /proc/do_after if someone starts a do_after action bar.
COMSIG_DO_AFTER_ENDEDSent from /proc/do_after once a do_after action completes, whether via the bar filling or via interruption.
COMSIG_GHOST_START_OBSERVINGfrom observer_base/do_observe(): (mob/now_followed)
COMSIG_GHOST_STOP_OBSERVINGfrom observer_base/do_observe(): (mob/no_longer_following)
COMSIG_LIVING_CLEAR_STUNScalled when a living mob's stun status is cleared: ()
COMSIG_FLAYER_RETRACT_IMPLANTScalled when something needs to force a mindflayer to retract their weapon implants
COMSIG_MOB_PRE_JAUNTSent from datum/spell/ethereal_jaunt/cast, before the mob enters jaunting as a pre-check: (mob/jaunter)
COMSIG_LIVING_TRY_VENTCRAWLfrom handle_ventcrawl(): (mob/living/crawler)
COMSIG_LIVING_ENTER_VENTCRAWLfrom add_ventcrawler(): (mob/living/crawler)
COMSIG_LIVING_EXIT_VENTCRAWLfrom remove_ventcrawler(): (mob/living/crawler)
COMSIG_LIVING_LIFEFrom living/Life(). (seconds, times_fired)
COMPONENT_LIVING_CANCEL_LIFE_PROCESSINGBlock the Life() proc from proceeding... this should really only be done in some really wacky situations.
COMSIG_MOB_BEFORE_SPELL_CASTSent from /datum/action/cooldown/spell/before_cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)
COMSIG_SPELL_BEFORE_CASTSent from /datum/action/cooldown/spell/before_cast() to the spell: (atom/cast_on)
SPELL_CANCEL_CASTReturn to prevent the spell cast from continuing.
SPELL_NO_FEEDBACKReturn from before cast signals to prevent the spell from giving off sound or invocation.
SPELL_NO_IMMEDIATE_COOLDOWNReturn from before cast signals to prevent the spell from going on cooldown before aftercast.
COMPONENT_CAST_HANDLESSReturn this to prevent the hand spawning/unspawning
COMSIG_LIVING_CULT_SACRIFICEDFrom /obj/effect/rune/convert/do_sacrifice() : (list/invokers)
STOP_SACRIFICEReturn to stop the sac from occurring
SILENCE_SACRIFICE_MESSAGEDon't send a message for sacrificing this thing, we have our own
SILENCE_NONTARGET_SACRIFICE_MESSAGEDon't send a message for sacrificing this thing UNLESS it's the cult target
DUST_SACRIFICEDusts the target instead of gibbing them (no soulstone)
COMSIG_MOB_CLIENT_PRE_MOVEFrom base of /client/Move(): (new_loc, direction)
COMSIG_MOB_CLIENT_BLOCK_PRE_MOVEShould always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.
MOVE_ARG_NEW_LOCThe argument of move_args which corresponds to the loc we're moving to
MOVE_ARG_DIRECTIONThe arugment of move_args which dictates our movement direction
COMSIG_LIVING_BEFRIENDEDFrom /mob/living/befriend() : (mob/living/new_friend)
COMSIG_LIVING_UNFRIENDEDFrom /mob/living/unfriend() : (mob/living/old_friend)
COMSIG_MOB_CREATED_CALLOUTFrom the base of /datum/component/callouts/proc/callout_picker(mob/user, atom/clicked_atom): (datum/callout_option/callout, atom/target)
COMSIG_BASICMOB_PRE_ATTACK_RANGEDfrom the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)
COMPONENT_CANCEL_RANGED_ATTACKCancel to prevent the attack from happening
COMSIG_BASICMOB_POST_ATTACK_RANGEDfrom the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)
COMSIG_BASICMOB_POST_ATTACK_RANGED_BURSTfrom the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)
COMSIG_MOB_ABILITY_STARTEDFrom base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated)
COMPONENT_BLOCK_ABILITY_STARTReturn to block the ability from starting / activating
COMSIG_MOB_ABILITY_FINISHEDFrom base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished)
COMSIG_ACTION_SET_STATPANELFrom base of /datum/action/cooldown/proc/set_statpanel_format(): (list/stat_panel_data)
COMSIG_GOLIATH_TENTACLED_GRABBEDFired by a mob which has been grabbed by a goliath
COMSIG_GOLIATH_TENTACLE_RETRACTINGFired by a goliath tentacle which is returning to the earth
COMSIG_CARBON_PRE_MISC_HELPCalled from /mob/living/carbon/help_shake_act, before any hugs have occurred. (mob/living/helper)
COMPONENT_BLOCK_MISC_HELPStops the rest of help act (hugging, etc) from occurring
COMSIG_MOB_CLIENT_MOVEDFrom base of /client/Move(): (direction, old_dir)
COMSIG_CARBON_CUFF_ATTEMPTEDCalled when someone attempts to cuff a carbon

Define Details

COMPONENT_BLOCK_ABILITY_START

Return to block the ability from starting / activating

COMPONENT_BLOCK_DEFIB

If returned from LIVING_BEFORE_DEFIB or LIVING_DEFIBBED, the defibrillation will fail

COMPONENT_BLOCK_EMOTE_SILENT

Return this to block an emote silently.

COMPONENT_BLOCK_EMOTE_UNUSABLE

Return this to block an emote and let the user know the emote is unusable.

COMPONENT_BLOCK_MISC_HELP

Stops the rest of help act (hugging, etc) from occurring

COMPONENT_BLOCK_SWAP

Prevent the mob from changing hands

COMPONENT_CANCEL_RANGED_ATTACK

Cancel to prevent the attack from happening

COMPONENT_CAST_HANDLESS

Return this to prevent the hand spawning/unspawning

COMPONENT_DEFIB_FAKEDEATH_ACCEPTED

If returned, allow to revive through false death.

COMPONENT_DEFIB_FAKEDEATH_DENIED

If returned, make the fake death look like a unresponsive ghost.

COMPONENT_DEFIB_OVERRIDE

If returned, don't even show the "failed" message, defer to the signal handler to do that.

COMPONENT_LIVING_CANCEL_LIFE_PROCESSING

Block the Life() proc from proceeding... this should really only be done in some really wacky situations.

COMSIG_ACTION_SET_STATPANEL

From base of /datum/action/cooldown/proc/set_statpanel_format(): (list/stat_panel_data)

COMSIG_BASICMOB_POST_ATTACK_RANGED

from the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)

COMSIG_BASICMOB_POST_ATTACK_RANGED_BURST

from the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)

COMSIG_BASICMOB_PRE_ATTACK_RANGED

from the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)

COMSIG_BORG_SAFE_DECONSTRUCT

sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)

COMSIG_CARBON_APPLY_OVERLAY

Called from apply_overlay(cache_index, overlay)

COMSIG_CARBON_CUFF_ATTEMPTED

Called when someone attempts to cuff a carbon

COMSIG_CARBON_PRE_MISC_HELP

Called from /mob/living/carbon/help_shake_act, before any hugs have occurred. (mob/living/helper)

COMSIG_CARBON_REMOVE_OVERLAY

Called from remove_overlay(cache_index, overlay)

COMSIG_DO_AFTER_BEGAN

Sent from /proc/do_after if someone starts a do_after action bar.

COMSIG_DO_AFTER_ENDED

Sent from /proc/do_after once a do_after action completes, whether via the bar filling or via interruption.

COMSIG_DO_MOB_STRIP

from of mob/MouseDrop(): (/atom/over, /mob/user)

COMSIG_ENTERED_BORGCHARGER

sent when a mob enters a borg charger

COMSIG_EXITED_BORGCHARGER

sent when a mob exits a borg charger

COMSIG_FLAYER_RETRACT_IMPLANTS

called when something needs to force a mindflayer to retract their weapon implants

COMSIG_GHOST_START_OBSERVING

from observer_base/do_observe(): (mob/now_followed)

COMSIG_GHOST_STOP_OBSERVING

from observer_base/do_observe(): (mob/no_longer_following)

COMSIG_GOLIATH_TENTACLED_GRABBED

Fired by a mob which has been grabbed by a goliath

COMSIG_GOLIATH_TENTACLE_RETRACTING

Fired by a goliath tentacle which is returning to the earth

COMSIG_HUMAN_LOGIN

called in human/login

COMSIG_LIVING_ATTACH_LIMB

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

COMSIG_LIVING_BEFRIENDED

From /mob/living/befriend() : (mob/living/new_friend)

COMSIG_LIVING_CAN_TRACK

from base of /mob/living/can_track(): (mob/user)

COMSIG_LIVING_CLEAR_STUNS

called when a living mob's stun status is cleared: ()

COMSIG_LIVING_CULT_SACRIFICED

From /obj/effect/rune/convert/do_sacrifice() : (list/invokers)

COMSIG_LIVING_DEFIBBED

send from defibs on ressurection: (defibber, defib_item, ghost)

COMSIG_LIVING_ELECTROCUTE_ACT

from base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)

COMSIG_LIVING_ENTER_VENTCRAWL

from add_ventcrawler(): (mob/living/crawler)

COMSIG_LIVING_EXIT_VENTCRAWL

from remove_ventcrawler(): (mob/living/crawler)

COMSIG_LIVING_EXTINGUISHED

from base of mob/living/ExtinguishMob() (/mob/living)

COMSIG_LIVING_FIRE_TICK

sent from living mobs every tick of fire

COMSIG_LIVING_HEALTH_UPDATE

from base of mob/living/health_update()

COMSIG_LIVING_IGNITED

from base of mob/living/IgniteMob() (/mob/living)

COMSIG_LIVING_LIFE

From living/Life(). (seconds, times_fired)

COMSIG_LIVING_MINOR_SHOCK

sent by stuff like stunbatons and tasers: ()

COMSIG_LIVING_PRE_DEFIB

Sent from defibrillators when everything seems good and the user will be shocked: (defibber, defib_item, ghost)

COMSIG_LIVING_REGENERATE_LIMBS

from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)

COMSIG_LIVING_RESIST

from base of mob/living/resist() (/mob/living)

COMSIG_LIVING_REVIVE

from base of mob/living/revive() (full_heal, admin_revive)

COMSIG_LIVING_SHOCK_PREVENTED

sent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)

COMSIG_LIVING_STATUS_IMMOBILIZE

from base of mob/living/Immobilize() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_PARALYSE

from base of mob/living/Knockdown() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown" // one day +from base of mob/living/Paralyse() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_SLEEP

from base of mob/living/Sleeping() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_STUN

from base of mob/living/Stun() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_UNCONSCIOUS

from base of mob/living/Unconscious() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_WEAKEN

from base of mob/living/Stun() (amount, ignore_canstun)

COMSIG_LIVING_TRY_SYRINGE_INJECT

Sent to a mob being injected with a syringe when the do_after initiates

COMSIG_LIVING_TRY_SYRINGE_WITHDRAW

Sent to a mob being withdrawn from with a syringe when the do_after initiates

COMSIG_LIVING_TRY_VENTCRAWL

from handle_ventcrawl(): (mob/living/crawler)

COMSIG_LIVING_UNARMED_ATTACK

from mob/living/*/UnarmedAttack(): (mob/living/source, atom/target, proximity, modifiers)

COMSIG_LIVING_UNFRIENDED

From /mob/living/unfriend() : (mob/living/old_friend)

COMSIG_LIVING_WRITE_MEMORY

from base of mob/living/Write_Memory()

COMSIG_MOB_ABILITY_FINISHED

From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished)

COMSIG_MOB_ABILITY_STARTED

From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated)

COMSIG_MOB_ALLOWED

from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj

COMSIG_MOB_ALTCLICKON

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

COMSIG_MOB_APPLY_DAMAGE

from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone)

COMSIG_MOB_ATE

From /datum/element/basic_eating/finish_eating()

COMSIG_MOB_ATTACK_HAND

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

COMSIG_MOB_ATTACK_RANGED

from base of mob/RangedAttack(): (atom/A, params)

COMSIG_MOB_BEFORE_SPELL_CAST

Sent from /datum/action/cooldown/spell/before_cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)

COMSIG_MOB_CANCEL_EAT

cancel eating attempt

COMSIG_MOB_CLICKON

from base of mob/clickon(): (atom/A, params)

COMSIG_MOB_CLIENT_BLOCK_PRE_MOVE

Should always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.

COMSIG_MOB_CLIENT_LOGIN

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

COMSIG_MOB_CLIENT_MOVED

From base of /client/Move(): (direction, old_dir)

COMSIG_MOB_CLIENT_PRE_MOVE

From base of /client/Move(): (new_loc, direction)

COMSIG_MOB_CREATED_CALLOUT

From the base of /datum/component/callouts/proc/callout_picker(mob/user, atom/clicked_atom): (datum/callout_option/callout, atom/target)

COMSIG_MOB_DEADSAY

from /mob/say_dead(): (mob/speaker, message)

COMSIG_MOB_DEATH

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

COMSIG_MOB_EMOTE

General signal fired when a mob does any old emote +from /datum/emote/proc/run_emote(): (key, intentional)

COMSIG_MOB_EMOTED

Specific signal used to track when a specific emote is used. +From /datum/emote/run_emote(): (P, key, m_type, message, intentional)

COMSIG_MOB_EMOTE_AT

From /datum/emote/select_param(): (target, key, intentional)

COMSIG_MOB_EQUIPPED_ITEM

A mob has just equipped an item. Called on /mob from base of /obj/item/equipped(): (/obj/item/equipped_item, slot)

COMSIG_MOB_EXAMINATE

from base of /mob/verb/examinate(): (atom/target)

COMSIG_MOB_HUD_CREATED

from base of mob/create_mob_hud(): ()

COMSIG_MOB_ITEM_AFTERATTACK

from base of obj/item/afterattack__legacy__attackchain(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_MOB_ITEM_ATTACK

from base of /obj/item/attack(): (mob/M, mob/user)

COMSIG_MOB_LOGIN

Signals for /mob, /mob/living, and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of /mob/Login(): ()

COMSIG_MOB_LOGOUT

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

COMSIG_MOB_MIDDLECLICKON

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

COMSIG_MOB_PREEMOTE

Signal fired when an emote is used but before it's executed. +from /datum/emote/proc/try_run_emote(): (key, intentional)

COMSIG_MOB_PRE_EAT

From /datum/element/basic_eating/try_eating()

COMSIG_MOB_PRE_JAUNT

Sent from datum/spell/ethereal_jaunt/cast, before the mob enters jaunting as a pre-check: (mob/jaunter)

COMSIG_MOB_RECEIVE_MAGIC

from base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost)

COMSIG_MOB_RESTRICT_MAGIC

from base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost)

COMSIG_MOB_SAY

from /mob/living/say(): ()

COMSIG_MOB_SLEEP_TICK

From /datum/status_effect/incapacitating/sleeping/tick()

COMSIG_MOB_STATCHANGE

from base of mob/set_stat(): (new_stat)

COMSIG_MOB_SWAPPED_HANDS

Performed after the hands are swapped.

COMSIG_MOB_SWAPPING_HANDS

from base of mob/swap_hand(): (obj/item)

COMSIG_MOB_TERMINATE_EAT

cancel post eating

COMSIG_MOB_THROW

from base of /mob/throw_item(): (atom/target)

COMSIG_MOB_TRIED_ACCESS

from base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj

COMSIG_MOB_UNEQUIPPED_ITEM

A mob has just unequipped an item.

COMSIG_MOB_UPDATE_SIGHT

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

COMSIG_MOB_WEAPON_APPEARS

called when a user is getting new weapon and we want to remove previous weapon to clear hands

COMSIG_MOB_WILLINGLY_DROP

called when a user willingly drops something (i.e. keybind, or UI action)

COMSIG_MOVE_INTENT_TOGGLED

Called when movement intent is toggled.

COMSIG_PROCESS_BORGCHARGER_OCCUPANT

sent from borg recharge stations: (amount, repairs)

COMSIG_SIMPLEANIMAL_HANDLE_ENVIRONMENT

from /mob/living/simple_animal/handle_environment()

COMSIG_SPELL_BEFORE_CAST

Sent from /datum/action/cooldown/spell/before_cast() to the spell: (atom/cast_on)

COMSIG_SUMMONER_EXTRACTED

Sent during exfiltration to handle guardians

DUST_SACRIFICE

Dusts the target instead of gibbing them (no soulstone)

MOVE_ARG_DIRECTION

The arugment of move_args which dictates our movement direction

MOVE_ARG_NEW_LOC

The argument of move_args which corresponds to the loc we're moving to

SILENCE_NONTARGET_SACRIFICE_MESSAGE

Don't send a message for sacrificing this thing UNLESS it's the cult target

SILENCE_SACRIFICE_MESSAGE

Don't send a message for sacrificing this thing, we have our own

SPELL_CANCEL_CAST

Return to prevent the spell cast from continuing.

SPELL_NO_FEEDBACK

Return from before cast signals to prevent the spell from giving off sound or invocation.

SPELL_NO_IMMEDIATE_COOLDOWN

Return from before cast signals to prevent the spell from going on cooldown before aftercast.

STOP_SACRIFICE

Return to stop the sac from occurring

\ No newline at end of file diff --git a/code/__DEFINES/dcs/movable_signals.html b/code/__DEFINES/dcs/movable_signals.html new file mode 100644 index 00000000000..03720329694 --- /dev/null +++ b/code/__DEFINES/dcs/movable_signals.html @@ -0,0 +1,7 @@ +code/__DEFINES/dcs/movable_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/movable_signals.dm

COMSIG_MOVABLE_PRE_MOVESignals for /atom/movable and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of atom/movable/Moved(): (/atom)
COMSIG_MOVABLE_MOVEDfrom base of atom/movable/Moved(): (/atom, dir)
COMSIG_MOVABLE_CHECK_CROSSfrom base of atom/movable/Cross(): (/atom/movable)
COMSIG_MOVABLE_CHECK_CROSS_OVERfrom base of atom/movable/Move(): (/atom/movable)
COMSIG_MOVABLE_UNCROSSfrom base of atom/movable/Uncross(): (/atom/movable)
COMSIG_MOVABLE_BUMPfrom base of atom/movable/Bump(): (/atom)
COMSIG_MOVABLE_IMPACTfrom base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)
COMSIG_MOVABLE_IMPACT_ZONEfrom base of mob/living/hitby(): (mob/living/target, hit_zone)
COMSIG_MOVABLE_PREBUCKLEfrom /atom/movable/proc/buckle_mob(): (mob/living/M, force, check_loc, buckle_mob_flags)
COMSIG_MOVABLE_BUCKLEfrom base of atom/movable/buckle_mob(): (mob, force)
COMSIG_MOVABLE_UNBUCKLEfrom base of atom/movable/unbuckle_mob(): (mob, force)
COMSIG_RIDDEN_DRIVER_MOVEfrom /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle
COMSIG_MOVABLE_POST_THROWfrom base of atom/movable/throw_at(): (datum/thrownthing, spin)
COMSIG_MOVABLE_THROW_LANDEDfrom base of datum/thrownthing/finalize(): (obj/thrown_object, datum/thrownthing) used for when a throw is finished
COMSIG_MOVABLE_SHOVE_IMPACTfrom base of atom/movable/shove_impact(): (mob/living/target, mob/living/attacker)
COMSIG_MOVABLE_Z_CHANGEDfrom base of atom/movable/on_changed_z_level(): (turf/old_turf, turf/new_turf)
COMSIG_MOVABLE_TRY_UNTILTCalled just before something gets untilted
COMPONENT_BLOCK_UNTILTReturn this to block an untilt attempt
COMSIG_MOVABLE_UNTILTEDCalled when something gets untilted, from /datum/element/tilted/proc/do_untilt(atom/movable/source, mob/user)
COMSIG_MOVABLE_DISPOSINGcalled when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)
COMSIG_MOVABLE_EXIT_DISPOSALScalled when the movable is removed from a disposal holder object: /obj/structure/disposalpipe/proc/expel(): (obj/structure/disposalholder/H, turf/T, direction)
COMSIG_MOVABLE_SPACEMOVEfrom base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move)
COMSIG_ACTION_SCROLLEDFrom base of /atom/movable/screen/movable/action_button/MouseWheel(src, delta_x, delta_y, location, control, params)
COMSIG_MOVABLE_TELEPORTINGCalled before a movable is being teleported from multiple sources: (destination)
COMSIG_ATOM_INTERCEPT_TELEPORTEDCalled when blocking a teleport
COMSIG_MOVABLE_NEWTONIAN_MOVEfrom base of atom/movable/newtonian_move(): (inertia_direction, start_delay)
COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPTfrom datum/component/drift/apply_initial_visuals(): ()
COMSIG_MOVABLE_DRIFT_BLOCK_INPUTfrom datum/component/drift/allow_final_movement(): ()
COMSIG_MOVABLE_UPDATED_GLIDE_SIZEcalled after the movable's glide size is updated: (old_glide_size)
COMSIG_ATOM_NO_LONGER_PULLINGsignal sent out by an atom when it is no longer pulling something : (atom/pulling)
COMSIG_MOVABLE_POINTEDfrom base of /atom/movable/point_at: (atom/A, obj/effect/temp_visual/point/point)
COMSIG_TETHER_DESTROYEDsignal sent out by /datum/component/tether when durability/line of sight fails : (atom/tethered)
COMSIG_TETHER_STOPa signal sent to /datum/component/tether by the tethered object to stop the tethering : (atom/tethered)

Define Details

COMPONENT_BLOCK_UNTILT

Return this to block an untilt attempt

COMSIG_ACTION_SCROLLED

From base of /atom/movable/screen/movable/action_button/MouseWheel(src, delta_x, delta_y, location, control, params)

COMSIG_ATOM_INTERCEPT_TELEPORTED

Called when blocking a teleport

COMSIG_ATOM_NO_LONGER_PULLING

signal sent out by an atom when it is no longer pulling something : (atom/pulling)

COMSIG_MOVABLE_BUCKLE

from base of atom/movable/buckle_mob(): (mob, force)

COMSIG_MOVABLE_BUMP

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

COMSIG_MOVABLE_CHECK_CROSS

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

COMSIG_MOVABLE_CHECK_CROSS_OVER

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

COMSIG_MOVABLE_DISPOSING

called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)

COMSIG_MOVABLE_DRIFT_BLOCK_INPUT

from datum/component/drift/allow_final_movement(): ()

COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT

from datum/component/drift/apply_initial_visuals(): ()

COMSIG_MOVABLE_EXIT_DISPOSALS

called when the movable is removed from a disposal holder object: /obj/structure/disposalpipe/proc/expel(): (obj/structure/disposalholder/H, turf/T, direction)

COMSIG_MOVABLE_IMPACT

from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)

COMSIG_MOVABLE_IMPACT_ZONE

from base of mob/living/hitby(): (mob/living/target, hit_zone)

COMSIG_MOVABLE_MOVED

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

COMSIG_MOVABLE_NEWTONIAN_MOVE

from base of atom/movable/newtonian_move(): (inertia_direction, start_delay)

COMSIG_MOVABLE_POINTED

from base of /atom/movable/point_at: (atom/A, obj/effect/temp_visual/point/point)

COMSIG_MOVABLE_POST_THROW

from base of atom/movable/throw_at(): (datum/thrownthing, spin)

COMSIG_MOVABLE_PREBUCKLE

from /atom/movable/proc/buckle_mob(): (mob/living/M, force, check_loc, buckle_mob_flags)

COMSIG_MOVABLE_PRE_MOVE

Signals for /atom/movable and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of atom/movable/Moved(): (/atom)

COMSIG_MOVABLE_SHOVE_IMPACT

from base of atom/movable/shove_impact(): (mob/living/target, mob/living/attacker)

COMSIG_MOVABLE_SPACEMOVE

from base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move)

COMSIG_MOVABLE_TELEPORTING

Called before a movable is being teleported from multiple sources: (destination)

COMSIG_MOVABLE_THROW_LANDED

from base of datum/thrownthing/finalize(): (obj/thrown_object, datum/thrownthing) used for when a throw is finished

COMSIG_MOVABLE_TRY_UNTILT

Called just before something gets untilted

COMSIG_MOVABLE_UNBUCKLE

from base of atom/movable/unbuckle_mob(): (mob, force)

COMSIG_MOVABLE_UNCROSS

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

COMSIG_MOVABLE_UNTILTED

Called when something gets untilted, from /datum/element/tilted/proc/do_untilt(atom/movable/source, mob/user)

COMSIG_MOVABLE_UPDATED_GLIDE_SIZE

called after the movable's glide size is updated: (old_glide_size)

COMSIG_MOVABLE_Z_CHANGED

from base of atom/movable/on_changed_z_level(): (turf/old_turf, turf/new_turf)

COMSIG_RIDDEN_DRIVER_MOVE

from /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle

COMSIG_TETHER_DESTROYED

signal sent out by /datum/component/tether when durability/line of sight fails : (atom/tethered)

COMSIG_TETHER_STOP

a signal sent to /datum/component/tether by the tethered object to stop the tethering : (atom/tethered)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/moveloop_signals.html b/code/__DEFINES/dcs/moveloop_signals.html new file mode 100644 index 00000000000..fc746bd1f7d --- /dev/null +++ b/code/__DEFINES/dcs/moveloop_signals.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/moveloop_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/moveloop_signals.dm

COMSIG_MOVELOOP_STARTfrom /datum/move_loop/start_loop ():
COMSIG_MOVELOOP_STOPfrom /datum/move_loop/stop_loop ():
COMSIG_MOVELOOP_PREPROCESS_CHECKfrom [/datum/move_loop/process] ():
COMSIG_MOVELOOP_POSTPROCESSfrom [/datum/move_loop/process] (succeeded, visual_delay):
COMSIG_MOVABLE_MOVED_FROM_LOOPFrom base of /datum/move_loop/process() after attempting to move a movable: (datum/move_loop/loop, old_dir)
COMSIG_MOVELOOP_JPS_FINISHED_PATHINGfrom /datum/move_loop/has_target/jps/on_finish_pathing

Define Details

COMSIG_MOVABLE_MOVED_FROM_LOOP

From base of /datum/move_loop/process() after attempting to move a movable: (datum/move_loop/loop, old_dir)

COMSIG_MOVELOOP_JPS_FINISHED_PATHING

from /datum/move_loop/has_target/jps/on_finish_pathing

COMSIG_MOVELOOP_POSTPROCESS

from [/datum/move_loop/process] (succeeded, visual_delay):

COMSIG_MOVELOOP_PREPROCESS_CHECK

from [/datum/move_loop/process] ():

COMSIG_MOVELOOP_START

from /datum/move_loop/start_loop ():

COMSIG_MOVELOOP_STOP

from /datum/move_loop/stop_loop ():

\ No newline at end of file diff --git a/code/__DEFINES/dcs/obj_signals.html b/code/__DEFINES/dcs/obj_signals.html new file mode 100644 index 00000000000..f178d7c378d --- /dev/null +++ b/code/__DEFINES/dcs/obj_signals.html @@ -0,0 +1,9 @@ +code/__DEFINES/dcs/obj_signals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/obj_signals.dm

COMSIG_OBJ_DECONSTRUCTSignals for /obj and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of obj/deconstruct(): (disassembled)
COMSIG_CURSED_SLOT_MACHINE_USEfrom /obj/structure/cursed_slot_machine/handle_status_effect() when someone pulls the handle on the slot machine
SLOT_MACHINE_USE_CANCELwe've used up the number of times we may use this slot machine. womp womp.
SLOT_MACHINE_USE_POSTPONEwe haven't used up all our attempts to gamble away our life but we should chill for a few seconds
COMSIG_CURSED_SLOT_MACHINE_LOSTfrom /obj/structure/cursed_slot_machine/determine_victor() when someone loses.
COMSIG_GLOB_CURSED_SLOT_MACHINE_WONfrom /obj/structure/cursed_slot_machine/determine_victor() when someone finally wins.
COMSIG_JETPACK_ACTIVATEDfrom /obj/item/tank/jetpack/proc/turn_on() : ()
COMSIG_JETPACK_DEACTIVATEDfrom /obj/item/tank/jetpack/proc/turn_off() : ()
COMSIG_SHELF_ITEM_REMOVEDfrom /datum/component/shelved/UnregisterFromParent(): (parent_uid)
COMSIG_SHELF_ITEM_ADDEDfrom /datum/component/shelver/add_item(): (obj/item/to_add, placement_idx, list/position_details)
COMSIG_SHELF_ADDED_ON_MAPLOADfrom Initialize on objects implementing /datum/component/shelved
COMSIG_SHELF_ATTEMPT_PICKUPfrom /datum/component/shelver/shelf_items()
COMSIG_SUPERMATTER_CONSUMEDfrom /datum/component/supermatter_crystal/proc/consume() +called on the thing consumed, passes the thing which consumed it
COMSIG_LIONHUNTER_ON_HITWhen the lionhunter rifle hits something
COMSIG_LIONHUNTER_FIREWhen the lionhunter shoots so I can unscope

Define Details

COMSIG_CURSED_SLOT_MACHINE_LOST

from /obj/structure/cursed_slot_machine/determine_victor() when someone loses.

COMSIG_CURSED_SLOT_MACHINE_USE

from /obj/structure/cursed_slot_machine/handle_status_effect() when someone pulls the handle on the slot machine

COMSIG_GLOB_CURSED_SLOT_MACHINE_WON

from /obj/structure/cursed_slot_machine/determine_victor() when someone finally wins.

COMSIG_JETPACK_ACTIVATED

from /obj/item/tank/jetpack/proc/turn_on() : ()

COMSIG_JETPACK_DEACTIVATED

from /obj/item/tank/jetpack/proc/turn_off() : ()

COMSIG_LIONHUNTER_FIRE

When the lionhunter shoots so I can unscope

COMSIG_LIONHUNTER_ON_HIT

When the lionhunter rifle hits something

COMSIG_OBJ_DECONSTRUCT

Signals for /obj and subtypes that have too few related signals to put in separate files. +Doc format: /// when the signal is called: (signal arguments). +All signals send the source datum of the signal as the first argument +from base of obj/deconstruct(): (disassembled)

COMSIG_SHELF_ADDED_ON_MAPLOAD

from Initialize on objects implementing /datum/component/shelved

COMSIG_SHELF_ATTEMPT_PICKUP

from /datum/component/shelver/shelf_items()

COMSIG_SHELF_ITEM_ADDED

from /datum/component/shelver/add_item(): (obj/item/to_add, placement_idx, list/position_details)

COMSIG_SHELF_ITEM_REMOVED

from /datum/component/shelved/UnregisterFromParent(): (parent_uid)

COMSIG_SUPERMATTER_CONSUMED

from /datum/component/supermatter_crystal/proc/consume() +called on the thing consumed, passes the thing which consumed it

SLOT_MACHINE_USE_CANCEL

we've used up the number of times we may use this slot machine. womp womp.

SLOT_MACHINE_USE_POSTPONE

we haven't used up all our attempts to gamble away our life but we should chill for a few seconds

\ No newline at end of file diff --git a/code/__DEFINES/directions.html b/code/__DEFINES/directions.html new file mode 100644 index 00000000000..985cd70d4e5 --- /dev/null +++ b/code/__DEFINES/directions.html @@ -0,0 +1,15 @@ +code/__DEFINES/directions.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/directions.dm

NO_DIRECTIONdefine purely for readability, cables especially need to use this as NO_DIRECTION represents a "node"
FLIP_DIR_HORIZONTALLYUsing the ^ operator or XOR, we can compared TRUE East and West bits against our direction, +since XOR will only return TRUE if one bit is False and the other is True, if East is 0, that bit will return TRUE +and if West is 1, then that bit will return 0 +hence EAST (0010) XOR EAST|WEST (0011) --> WEST (0001) +Flips a direction along the horizontal axis, will convert E -> W, W -> E, NE -> NW, SE -> SW, etc
FLIP_DIR_VERTICALLYFlips a direction along the vertical axis, will convert N -> S, S -> N, NE -> SE, SW -> NW, etc
IS_DIR_DIAGONALfor directions, each cardinal direction only has 1 TRUE bit, so 1000 or 0100 for example, so when you subtract 1 +from a cardinal direction it results in that directions initial TRUE bit always switching to FALSE, so if you & check it +against its initial self, it will return false, indicating that the direction is straight and not diagonal +returns TRUE if direction is diagonal and false if not
IS_DIR_CARDINALreturns TRUE if direction is cardinal and false if not
NSCOMPONENTTrue if the dir is north or south, false therwise
EWCOMPONENTTrue if the dir is east/west, false otherwise
REVERSE_DIRInverse direction, taking into account UP|DOWN if necessary.
DIR_JUST_HORIZONTALreturns TRUE if the direction is EAST or WEST
DIR_JUST_VERTICALreturns TRUE if the direction is NORTH or SOUTH
TEXT_NORTHNorth direction as a string "[1]"
TEXT_SOUTHSouth direction as a string "[2]"
TEXT_EASTEast direction as a string "[4]"
TEXT_WESTWest direction as a string "[8]"

Define Details

DIR_JUST_HORIZONTAL

returns TRUE if the direction is EAST or WEST

DIR_JUST_VERTICAL

returns TRUE if the direction is NORTH or SOUTH

EWCOMPONENT

True if the dir is east/west, false otherwise

FLIP_DIR_HORIZONTALLY

Using the ^ operator or XOR, we can compared TRUE East and West bits against our direction, +since XOR will only return TRUE if one bit is False and the other is True, if East is 0, that bit will return TRUE +and if West is 1, then that bit will return 0 +hence EAST (0010) XOR EAST|WEST (0011) --> WEST (0001) +Flips a direction along the horizontal axis, will convert E -> W, W -> E, NE -> NW, SE -> SW, etc

FLIP_DIR_VERTICALLY

Flips a direction along the vertical axis, will convert N -> S, S -> N, NE -> SE, SW -> NW, etc

IS_DIR_CARDINAL

returns TRUE if direction is cardinal and false if not

IS_DIR_DIAGONAL

for directions, each cardinal direction only has 1 TRUE bit, so 1000 or 0100 for example, so when you subtract 1 +from a cardinal direction it results in that directions initial TRUE bit always switching to FALSE, so if you & check it +against its initial self, it will return false, indicating that the direction is straight and not diagonal +returns TRUE if direction is diagonal and false if not

NO_DIRECTION

define purely for readability, cables especially need to use this as NO_DIRECTION represents a "node"

NSCOMPONENT

True if the dir is north or south, false therwise

REVERSE_DIR

Inverse direction, taking into account UP|DOWN if necessary.

TEXT_EAST

East direction as a string "[4]"

TEXT_NORTH

North direction as a string "[1]"

TEXT_SOUTH

South direction as a string "[2]"

TEXT_WEST

West direction as a string "[8]"

\ No newline at end of file diff --git a/code/__DEFINES/disease_defines.html b/code/__DEFINES/disease_defines.html new file mode 100644 index 00000000000..4b7c4f3e676 --- /dev/null +++ b/code/__DEFINES/disease_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/disease_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/disease_defines.dm

VIRUS_DISINFECTION_TEMPTemperature at which objects contaminated by viruses are disinfected
VIRUS_SYMPTOM_LIMITThe maximum amount of symptoms a virus can have
VIRUS_MAX_CHEM_TREATMENT_TIMERThe maximum amount of time a symptom will be delayed for after the treating reagents have left the body
VIRUS_EVOLUTION_CHANCEEvoltion chance each cycle in percents. +The base chance in % that a virus will mutate as it spreads. Further modified by stage speed and the viral evolutionary acceleration trait

Define Details

VIRUS_DISINFECTION_TEMP

Temperature at which objects contaminated by viruses are disinfected

VIRUS_EVOLUTION_CHANCE

Evoltion chance each cycle in percents. +The base chance in % that a virus will mutate as it spreads. Further modified by stage speed and the viral evolutionary acceleration trait

VIRUS_MAX_CHEM_TREATMENT_TIMER

The maximum amount of time a symptom will be delayed for after the treating reagents have left the body

VIRUS_SYMPTOM_LIMIT

The maximum amount of symptoms a virus can have

\ No newline at end of file diff --git a/code/__DEFINES/economy_defines.html b/code/__DEFINES/economy_defines.html new file mode 100644 index 00000000000..1d9d78faae5 --- /dev/null +++ b/code/__DEFINES/economy_defines.html @@ -0,0 +1,5 @@ +code/__DEFINES/economy_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/economy_defines.dm

ACCOUNT_SECURITY_ID//ACOUNT SECURITY LEVELS//// +There is no security on this account, it can be accessed through someone's ID card/account number
ACCOUNT_SECURITY_PINBefore accessing this account, the pin number must be provided
ACCOUNT_SECURITY_RESTRICTEDThis account can only be accessed through restricted terminals
ACCOUNT_SECURITY_CCThis acount can only be accessed by admins/CC characters
ACCOUNT_SECURITY_VENDORThis account is only accessible to NPCs and Vendors (aka, only through code)
CREW_MEMBER_STARTING_BALANCESTARTING CASH AMOUNTS
CREW_PAY_ASSISTANTBASE PAY AMOUNTS
DATABASE_LOG_THRESHHOLDTransactions on money accounts will automatically be logged if they involve over 2500 space credits
MAX_STACKABLE_CASH//CASH LIMITS/CAPS///// +The total amount of space cash that can be stacked
MERCH_CAT_APPARELmerch computer categories
SUPPLY_EMERGENCYsupply packs
MAIL_DELIVERY_BONUSmail deliveries

Define Details

ACCOUNT_SECURITY_CC

This acount can only be accessed by admins/CC characters

ACCOUNT_SECURITY_ID

//ACOUNT SECURITY LEVELS//// +There is no security on this account, it can be accessed through someone's ID card/account number

ACCOUNT_SECURITY_PIN

Before accessing this account, the pin number must be provided

ACCOUNT_SECURITY_RESTRICTED

This account can only be accessed through restricted terminals

ACCOUNT_SECURITY_VENDOR

This account is only accessible to NPCs and Vendors (aka, only through code)

CREW_MEMBER_STARTING_BALANCE

STARTING CASH AMOUNTS

CREW_PAY_ASSISTANT

BASE PAY AMOUNTS

DATABASE_LOG_THRESHHOLD

Transactions on money accounts will automatically be logged if they involve over 2500 space credits

MAIL_DELIVERY_BONUS

mail deliveries

MAX_STACKABLE_CASH

//CASH LIMITS/CAPS///// +The total amount of space cash that can be stacked

MERCH_CAT_APPAREL

merch computer categories

SUPPLY_EMERGENCY

supply packs

\ No newline at end of file diff --git a/code/__DEFINES/economy_event_defines.html b/code/__DEFINES/economy_event_defines.html new file mode 100644 index 00000000000..9f6c2c4f008 --- /dev/null +++ b/code/__DEFINES/economy_event_defines.html @@ -0,0 +1 @@ +code/__DEFINES/economy_event_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/economy_event_defines.dm

TRADE_GOOD_DEFAULTTrade goods for trade destinations

Define Details

TRADE_GOOD_DEFAULT

Trade goods for trade destinations

\ No newline at end of file diff --git a/code/__DEFINES/emotes_defines.html b/code/__DEFINES/emotes_defines.html new file mode 100644 index 00000000000..63bf9273067 --- /dev/null +++ b/code/__DEFINES/emotes_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/emotes_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/emotes_defines.dm

EMOTE_VISIBLEGeneral defines used for emotes +Emote is visible. These emotes will be runechatted.
EMOTE_AUDIBLEEmote is audible (in character).
EMOTE_FORCE_NO_RUNECHATRegardless of its existing flags, an emote with this flag will not be sent to runechat.
EMOTE_MOUTHThis emote uses the mouth, and so should be blocked if the user is muzzled or can't breathe (for humans).
EMOTE_READYThe user is not on emote cooldown, and is ready to emote whenever.
EMOTE_INFINITEThe user can spam emotes to their heart's content.
EMOTE_ADMIN_BLOCKEDThe user cannot emote as they have been blocked by an admin.
EMOTE_ON_COOLDOWNThe user cannot emote until their cooldown expires.
EMOTE_PARAM_SEPARATORMarker to separate an emote key from its parameters in user input.
DEFAULT_EMOTE_COOLDOWNDefault cooldown for normal (non-audio) emotes.
AUDIO_EMOTE_COOLDOWNDefault cooldown for emote-emitted audio.
AUDIO_EMOTE_UNINTENTIONAL_COOLDOWNCooldown for emotes that are emitted unintentionally, to prevent them from getting audibly spammy.
EMOTE_TARGET_BHVR_MUST_MATCHIf this is set and a valid target is not found, the emote will not execute.
EMOTE_TARGET_BHVR_DEFAULT_TO_BASEIf this is set and a valid target is not found, the emote will just ignore the parameter entirely.
EMOTE_TARGET_BHVR_USE_PARAMS_ANYWAYIf this is set and a valid target is not found, the emote will work with the params that it has.
EMOTE_TARGET_BHVR_RAWNo matching/processing will be performed, and the target will be purely what's passed in.
EMOTE_TARGET_BHVR_NUMThe emote target should be just a number. Anything else will be rejected.
EMOTE_TARGET_BHVR_IGNOREThe emote target is used elsewhere, and processing should be skipped.
EMOTE_TARGET_MOBThe target will check all nearby living mobs.
EMOTE_TARGET_OBJThe target will check all objects nearby.
EMOTE_TARGET_ANYThe target will check nearby mobs and objects.
EMOTE_PARAM_USE_POSTFIXIf passed as message_param, will default to using the message's postfix.
EMOTE_ACT_STOP_EXECUTIONIf returned from act_on_target(), emote execution will stop.
USABLE_DEAD_EMOTESList of emotes useable by ghosties

Define Details

AUDIO_EMOTE_COOLDOWN

Default cooldown for emote-emitted audio.

AUDIO_EMOTE_UNINTENTIONAL_COOLDOWN

Cooldown for emotes that are emitted unintentionally, to prevent them from getting audibly spammy.

DEFAULT_EMOTE_COOLDOWN

Default cooldown for normal (non-audio) emotes.

EMOTE_ACT_STOP_EXECUTION

If returned from act_on_target(), emote execution will stop.

EMOTE_ADMIN_BLOCKED

The user cannot emote as they have been blocked by an admin.

EMOTE_AUDIBLE

Emote is audible (in character).

EMOTE_FORCE_NO_RUNECHAT

Regardless of its existing flags, an emote with this flag will not be sent to runechat.

EMOTE_INFINITE

The user can spam emotes to their heart's content.

EMOTE_MOUTH

This emote uses the mouth, and so should be blocked if the user is muzzled or can't breathe (for humans).

EMOTE_ON_COOLDOWN

The user cannot emote until their cooldown expires.

EMOTE_PARAM_SEPARATOR

Marker to separate an emote key from its parameters in user input.

EMOTE_PARAM_USE_POSTFIX

If passed as message_param, will default to using the message's postfix.

EMOTE_READY

The user is not on emote cooldown, and is ready to emote whenever.

EMOTE_TARGET_ANY

The target will check nearby mobs and objects.

EMOTE_TARGET_BHVR_DEFAULT_TO_BASE

If this is set and a valid target is not found, the emote will just ignore the parameter entirely.

EMOTE_TARGET_BHVR_IGNORE

The emote target is used elsewhere, and processing should be skipped.

EMOTE_TARGET_BHVR_MUST_MATCH

If this is set and a valid target is not found, the emote will not execute.

EMOTE_TARGET_BHVR_NUM

The emote target should be just a number. Anything else will be rejected.

EMOTE_TARGET_BHVR_RAW

No matching/processing will be performed, and the target will be purely what's passed in.

EMOTE_TARGET_BHVR_USE_PARAMS_ANYWAY

If this is set and a valid target is not found, the emote will work with the params that it has.

EMOTE_TARGET_MOB

The target will check all nearby living mobs.

EMOTE_TARGET_OBJ

The target will check all objects nearby.

EMOTE_VISIBLE

General defines used for emotes +Emote is visible. These emotes will be runechatted.

USABLE_DEAD_EMOTES

List of emotes useable by ghosties

\ No newline at end of file diff --git a/code/__DEFINES/flags.html b/code/__DEFINES/flags.html new file mode 100644 index 00000000000..61e2833df25 --- /dev/null +++ b/code/__DEFINES/flags.html @@ -0,0 +1,3 @@ +code/__DEFINES/flags.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/flags.dm

ALL_CARDINALSAll the cardinal direction bitflags.
NO_SCREENTIPSWhether or not this atom shows screentips when hovered over
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_ICONUpdate the atom's icon
DECAL_INIT_UPDATE_EXPERIENCED_2Whether a decal element's parent has already been initialized and thus has already had its decals attached. +see https://github.com/tgstation/tgstation/pull/71658 for a detailed explanation of the flag.
SHOCKED_2Prevents mobs from getting chainshocked by teslas and the supermatter
RAD_PROTECT_CONTENTS_2should the contents of this atom be acted upon
RAD_NO_CONTAMINATE_2should this object be allowed to be contaminated
IMMUNE_TO_SHUTTLECRUSH_2Prevents shuttles from deleting the item
NO_MALF_EFFECT_2Prevents malf AI animate + overload ability
CRITICAL_ATOM_2Use when this shouldn't be obscured by large icons.
RANDOM_BLOCKER_2Use this flag for items that can block randomly
ALLOW_BELT_NO_JUMPSUIT_2This flag allows for wearing of a belt item, even if you're not wearing a jumpsuit
RICOCHET_SHINYIf the thing can reflect light (lasers/energy)
RICOCHET_HARDIf the thing can reflect matter (bullets/bomb shrapnel)
LAVA_BRIDGEThis turf has already been reserved for a lavaland bridge placement.
NO_RUSTBlocks this turf from being rusted
UNUSED_RESERVATION_TURFIf a turf is an unused reservation turf awaiting assignment
RESERVATION_TURFIf a turf is a reserved turf
MOBILITY_MOVEcan move
MOBILITY_STANDcan, and is, standing up
MOBILITY_PICKUPcan pickup items
MOBILITY_USEcan hold and use items
MOBILITY_PULLcan pull things
SCOPE_MOVEMENT_CANCELSDo we have the scope cancel on move?
SCOPE_TURF_ONLYCan we use scope from mechs, lockers, etc?
SCOPE_CLICK_MIDDLEDo we let the user scope and click on the middle of their screen?
SCOPE_NEED_ACTIVE_HANDShould the user hold the item in active hand to use it?

Define Details

ALLOW_BELT_NO_JUMPSUIT_2

This flag allows for wearing of a belt item, even if you're not wearing a jumpsuit

ALL_CARDINALS

All the cardinal direction bitflags.

CRITICAL_ATOM_2

Use when this shouldn't be obscured by large icons.

DECAL_INIT_UPDATE_EXPERIENCED_2

Whether a decal element's parent has already been initialized and thus has already had its decals attached. +see https://github.com/tgstation/tgstation/pull/71658 for a detailed explanation of the flag.

IMMUNE_TO_SHUTTLECRUSH_2

Prevents shuttles from deleting the item

LAVA_BRIDGE

This turf has already been reserved for a lavaland bridge placement.

MOBILITY_MOVE

can move

MOBILITY_PICKUP

can pickup items

MOBILITY_PULL

can pull things

MOBILITY_STAND

can, and is, standing up

MOBILITY_USE

can hold and use items

NO_MALF_EFFECT_2

Prevents malf AI animate + overload ability

NO_RUST

Blocks this turf from being rusted

NO_SCREENTIPS

Whether or not this atom shows screentips when hovered over

RAD_NO_CONTAMINATE_2

should this object be allowed to be contaminated

RAD_PROTECT_CONTENTS_2

should the contents of this atom be acted upon

RANDOM_BLOCKER_2

Use this flag for items that can block randomly

RESERVATION_TURF

If a turf is a reserved turf

RICOCHET_HARD

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

RICOCHET_SHINY

If the thing can reflect light (lasers/energy)

SCOPE_CLICK_MIDDLE

Do we let the user scope and click on the middle of their screen?

SCOPE_MOVEMENT_CANCELS

Do we have the scope cancel on move?

SCOPE_NEED_ACTIVE_HAND

Should the user hold the item in active hand to use it?

SCOPE_TURF_ONLY

Can we use scope from mechs, lockers, etc?

SHOCKED_2

Prevents mobs from getting chainshocked by teslas and the supermatter

UNUSED_RESERVATION_TURF

If a turf is an unused reservation turf awaiting assignment

UPDATE_DESC

Update the atom's desc

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

\ No newline at end of file diff --git a/code/__DEFINES/food_defines.html b/code/__DEFINES/food_defines.html new file mode 100644 index 00000000000..4aaf9681776 --- /dev/null +++ b/code/__DEFINES/food_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/food_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/food_defines.dm

FOOD_GOAL_SKIPUsed for secondary goals. +TOO easy, not accepted for variety goals.
FOOD_GOAL_EASYEasy food, ask for a lot for single goals.
FOOD_GOAL_NORMALNormal food, ask for a middling amount for single goals.
FOOD_GOAL_HARDHard reagent, ask for a little for single goals.
FOOD_GOAL_EXCESSIVETOO hard, accepted for variety goals, but never used for single goals.
FOOD_GOAL_DUPLICATESame as FOOD_GOAL_EXCESSIVE, just different name to indicate that there's another version of this food that's used in variety goals.

Define Details

FOOD_GOAL_DUPLICATE

Same as FOOD_GOAL_EXCESSIVE, just different name to indicate that there's another version of this food that's used in variety goals.

FOOD_GOAL_EASY

Easy food, ask for a lot for single goals.

FOOD_GOAL_EXCESSIVE

TOO hard, accepted for variety goals, but never used for single goals.

FOOD_GOAL_HARD

Hard reagent, ask for a little for single goals.

FOOD_GOAL_NORMAL

Normal food, ask for a middling amount for single goals.

FOOD_GOAL_SKIP

Used for secondary goals. +TOO easy, not accepted for variety goals.

\ No newline at end of file diff --git a/code/__DEFINES/gamemode.html b/code/__DEFINES/gamemode.html new file mode 100644 index 00000000000..9e44da6f814 --- /dev/null +++ b/code/__DEFINES/gamemode.html @@ -0,0 +1 @@ +code/__DEFINES/gamemode.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/gamemode.dm

NUKE_SITE_ON_STATIONThe bomb is on-station.
NUKE_SITE_ON_STATION_ZLEVELThe bomb is on station z-level, but not a station tile.
NUKE_SITE_OFF_STATION_ZLEVELThe bomb is off station z-level.
NUKE_SITE_INVALIDThe bomb's location cannot be found.
DYNAMIC_RULESET_NORMALDynamic Gamemode Defines

Define Details

DYNAMIC_RULESET_NORMAL

Dynamic Gamemode Defines

NUKE_SITE_INVALID

The bomb's location cannot be found.

NUKE_SITE_OFF_STATION_ZLEVEL

The bomb is off station z-level.

NUKE_SITE_ON_STATION

The bomb is on-station.

NUKE_SITE_ON_STATION_ZLEVEL

The bomb is on station z-level, but not a station tile.

\ No newline at end of file diff --git a/code/__DEFINES/hud.html b/code/__DEFINES/hud.html new file mode 100644 index 00000000000..a5e1ad4fc83 --- /dev/null +++ b/code/__DEFINES/hud.html @@ -0,0 +1 @@ +code/__DEFINES/hud.dm - Space Station 13
Space Station 13 - Modules - Types

code/__DEFINES/hud.dm

/proc/view_to_pixelsTakes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)
\ No newline at end of file diff --git a/code/__DEFINES/icon_smoothing_defines.html b/code/__DEFINES/icon_smoothing_defines.html new file mode 100644 index 00000000000..47d4d83a9aa --- /dev/null +++ b/code/__DEFINES/icon_smoothing_defines.html @@ -0,0 +1,14 @@ +code/__DEFINES/icon_smoothing_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/icon_smoothing_defines.dm

SMOOTH_CORNERSSmoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.
SMOOTH_BITMASKSmoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking.
SMOOTH_DIAGONAL_CORNERSAtom has diagonal corners, with underlays under them.
SMOOTH_BORDERAtom will smooth with the borders of the map.
SMOOTH_QUEUEDAtom is currently queued to smooth.
SMOOTH_OBJSmooths with objects, and will thus need to scan turfs for contents.
S_TURF*SMOOTHING GROUPS
SMOOTH_GROUP_TURFturf/simulated
SMOOTH_GROUP_TURF_CHASMturf/simulated/chasm, /turf/simulated/floor/fakepit
SMOOTH_GROUP_FLOOR_LAVAturf/simulated/floor/lava
SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASSturf/simulated/transparent/glass
SMOOTH_GROUP_FLOORturf/simulated/floor
SMOOTH_GROUP_FLOOR_GRASSturf/simulated/floor/plating/grass
SMOOTH_GROUP_FLOOR_ICEturf/simulated/floor/plating/ice
SMOOTH_GROUP_BEACH_WATERturf/simulated/floor/beach/away/water
SMOOTH_GROUP_GLASS_FLOORturf/simulated/floor/transparent/glass and subtypes
SMOOTH_GROUP_GLASS_FLOOR_TITANIUMturf/simulated/floor/transparent/glass/titanium and subtypes
SMOOTH_GROUP_CARPETturf/simulated/floor/carpet
SMOOTH_GROUP_BAMBOOturf/simulated/floor/bamboo
SMOOTH_GROUP_SIMULATED_TURFSturf/simulated
SMOOTH_GROUP_MATERIAL_WALLSturf/simulated/wall/material
SMOOTH_GROUP_SYNDICATE_WALLSturf/simulated/wall/r_wall/syndicate, /turf/simulated/indestructible/syndicate
SMOOTH_GROUP_HOTEL_WALLSturf/simulated/indestructible/hotelwall
SMOOTH_GROUP_ROCK_WALLSturf/simulated/mineral, /obj/structure/falsewall/rock_ancient
SMOOTH_GROUP_BOSS_WALLSturf/simulated/indestructible/riveted/boss
SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLSturf/simulated/wall/mineral/titanium/survival
SMOOTH_GROUP_GRASSturf/simulated/floor/grass
SMOOTH_GROUP_JUNGLE_GRASSturf/simulated/floor/grass/jungle
SMOOTH_GROUP_WALLSturf/simulated/wall, /obj/structure/falsewall
SMOOTH_GROUP_MINERAL_WALLSturf/simulated/wall/mineral, /obj/structure/falsewall variants for said mineral walls.
SMOOTH_GROUP_IRON_WALLSturf/simulated/wall/mineral/iron, /obj/structure/falsewall/iron
SMOOTH_GROUP_ABDUCTOR_WALLSturf/simulated/wall/mineral/abductor, /obj/structure/falsewall/abductor
SMOOTH_GROUP_TITANIUM_WALLSturf/simulated/wall/mineral/titanium, /obj/structure/falsewall/titanium
SMOOTH_GROUP_ASTEROID_WALLSturf/simulated/mineral, /obj/structure/falsewall/rock_ancient
SMOOTH_GROUP_PLASTITANIUM_WALLSturf/simulated/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium
SMOOTH_GROUP_SURVIVAL_TIANIUM_PODturf/simulated/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/shuttle/survival_pod
SMOOTH_GROUP_HIERO_WALLobj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall
SMOOTH_GROUP_BRASS_WALLturf/simulated/wall/mineral/brass, /obj/structure/falsewall/brass
SMOOTH_GROUP_REGULAR_WALLSturf/simulated/wall, /obj/structure/falsewall
SMOOTH_GROUP_REINFORCED_WALLSturf/simulated/wall/r_wall, /obj/structure/falsewall/reinforced
SMOOTH_GROUP_CULT_WALLSturf/simulated/wall/cult
SMOOTH_GROUP_BACKROOMS_WALLSturf/simulated/wall/backrooms, /obj/structure/falsewall/backrooms
SMOOTH_GROUP_WINDOW_FULLTILEturf/simulated/indestructible/fakeglass, /obj/structure/window/full/basic, /obj/structure/window/full/plasmabasic, /obj/structure/window/full/plasmareinforced, /obj/structure/window/full/reinforced
SMOOTH_GROUP_WINDOW_FULLTILE_BRASSobj/structure/window/brass/fulltile
SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUMturf/simulated/indestructible/fakeglass/plastitanium, /obj/structure/window/plasma/reinforced/plastitanium
SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLEobj/structure/window/shuttle
SMOOTH_GROUP_LATTICEobj/structure/lattice
SMOOTH_GROUP_AIRLOCKobj/machinery/door/airlock, /obj/machinery/door/poddoor, /obj/machinery/door/poddoor/shutters, /obj/machinery/door/firedoor
SMOOTH_GROUP_TABLESobj/structure/table
SMOOTH_GROUP_WOOD_TABLESobj/structure/table/wood
SMOOTH_GROUP_FANCY_WOOD_TABLESobj/structure/table/wood/fancy
SMOOTH_GROUP_BRASS_TABLESobj/structure/table/brass
SMOOTH_GROUP_ABDUCTOR_TABLESobj/structure/table/abductor
SMOOTH_GROUP_GLASS_TABLESobj/structure/table/glass
SMOOTH_GROUP_REINFORCED_TABLESobj/structure/table/reinforced, /obj/structure/table/glass/reinforced
SMOOTH_GROUP_CULT_TABLESobj/structire/table/reinforced/cult
SMOOTH_GROUP_ALIEN_RESINobj/structure/alien/resin
SMOOTH_GROUP_ALIEN_WALLSobj/structure/alien/resin/wall,
SMOOTH_GROUP_ALIEN_WEEDSobj/structure/alien/weeds
SMOOTH_GROUP_SECURITY_BARRICADEobj/structure/barricade/security
SMOOTH_GROUP_SANDBAGSobj/structure/barricade/sandbags
SMOOTH_GROUP_SHUTTLE_PARTSobj/structure/window/shuttle, /obj/structure/window/plasma/reinforced/plastitanium, /turf/simulated/indestructible/fakeglass/plastitanium, /obj/structure/shuttle
SMOOTH_GROUP_CLEANABLE_DIRTobj/effect/decal/cleanable/dirt
SMOOTH_GROUP_RIPPLEobj/effect/temp_visual/ripple
SMOOTH_GROUP_CATWALKobj/structure/lattice/catwalk

Define Details

SMOOTH_BITMASK

Smoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking.

SMOOTH_BORDER

Atom will smooth with the borders of the map.

SMOOTH_CORNERS

Smoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.

SMOOTH_DIAGONAL_CORNERS

Atom has diagonal corners, with underlays under them.

SMOOTH_GROUP_ABDUCTOR_TABLES

obj/structure/table/abductor

SMOOTH_GROUP_ABDUCTOR_WALLS

turf/simulated/wall/mineral/abductor, /obj/structure/falsewall/abductor

SMOOTH_GROUP_AIRLOCK

obj/machinery/door/airlock, /obj/machinery/door/poddoor, /obj/machinery/door/poddoor/shutters, /obj/machinery/door/firedoor

SMOOTH_GROUP_ALIEN_RESIN

obj/structure/alien/resin

SMOOTH_GROUP_ALIEN_WALLS

obj/structure/alien/resin/wall,

SMOOTH_GROUP_ALIEN_WEEDS

obj/structure/alien/weeds

SMOOTH_GROUP_ASTEROID_WALLS

turf/simulated/mineral, /obj/structure/falsewall/rock_ancient

SMOOTH_GROUP_BACKROOMS_WALLS

turf/simulated/wall/backrooms, /obj/structure/falsewall/backrooms

SMOOTH_GROUP_BAMBOO

turf/simulated/floor/bamboo

SMOOTH_GROUP_BEACH_WATER

turf/simulated/floor/beach/away/water

SMOOTH_GROUP_BOSS_WALLS

turf/simulated/indestructible/riveted/boss

SMOOTH_GROUP_BRASS_TABLES

obj/structure/table/brass

SMOOTH_GROUP_BRASS_WALL

turf/simulated/wall/mineral/brass, /obj/structure/falsewall/brass

SMOOTH_GROUP_CARPET

turf/simulated/floor/carpet

SMOOTH_GROUP_CATWALK

obj/structure/lattice/catwalk

SMOOTH_GROUP_CLEANABLE_DIRT

obj/effect/decal/cleanable/dirt

SMOOTH_GROUP_CULT_TABLES

obj/structire/table/reinforced/cult

SMOOTH_GROUP_CULT_WALLS

turf/simulated/wall/cult

SMOOTH_GROUP_FANCY_WOOD_TABLES

obj/structure/table/wood/fancy

SMOOTH_GROUP_FLOOR

turf/simulated/floor

SMOOTH_GROUP_FLOOR_GRASS

turf/simulated/floor/plating/grass

SMOOTH_GROUP_FLOOR_ICE

turf/simulated/floor/plating/ice

SMOOTH_GROUP_FLOOR_LAVA

turf/simulated/floor/lava

SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASS

turf/simulated/transparent/glass

SMOOTH_GROUP_GLASS_FLOOR

turf/simulated/floor/transparent/glass and subtypes

SMOOTH_GROUP_GLASS_FLOOR_TITANIUM

turf/simulated/floor/transparent/glass/titanium and subtypes

SMOOTH_GROUP_GLASS_TABLES

obj/structure/table/glass

SMOOTH_GROUP_GRASS

turf/simulated/floor/grass

SMOOTH_GROUP_HIERO_WALL

obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall

SMOOTH_GROUP_HOTEL_WALLS

turf/simulated/indestructible/hotelwall

SMOOTH_GROUP_IRON_WALLS

turf/simulated/wall/mineral/iron, /obj/structure/falsewall/iron

SMOOTH_GROUP_JUNGLE_GRASS

turf/simulated/floor/grass/jungle

SMOOTH_GROUP_LATTICE

obj/structure/lattice

SMOOTH_GROUP_MATERIAL_WALLS

turf/simulated/wall/material

SMOOTH_GROUP_MINERAL_WALLS

turf/simulated/wall/mineral, /obj/structure/falsewall variants for said mineral walls.

SMOOTH_GROUP_PLASTITANIUM_WALLS

turf/simulated/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium

SMOOTH_GROUP_REGULAR_WALLS

turf/simulated/wall, /obj/structure/falsewall

SMOOTH_GROUP_REINFORCED_TABLES

obj/structure/table/reinforced, /obj/structure/table/glass/reinforced

SMOOTH_GROUP_REINFORCED_WALLS

turf/simulated/wall/r_wall, /obj/structure/falsewall/reinforced

SMOOTH_GROUP_RIPPLE

obj/effect/temp_visual/ripple

SMOOTH_GROUP_ROCK_WALLS

turf/simulated/mineral, /obj/structure/falsewall/rock_ancient

SMOOTH_GROUP_SANDBAGS

obj/structure/barricade/sandbags

SMOOTH_GROUP_SECURITY_BARRICADE

obj/structure/barricade/security

SMOOTH_GROUP_SHUTTLE_PARTS

obj/structure/window/shuttle, /obj/structure/window/plasma/reinforced/plastitanium, /turf/simulated/indestructible/fakeglass/plastitanium, /obj/structure/shuttle

SMOOTH_GROUP_SIMULATED_TURFS

turf/simulated

SMOOTH_GROUP_SURVIVAL_TIANIUM_POD

turf/simulated/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/shuttle/survival_pod

SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLS

turf/simulated/wall/mineral/titanium/survival

SMOOTH_GROUP_SYNDICATE_WALLS

turf/simulated/wall/r_wall/syndicate, /turf/simulated/indestructible/syndicate

SMOOTH_GROUP_TABLES

obj/structure/table

SMOOTH_GROUP_TITANIUM_WALLS

turf/simulated/wall/mineral/titanium, /obj/structure/falsewall/titanium

SMOOTH_GROUP_TURF

turf/simulated

SMOOTH_GROUP_TURF_CHASM

turf/simulated/chasm, /turf/simulated/floor/fakepit

SMOOTH_GROUP_WALLS

turf/simulated/wall, /obj/structure/falsewall

SMOOTH_GROUP_WINDOW_FULLTILE

turf/simulated/indestructible/fakeglass, /obj/structure/window/full/basic, /obj/structure/window/full/plasmabasic, /obj/structure/window/full/plasmareinforced, /obj/structure/window/full/reinforced

SMOOTH_GROUP_WINDOW_FULLTILE_BRASS

obj/structure/window/brass/fulltile

SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM

turf/simulated/indestructible/fakeglass/plastitanium, /obj/structure/window/plasma/reinforced/plastitanium

SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE

obj/structure/window/shuttle

SMOOTH_GROUP_WOOD_TABLES

obj/structure/table/wood

SMOOTH_OBJ

Smooths with objects, and will thus need to scan turfs for contents.

SMOOTH_QUEUED

Atom is currently queued to smooth.

S_TURF

*SMOOTHING GROUPS

+
\ No newline at end of file diff --git a/code/__DEFINES/important_recursive_contents.html b/code/__DEFINES/important_recursive_contents.html new file mode 100644 index 00000000000..2773ddfb8f5 --- /dev/null +++ b/code/__DEFINES/important_recursive_contents.html @@ -0,0 +1,3 @@ +code/__DEFINES/important_recursive_contents.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/important_recursive_contents.dm

RECURSIVE_CONTENTS_AREA_SENSITIVEthe area channel of the important_recursive_contents list, everything in here will be sent a signal when their last holding object changes areas
RECURSIVE_CONTENTS_HEARING_SENSITIVEthe hearing channel of the important_recursive_contents list, everything in here will count as a hearing atom
RECURSIVE_CONTENTS_CLIENT_MOBSthe client mobs channel of the important_recursive_contents list, everything in here will be a mob with an attached client +this is given to both a clients mob, and a clients eye, both point to the clients mob
RECURSIVE_CONTENTS_ACTIVE_STORAGEthe parent of storage components currently shown to some client mob get this. gets removed when nothing is viewing the parent

Define Details

RECURSIVE_CONTENTS_ACTIVE_STORAGE

the parent of storage components currently shown to some client mob get this. gets removed when nothing is viewing the parent

RECURSIVE_CONTENTS_AREA_SENSITIVE

the area channel of the important_recursive_contents list, everything in here will be sent a signal when their last holding object changes areas

RECURSIVE_CONTENTS_CLIENT_MOBS

the client mobs channel of the important_recursive_contents list, everything in here will be a mob with an attached client +this is given to both a clients mob, and a clients eye, both point to the clients mob

RECURSIVE_CONTENTS_HEARING_SENSITIVE

the hearing channel of the important_recursive_contents list, everything in here will count as a hearing atom

\ No newline at end of file diff --git a/code/__DEFINES/instrument_defines.html b/code/__DEFINES/instrument_defines.html new file mode 100644 index 00000000000..f3a2ca58287 --- /dev/null +++ b/code/__DEFINES/instrument_defines.html @@ -0,0 +1 @@ +code/__DEFINES/instrument_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/instrument_defines.dm

CHANNELS_PER_INSTRUMENTMax number of playing notes per instrument.
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_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.

\ No newline at end of file diff --git a/code/__DEFINES/keybindings_defines.html b/code/__DEFINES/keybindings_defines.html new file mode 100644 index 00000000000..fcaf9236117 --- /dev/null +++ b/code/__DEFINES/keybindings_defines.html @@ -0,0 +1 @@ +code/__DEFINES/keybindings_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/keybindings_defines.dm

MAX_KEYPRESS_COMMANDLENGTHMax length of a keypress command before it's considered to be a forged packet/bogus command
MAX_KEYPRESS_AUTOKICKMax amount of keypress messages per second over two seconds before client is autokicked
HELD_KEY_BUFFER_LENGTHLength of held key rolling buffer
MAX_COMMANDS_PER_KEYMaximum keys that can be bound to one button

Define Details

HELD_KEY_BUFFER_LENGTH

Length of held key rolling buffer

MAX_COMMANDS_PER_KEY

Maximum keys that can be bound to one button

MAX_KEYPRESS_AUTOKICK

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

MAX_KEYPRESS_COMMANDLENGTH

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

\ No newline at end of file diff --git a/code/__DEFINES/layers.html b/code/__DEFINES/layers.html new file mode 100644 index 00000000000..892eca65668 --- /dev/null +++ b/code/__DEFINES/layers.html @@ -0,0 +1 @@ +code/__DEFINES/layers.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/layers.dm

MAP_EDITOR_TURF_LAYERWhich layer turfs appear on by default in the map editor. Should be unique!
EMISSIVE_PLANEThis plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
EMISSIVE_RENDER_TARGETThe render target used by the emissive.
PLANE_MASTERS_GAMEPlane master controller keys

Define Details

EMISSIVE_PLANE

This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.

EMISSIVE_RENDER_TARGET

The render target used by the emissive.

MAP_EDITOR_TURF_LAYER

Which layer turfs appear on by default in the map editor. Should be unique!

PLANE_MASTERS_GAME

Plane master controller keys

\ No newline at end of file diff --git a/code/__DEFINES/lighting_defines.html b/code/__DEFINES/lighting_defines.html new file mode 100644 index 00000000000..885fbcd8eef --- /dev/null +++ b/code/__DEFINES/lighting_defines.html @@ -0,0 +1 @@ +code/__DEFINES/lighting_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/lighting_defines.dm

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 applied to all emissive overlays.
EM_BLOCK_COLORThe color applied to all emissive blockers. Is meant to be the exact opposite of the EMMISIVE_COLOR
EMISSIVE_APPEARANCE_FLAGSA set of appearance flags applied to all emissive and emissive blocker overlays.
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_APPEARANCE_FLAGS

A set of appearance flags applied to all emissive and emissive blocker overlays.

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 applied to all emissive overlays.

EM_BLOCK_COLOR

The color applied to all emissive blockers. Is meant to be the exact opposite of the EMMISIVE_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.

\ No newline at end of file diff --git a/code/__DEFINES/machines.html b/code/__DEFINES/machines.html new file mode 100644 index 00000000000..7eebd01abf8 --- /dev/null +++ b/code/__DEFINES/machines.html @@ -0,0 +1 @@ +code/__DEFINES/machines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/machines.dm

GAMMALATHEUsed for gamma armoury lathe designs
HEAT_MODIFIERA flat multiplier for all reactor heat. Higher = more heat production.
SUPERMATTER_HEAT_PENALTY_THRESHOLDHigher == Crystal safe operational temperature is higher.
AALARM_MODE_FILTERINGAir alarm modes
RC_ASSIST/obj/machinery/requests_console can request assistance.
RC_SUPPLY/obj/machinery/requests_console can request supplies.
RC_INFO/obj/machinery/requests_console can relay anonymous information.
ORM_BASE_POINT_MULTORM point defines
SALVAGE_REDEMPTION_BASE_POINT_MULTSalvage machine point defines
RGLASS_SOLAR_MULTSolar panel material multiplier defines

Define Details

AALARM_MODE_FILTERING

Air alarm modes

GAMMALATHE

Used for gamma armoury lathe designs

HEAT_MODIFIER

A flat multiplier for all reactor heat. Higher = more heat production.

ORM_BASE_POINT_MULT

ORM point defines

RC_ASSIST

/obj/machinery/requests_console can request assistance.

RC_INFO

/obj/machinery/requests_console can relay anonymous information.

RC_SUPPLY

/obj/machinery/requests_console can request supplies.

RGLASS_SOLAR_MULT

Solar panel material multiplier defines

SALVAGE_REDEMPTION_BASE_POINT_MULT

Salvage machine point defines

SUPERMATTER_HEAT_PENALTY_THRESHOLD

Higher == Crystal safe operational temperature is higher.

\ No newline at end of file diff --git a/code/__DEFINES/magic_defines.html b/code/__DEFINES/magic_defines.html new file mode 100644 index 00000000000..5c9f2d247a8 --- /dev/null +++ b/code/__DEFINES/magic_defines.html @@ -0,0 +1 @@ +code/__DEFINES/magic_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/magic_defines.dm

MAGIC_RESISTANCEDefault magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)
MAGIC_RESISTANCE_MINDTinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)
MAGIC_RESISTANCE_HOLYHoly magic resistance that blocks unholy magic (revenant, vampire, voice of god)
SPELL_REQUIRES_NO_ANTIMAGICWhether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.

Define Details

MAGIC_RESISTANCE

Default magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)

MAGIC_RESISTANCE_HOLY

Holy magic resistance that blocks unholy magic (revenant, vampire, voice of god)

MAGIC_RESISTANCE_MIND

Tinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)

SPELL_REQUIRES_NO_ANTIMAGIC

Whether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.

\ No newline at end of file diff --git a/code/__DEFINES/mappers.html b/code/__DEFINES/mappers.html new file mode 100644 index 00000000000..5c2e3c0d8ec --- /dev/null +++ b/code/__DEFINES/mappers.html @@ -0,0 +1 @@ +code/__DEFINES/mappers.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/mappers.dm

MAPPING_DIRECTIONAL_HELPERSCreate directional subtypes for a path to simplify mapping.

Define Details

MAPPING_DIRECTIONAL_HELPERS

Create directional subtypes for a path to simplify mapping.

\ No newline at end of file diff --git a/code/__DEFINES/mindflayer_defines.html b/code/__DEFINES/mindflayer_defines.html new file mode 100644 index 00000000000..460da2cf005 --- /dev/null +++ b/code/__DEFINES/mindflayer_defines.html @@ -0,0 +1 @@ +code/__DEFINES/mindflayer_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/mindflayer_defines.dm

FLAYER_INNATE_POWERDenotes that this power is free and should be given to all mindflayers by default.
FLAYER_PURCHASABLE_POWERDenotes that this power can only be obtained by purchasing it.
FLAYER_UNOBTAINABLE_POWERDenotes that this power can not be obtained normally. Primarily used for base types such as /datum/spell/flayer/weapon.
BRAIN_DRAIN_LIMITHow many swarms can you drain per person?
DRAIN_TIMEThe time per harvesting tick
DRAIN_BUT_NO_SWARMSIf we want to keep draining someone but we don't have any swarms to gain

Define Details

BRAIN_DRAIN_LIMIT

How many swarms can you drain per person?

DRAIN_BUT_NO_SWARMS

If we want to keep draining someone but we don't have any swarms to gain

DRAIN_TIME

The time per harvesting tick

FLAYER_INNATE_POWER

Denotes that this power is free and should be given to all mindflayers by default.

FLAYER_PURCHASABLE_POWER

Denotes that this power can only be obtained by purchasing it.

FLAYER_UNOBTAINABLE_POWER

Denotes that this power can not be obtained normally. Primarily used for base types such as /datum/spell/flayer/weapon.

\ No newline at end of file diff --git a/code/__DEFINES/misc_defines.html b/code/__DEFINES/misc_defines.html new file mode 100644 index 00000000000..44b675dffc6 --- /dev/null +++ b/code/__DEFINES/misc_defines.html @@ -0,0 +1,15 @@ +code/__DEFINES/misc_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/misc_defines.dm

GERM_LEVEL_AMBIENTGERMS AND INFECTIONS
EMOJI_SETEmoji icon set
MACH_CENTERA define for the center of the coordinate map of big machinery
RANGE_EDGE_TURFSReturns the turfs on the edge of a square with CENTER in the middle and with the given RADIUS. If used near the edge of the map, will still work fine.
get_areaGrabs the area of a supplied object. Passing an area in to this will result in an error
FOAM_REACT_NEVERThe chemicals in the foam (if any) will never react.
FOAM_REACT_ON_DISSIPATEChemicals in the foam will only react when the foam dissipates.
FOAM_REACT_DURING_SPREADChemicals in the foam will react while the foam is still processing.
FOAM_REACT_BEFORE_SPREADChemicals in the foam will react when the foam first reaches a tile.
REGION_ALLAccess Region Codes
GREYSCALE_COLOR_REPLACEPure Black and white colorblindness. Every species except Vulpkanins and Tajarans will have this.
PROTANOPIA_COLOR_REPLACERed colorblindness. Vulpkanins/Wolpins have this.
TRITANOPIA_COLOR_REPLACEYellow-Blue colorblindness. Tajarans/Farwas have this.
CLIENT_FROM_VARReturn a Client
BASE_DEFIB_TIME_LIMITPast this much time the patient is unrecoverable (in deciseconds).
DEFIB_TIME_LOSSBrain damage starts setting in on the patient after some time left rotting.
MAPTEXTPrepares a text to be used for maptext. Use this so it doesn't look hideous.
PARALLAX_DELAY_DEFAULTAbout 0.05 Seconds of delay
DISCORD_WEBHOOK_PRIMARYSend to the primary Discord webhook
DISCORD_WEBHOOK_ADMINSend to the admin Discord webhook
DISCORD_WEBHOOK_MENTORSend to the mentor Discord webhook
UNTILWaits at a line of code until X is true
REFLECTABILITY_NEVERProjectile reflectability defines
DEADCHAT_DEMOCRACY_MODEWill execute a single command after the cooldown based on player votes.
DEADCHAT_ANARCHY_MODEAllows each player to do a single command every cooldown.
MUTE_DEADCHAT_DEMOCRACY_MESSAGESMutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy.
SLEEP_CHECK_QDELSleep check QDEL. Like sleep check death, but checks deleting. Good for non mobs.
BRAIN_DAMAGE_BOOK_TIMEReading books can help with brain damage! +These are seperate times so that a user gains more benefits by reading more books, +but also cant infinitely switch between 1000 books. +The amount of time needed to pass to let a single book be read again for brain benefits
BRAIN_DAMAGE_MOB_TIMEThe amount of time a mob needs to wait between any book reading
text_refTakes a datum as input, returns its ref string, or a cached version of it +This allows us to cache \ref creation, which ensures it'll only ever happen once per datum, saving string tree time +It is slightly less optimal then a []'d datum, but the cost is massively outweighed by the potential savings +It will only work for datums mind, for datum reasons +: because of the embedded typecheck
LOG_MAZE_PROGRESSI dont recommend touching these map generator defines unless you know what you're doing with maze generators.
PINPOINTER_MODE_DETDetective's mode on pinpointers
DISPOSAL_SOUND_COOLDOWNHow frequently disposals can make sounds, to prevent huge sound stacking
VOTE_RESULT_TYPE_MAJORITYThe different kinds of voting
RESTRICT_TYPEA helper used by restrict_file_types.py to identify types to restrict in a file. Not used by byond at all.
LAVALAND_TENDRIL_COLLAPSE_RANGEThe radius of the chasm created by killed tendrils.
BANK_PIN_MINEconomy account defines
TECH_MATERIALDefines for hidden organ techs

The number of seconds between the start of the UNIX and BYOND epochs.

Define Details

BANK_PIN_MIN

Economy account defines

BASE_DEFIB_TIME_LIMIT

Past this much time the patient is unrecoverable (in deciseconds).

BRAIN_DAMAGE_BOOK_TIME

Reading books can help with brain damage! +These are seperate times so that a user gains more benefits by reading more books, +but also cant infinitely switch between 1000 books. +The amount of time needed to pass to let a single book be read again for brain benefits

BRAIN_DAMAGE_MOB_TIME

The amount of time a mob needs to wait between any book reading

CLIENT_FROM_VAR

Return a Client

DEADCHAT_ANARCHY_MODE

Allows each player to do a single command every cooldown.

DEADCHAT_DEMOCRACY_MODE

Will execute a single command after the cooldown based on player votes.

DEFIB_TIME_LOSS

Brain damage starts setting in on the patient after some time left rotting.

DISCORD_WEBHOOK_ADMIN

Send to the admin Discord webhook

DISCORD_WEBHOOK_MENTOR

Send to the mentor Discord webhook

DISCORD_WEBHOOK_PRIMARY

Send to the primary Discord webhook

DISPOSAL_SOUND_COOLDOWN

How frequently disposals can make sounds, to prevent huge sound stacking

EMOJI_SET

Emoji icon set

FOAM_REACT_BEFORE_SPREAD

Chemicals in the foam will react when the foam first reaches a tile.

FOAM_REACT_DURING_SPREAD

Chemicals in the foam will react while the foam is still processing.

FOAM_REACT_NEVER

The chemicals in the foam (if any) will never react.

FOAM_REACT_ON_DISSIPATE

Chemicals in the foam will only react when the foam dissipates.

GERM_LEVEL_AMBIENT

GERMS AND INFECTIONS

GREYSCALE_COLOR_REPLACE

Pure Black and white colorblindness. Every species except Vulpkanins and Tajarans will have this.

LAVALAND_TENDRIL_COLLAPSE_RANGE

The radius of the chasm created by killed tendrils.

LOG_MAZE_PROGRESS

I dont recommend touching these map generator defines unless you know what you're doing with maze generators.

MACH_CENTER

A define for the center of the coordinate map of big machinery

MAPTEXT

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

MUTE_DEADCHAT_DEMOCRACY_MESSAGES

Mutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy.

PARALLAX_DELAY_DEFAULT

About 0.05 Seconds of delay

PINPOINTER_MODE_DET

Detective's mode on pinpointers

PROTANOPIA_COLOR_REPLACE

Red colorblindness. Vulpkanins/Wolpins have this.

RANGE_EDGE_TURFS

Returns the turfs on the edge of a square with CENTER in the middle and with the given RADIUS. If used near the edge of the map, will still work fine.

REFLECTABILITY_NEVER

Projectile reflectability defines

REGION_ALL

Access Region Codes

RESTRICT_TYPE

A helper used by restrict_file_types.py to identify types to restrict in a file. Not used by byond at all.

SLEEP_CHECK_QDEL

Sleep check QDEL. Like sleep check death, but checks deleting. Good for non mobs.

TECH_MATERIAL

Defines for hidden organ techs

TRITANOPIA_COLOR_REPLACE

Yellow-Blue colorblindness. Tajarans/Farwas have this.

UNTIL

Waits at a line of code until X is true

VOTE_RESULT_TYPE_MAJORITY

The different kinds of voting

get_area

Grabs the area of a supplied object. Passing an area in to this will result in an error

text_ref

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

\ No newline at end of file diff --git a/code/__DEFINES/mob_defines.html b/code/__DEFINES/mob_defines.html new file mode 100644 index 00000000000..d379b4cb7f8 --- /dev/null +++ b/code/__DEFINES/mob_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/mob_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/mob_defines.dm

ORGAN_BROKENORGAN DEFINES
ORGAN_HAZARDOUSAn organ that is ostensibly dangerous when inside a body
STANDING_UPMob is standing up, usually associated with lying_angle value of 0.
LYING_DOWNMob is lying down, usually associated with lying_angle values of 90 or 270.
PIXEL_Y_OFFSET_LYINGHow much a mob's sprite should be moved when they're lying down
REAGENTS_METABOLISMREAGENT STUFF
SHOCK_NOGLOVESFlags used by the flags parameter of electrocute act. +Makes it so that the shock doesn't take gloves into account.
SHOCK_TESLAUsed when the shock is from a tesla bolt.
SHOCK_ILLUSIONUsed when an illusion shocks something. Makes the shock deal stamina damage and not trigger certain secondary effects.
SHOCK_NOSTUNThe shock doesn't stun.
MAX_GOLD_CORE_MOBSMax amount of living Xenobio mobs allowed at any given time (excluding slimes).
COCOON_WEAVE_DELAYNian and Nian Worme cocoon do_after delay, in seconds.
COCOON_EMERGE_DELAYNian and Nian worme delay after they emerge from their cocoon, in seconds.
FLYSWATTER_DAMAGE_MULTIPLIERNian and nian worme fly swatter damage multiplier, X + 1 => Total multiplier. (Ex. Value of 9 => 10x dmg)
EXAMINE_MORE_WINDOWIf you examine the same atom twice in this timeframe, we call examine_more() instead of examine()
NPC_DEFAULT_MIN_TEMPDefault minimum body temperature mobs can exist in before taking damage
NPC_DEFAULT_MAX_TEMPDefault maximum body temperature mobs can exist in before taking damage

Define Details

COCOON_EMERGE_DELAY

Nian and Nian worme delay after they emerge from their cocoon, in seconds.

COCOON_WEAVE_DELAY

Nian and Nian Worme cocoon do_after delay, in seconds.

EXAMINE_MORE_WINDOW

If you examine the same atom twice in this timeframe, we call examine_more() instead of examine()

FLYSWATTER_DAMAGE_MULTIPLIER

Nian and nian worme fly swatter damage multiplier, X + 1 => Total multiplier. (Ex. Value of 9 => 10x dmg)

LYING_DOWN

Mob is lying down, usually associated with lying_angle values of 90 or 270.

MAX_GOLD_CORE_MOBS

Max amount of living Xenobio mobs allowed at any given time (excluding slimes).

NPC_DEFAULT_MAX_TEMP

Default maximum body temperature mobs can exist in before taking damage

NPC_DEFAULT_MIN_TEMP

Default minimum body temperature mobs can exist in before taking damage

ORGAN_BROKEN

ORGAN DEFINES

ORGAN_HAZARDOUS

An organ that is ostensibly dangerous when inside a body

PIXEL_Y_OFFSET_LYING

How much a mob's sprite should be moved when they're lying down

REAGENTS_METABOLISM

REAGENT STUFF

SHOCK_ILLUSION

Used when an illusion shocks something. Makes the shock deal stamina damage and not trigger certain secondary effects.

SHOCK_NOGLOVES

Flags used by the flags parameter of electrocute act. +Makes it so that the shock doesn't take gloves into account.

SHOCK_NOSTUN

The shock doesn't stun.

SHOCK_TESLA

Used when the shock is from a tesla bolt.

STANDING_UP

Mob is standing up, usually associated with lying_angle value of 0.

\ No newline at end of file diff --git a/code/__DEFINES/mod.html b/code/__DEFINES/mod.html new file mode 100644 index 00000000000..0eb7737e5fd --- /dev/null +++ b/code/__DEFINES/mod.html @@ -0,0 +1 @@ +code/__DEFINES/mod.dm - Space Station 13
Space Station 13 - Modules - TypesDefine 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.
MODULE_ALLOW_INCAPACITATEDThis module can be used while incapacitated
MODULE_ALLOW_INACTIVEThis module can be used while the suit is off

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_ALLOW_INACTIVE

This module can be used while the suit is off

MODULE_ALLOW_INCAPACITATED

This module can be used while incapacitated

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

\ No newline at end of file diff --git a/code/__DEFINES/monkey_defines.html b/code/__DEFINES/monkey_defines.html new file mode 100644 index 00000000000..93dc86c4810 --- /dev/null +++ b/code/__DEFINES/monkey_defines.html @@ -0,0 +1 @@ +code/__DEFINES/monkey_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/monkey_defines.dm

MONKEY_FLEE_HEALTHbelow this health value the monkey starts to flee from enemies
MONKEY_ENEMY_VISIONhow close an enemy must be to trigger aggression
MONKEY_FLEE_VISIONhow close an enemy must be before it triggers flee
MONKEY_ITEM_SNATCH_DELAYHow long does it take the item to be taken from a mobs hand
MONKEY_CUFF_RETALIATION_PROBProbability monkey will aggro when cuffed
MONKEY_SYRINGE_RETALIATION_PROBProbability monkey will aggro when syringed
MONKEY_PULL_AGGRO_PROBprobability that monkey aggro against the mob pulling it
MONKEY_SHENANIGAN_PROBprobability that monkey will get into mischief, i.e. finding/stealing items
MONKEY_ATTACK_DISARM_PROBprobability that monkey will disarm an armed attacker
MONKEY_RECRUIT_PROBprobability that monkey will get recruited when friend is attacked
MONKEY_RETALIATE_PROBprobability for the monkey to aggro when attacked
MONKEY_HATRED_AMOUNTamount of aggro to add to an enemy when they attack user
MONKEY_RECRUIT_HATED_AMOUNTamount of aggro to add to an enemy when a monkey is recruited
MONKEY_HATRED_REDUCTION_PROBprobability of reducing aggro by one when the monkey attacks
MONKEY_RECRUIT_COOLDOWNMonkey recruit cooldown
MONKEY_BATTLE_CRY_COOLDOWNCooldown on screeching

Define Details

MONKEY_ATTACK_DISARM_PROB

probability that monkey will disarm an armed attacker

MONKEY_BATTLE_CRY_COOLDOWN

Cooldown on screeching

MONKEY_CUFF_RETALIATION_PROB

Probability monkey will aggro when cuffed

MONKEY_ENEMY_VISION

how close an enemy must be to trigger aggression

MONKEY_FLEE_HEALTH

below this health value the monkey starts to flee from enemies

MONKEY_FLEE_VISION

how close an enemy must be before it triggers flee

MONKEY_HATRED_AMOUNT

amount of aggro to add to an enemy when they attack user

MONKEY_HATRED_REDUCTION_PROB

probability of reducing aggro by one when the monkey attacks

MONKEY_ITEM_SNATCH_DELAY

How long does it take the item to be taken from a mobs hand

MONKEY_PULL_AGGRO_PROB

probability that monkey aggro against the mob pulling it

MONKEY_RECRUIT_COOLDOWN

Monkey recruit cooldown

MONKEY_RECRUIT_HATED_AMOUNT

amount of aggro to add to an enemy when a monkey is recruited

MONKEY_RECRUIT_PROB

probability that monkey will get recruited when friend is attacked

MONKEY_RETALIATE_PROB

probability for the monkey to aggro when attacked

MONKEY_SHENANIGAN_PROB

probability that monkey will get into mischief, i.e. finding/stealing items

MONKEY_SYRINGE_RETALIATION_PROB

Probability monkey will aggro when syringed

\ No newline at end of file diff --git a/code/__DEFINES/movement_defines.html b/code/__DEFINES/movement_defines.html new file mode 100644 index 00000000000..f18514c9803 --- /dev/null +++ b/code/__DEFINES/movement_defines.html @@ -0,0 +1,5 @@ +code/__DEFINES/movement_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/movement_defines.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.
MOVEMENT_DEFAULT_PRIORITYStandard, go lower then this if you want to override, higher otherwise
MOVEMENT_SPACE_PRIORITYVery few things should override this
MOVEMENT_ABOVE_SPACE_PRIORITYHigher then the heavens
MOVEMENT_LOOP_START_FASTShould the loop act immediately following its addition?
MOVEMENT_LOOP_IGNORE_PRIORITYDo we not use the priority system?
MOVEMENT_LOOP_IGNORE_GLIDEShould we override the loop's glide?
MOVEMENT_LOOP_NO_DIR_UPDATEShould we not update our movables dir on move?
MOVEMENT_LOOP_NO_MOMENTUM_CHANGEControls how the loop will set momentum_change in its Move call.
MOVEMENT_LOOP_FORCE_MOVEShould we forceMove instead of Move?
MOVELOOP_STATUS_PAUSEDHas the loop been paused, soon to be resumed?
MOVELOOP_STATUS_RUNNINGIs the loop running? (Is true even when paused)
MOVELOOP_STATUS_QUEUEDIs the loop queued in a subsystem?
CHECK_MOVE_LOOP_FLAGSReturns a bitfield containing flags both present in flags arg and the processing_move_loop_flags move_packet variable. +Has no use outside of procs called within the movement proc chain.
MOVELOOP_FAILUREReturn values for moveloop Move()
SET_ACTIVE_MOVEMENTThe arguments of this macro correspond directly to the argument order of /atom/movable/proc/Moved
RESOLVE_ACTIVE_MOVEMENTFinish any active movements

Define Details

CHECK_MOVE_LOOP_FLAGS

Returns a bitfield containing flags both present in flags arg and the processing_move_loop_flags move_packet variable. +Has no use outside of procs called within the movement proc chain.

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.

MOVELOOP_FAILURE

Return values for moveloop Move()

MOVELOOP_STATUS_PAUSED

Has the loop been paused, soon to be resumed?

MOVELOOP_STATUS_QUEUED

Is the loop queued in a subsystem?

MOVELOOP_STATUS_RUNNING

Is the loop running? (Is true even when paused)

MOVEMENT_ABOVE_SPACE_PRIORITY

Higher then the heavens

MOVEMENT_DEFAULT_PRIORITY

Standard, go lower then this if you want to override, higher otherwise

MOVEMENT_LOOP_FORCE_MOVE

Should we forceMove instead of Move?

MOVEMENT_LOOP_IGNORE_GLIDE

Should we override the loop's glide?

MOVEMENT_LOOP_IGNORE_PRIORITY

Do we not use the priority system?

MOVEMENT_LOOP_NO_DIR_UPDATE

Should we not update our movables dir on move?

MOVEMENT_LOOP_NO_MOMENTUM_CHANGE

Controls how the loop will set momentum_change in its Move call.

MOVEMENT_LOOP_START_FAST

Should the loop act immediately following its addition?

MOVEMENT_SPACE_PRIORITY

Very few things should override this

RESOLVE_ACTIVE_MOVEMENT

Finish any active movements

SET_ACTIVE_MOVEMENT

The arguments of this macro correspond directly to the argument order of /atom/movable/proc/Moved

\ No newline at end of file diff --git a/code/__DEFINES/newscaster_defines.html b/code/__DEFINES/newscaster_defines.html new file mode 100644 index 00000000000..96a0c749565 --- /dev/null +++ b/code/__DEFINES/newscaster_defines.html @@ -0,0 +1 @@ +code/__DEFINES/newscaster_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/newscaster_defines.dm

NEWSCASTER_HEADLINESHeadlines screen index.
NEWSCASTER_JOBSAvailable Jobs screen index.
NEWSCASTER_CHANNELView Channel screen index.
NEWSCASTER_CENSOR_AUTHORCensor author name.
NEWSCASTER_CENSOR_STORYCensor story title, body and image.

Define Details

NEWSCASTER_CENSOR_AUTHOR

Censor author name.

NEWSCASTER_CENSOR_STORY

Censor story title, body and image.

NEWSCASTER_CHANNEL

View Channel screen index.

NEWSCASTER_HEADLINES

Headlines screen index.

NEWSCASTER_JOBS

Available Jobs screen index.

\ No newline at end of file diff --git a/code/__DEFINES/path_defines.html b/code/__DEFINES/path_defines.html new file mode 100644 index 00000000000..eb96d4063a4 --- /dev/null +++ b/code/__DEFINES/path_defines.html @@ -0,0 +1,5 @@ +code/__DEFINES/path_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/path_defines.dm

CANPATHFINDPASS_DENSITYIf set, we make the assumption that CanPathfindPass() will NEVER return FALSE unless density is true
CANPATHFINDPASS_ALWAYS_PROCIf this is set, we bypass density checks and always call the proc
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. +If you really want to optimize things, optimize this, cuz this gets called a lot. +We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance

Define Details

CANPATHFINDPASS_ALWAYS_PROC

If this is set, we bypass density checks and always call the proc

CANPATHFINDPASS_DENSITY

If set, we make the assumption that CanPathfindPass() will NEVER return FALSE unless density is true

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. +If you really want to optimize things, optimize this, cuz this gets called a lot. +We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance

\ No newline at end of file diff --git a/code/__DEFINES/power_defines.html b/code/__DEFINES/power_defines.html new file mode 100644 index 00000000000..d337e956e01 --- /dev/null +++ b/code/__DEFINES/power_defines.html @@ -0,0 +1 @@ +code/__DEFINES/power_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/power_defines.dm

PW_CHANNEL_EQUIPMENTPower Channel for equipment power users
PW_CHANNEL_LIGHTINGPower chanel for lighting power users
PW_CHANNEL_ENVIRONMENTPower channel for environmental power users
PW_ALWAYS_UNPOWEREDLocal powernet in this area will never be powered, even if its recieving power
PW_ALWAYS_POWEREDLocal powernet in this area will always have power even if its not recieving power
MACHINE_FLICKER_CHANCEroughly 1/2000 chance of a machine flickering on any given tick. That means in a two hour round each machine will flicker on average a little less than two times.
BROKENMachine is broken
NOPOWERMachine is not recieving any power from the local powernet
MAINTmachine is currently under maintenance
EMPEDMachine is currently affected by EMP pulse
NO_POWER_USEThis machine is not currently consuming any power passively
IDLE_POWER_USEThis machine is consuming its idle power amount passively
ACTIVE_POWER_USEThis machine is consuming its active power amount passively
APC_NOT_CHARGINGAPC is not recieving power
APC_IS_CHARGINGAPC is currently recieving power and storing it
APC_FULLY_CHARGEDAPC battery is at 100%
WATT_TICK_TO_JOULEConversion ratio from Watt over a machine process tick time to Joules

Define Details

ACTIVE_POWER_USE

This machine is consuming its active power amount passively

APC_FULLY_CHARGED

APC battery is at 100%

APC_IS_CHARGING

APC is currently recieving power and storing it

APC_NOT_CHARGING

APC is not recieving power

BROKEN

Machine is broken

EMPED

Machine is currently affected by EMP pulse

IDLE_POWER_USE

This machine is consuming its idle power amount passively

MACHINE_FLICKER_CHANCE

roughly 1/2000 chance of a machine flickering on any given tick. That means in a two hour round each machine will flicker on average a little less than two times.

MAINT

machine is currently under maintenance

NOPOWER

Machine is not recieving any power from the local powernet

NO_POWER_USE

This machine is not currently consuming any power passively

PW_ALWAYS_POWERED

Local powernet in this area will always have power even if its not recieving power

PW_ALWAYS_UNPOWERED

Local powernet in this area will never be powered, even if its recieving power

PW_CHANNEL_ENVIRONMENT

Power channel for environmental power users

PW_CHANNEL_EQUIPMENT

Power Channel for equipment power users

PW_CHANNEL_LIGHTING

Power chanel for lighting power users

WATT_TICK_TO_JOULE

Conversion ratio from Watt over a machine process tick time to Joules

\ No newline at end of file diff --git a/code/__DEFINES/preferences_defines.html b/code/__DEFINES/preferences_defines.html new file mode 100644 index 00000000000..f79b97b4419 --- /dev/null +++ b/code/__DEFINES/preferences_defines.html @@ -0,0 +1 @@ +code/__DEFINES/preferences_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/preferences_defines.dm

PREFTOGGLE_SPECIALSpecial toggles, stuff that just overrides set_toggles entirely
PREFTOGGLE_SOUNDInteracts with the sound bitflag
PREFTOGGLE_LIGHTInteracts with the light bitflag
PREFTOGGLE_TOGGLE1Interacts with the toggles bitflag
PREFTOGGLE_TOGGLE2Interacts with the toggles2 bitflag
PREFTOGGLE_TOGGLE3Interacts with the toggles3 bitflag
_2FA_DISABLEDClient has 2FA disabled
_2FA_ENABLED_IPClient will be prompted for 2FA on IP changes
_2FA_ENABLED_ALWAYSClient will be prompted for 2FA always

Define Details

PREFTOGGLE_LIGHT

Interacts with the light bitflag

PREFTOGGLE_SOUND

Interacts with the sound bitflag

PREFTOGGLE_SPECIAL

Special toggles, stuff that just overrides set_toggles entirely

PREFTOGGLE_TOGGLE1

Interacts with the toggles bitflag

PREFTOGGLE_TOGGLE2

Interacts with the toggles2 bitflag

PREFTOGGLE_TOGGLE3

Interacts with the toggles3 bitflag

_2FA_DISABLED

Client has 2FA disabled

_2FA_ENABLED_ALWAYS

Client will be prompted for 2FA always

_2FA_ENABLED_IP

Client will be prompted for 2FA on IP changes

\ No newline at end of file diff --git a/code/__DEFINES/procpath.html b/code/__DEFINES/procpath.html new file mode 100644 index 00000000000..67880f9fd73 --- /dev/null +++ b/code/__DEFINES/procpath.html @@ -0,0 +1 @@ +code/__DEFINES/procpath.dm - Space Station 13
Space Station 13 - Modules - Types

code/__DEFINES/procpath.dm

/procpathRepresents a proc or verb path.
\ No newline at end of file diff --git a/code/__DEFINES/qdel_defines.html b/code/__DEFINES/qdel_defines.html new file mode 100644 index 00000000000..a4fb73891ab --- /dev/null +++ b/code/__DEFINES/qdel_defines.html @@ -0,0 +1 @@ +code/__DEFINES/qdel_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/qdel_defines.dm

GC_QUEUE_FILTERshort queue to filter out quick gc successes so they don't hang around in the main queue for 5 minutes
GC_QUEUE_CHECKmain queue that waits 5 minutes because thats the longest byond can hold a reference to our shit.
GC_QUEUE_HARDDELETEshort queue for things that hard delete instead of going thru the gc subsystem, this is purely so if they can softdelete, they will soft delete rather then wasting time with a hard delete.
GC_QUEUE_COUNTNumber of queues, used for allocating the nested lists. Don't forget to increase this if you add a new queue stage
GC_QUEUE_ITEM_QUEUE_TIMETime this item entered the queue
GC_QUEUE_ITEM_REFRef to the item
GC_QUEUE_ITEM_GCD_DESTROYEDItem's gc_destroyed var value. Used to detect ref reuse.
GC_QUEUE_ITEM_INDEX_COUNTNumber of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index

Define Details

GC_QUEUE_CHECK

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

GC_QUEUE_COUNT

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

GC_QUEUE_FILTER

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

GC_QUEUE_HARDDELETE

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

GC_QUEUE_ITEM_GCD_DESTROYED

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

GC_QUEUE_ITEM_INDEX_COUNT

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

GC_QUEUE_ITEM_QUEUE_TIME

Time this item entered the queue

GC_QUEUE_ITEM_REF

Ref to the item

\ No newline at end of file diff --git a/code/__DEFINES/radiation_defines.html b/code/__DEFINES/radiation_defines.html new file mode 100644 index 00000000000..2d046c01863 --- /dev/null +++ b/code/__DEFINES/radiation_defines.html @@ -0,0 +1 @@ +code/__DEFINES/radiation_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/radiation_defines.dm

RAD_SOURCE_WEIGHTThe portion of a radiation wave that acts on the source tile.

Define Details

RAD_SOURCE_WEIGHT

The portion of a radiation wave that acts on the source tile.

\ No newline at end of file diff --git a/code/__DEFINES/reagents_defines.html b/code/__DEFINES/reagents_defines.html new file mode 100644 index 00000000000..845b9be6652 --- /dev/null +++ b/code/__DEFINES/reagents_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/reagents_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/reagents_defines.dm

UNHUSK_DAMAGE_THRESHOLDHealth threshold for synthflesh and rezadone to unhusk someone
SYNTHFLESH_UNHUSK_AMOUNTAmount of synthflesh required to unhusk someone
SYRINGE_DRAWSyringe mob interaction modes
BLOOD_TYPE_FAKE_BLOODLike O- blood but doesn't contribute to blood_volume or vampire nutrition
REAGENT_GOAL_SKIPUsed for secondary goals. +TOO easy, not accepted for variety goals.
REAGENT_GOAL_EASYEasy reagent, ask for a lot for single goals.
REAGENT_GOAL_NORMALNormal reagent, ask for a middling amount for single goals.
REAGENT_GOAL_HARDHard reagent, ask for a little for single goals.
REAGENT_GOAL_EXCESSIVETOO hard, accepted for variety goals, but never used for single goals.

Define Details

BLOOD_TYPE_FAKE_BLOOD

Like O- blood but doesn't contribute to blood_volume or vampire nutrition

REAGENT_GOAL_EASY

Easy reagent, ask for a lot for single goals.

REAGENT_GOAL_EXCESSIVE

TOO hard, accepted for variety goals, but never used for single goals.

REAGENT_GOAL_HARD

Hard reagent, ask for a little for single goals.

REAGENT_GOAL_NORMAL

Normal reagent, ask for a middling amount for single goals.

REAGENT_GOAL_SKIP

Used for secondary goals. +TOO easy, not accepted for variety goals.

SYNTHFLESH_UNHUSK_AMOUNT

Amount of synthflesh required to unhusk someone

SYRINGE_DRAW

Syringe mob interaction modes

UNHUSK_DAMAGE_THRESHOLD

Health threshold for synthflesh and rezadone to unhusk someone

\ No newline at end of file diff --git a/code/__DEFINES/regex.html b/code/__DEFINES/regex.html new file mode 100644 index 00000000000..a8897e713fc --- /dev/null +++ b/code/__DEFINES/regex.html @@ -0,0 +1 @@ +code/__DEFINES/regex.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/regex.dm

REGEX_REPLACE_HANDLERUse this for every proc passed in as second argument in regex.Replace. regex.Replace does not allow calling procs by name but as of 515 using proc refs will always call the top level proc instead of overrides

Define Details

REGEX_REPLACE_HANDLER

Use this for every proc passed in as second argument in regex.Replace. regex.Replace does not allow calling procs by name but as of 515 using proc refs will always call the top level proc instead of overrides

\ No newline at end of file diff --git a/code/__DEFINES/rust.html b/code/__DEFINES/rust.html new file mode 100644 index 00000000000..4a217ab70ad --- /dev/null +++ b/code/__DEFINES/rust.html @@ -0,0 +1 @@ +code/__DEFINES/rust.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/rust.dm

/proc/byondapi_stack_traceExists by default in 516, but needs to be defined for 515 or byondapi-rs doesn't like it.
/proc/rustlibs_dbp_generateThis proc generates a grid of perlin-like noise
/proc/rustlibs_create_toast(Windows only) Triggers a desktop notification with the specified title and body
MILLA_TILE_SIZEThe number of values per tile.
MILLA_INTERESTING_TILE_SIZEThe number of values per interesting tile.
MILLA_INTERESTING_REASON_DISPLAYInteresting because it needs a display update.
MILLA_INTERESTING_REASON_HOTInteresting because it's hot enough to start a fire. Excludes normal-temperature Lavaland tiles without an active fire.
MILLA_INTERESTING_REASON_WINDInteresting because it has wind that can push stuff around.

Define Details

MILLA_INTERESTING_REASON_DISPLAY

Interesting because it needs a display update.

MILLA_INTERESTING_REASON_HOT

Interesting because it's hot enough to start a fire. Excludes normal-temperature Lavaland tiles without an active fire.

MILLA_INTERESTING_REASON_WIND

Interesting because it has wind that can push stuff around.

MILLA_INTERESTING_TILE_SIZE

The number of values per interesting tile.

MILLA_TILE_SIZE

The number of values per tile.

\ No newline at end of file diff --git a/code/__DEFINES/sight.html b/code/__DEFINES/sight.html new file mode 100644 index 00000000000..7d3490bf1b7 --- /dev/null +++ b/code/__DEFINES/sight.html @@ -0,0 +1 @@ +code/__DEFINES/sight.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/sight.dm

INVISIBILITY_HIGHOnly observers can see this
SEE_INVISIBLE_OBSERVER_NO_OBSERVERSObserver's vision without ghost vision
INVISIBILITY_OBSERVERObserver's invisibility
SEE_INVISIBLE_OBSERVERObserver's vision with ghost vision

Define Details

INVISIBILITY_HIGH

Only observers can see this

INVISIBILITY_OBSERVER

Observer's invisibility

SEE_INVISIBLE_OBSERVER

Observer's vision with ghost vision

SEE_INVISIBLE_OBSERVER_NO_OBSERVERS

Observer's vision without ghost vision

\ No newline at end of file diff --git a/code/__DEFINES/silicon_defines.html b/code/__DEFINES/silicon_defines.html new file mode 100644 index 00000000000..e6e7c8a051a --- /dev/null +++ b/code/__DEFINES/silicon_defines.html @@ -0,0 +1 @@ +code/__DEFINES/silicon_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/silicon_defines.dm

CYBORG_HUD_LOCATIONSThese are the screen locations of a cyborg's modules 1, 2, and 3 in that order.

Define Details

CYBORG_HUD_LOCATIONS

These are the screen locations of a cyborg's modules 1, 2, and 3 in that order.

\ No newline at end of file diff --git a/code/__DEFINES/smith_defines.html b/code/__DEFINES/smith_defines.html new file mode 100644 index 00000000000..8cf9ddfb742 --- /dev/null +++ b/code/__DEFINES/smith_defines.html @@ -0,0 +1 @@ +code/__DEFINES/smith_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/smith_defines.dm

SMITH_GOAL_EASYLow quality or easy materials
SMITH_GOAL_MEDIUMModerate quality or uncommon materials
SMITH_GOAL_HARDDifficult quality or rare materials

Define Details

SMITH_GOAL_EASY

Low quality or easy materials

SMITH_GOAL_HARD

Difficult quality or rare materials

SMITH_GOAL_MEDIUM

Moderate quality or uncommon materials

\ No newline at end of file diff --git a/code/__DEFINES/sound_defines.html b/code/__DEFINES/sound_defines.html new file mode 100644 index 00000000000..9f16328c4b2 --- /dev/null +++ b/code/__DEFINES/sound_defines.html @@ -0,0 +1 @@ +code/__DEFINES/sound_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/sound_defines.dm

SOUND_RANGEDefault range of a sound.
SOUND_RANGE_SETEasy-to-math sound range for simpler coding with specific variables. Insert the exact range you wish the sound to be heard from.
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

Define Details

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_FALLOFF_DISTANCE

Percentage of sound's range where no falloff is applied

SOUND_FALLOFF_EXPONENT

The default exponent of sound falloff

SOUND_RANGE

Default range of a sound.

SOUND_RANGE_SET

Easy-to-math sound range for simpler coding with specific variables. Insert the exact range you wish the sound to be heard from.

\ No newline at end of file diff --git a/code/__DEFINES/spatial_gridmap_defines.html b/code/__DEFINES/spatial_gridmap_defines.html new file mode 100644 index 00000000000..cc105563111 --- /dev/null +++ b/code/__DEFINES/spatial_gridmap_defines.html @@ -0,0 +1,3 @@ +code/__DEFINES/spatial_gridmap_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/spatial_gridmap_defines.dm

SPATIAL_GRID_CELLSIZEeach cell in a spatial_grid is this many turfs in length and width (with world.max(x or y) being 255, 15 of these fit on each side of a z level)
GET_SPATIAL_INDEXTakes a coordinate, and spits out the spatial grid index (x or y) it's inside
GRID_INDEX_TO_COORDSchanges the cell_(x or y) vars on /datum/spatial_grid_cell to the x or y coordinate on the map for the LOWER LEFT CORNER of the grid cell. +index is from 1 to SPATIAL_GRID_CELLS_PER_SIDE
SPATIAL_GRID_CELLS_PER_SIDEnumber of grid cells per x or y side of all z levels. pass in world.maxx or world.maxy
SPATIAL_GRID_CONTENTS_TYPE_HEARINGeverything that is hearing sensitive is stored in this channel
SPATIAL_GRID_CONTENTS_TYPE_CLIENTSevery movable that has a client in it is stored in this channel
SPATIAL_GRID_CONTENTS_TYPE_ATMOSall atmos machines are stored in this channel (I'm sorry kyler)
HAS_SPATIAL_GRID_CONTENTSwhether movable is itself or containing something which should be in one of the spatial grid channels.
GRID_CELL_REMOVE_ALLremove from every list

Define Details

GET_SPATIAL_INDEX

Takes a coordinate, and spits out the spatial grid index (x or y) it's inside

GRID_CELL_REMOVE_ALL

remove from every list

GRID_INDEX_TO_COORDS

changes the cell_(x or y) vars on /datum/spatial_grid_cell to the x or y coordinate on the map for the LOWER LEFT CORNER of the grid cell. +index is from 1 to SPATIAL_GRID_CELLS_PER_SIDE

HAS_SPATIAL_GRID_CONTENTS

whether movable is itself or containing something which should be in one of the spatial grid channels.

SPATIAL_GRID_CELLSIZE

each cell in a spatial_grid is this many turfs in length and width (with world.max(x or y) being 255, 15 of these fit on each side of a z level)

SPATIAL_GRID_CELLS_PER_SIDE

number of grid cells per x or y side of all z levels. pass in world.maxx or world.maxy

SPATIAL_GRID_CONTENTS_TYPE_ATMOS

all atmos machines are stored in this channel (I'm sorry kyler)

SPATIAL_GRID_CONTENTS_TYPE_CLIENTS

every movable that has a client in it is stored in this channel

SPATIAL_GRID_CONTENTS_TYPE_HEARING

everything that is hearing sensitive is stored in this channel

\ No newline at end of file diff --git a/code/__DEFINES/station_defines.html b/code/__DEFINES/station_defines.html new file mode 100644 index 00000000000..4500791f01d --- /dev/null +++ b/code/__DEFINES/station_defines.html @@ -0,0 +1 @@ +code/__DEFINES/station_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/station_defines.dm

STATION_TRAIT_ABSTRACTFor traits that shouldn't be selected, like abstract types (wow)
STATION_TRAIT_PLANETARYOnly run on planet stations
STATION_TRAIT_SPACE_BOUNDOnly run on space stations
STATION_TRAIT_MAP_UNRESTRICTEDNot restricted by space or planet, can always just happen
FUTURE_STATION_TRAITS_FILEThe data file that future station traits forced by an admin are stored in

Define Details

FUTURE_STATION_TRAITS_FILE

The data file that future station traits forced by an admin are stored in

STATION_TRAIT_ABSTRACT

For traits that shouldn't be selected, like abstract types (wow)

STATION_TRAIT_MAP_UNRESTRICTED

Not restricted by space or planet, can always just happen

STATION_TRAIT_PLANETARY

Only run on planet stations

STATION_TRAIT_SPACE_BOUND

Only run on space stations

\ No newline at end of file diff --git a/code/__DEFINES/station_goals.html b/code/__DEFINES/station_goals.html new file mode 100644 index 00000000000..a49c9885691 --- /dev/null +++ b/code/__DEFINES/station_goals.html @@ -0,0 +1,5 @@ +code/__DEFINES/station_goals.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/station_goals.dm

REAGENT_GOAL_FORGIVENESSHow many units can be missing from a reagent and still count to the goal. +Prevents floationg point rounding from making you fail even though you +seemed to have sent enough.

Define Details

REAGENT_GOAL_FORGIVENESS

How many units can be missing from a reagent and still count to the goal. +Prevents floationg point rounding from making you fail even though you +seemed to have sent enough.

\ No newline at end of file diff --git a/code/__DEFINES/status_effects.html b/code/__DEFINES/status_effects.html new file mode 100644 index 00000000000..eb27a8ecc54 --- /dev/null +++ b/code/__DEFINES/status_effects.html @@ -0,0 +1 @@ +code/__DEFINES/status_effects.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/status_effects.dm

STATUS_EFFECT_FLESHMENDRapid burn/brute/oxy/blood healing from the cling ability
STATUS_EFFECT_BURNT_WINGSWhether a moth's wings are burnt
STATUS_EFFECT_COCOONEDIf a moth is in a cocoon
STATUS_EFFECT_OFFERING_ITEMStatus effect given when someone uses the Give Item command to offer an item to another player.
STATUS_EFFECT_FAKE_VIRUSgives you fluff messages for cough, sneeze, headache, etc but without an actual virus
STATUS_EFFECT_LWAPSCOPEThis status effect lets the user see the lwap dots.
STATUS_EFFECT_REVIVABLEThis status effect allows a mob to be revived with a defibrillator.
STATUS_EFFECT_TELEPORT_ROULETTECauses a random safe teleport every 2 seconds for a limited time
STATUS_EFFECT_HIVELORD_TRACKINGUse by hivelords to determine if they can attack yet.
STATUS_EFFECT_REMOVE_CUFFSStatus effects for different actions

Define Details

STATUS_EFFECT_BURNT_WINGS

Whether a moth's wings are burnt

STATUS_EFFECT_COCOONED

If a moth is in a cocoon

STATUS_EFFECT_FAKE_VIRUS

gives you fluff messages for cough, sneeze, headache, etc but without an actual virus

STATUS_EFFECT_FLESHMEND

Rapid burn/brute/oxy/blood healing from the cling ability

STATUS_EFFECT_HIVELORD_TRACKING

Use by hivelords to determine if they can attack yet.

STATUS_EFFECT_LWAPSCOPE

This status effect lets the user see the lwap dots.

STATUS_EFFECT_OFFERING_ITEM

Status effect given when someone uses the Give Item command to offer an item to another player.

STATUS_EFFECT_REMOVE_CUFFS

Status effects for different actions

STATUS_EFFECT_REVIVABLE

This status effect allows a mob to be revived with a defibrillator.

STATUS_EFFECT_TELEPORT_ROULETTE

Causes a random safe teleport every 2 seconds for a limited time

\ No newline at end of file diff --git a/code/__DEFINES/strippable_defines.html b/code/__DEFINES/strippable_defines.html new file mode 100644 index 00000000000..61ed55c6d4c --- /dev/null +++ b/code/__DEFINES/strippable_defines.html @@ -0,0 +1 @@ +code/__DEFINES/strippable_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/strippable_defines.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.

\ No newline at end of file diff --git a/code/__DEFINES/subsystems.html b/code/__DEFINES/subsystems.html new file mode 100644 index 00000000000..92b307c0fc8 --- /dev/null +++ b/code/__DEFINES/subsystems.html @@ -0,0 +1 @@ +code/__DEFINES/subsystems.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/subsystems.dm

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

Define Details

TIMER_DELETE_ME

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

\ No newline at end of file diff --git a/code/__DEFINES/surgery_defines.html b/code/__DEFINES/surgery_defines.html new file mode 100644 index 00000000000..292f211bb4d --- /dev/null +++ b/code/__DEFINES/surgery_defines.html @@ -0,0 +1,11 @@ +code/__DEFINES/surgery_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/surgery_defines.dm

SURGERY_BLOODSPREAD_NONEDefines for surgery and other stuff. +Don't splash any blood.
SURGERY_BLOODSPREAD_HANDSCover the surgeon's hands in blood.
SURGERY_BLOODSPREAD_FULLBODYCover the surgeon's body in blood.
SURGERY_INITIATOR_ORGANICAn initiator with this can start surgeries on organic organs. Make sure that anything that can be sharp gets this as well.
SURGERY_INITIATOR_ROBOTICAn initiator with this can start surgeries on robotic organs.
ORGAN_CLOSEDClosed up.
ORGAN_ORGANIC_OPENAn organic limb that's been opened, at least once.
ORGAN_ORGANIC_ENCASED_OPENAn organ that's encased, probably with bone, where that casing has been cut through.
ORGAN_ORGANIC_VIOLENT_OPENAn organ that has been violently opened, likely via damage.
ORGAN_SYNTHETIC_LOOSENEDSynthetic organ that's been unscrewed.
ORGAN_SYNTHETIC_OPENSynthetic organ that's had its panel opened.
SURGERY_BEGINSTEP_ABORTReturn this from begin_step() to abort the step and not try the surgery.
SURGERY_BEGINSTEP_SKIPReturn this from begin_step() to skip the current step entirely and proceed to the next one. +Use this if you would end up leaving someone in an invalid state.
SURGERY_STEP_INCOMPLETEThe surgery step was not completed for some reason, and the next action will again be on this step.
SURGERY_STEP_CONTINUEThe surgery step was completed, and the surgery should continue to the next step.
SURGERY_STEP_RETRY_ALWAYSThis step will automatically be retried without question as long as this is returned. +Be very cautious with this one! Make sure that any flow where this is used has an exit condition where something else will be returned. +Otherwise, the user will be stuck in a loop!
SURGERY_STEP_RETRYThis surgery step will be conditionally retried, so long as the surgery step's can_repeat() proc returns TRUE. +Otherwise, it'll behave just like SURGERY_STEP_INCOMPLETE.
SURGERY_INITIATE_CONTINUE_CHAINThe surgery initiation isn't even going to be started. If you're working with the attack chain, this is probably what you'll be using.
SURGERY_INITIATE_SUCCESSThe surgery initiaition was a success. We're advancing the current surgery.
SURGERY_INITIATE_FAILUREThe surgery initiation was interrupted, or for some reason never completed. We don't want to return FALSE to the attack chain, though.
SURGERY_INITIATE_INTERRUPTEDThe surgery never reached (or finished) the do_after. Go back to the state we were in before this even happened.

Define Details

ORGAN_CLOSED

Closed up.

ORGAN_ORGANIC_ENCASED_OPEN

An organ that's encased, probably with bone, where that casing has been cut through.

ORGAN_ORGANIC_OPEN

An organic limb that's been opened, at least once.

ORGAN_ORGANIC_VIOLENT_OPEN

An organ that has been violently opened, likely via damage.

ORGAN_SYNTHETIC_LOOSENED

Synthetic organ that's been unscrewed.

ORGAN_SYNTHETIC_OPEN

Synthetic organ that's had its panel opened.

SURGERY_BEGINSTEP_ABORT

Return this from begin_step() to abort the step and not try the surgery.

SURGERY_BEGINSTEP_SKIP

Return this from begin_step() to skip the current step entirely and proceed to the next one. +Use this if you would end up leaving someone in an invalid state.

SURGERY_BLOODSPREAD_FULLBODY

Cover the surgeon's body in blood.

SURGERY_BLOODSPREAD_HANDS

Cover the surgeon's hands in blood.

SURGERY_BLOODSPREAD_NONE

Defines for surgery and other stuff. +Don't splash any blood.

SURGERY_INITIATE_CONTINUE_CHAIN

The surgery initiation isn't even going to be started. If you're working with the attack chain, this is probably what you'll be using.

SURGERY_INITIATE_FAILURE

The surgery initiation was interrupted, or for some reason never completed. We don't want to return FALSE to the attack chain, though.

SURGERY_INITIATE_INTERRUPTED

The surgery never reached (or finished) the do_after. Go back to the state we were in before this even happened.

SURGERY_INITIATE_SUCCESS

The surgery initiaition was a success. We're advancing the current surgery.

SURGERY_INITIATOR_ORGANIC

An initiator with this can start surgeries on organic organs. Make sure that anything that can be sharp gets this as well.

SURGERY_INITIATOR_ROBOTIC

An initiator with this can start surgeries on robotic organs.

SURGERY_STEP_CONTINUE

The surgery step was completed, and the surgery should continue to the next step.

SURGERY_STEP_INCOMPLETE

The surgery step was not completed for some reason, and the next action will again be on this step.

SURGERY_STEP_RETRY

This surgery step will be conditionally retried, so long as the surgery step's can_repeat() proc returns TRUE. +Otherwise, it'll behave just like SURGERY_STEP_INCOMPLETE.

SURGERY_STEP_RETRY_ALWAYS

This step will automatically be retried without question as long as this is returned. +Be very cautious with this one! Make sure that any flow where this is used has an exit condition where something else will be returned. +Otherwise, the user will be stuck in a loop!

\ No newline at end of file diff --git a/code/__DEFINES/text_defines.html b/code/__DEFINES/text_defines.html new file mode 100644 index 00000000000..57c853e1574 --- /dev/null +++ b/code/__DEFINES/text_defines.html @@ -0,0 +1 @@ +code/__DEFINES/text_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/text_defines.dm

MAX_CHARACTERS_PER_BOOKPAGEMax Characters that can be on a single book page, this will give players an average of 5000 words worth of writing space (1000 per page)
SANITIZE_FILENAMERemoves characters incompatible with file names.

Define Details

MAX_CHARACTERS_PER_BOOKPAGE

Max Characters that can be on a single book page, this will give players an average of 5000 words worth of writing space (1000 per page)

SANITIZE_FILENAME

Removes characters incompatible with file names.

\ No newline at end of file diff --git a/code/__DEFINES/tg_cooldowns.html b/code/__DEFINES/tg_cooldowns.html new file mode 100644 index 00000000000..dad43f06cbf --- /dev/null +++ b/code/__DEFINES/tg_cooldowns.html @@ -0,0 +1 @@ +code/__DEFINES/tg_cooldowns.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/tg_cooldowns.dm

MOB_SHARED_COOLDOWN_1COOLDOWN SYSTEMS
TIMER_COOLDOWN_RUNNINGChecks if a timer based cooldown is NOT finished.
TIMER_COOLDOWN_FINISHEDChecks if a timer based cooldown is finished.
COOLDOWN_INCREMENTadds to existing cooldown timer if its started, otherwise starts anew

Define Details

COOLDOWN_INCREMENT

adds to existing cooldown timer if its started, otherwise starts anew

MOB_SHARED_COOLDOWN_1

COOLDOWN SYSTEMS

TIMER_COOLDOWN_FINISHED

Checks if a timer based cooldown is finished.

TIMER_COOLDOWN_RUNNING

Checks if a timer based cooldown is NOT finished.

\ No newline at end of file diff --git a/code/__DEFINES/tgs.html b/code/__DEFINES/tgs.html new file mode 100644 index 00000000000..a4af3423069 --- /dev/null +++ b/code/__DEFINES/tgs.html @@ -0,0 +1,3 @@ +code/__DEFINES/tgs.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/tgs.dm

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

Define Details

TGS_ENGINE_TYPE_BYOND

The Build Your Own Net Dream engine.

TGS_ENGINE_TYPE_OPENDREAM

The OpenDream engine.

TGS_EVENT_COMPILE_CANCELLED

When a compile is cancelled. No parameters.

TGS_EVENT_COMPILE_COMPLETE

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

TGS_EVENT_COMPILE_FAILURE

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

TGS_EVENT_COMPILE_START

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

TGS_EVENT_DEPLOYMENT_CLEANUP

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

TGS_EVENT_DEPLOYMENT_COMPLETE

When a deployment completes. No Parameters.

TGS_EVENT_ENGINE_ACTIVE_VERSION_CHANGE

When the active engine version changes. Parameters: (Nullable) Version string of the current engine, version string of the new engine.

TGS_EVENT_ENGINE_INSTALL_FAIL

When a engine install operation fails. Parameters: Error message

TGS_EVENT_ENGINE_INSTALL_START

Before a engine install operation begins. Parameters: Version string of the installing engine.

TGS_EVENT_HEALTH_CHECK

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

TGS_EVENT_INSTANCE_AUTO_UPDATE_START

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

TGS_EVENT_INSTANCE_RENAMED

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

TGS_EVENT_PORT_SWAP

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

TGS_EVENT_PRE_DREAM_MAKER

After CodeModifications are applied, before DreamMaker is run. Parameters: Game directory path, origin commit sha, version string of the used engine.

TGS_EVENT_REBOOT_MODE_CHANGE

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

TGS_EVENT_REPO_CHECKOUT

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

TGS_EVENT_REPO_FETCH

When the repository performs a fetch operation. No parameters.

TGS_EVENT_REPO_MERGE_CONFLICT

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

TGS_EVENT_REPO_MERGE_PULL_REQUEST

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

TGS_EVENT_REPO_PRE_SYNCHRONIZE

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

TGS_EVENT_REPO_RESET_ORIGIN

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

TGS_EVENT_REPO_SUBMODULE_UPDATE

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

TGS_EVENT_WATCHDOG_DETACH

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

TGS_EVENT_WATCHDOG_REATTACH

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

TGS_EVENT_WATCHDOG_SHUTDOWN

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

TGS_EVENT_WORLD_PRIME

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

TGS_REBOOT_MODE_NORMAL

The server will reboot normally.

TGS_REBOOT_MODE_RESTART

The watchdog will restart on reboot.

TGS_REBOOT_MODE_SHUTDOWN

The server will stop running on reboot.

TGS_SECURITY_SAFE

DreamDaemon Safe security level.

TGS_SECURITY_TRUSTED

DreamDaemon Trusted security level.

TGS_SECURITY_ULTRASAFE

DreamDaemon Ultrasafe security level.

TGS_TOPIC

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

TGS_VISIBILITY_INVISIBLE

DreamDaemon invisible visibility level.

TGS_VISIBILITY_PRIVATE

DreamDaemon private visibility level.

TGS_VISIBILITY_PUBLIC

DreamDaemon public visibility level.

\ No newline at end of file diff --git a/code/__DEFINES/tgui_defines.html b/code/__DEFINES/tgui_defines.html new file mode 100644 index 00000000000..db3c30d2946 --- /dev/null +++ b/code/__DEFINES/tgui_defines.html @@ -0,0 +1 @@ +code/__DEFINES/tgui_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/tgui_defines.dm

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

Define Details

TGUI_CREATE_MESSAGE

Creates a message packet for sending via output()

TGUI_PING_TIMEOUT

Maximum ping timeout allowed to detect zombie windows

TGUI_REFRESH_FULL_UPDATE_COOLDOWN

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

TGUI_WINDOW_CLOSED

Window does not exist

TGUI_WINDOW_HARD_LIMIT

Maximum number of open windows

TGUI_WINDOW_ID

Get a window id based on the provided pool index

TGUI_WINDOW_INDEX

Get a pool index of the provided window id

TGUI_WINDOW_LOADING

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

TGUI_WINDOW_READY

Window is free and ready to receive data

TGUI_WINDOW_SOFT_LIMIT

Maximum number of windows that can be suspended/reused

UI_CLOSE

UI Should close

UI_DISABLED

Red eye; disabled, does not update

UI_INTERACTIVE

Green eye; fully interactive

UI_UPDATE

Orange eye; updates but is not interactive

\ No newline at end of file diff --git a/code/__DEFINES/turfs.html b/code/__DEFINES/turfs.html new file mode 100644 index 00000000000..252d466a3ed --- /dev/null +++ b/code/__DEFINES/turfs.html @@ -0,0 +1 @@ +code/__DEFINES/turfs.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/turfs.dm

TURF_PATHING_PASS_DENSITYTurf will be passable if density is 0
TURF_PATHING_PASS_PROCTurf will be passable depending on /atom/proc/CanPathfindPass return value
TURF_PATHING_PASS_NOTurf is never passable
CORNER_BLOCK_OFFSETReturns a list of turfs similar to CORNER_BLOCK but with offsets
TURF_NEIGHBORSReturns a list of around us
MINERAL_PREVENT_DIGA mineral turf should not be changed when mined.
MINERAL_ALLOW_DIGA mineral turf should be dug out when mined.
CORNER_OUTLINEReturns an outline (neighboring turfs) of the given block
Z_TURFSReturns all turfs in a zlevel

Define Details

CORNER_BLOCK_OFFSET

Returns a list of turfs similar to CORNER_BLOCK but with offsets

CORNER_OUTLINE

Returns an outline (neighboring turfs) of the given block

MINERAL_ALLOW_DIG

A mineral turf should be dug out when mined.

MINERAL_PREVENT_DIG

A mineral turf should not be changed when mined.

TURF_NEIGHBORS

Returns a list of around us

TURF_PATHING_PASS_DENSITY

Turf will be passable if density is 0

TURF_PATHING_PASS_NO

Turf is never passable

TURF_PATHING_PASS_PROC

Turf will be passable depending on /atom/proc/CanPathfindPass return value

Z_TURFS

Returns all turfs in a zlevel

\ No newline at end of file diff --git a/code/__DEFINES/user_verb_defines.html b/code/__DEFINES/user_verb_defines.html new file mode 100644 index 00000000000..12703fc2c84 --- /dev/null +++ b/code/__DEFINES/user_verb_defines.html @@ -0,0 +1,13 @@ +code/__DEFINES/user_verb_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/user_verb_defines.dm

VERB_NO_DESCRIPTIONUse this to mark your verb as not having a description. Should ONLY be used if you are also hiding the verb!
_USER_VERBThis is the only macro you should use to define admin verbs. +It will define the verb and the verb holder for you. +Using it is very simple: +USER_VERB(verb_path, R_PERM, "Name", "Description", "Admin.Category", args...) +This sets up all of the above and also acts as syntatic sugar as a verb delcaration for the verb itself. +Note that the verb args have an injected client/user argument that is the user that called the verb. +Do not use usr in your verb; technically you can but I'll kill you.
USER_VERB_CUSTOM_EXIST_CHECKUsed to define a special check to determine if the admin verb should exist at all. Useful for verbs such as play sound which require configuration.
USER_VERB_VISIBILITYUsed to define the visibility flag of the verb. If the admin does not have this flag enabled they will not see the verb.
VERB_CATEGORY_HIDDENUsed for verbs you do not want to show up in the master verb panel.

Define Details

USER_VERB_CUSTOM_EXIST_CHECK

Used to define a special check to determine if the admin verb should exist at all. Useful for verbs such as play sound which require configuration.

USER_VERB_VISIBILITY

Used to define the visibility flag of the verb. If the admin does not have this flag enabled they will not see the verb.

VERB_CATEGORY_HIDDEN

Used for verbs you do not want to show up in the master verb panel.

VERB_NO_DESCRIPTION

Use this to mark your verb as not having a description. Should ONLY be used if you are also hiding the verb!

_USER_VERB

This is the only macro you should use to define admin verbs. +It will define the verb and the verb holder for you. +Using it is very simple: +USER_VERB(verb_path, R_PERM, "Name", "Description", "Admin.Category", args...) +This sets up all of the above and also acts as syntatic sugar as a verb delcaration for the verb itself. +Note that the verb args have an injected client/user argument that is the user that called the verb. +Do not use usr in your verb; technically you can but I'll kill you.

\ No newline at end of file diff --git a/code/__DEFINES/vehicle_defines.html b/code/__DEFINES/vehicle_defines.html new file mode 100644 index 00000000000..d87e89f91ca --- /dev/null +++ b/code/__DEFINES/vehicle_defines.html @@ -0,0 +1,11 @@ +code/__DEFINES/vehicle_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/vehicle_defines.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.
RIDER_NEEDS_ARMSDoes our vehicle require arms to operate? Also used for piggybacking on humans to reserve arms on the rider
RIDER_NEEDS_LEGSDo we need legs to ride this (checks against TRAIT_FLOORED)
UNBUCKLE_DISABLED_RIDERIf the rider is disabled or loses their needed limbs, do they fall off?
RIDER_CARBON_OR_SILICON_NO_LARGE_MOBSDo we need a carbon, a silicon, or a small mob, to ride the vehicle?
CAN_KIDNAPWill this car kidnap people by ramming into them?
RIDING_OFFSET_ALLThe vehicle being ridden requires pixel offsets for all directions
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
MOVEMENT_ADJUSTED_GLIDE_SIZESimilar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar

Define Details

CAN_KIDNAP

Will this car kidnap people by ramming into them?

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

FULL_MECHA_CONTROL

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

MOVEMENT_ADJUSTED_GLIDE_SIZE

Similar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar

RIDER_CARBON_OR_SILICON_NO_LARGE_MOBS

Do we need a carbon, a silicon, or a small mob, to ride the vehicle?

RIDER_NEEDS_ARMS

Does our vehicle require arms to operate? Also used for piggybacking on humans to reserve arms on the rider

RIDER_NEEDS_LEGS

Do we need legs to ride this (checks against TRAIT_FLOORED)

RIDING_OFFSET_ALL

The vehicle being ridden requires pixel offsets for all directions

UNBUCKLE_DISABLED_RIDER

If the rider is disabled or loses their needed limbs, do they fall off?

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.

\ No newline at end of file diff --git a/code/__DEFINES/verb_manager.html b/code/__DEFINES/verb_manager.html new file mode 100644 index 00000000000..74af1e2ab32 --- /dev/null +++ b/code/__DEFINES/verb_manager.html @@ -0,0 +1,23 @@ +code/__DEFINES/verb_manager.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/verb_manager.dm

VERB_OVERTIME_QUEUE_THRESHOLDverb queuing thresholds. remember that since verbs execute after SendMaps the player wont see the effects of the verbs on the game world +until SendMaps executes next tick, and then when that later update reaches them. thus most player input has a minimum latency of world.tick_lag + player ping. +however thats only for the visual effect of player input, when a verb processes the actual latency of game state changes or semantic latency is effectively 1/2 player ping, +unless that verb is queued for the next tick in which case its some number probably smaller than world.tick_lag. +so some verbs that represent player input are important enough that we only introduce semantic latency if we absolutely need to. +its for this reason why player clicks are handled in SSinput before even movement - semantic latency could cause someone to move out of range +when the verb finally processes but it was in range if the verb had processed immediately and overtimed. +queuing tick_usage threshold for verbs that are high enough priority that they only queue if the server is overtiming. +ONLY use for critical verbs
VERB_HIGH_PRIORITY_QUEUE_THRESHOLDqueuing tick_usage threshold for verbs that need lower latency more than most verbs.
VERB_DEFAULT_QUEUE_THRESHOLDdefault queuing tick_usage threshold for most verbs which can allow a small amount of latency to be processed in the next tick
TRY_QUEUE_VERBattempt to queue this verb process if the server is overloaded. evaluates to FALSE if queuing isnt necessary or if it failed. +_verification_args... are only necessary if the verb_manager subsystem youre using checks them in can_queue_verb() +if you put anything in _verification_args that ISNT explicitely put in the can_queue_verb() override of the subsystem youre using, +it will runtime.
QUEUE_OR_CALL_VERBqueue wrapper for TRY_QUEUE_VERB() when you want to call the proc if the server isnt overloaded enough to queue

Define Details

QUEUE_OR_CALL_VERB

queue wrapper for TRY_QUEUE_VERB() when you want to call the proc if the server isnt overloaded enough to queue

TRY_QUEUE_VERB

attempt to queue this verb process if the server is overloaded. evaluates to FALSE if queuing isnt necessary or if it failed. +_verification_args... are only necessary if the verb_manager subsystem youre using checks them in can_queue_verb() +if you put anything in _verification_args that ISNT explicitely put in the can_queue_verb() override of the subsystem youre using, +it will runtime.

VERB_DEFAULT_QUEUE_THRESHOLD

default queuing tick_usage threshold for most verbs which can allow a small amount of latency to be processed in the next tick

VERB_HIGH_PRIORITY_QUEUE_THRESHOLD

queuing tick_usage threshold for verbs that need lower latency more than most verbs.

VERB_OVERTIME_QUEUE_THRESHOLD

verb queuing thresholds. remember that since verbs execute after SendMaps the player wont see the effects of the verbs on the game world +until SendMaps executes next tick, and then when that later update reaches them. thus most player input has a minimum latency of world.tick_lag + player ping. +however thats only for the visual effect of player input, when a verb processes the actual latency of game state changes or semantic latency is effectively 1/2 player ping, +unless that verb is queued for the next tick in which case its some number probably smaller than world.tick_lag. +so some verbs that represent player input are important enough that we only introduce semantic latency if we absolutely need to. +its for this reason why player clicks are handled in SSinput before even movement - semantic latency could cause someone to move out of range +when the verb finally processes but it was in range if the verb had processed immediately and overtimed. +queuing tick_usage threshold for verbs that are high enough priority that they only queue if the server is overtiming. +ONLY use for critical verbs

\ No newline at end of file diff --git a/code/__DEFINES/zoom.html b/code/__DEFINES/zoom.html new file mode 100644 index 00000000000..25ba5c6f77f --- /dev/null +++ b/code/__DEFINES/zoom.html @@ -0,0 +1,3 @@ +code/__DEFINES/zoom.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/zoom.dm

ZOOM_METHOD_WIELDHow the scope component is toggled. +Wielding the object with both hands toggles the zoom. Requires the two-handed component to work.
ZOOM_METHOD_ITEM_ACTIONActivated by clicking an item action button specified by the item_action_type var.

Define Details

ZOOM_METHOD_ITEM_ACTION

Activated by clicking an item action button specified by the item_action_type var.

ZOOM_METHOD_WIELD

How the scope component is toggled. +Wielding the object with both hands toggles the zoom. Requires the two-handed component to work.

\ No newline at end of file diff --git a/code/__HELPERS/api.html b/code/__HELPERS/api.html new file mode 100644 index 00000000000..0171117bc8e --- /dev/null +++ b/code/__HELPERS/api.html @@ -0,0 +1 @@ +code/__HELPERS/api.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/api.dm

/proc/MakeAPICallInternal API Caller
\ No newline at end of file diff --git a/code/__HELPERS/atom_helpers.html b/code/__HELPERS/atom_helpers.html new file mode 100644 index 00000000000..c49605bd59d --- /dev/null +++ b/code/__HELPERS/atom_helpers.html @@ -0,0 +1,2 @@ +code/__HELPERS/atom_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/atom_helpers.dm

/proc/get_nested_locsReturns a list of all locations (except the area) the movable is within.
/datum/attack_infoA datum storing information about attacks an atom has received. +Only contains attacker name/ckey right now but could be expanded.
\ No newline at end of file diff --git a/code/__HELPERS/basic_ai.html b/code/__HELPERS/basic_ai.html new file mode 100644 index 00000000000..9267d5c715b --- /dev/null +++ b/code/__HELPERS/basic_ai.html @@ -0,0 +1 @@ +code/__HELPERS/basic_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/basic_ai.dm

/proc/IsEdiblereturns if something can be consumed, drink or food
/proc/GetBestWeaponReturns either the best weapon from the given choices or null if held weapons are better
\ No newline at end of file diff --git a/code/__HELPERS/bitflag_lists.html b/code/__HELPERS/bitflag_lists.html new file mode 100644 index 00000000000..d1d793d7bf3 --- /dev/null +++ b/code/__HELPERS/bitflag_lists.html @@ -0,0 +1,9 @@ +code/__HELPERS/bitflag_lists.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__HELPERS/bitflag_lists.dm

SET_BITFLAG_LISTSystem for storing bitflags past the 24 limit, making use of an associative list.

Define Details

SET_BITFLAG_LIST

System for storing bitflags past the 24 limit, making use of an associative list.

+

Macro converts a list of integers into an associative list of bitflag entries for quicker comparison. +Example: list(0, 4, 26, 32)) => list("0" = ( (1<<0) | (1<<4) ), "1" = ( (1<<2) | (1<<8) )) +Lists are cached into a global list of lists to avoid identical duplicates. +This system makes value comparisons faster than pairing every element of one list with every element of the other for evaluation.

+

Arguments:

+
\ No newline at end of file diff --git a/code/__HELPERS/cmp.html b/code/__HELPERS/cmp.html new file mode 100644 index 00000000000..6a17dbea373 --- /dev/null +++ b/code/__HELPERS/cmp.html @@ -0,0 +1 @@ +code/__HELPERS/cmp.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/cmp.dm

/proc/cmp_heretic_knowledgeOrders heretic knowledge by priority
\ No newline at end of file diff --git a/code/__HELPERS/files.html b/code/__HELPERS/files.html new file mode 100644 index 00000000000..6299552c5aa --- /dev/null +++ b/code/__HELPERS/files.html @@ -0,0 +1,2 @@ +code/__HELPERS/files.dm - Space Station 13
Space Station 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.
\ No newline at end of file diff --git a/code/__HELPERS/game.html b/code/__HELPERS/game.html new file mode 100644 index 00000000000..bdfde9cb9e9 --- /dev/null +++ b/code/__HELPERS/game.html @@ -0,0 +1 @@ +code/__HELPERS/game.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/game.dm

/proc/collect_nested_mobsRecursively loops through the contents of this atom looking for mobs, optionally requiring them to have a client.
/proc/get_active_player_countGet active players who are playing in the round
/proc/get_living_players_countGet living players who are playing in the round (no ghosts)
/proc/get_valid_vent_spawnsReturns a list of vents that can be used as a potential spawn if they meet the criteria set by the arguments
/proc/get_bbox_of_atomsGet a bounding box of a list of atoms.
/proc/check_behindChecks to see if atom/source is behind atom/target
\ No newline at end of file diff --git a/code/__HELPERS/global_lists.html b/code/__HELPERS/global_lists.html new file mode 100644 index 00000000000..38da8e27344 --- /dev/null +++ b/code/__HELPERS/global_lists.html @@ -0,0 +1 @@ +code/__HELPERS/global_lists.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/global_lists.dm

/proc/makeDatumRefListsInitial Building
/proc/init_reagent_listInitialises all of /datum/reagent into a list indexed by reagent id.
\ No newline at end of file diff --git a/code/__HELPERS/icon_helpers.html b/code/__HELPERS/icon_helpers.html new file mode 100644 index 00000000000..131d4f271e8 --- /dev/null +++ b/code/__HELPERS/icon_helpers.html @@ -0,0 +1 @@ +code/__HELPERS/icon_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/icon_helpers.dm

/proc/icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting no_sprite to TRUE will print a stack trace ONCE.
\ No newline at end of file diff --git a/code/__HELPERS/iconprocs.html b/code/__HELPERS/iconprocs.html new file mode 100644 index 00000000000..9a7689a58e0 --- /dev/null +++ b/code/__HELPERS/iconprocs.html @@ -0,0 +1,11 @@ +code/__HELPERS/iconprocs.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/iconprocs.dm

/proc/generate_and_hash_rsc_fileGenerates a filename for a given asset. +Like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +Used so that certain asset files dont have to be hashed twice
/proc/get_dummy_savefileGets a dummy savefile for usage in icon generation. +Savefiles generated from this proc will be empty.
/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)
/proc/is_valid_dmi_filegiven a text string, returns whether it is a valid dmi icons folder path
/proc/get_icon_dmi_pathGiven an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +A weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +But stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +So if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""
/proc/icon2assetgenerate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. +Arguments:
/proc/costly_icon2assetCostlier version of icon2asset() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs.
/proc/get_icon_dimensionsReturns a list containing the width and height of an icon file
\ No newline at end of file diff --git a/code/__HELPERS/lighting_helpers.html b/code/__HELPERS/lighting_helpers.html new file mode 100644 index 00000000000..b1c0b87ef65 --- /dev/null +++ b/code/__HELPERS/lighting_helpers.html @@ -0,0 +1 @@ +code/__HELPERS/lighting_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/lighting_helpers.dm

/proc/emissive_appearanceProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EMISSIVE_COLOR. Order of application matters: Default generated blockers are overlays, and will block its own emissive underlays. If you want an object to be both a blocker, and have their own emissive, it has to be an overlay instead. Grayscale lightmasks are visible in the BYOND right-click and Examine pane, unless they're covered up by another overlay.
/proc/emissive_blockerProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EM_BLOCK_COLOR.
\ No newline at end of file diff --git a/code/__HELPERS/lists.html b/code/__HELPERS/lists.html new file mode 100644 index 00000000000..2e544d89434 --- /dev/null +++ b/code/__HELPERS/lists.html @@ -0,0 +1,32 @@ +code/__HELPERS/lists.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__HELPERS/lists.dm

COMPARE_KEYPassed into BINARY_INSERT to compare keys
COMPARE_VALUEPassed into BINARY_INSERT to compare values
BINARY_INSERT_TGBinary search sorted insert from TG +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.
BINARY_INSERT_DEFINEEven more custom binary search sorted insert, using defines instead of vars +INPUT: Item to be inserted +LIST: List to insert INPUT into +TYPECONT: A define setting the var to the typepath of the contents of the list +COMPARE: The item to compare against, usualy the same as INPUT +COMPARISON: A define that takes an item to compare as input, and returns their comparable value +COMPTYPE: How should the list be compared? Either COMPARE_KEY or COMPARE_VALUE.
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
/proc/pickweightPicks an element based on its weight. +L - The input list
/proc/pickweight_fractionPicks an element based on its weight. Weight can be any real number +L - The input list
/proc/pick_multiple_uniquePicks multiple unique elements from the suplied list. +If the given list has a length less than the amount given then it will return a list with an equal amount
LAZYINITLISTInitialize the lazylist
UNSETEMPTYIf the provided list is empty, set it to null
ASSOC_UNSETEMPTYIf the provided key -> list is empty, remove it from the list
LAZYLISTDUPLICATELike LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled
LAZYREMOVERemove an item from the list, set the list to null if empty
LAZYADDAdd an item to the list, if the list is null it will initialize it
LAZYORAdd an item to the list if not already present, if the list is null it will initialize it
LAZYDISTINCTADDAdds I to L, initializing L if necessary, if I is not already in L
LAZYACCESSreturns L[I] if L exists and I is a valid index of L, runtimes if L is not a list
LAZYLENReturns the length of L
LAZYNULLSets a list to null
LAZYCLEARLISTRemoves all elements from the list
LAZYCOPYUse LAZYLISTDUPLICATE instead if you want it to null with no entries
LAZYSETSets the item K to the value V, if the list is null it will initialize it
LAZYSETLENSets the length of a lazylist
LAZYADDASSOCAdds to the item K the value V, if the list is null it will initialize it
LAZYADDASSOCLISTThis is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)
LAZYREMOVEASSOCRemoves the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null
LAZYACCESSASSOCAccesses an associative list, returns null if nothing is found
QDEL_LAZYLISTQdel every item in the list before setting the list to null
LAZYINIf the lazy list is currently initialized find item I in list L
ISINDEXSAFEReturns whether a numerical index is within a given list's bounds. Faster than isnull(LAZYACCESS(L, I)).
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.
LISTASSERTLENEnsures the length of a list is at least I, prefilling it with V if needed. if V is a proc call, it is repeated for each new index so that list() can just make a new list for each item.
/proc/make_associativeA proc for turning a list into an associative list.
/proc/compare_listcompare two lists, returns TRUE if they are the same
/proc/avoid_assoc_duplicate_keystakes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input
/proc/assoc_to_keysTurns an associative list into a flat list of keys
/proc/fill_with_onesGiven a list, return a copy where values without defined weights are given weight 1. +For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) +Useful for weighted random choices (loot tables, syllables in languages, etc.)
/proc/pick_weight_recursiveLike pick_weight, but allowing for nested lists.
/proc/lists_equal_unorderedChecks to make sure that the lists have the exact same contents, ignores the order of the contents.
/proc/list_clear_nullsRemoves any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise
/proc/flatten_listFlattens a keyed list into a list of its contents

Define Details

ASSOC_UNSETEMPTY

If the provided key -> list is empty, remove it from the list

BINARY_INSERT_DEFINE

Even more custom binary search sorted insert, using defines instead of vars +INPUT: Item to be inserted +LIST: List to insert INPUT into +TYPECONT: A define setting the var to the typepath of the contents of the list +COMPARE: The item to compare against, usualy the same as INPUT +COMPARISON: A define that takes an item to compare as input, and returns their comparable value +COMPTYPE: How should the list be compared? Either COMPARE_KEY or COMPARE_VALUE.

BINARY_INSERT_TG

Binary search sorted insert from TG +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

ISINDEXSAFE

Returns whether a numerical index is within a given list's bounds. Faster than isnull(LAZYACCESS(L, I)).

LAZYACCESS

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

LAZYACCESSASSOC

Accesses an associative list, returns null if nothing is found

LAZYADD

Add an item to the list, if the list is null it will initialize it

LAZYADDASSOC

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

LAZYADDASSOCLIST

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

LAZYCLEARLIST

Removes all elements from the list

LAZYCOPY

Use LAZYLISTDUPLICATE instead if you want it to null with no entries

LAZYDISTINCTADD

Adds I to L, initializing L if necessary, if I is not already in L

LAZYIN

If the lazy list is currently initialized find item I in list L

LAZYINITLIST

Initialize the lazylist

LAZYLEN

Returns the length of L

LAZYLISTDUPLICATE

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

LAZYNULL

Sets a list to null

LAZYOR

Add an item to the list if not already present, if the list is null it will initialize it

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.

LAZYREMOVE

Remove an item from the list, set the list to null if empty

LAZYREMOVEASSOC

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

LAZYSET

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

LAZYSETLEN

Sets the length of a lazylist

LISTASSERTLEN

Ensures the length of a list is at least I, prefilling it with V if needed. if V is a proc call, it is repeated for each new index so that list() can just make a new list for each item.

LIST_VALUE_WRAP_LISTS

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

QDEL_LAZYLIST

Qdel every item in the list before setting the list to null

UNSETEMPTY

If the provided list is empty, set it to null

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

\ No newline at end of file diff --git a/code/__HELPERS/matrices.html b/code/__HELPERS/matrices.html new file mode 100644 index 00000000000..133028940b6 --- /dev/null +++ b/code/__HELPERS/matrices.html @@ -0,0 +1 @@ +code/__HELPERS/matrices.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/matrices.dm

/datum/color_matrixA color matrix allows us to set the color of an atom in a list form, thus allowing us to change color in more flexible ways. For example, we can set the brightness and contrast of the bloom and exposure of lamps
\ No newline at end of file diff --git a/code/__HELPERS/mob_helpers.html b/code/__HELPERS/mob_helpers.html new file mode 100644 index 00000000000..d9b0bcc24b8 --- /dev/null +++ b/code/__HELPERS/mob_helpers.html @@ -0,0 +1,2 @@ +code/__HELPERS/mob_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/mob_helpers.dm

/proc/tint_colorReturns a purely random tint for specific color
/proc/random_body_accessoryReturns a random body accessory for a given species name. Can be null based on is_optional argument.
/proc/random_skin_toneRandomises skin tone, specifically for each species that has a skin tone. Otherwise keeps a default of 1
/proc/add_attack_logsCreates attack (old and new) logs for the user and defense logs for the target. +Will message admins depending on the custom_level, user and target.
/proc/check_active_security_force
/proc/safe_get_ckeySafe ckey getter
/proc/round_healthrounds value to limited symbols after the period for organ damage and other values
\ No newline at end of file diff --git a/code/__HELPERS/name_helpers.html b/code/__HELPERS/name_helpers.html new file mode 100644 index 00000000000..879fa04406e --- /dev/null +++ b/code/__HELPERS/name_helpers.html @@ -0,0 +1 @@ +code/__HELPERS/name_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/name_helpers.dm

/proc/first_nameFind the first name of a mob from a passed string with regex
/proc/last_nameFind the last name of a mob from a passed string with regex
\ No newline at end of file diff --git a/code/__HELPERS/paths/jps.html b/code/__HELPERS/paths/jps.html new file mode 100644 index 00000000000..31ba90175d3 --- /dev/null +++ b/code/__HELPERS/paths/jps.html @@ -0,0 +1,9 @@ +code/__HELPERS/paths/jps.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__HELPERS/paths/jps.dm

STEP_NOT_HERE_BUT_THEREThis 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. +A helper macro for JPS, for telling when a node has forced neighbors that need expanding +Only usable in the context of the jps datum because of the datum vars it relies on
/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

Define Details

STEP_NOT_HERE_BUT_THERE

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. +A helper macro for JPS, for telling when a node has forced neighbors that need expanding +Only usable in the context of the jps datum because of the datum vars it relies on

\ No newline at end of file diff --git a/code/__HELPERS/paths/path.html b/code/__HELPERS/paths/path.html new file mode 100644 index 00000000000..35f18077cb1 --- /dev/null +++ b/code/__HELPERS/paths/path.html @@ -0,0 +1,8 @@ +code/__HELPERS/paths/path.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/paths/path.dm

/proc/get_path_toThis 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. +It will yield until a path is returned, using magic
/proc/get_swarm_path_toPOTENTIALLY cheaper version of get_path_to +This proc generates a path map for the end atom's turf, which allows us to cheaply do pathing operations "at" it +Generation is significantly SLOWER then get_path_to, but if many things are/might be pathing at something then it is much faster +Runs the risk of returning an suboptimal or INVALID PATH if the delay between map creation and use is too long
/proc/pathfinding_finishedUses funny pass by reference bullshit to take the output created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution
/datum/pathfindThe datum used to handle the JPS pathfinding, completely self-contained
/proc/remove_clunky_diagonalsProcesses a path (list of turfs), removes any diagonal moves that would lead to a weird bump
/proc/remove_diagonalsProcesses a path (list of turfs), removes any diagonal moves
/datum/can_pass_infoHolds all information about what an atom can move through +Passed into CanPathfindPass to provide context for a pathing attempt
\ No newline at end of file diff --git a/code/__HELPERS/paths/sssp.html b/code/__HELPERS/paths/sssp.html new file mode 100644 index 00000000000..8fe8e362e5f --- /dev/null +++ b/code/__HELPERS/paths/sssp.html @@ -0,0 +1,2 @@ +code/__HELPERS/paths/sssp.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/paths/sssp.dm

/datum/path_mapDatum that describes the shortest path between a source turf and any turfs within a distance
/datum/pathfind/ssspSingle source shortest path +Generates a flow map of a reachable turf -> the turf next closest to the map's center
\ No newline at end of file diff --git a/code/__HELPERS/paths/ventcrawl_path.html b/code/__HELPERS/paths/ventcrawl_path.html new file mode 100644 index 00000000000..c4abdff9767 --- /dev/null +++ b/code/__HELPERS/paths/ventcrawl_path.html @@ -0,0 +1 @@ +code/__HELPERS/paths/ventcrawl_path.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/paths/ventcrawl_path.dm

/datum/pathfind/ventcrawlBasic A-star implementation (I think), for pathfinding through vents.
\ No newline at end of file diff --git a/code/__HELPERS/radiation_helpers.html b/code/__HELPERS/radiation_helpers.html new file mode 100644 index 00000000000..e56cace8740 --- /dev/null +++ b/code/__HELPERS/radiation_helpers.html @@ -0,0 +1,3 @@ +code/__HELPERS/radiation_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/radiation_helpers.dm

/proc/get_rad_contentsA special GetAllContents that doesn't search past things with rad insulation +Components which return COMPONENT_BLOCK_RADIATION prevent further searching into that object's contents. The object itself will get returned still. +The ignore list makes those objects never return at all
/proc/contaminate_adjacentContaminate things that share our immediate location(periodic)
/proc/contaminate_targetContaminate the contents of a target(single instance)
\ No newline at end of file diff --git a/code/__HELPERS/screen_objs.html b/code/__HELPERS/screen_objs.html new file mode 100644 index 00000000000..0ceff51032c --- /dev/null +++ b/code/__HELPERS/screen_objs.html @@ -0,0 +1,7 @@ +code/__HELPERS/screen_objs.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/screen_objs.dm

/proc/screen_loc_to_offsetTakes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc
/proc/offset_to_screen_locTakes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope
/proc/get_valid_screen_locationReturns a valid location to place a screen object without overflowing the viewport
/proc/cut_relative_directionTakes a screen_loc string and cut out any directions like NORTH or SOUTH
/proc/get_obj_screen_xyGets the location of an object on a client's screen. Thanks to Kaioken on BYOND forums.
\ No newline at end of file diff --git a/code/__HELPERS/spatial_info.html b/code/__HELPERS/spatial_info.html new file mode 100644 index 00000000000..2a85245b571 --- /dev/null +++ b/code/__HELPERS/spatial_info.html @@ -0,0 +1,8 @@ +code/__HELPERS/spatial_info.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/spatial_info.dm

/mob/oranges_ear
/proc/get_hearers_in_viewreturns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS().
/proc/get_hearers_in_rangeThe exact same as get_hearers_in_view, but not limited by visibility. Does no filtering for traits, line of sight, or any other such criteria. +Filtering is intended to be done by whatever calls this function.
/proc/get_hearers_in_LOSReturns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive
/proc/circle_rangeReturns all atoms present in a circle around the center
/proc/circle_viewReturns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)
/proc/get_dist_euclideanReturns the distance between two atoms
/proc/circle_range_turfsReturns a list of turfs around a center based on RANGE_TURFS()
/proc/circle_view_turfsReturns a list of turfs around a center based on view()
/proc/border_diamond_range_turfsReturns the list of turfs around the outside of a center based on RANGE_TURFS()
/proc/slice_off_turfsReturns a slice of a list of turfs, defined by the ones that are inside the inner/outer angle's bounds
/proc/get_hearLike view but bypasses luminosity check
/proc/get_adjacent_areasReturns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.
/proc/get_adjacent_turfsReturns a list of all turfs that are adjacent to the center atom's turf, clear the list of nulls at the end.
/proc/turf_peelBehaves like the orange() proc, but only looks in the outer range of the function (The "peel" of the orange). +This is useful for things like checking if a mob is in a certain range, but not within a smaller range.
/proc/diagonally_blockedcheck if 2 diagonal turfs are blocked by dense objects
\ No newline at end of file diff --git a/code/__HELPERS/string_assoc_lists.html b/code/__HELPERS/string_assoc_lists.html new file mode 100644 index 00000000000..e890b4dc427 --- /dev/null +++ b/code/__HELPERS/string_assoc_lists.html @@ -0,0 +1 @@ +code/__HELPERS/string_assoc_lists.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/string_assoc_lists.dm

/proc/string_listCaches lists with non-numeric stringify-able values (text or typepath).
\ No newline at end of file diff --git a/code/__HELPERS/text.html b/code/__HELPERS/text.html new file mode 100644 index 00000000000..e3d80d28e32 --- /dev/null +++ b/code/__HELPERS/text.html @@ -0,0 +1,2 @@ +code/__HELPERS/text.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/text.dm

/proc/sanitize_for_icsanitize() with a pre-set list of characters to remove from IC speech.
/proc/trim_lengthReturns a string that does not exceed max_length characters in size
/proc/strip_html_tagsStrips HTML tags (and only tags) from the input. +The result may still include HTML entities, like ' for '
/proc/client2rankcolourProc to generate a "rank colour" from a client
/proc/format_si_suffixFormats num with an SI prefix.
/proc/wiki_linkCreates a hyperlink for a specified wiki article.
\ No newline at end of file diff --git a/code/__HELPERS/time.html b/code/__HELPERS/time.html new file mode 100644 index 00000000000..bcbc40cad8d --- /dev/null +++ b/code/__HELPERS/time.html @@ -0,0 +1,2 @@ +code/__HELPERS/time.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/time.dm

/proc/start_watchReturns "watch handle" (really just a timestamp :V)
/proc/stop_watchReturns number of seconds elapsed. +@param wh number The "Watch Handle" from start_watch(). (timestamp)
/proc/seconds_to_clockTake a value in seconds and makes it display like a clock. Hours are stripped. (mm:ss)
/proc/seconds_to_full_clockTake a value in seconds and makes it display like a clock (h:mm:ss)
\ No newline at end of file diff --git a/code/__HELPERS/trait_helpers.html b/code/__HELPERS/trait_helpers.html new file mode 100644 index 00000000000..4398aacf4d0 --- /dev/null +++ b/code/__HELPERS/trait_helpers.html @@ -0,0 +1,30 @@ +code/__HELPERS/trait_helpers.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/__HELPERS/trait_helpers.dm

ADD_TRAITAdds a status trait to the target datum.
REMOVE_TRAITRemoves a status trait from a target datum.
REMOVE_TRAITS_NOT_INRemoves all status traits from a target datum which were NOT added by sources.
REMOVE_TRAITS_INRemoves all status traits from a target datum which were added by sources.
HAS_MIND_TRAITA simple helper for checking traits in a mob's mind
UNIQUE_TRAIT_SOURCEGives a unique trait source for any given datum
GET_TRAIT_SOURCESReturns a list of trait sources for this trait. Only useful for wacko cases and internal futzing +You should not be using this
TRAIT_MOB_BREEDERtrait determines if this mob can breed given by /datum/component/breeding
TRAIT_DODGE_ALL_OBJECTSAllows a mob to dodge all thrown objects
TRAIT_ANTIMAGICThis mob is antimagic, and immune to spells / cannot cast spells
TRAIT_ANTIMAGIC_NO_SELFBLOCKThis allows a person who has antimagic to cast spells without getting blocked
TRAIT_RECENTLY_BLOCKED_MAGICThis mob recently blocked magic with some form of antimagic
TRAIT_MANSUS_TOUCHEDTrait given to anything linked to, not necessarily allied to, the mansus
TRAIT_BATON_RESISTANCEThis trait makes you immune to baton knockdown.
TRAIT_IN_CALLWhether or not the user is in a MODlink call, prevents making more calls
TRAIT_MOB_TIPPEDTrait given when a mob has been tipped
TRAIT_MOB_EATERTrait given to mobs that have the basic eating element
TRAIT_HYPOTHERMICTrait for when you can no longer gain body heat
TRAIT_BEING_BLADE_SHIELDEDUsed to prevent multiple floating blades from triggering over the same target
TRAIT_AI_PAUSEDTrait that prevents AI controllers from planning detached from ai_status to prevent weird state stuff.
TRAIT_MENTOR_OBSERVINGused for dead mobs that are observing, but should not be afforded all the same platitudes as full ghosts. +This is a mind trait because ghosts can be frequently deleted and we want to be sure this sticks.
TRAIT_SHOW_WIRE_INFOShow what machine/door wires do when held.
TRAIT_SUPERMATTER_IMMUNEImmune to the SM / makes you immune to it when worn
TRAIT_WIELDEDAn item that is being wielded.
TRAIT_OBSCURED_WIRESWires on this will have their titles randomized for those with SHOW_WIRES
TRAIT_NO_THROWN_MESSAGEMakes the item no longer spit out a visible message when thrown
TRAIT_SILENT_INSERTIONMakes the item not display a message on storage insertion
TRAIT_ITEM_ACTIVEMakes an item active, this is generally used by energy based weapons or toggle based items.
TRAIT_ALLOW_HERETIC_CASTINGAllows heretics to cast their spells.
TRAIT_LIVING_HEARTDesignates a heart as a living heart for a heretic.
TRAIT_WAS_SACRIFICEDAdded to those who have been sacrificed.
TRAIT_HIDE_EXAMINEForbids running broadcast_examine() in examinate().
TRAIT_SURGICALA surgical tool; when in hand in help intent (and with a surgery in progress) won't attack the user
TRAIT_ADVANCED_SURGICALAn advanced surgical tool. If a surgical tool has this flag, it will be able to automatically repeat steps until they succeed.
TRAIT_SURGICAL_OPEN_HANDA surgical tool; If a surgical tool has this flag it can be used as an alternative to an open hand in surgery
TRAIT_SURGICAL_CANNOT_FAILSurgical tools with this trait have their prob_success set to 100 (but is still able to fail from other factors)
TRAIT_ANTI_VIRALA wearable item that protects the covered areas from viral infection
TRAIT_ABSORB_RADSGiven to items that have something that absorbs radiation in them that is neither the item or in it's contents
TRAIT_TURF_COVEREDPrevent mobs on the turf from being affected by anything below that turf, such as a pulse demon going under it. Added by a /obj/structure with creates_cover set to TRUE
TRAIT_OIL_SLICKEDAn item that is oiled. If sprayed with water, it's slowdown reverts to normal.
TRAIT_CAN_POINT_WITHAn item that can be pointed at mobs, while on non-help intent.
TRAIT_ORGAN_INSERTED_WHILE_DEADAn organ that was inserted into a dead mob, that has not been revived yet
TRAIT_NO_STRIPPrevents stripping this equipment or seeing it in the strip menu
TRAIT_SKIP_EXAMINEPrevents seeing this item on examine when on a mob, or seeing it in the strip menu. It's like ABSTRACT, without making the item fail to interact in several ways. The item can still be stripped however, combine with no_strip unless you have a reason not to.
TRAIT_NO_WORN_ICONItems with this trait will not have their worn icon overlayed.
TRAIT_I_WANT_BRAINS_ORGANA general trait for tracking whether a zombie owned the organ or limb
TRAIT_RELAYING_ATTACKERTrait given by /datum/element/relay_attacker
TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUMTrait applied to a mob when it gets a required "operational datum" (components/elements). Sends out the source as the type of the element.
TRAIT_LOUDDoes this person produce loud runechat
TRAIT_MED_EXAMINEallows user to do_after to give bone and IB locations
TRAIT_GERMOPHOBEGrants a 85% chance to NOT catch a disease when contract() is called. You'll probably still catch it though with exposure
TRAIT_CORPSE_RESISTuser wont vomit around corpses
TRAIT_QUICK_HEATERuser will take 25% less tox damage
TRAIT_SPEED_DEMONuser can drive the ambulance cart to push people out of the way
TRAIT_CRAFTYuser can craft things from the crafting menu in 1/4 time
TRAIT_GENETIC_BUDGETUser is alloted a higher genetics budget
TRAIT_CYBORG_SPECIALISTallows the user to quick-charge borgs by using a battery on them
TRAIT_GREEN_THUMBAllows user to pick weeds with their bare hands
TRAIT_JANITORAllows user to use mops faster, and have galoshes slow less
TRAIT_ELECTRICAL_SPECIALISTAllows user to to quick-repair unlocked APCs with a frame and board, and quick-swap cells.alist
TRAIT_FIRE_FIGHTERAllows user to spray extinguishers further, and gives precisions = 1 during spray
TRAIT_PACK_RATallows the user to stuff more items in lockers/crates and wrap them faster
TRAIT_SMITHAllows the user to ????
TRAIT_BUTCHERAllows faster butchering times
PACK_RAT_WRAP_SPEEDUPHow much faster pack rats are in wrapping packages as a percentage
TRAIT_JUDICIALGives the user a new tab for being able to open up space law/sop book pages
TRAIT_COFFEE_SNOBAllows user to drink coffee to point rapidly to get others to do what you want
TRAIT_ADJACENCY_TRANSPARENTAn /obj that should not increase the "depth" of the search for adjacency, +e.g. a storage container or a modsuit.
TRAIT_NO_BREAK_GLASS_TABLESA trait for items that will not break glass tables if the user is buckled to them.
TRAIT_CURRENTLY_Z_MOVINGA trait for determining if a atom/movable is currently crossing into another z-level by using of /turf/space z-level "destination-xyz" transfers
MENTOR_OBSERVINGMentor observing
TRAIT_KNOCKEDOUTForces the user to stay unconscious.
TRAIT_IMMOBILIZEDPrevents voluntary movement.
TRAIT_FLOOREDPrevents voluntary standing or staying up on its own.
TRAIT_HANDS_BLOCKEDPrevents usage of manipulation appendages (picking, holding or using items, manipulating storage).
TRAIT_UI_BLOCKEDInability to access UI hud elements.
TRAIT_CANNOT_PULLInability to pull things.
TRAIT_RESTRAINEDAbstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.
STATION_TRAIT_BANANIUM_SHIPMENTSTraits given by station traits
TRAIT_FRAILQUIRK TRAITS
TRAIT_BLUESPACE_SPEEDRemoves slowdown while walking on these tiles.
TRAIT_SPINNING_WEB_TURFA web is being spun on this turf presently
TRAIT_SWARMER_CONSTRUCTIONA swarmer construct is being built here
TRAIT_SWARMER_DISINTEGRATINGA swarmer is deconstructing this already
ELEMENT_TRAITTrait applied by element
TRAIT_HEARING_SENSITIVEevery hearing sensitive atom has this trait
TRAIT_ACTIVE_STORAGEevery object that is currently the active storage of some client mob has this trait
/proc/callback_add_traitProc wrapper of add_trait. You should only use this for callback. Otherwise, use the macro.
/proc/callback_remove_traitProc wrapper of remove_trait. You should only use this for callback. Otherwise, use the macro.

Define Details

ADD_TRAIT

Adds a status trait to the target datum.

+

Arguments: (All Required)

+

ELEMENT_TRAIT

Trait applied by element

GET_TRAIT_SOURCES

Returns a list of trait sources for this trait. Only useful for wacko cases and internal futzing +You should not be using this

HAS_MIND_TRAIT

A simple helper for checking traits in a mob's mind

MENTOR_OBSERVING

Mentor observing

PACK_RAT_WRAP_SPEEDUP

How much faster pack rats are in wrapping packages as a percentage

REMOVE_TRAIT

Removes a status trait from a target datum.

+

ROUNDSTART_TRAIT traits can't be removed without being specified in sources. +Arguments:

+

REMOVE_TRAITS_IN

Removes all status traits from a target datum which were added by sources.

+

Arguments:

+

REMOVE_TRAITS_NOT_IN

Removes all status traits from a target datum which were NOT added by sources.

+

Arguments:

+

STATION_TRAIT_BANANIUM_SHIPMENTS

Traits given by station traits

TRAIT_ABSORB_RADS

Given to items that have something that absorbs radiation in them that is neither the item or in it's contents

TRAIT_ACTIVE_STORAGE

every object that is currently the active storage of some client mob has this trait

TRAIT_ADJACENCY_TRANSPARENT

An /obj that should not increase the "depth" of the search for adjacency, +e.g. a storage container or a modsuit.

TRAIT_ADVANCED_SURGICAL

An advanced surgical tool. If a surgical tool has this flag, it will be able to automatically repeat steps until they succeed.

TRAIT_AI_PAUSED

Trait that prevents AI controllers from planning detached from ai_status to prevent weird state stuff.

TRAIT_ALLOW_HERETIC_CASTING

Allows heretics to cast their spells.

TRAIT_ANTIMAGIC

This mob is antimagic, and immune to spells / cannot cast spells

TRAIT_ANTIMAGIC_NO_SELFBLOCK

This allows a person who has antimagic to cast spells without getting blocked

TRAIT_ANTI_VIRAL

A wearable item that protects the covered areas from viral infection

TRAIT_BATON_RESISTANCE

This trait makes you immune to baton knockdown.

TRAIT_BEING_BLADE_SHIELDED

Used to prevent multiple floating blades from triggering over the same target

TRAIT_BLUESPACE_SPEED

Removes slowdown while walking on these tiles.

TRAIT_BUTCHER

Allows faster butchering times

TRAIT_CANNOT_PULL

Inability to pull things.

TRAIT_CAN_POINT_WITH

An item that can be pointed at mobs, while on non-help intent.

TRAIT_COFFEE_SNOB

Allows user to drink coffee to point rapidly to get others to do what you want

TRAIT_CORPSE_RESIST

user wont vomit around corpses

TRAIT_CRAFTY

user can craft things from the crafting menu in 1/4 time

TRAIT_CURRENTLY_Z_MOVING

A trait for determining if a atom/movable is currently crossing into another z-level by using of /turf/space z-level "destination-xyz" transfers

TRAIT_CYBORG_SPECIALIST

allows the user to quick-charge borgs by using a battery on them

TRAIT_DODGE_ALL_OBJECTS

Allows a mob to dodge all thrown objects

TRAIT_ELECTRICAL_SPECIALIST

Allows user to to quick-repair unlocked APCs with a frame and board, and quick-swap cells.alist

TRAIT_FIRE_FIGHTER

Allows user to spray extinguishers further, and gives precisions = 1 during spray

TRAIT_FLOORED

Prevents voluntary standing or staying up on its own.

TRAIT_FRAIL

QUIRK TRAITS

TRAIT_GENETIC_BUDGET

User is alloted a higher genetics budget

TRAIT_GERMOPHOBE

Grants a 85% chance to NOT catch a disease when contract() is called. You'll probably still catch it though with exposure

TRAIT_GREEN_THUMB

Allows user to pick weeds with their bare hands

TRAIT_HANDS_BLOCKED

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

TRAIT_HEARING_SENSITIVE

every hearing sensitive atom has this trait

TRAIT_HIDE_EXAMINE

Forbids running broadcast_examine() in examinate().

TRAIT_HYPOTHERMIC

Trait for when you can no longer gain body heat

TRAIT_IMMOBILIZED

Prevents voluntary movement.

TRAIT_IN_CALL

Whether or not the user is in a MODlink call, prevents making more calls

TRAIT_ITEM_ACTIVE

Makes an item active, this is generally used by energy based weapons or toggle based items.

TRAIT_I_WANT_BRAINS_ORGAN

A general trait for tracking whether a zombie owned the organ or limb

TRAIT_JANITOR

Allows user to use mops faster, and have galoshes slow less

TRAIT_JUDICIAL

Gives the user a new tab for being able to open up space law/sop book pages

TRAIT_KNOCKEDOUT

Forces the user to stay unconscious.

TRAIT_LIVING_HEART

Designates a heart as a living heart for a heretic.

TRAIT_LOUD

Does this person produce loud runechat

TRAIT_MANSUS_TOUCHED

Trait given to anything linked to, not necessarily allied to, the mansus

TRAIT_MED_EXAMINE

allows user to do_after to give bone and IB locations

TRAIT_MENTOR_OBSERVING

used for dead mobs that are observing, but should not be afforded all the same platitudes as full ghosts. +This is a mind trait because ghosts can be frequently deleted and we want to be sure this sticks.

TRAIT_MOB_BREEDER

trait determines if this mob can breed given by /datum/component/breeding

TRAIT_MOB_EATER

Trait given to mobs that have the basic eating element

TRAIT_MOB_TIPPED

Trait given when a mob has been tipped

TRAIT_NO_BREAK_GLASS_TABLES

A trait for items that will not break glass tables if the user is buckled to them.

TRAIT_NO_STRIP

Prevents stripping this equipment or seeing it in the strip menu

TRAIT_NO_THROWN_MESSAGE

Makes the item no longer spit out a visible message when thrown

TRAIT_NO_WORN_ICON

Items with this trait will not have their worn icon overlayed.

TRAIT_OBSCURED_WIRES

Wires on this will have their titles randomized for those with SHOW_WIRES

TRAIT_OIL_SLICKED

An item that is oiled. If sprayed with water, it's slowdown reverts to normal.

TRAIT_ORGAN_INSERTED_WHILE_DEAD

An organ that was inserted into a dead mob, that has not been revived yet

TRAIT_PACK_RAT

allows the user to stuff more items in lockers/crates and wrap them faster

TRAIT_QUICK_HEATER

user will take 25% less tox damage

TRAIT_RECENTLY_BLOCKED_MAGIC

This mob recently blocked magic with some form of antimagic

TRAIT_RELAYING_ATTACKER

Trait given by /datum/element/relay_attacker

TRAIT_RESTRAINED

Abstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.

TRAIT_SHOW_WIRE_INFO

Show what machine/door wires do when held.

TRAIT_SILENT_INSERTION

Makes the item not display a message on storage insertion

TRAIT_SKIP_EXAMINE

Prevents seeing this item on examine when on a mob, or seeing it in the strip menu. It's like ABSTRACT, without making the item fail to interact in several ways. The item can still be stripped however, combine with no_strip unless you have a reason not to.

TRAIT_SMITH

Allows the user to ????

TRAIT_SPEED_DEMON

user can drive the ambulance cart to push people out of the way

TRAIT_SPINNING_WEB_TURF

A web is being spun on this turf presently

TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM

Trait applied to a mob when it gets a required "operational datum" (components/elements). Sends out the source as the type of the element.

TRAIT_SUPERMATTER_IMMUNE

Immune to the SM / makes you immune to it when worn

TRAIT_SURGICAL

A surgical tool; when in hand in help intent (and with a surgery in progress) won't attack the user

TRAIT_SURGICAL_CANNOT_FAIL

Surgical tools with this trait have their prob_success set to 100 (but is still able to fail from other factors)

TRAIT_SURGICAL_OPEN_HAND

A surgical tool; If a surgical tool has this flag it can be used as an alternative to an open hand in surgery

TRAIT_SWARMER_CONSTRUCTION

A swarmer construct is being built here

TRAIT_SWARMER_DISINTEGRATING

A swarmer is deconstructing this already

TRAIT_TURF_COVERED

Prevent mobs on the turf from being affected by anything below that turf, such as a pulse demon going under it. Added by a /obj/structure with creates_cover set to TRUE

TRAIT_UI_BLOCKED

Inability to access UI hud elements.

TRAIT_WAS_SACRIFICED

Added to those who have been sacrificed.

TRAIT_WIELDED

An item that is being wielded.

UNIQUE_TRAIT_SOURCE

Gives a unique trait source for any given datum

\ No newline at end of file diff --git a/code/__HELPERS/type2type.html b/code/__HELPERS/type2type.html new file mode 100644 index 00000000000..51b97a4d1b4 --- /dev/null +++ b/code/__HELPERS/type2type.html @@ -0,0 +1 @@ +code/__HELPERS/type2type.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/type2type.dm

/proc/rights2textConverts a rights bitfield into a string
/proc/ranked_rights2textConverts the full permissions details of a DB-ranked admin to a HTML-colored string
/proc/cover_flags2body_zonesTurns a Body_parts_covered bitfield into a list of organ/limb names.
\ No newline at end of file diff --git a/code/__HELPERS/unique_ids.html b/code/__HELPERS/unique_ids.html new file mode 100644 index 00000000000..599ab202fa8 --- /dev/null +++ b/code/__HELPERS/unique_ids.html @@ -0,0 +1 @@ +code/__HELPERS/unique_ids.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/unique_ids.dm

/proc/locateUIDLocates a datum based off of the UID
/proc/is_type_in_UID_listIf the list L contains a datum UID who's type matches D's type, returns the UID of that datum in the list. Otherwise returns null.
/datum/user_verb/uid_logOpens a log of UIDs
\ No newline at end of file diff --git a/code/__HELPERS/unsorted.html b/code/__HELPERS/unsorted.html new file mode 100644 index 00000000000..2e48578840b --- /dev/null +++ b/code/__HELPERS/unsorted.html @@ -0,0 +1,3 @@ +code/__HELPERS/unsorted.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/unsorted.dm

/proc/get_angle_rawAngle between two arbitrary points and horizontal line same as [/proc/get_angle]
/proc/get_lineGet a list of turfs in a line from starting_atom to ending_atom.
/proc/get_edge_target_turfReturns the turf located at the map edge in the specified direction relative to target_atom used for mass driver
/proc/get_ranged_target_turf
/proc/get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
/datum/coordsSimple datum for storing coordinates.
/proc/get_living_playersThis proc returns every player with a client who is not a ghost or a new_player
/proc/get_atoms_of_typeReturns a list of atoms in a location of a given type. Can be refined to look for pixel-shift.
/proc/parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
/proc/get_channel_nameReturns the clean name of an audio channel.
/proc/HTTPGetHTTP Get (Powered by rustlibs)
/proc/is_color_darkGiven a color in the format of "#RRGGBB", will return if the color is dark.
/proc/type_list_to_counted_assoc_listThis proc takes a list of types, and returns them in the format below. +[type] = amount of type in list. +Useful for recipes.
\ No newline at end of file diff --git a/code/__HELPERS/verb_helpers.html b/code/__HELPERS/verb_helpers.html new file mode 100644 index 00000000000..baf5b53ca56 --- /dev/null +++ b/code/__HELPERS/verb_helpers.html @@ -0,0 +1 @@ +code/__HELPERS/verb_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/__HELPERS/verb_helpers.dm

/proc/add_verbhandles adding verbs and updating the stat panel browser
/proc/remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
\ No newline at end of file diff --git a/code/_compile_options.html b/code/_compile_options.html new file mode 100644 index 00000000000..c97cc334ba4 --- /dev/null +++ b/code/_compile_options.html @@ -0,0 +1,2 @@ +code/_compile_options.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/_compile_options.dm

IS_MODE_COMPILEDAll toggles for the GC ref finder

Define Details

IS_MODE_COMPILED

All toggles for the GC ref finder

+

End toggles for the GC ref finder

\ No newline at end of file diff --git a/code/_globalvars/bitfields.html b/code/_globalvars/bitfields.html new file mode 100644 index 00000000000..edd1df85d84 --- /dev/null +++ b/code/_globalvars/bitfields.html @@ -0,0 +1 @@ +code/_globalvars/bitfields.dm - Space Station 13
Space Station 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
\ No newline at end of file diff --git a/code/_onclick/click_override.html b/code/_onclick/click_override.html new file mode 100644 index 00000000000..5a10785ce6a --- /dev/null +++ b/code/_onclick/click_override.html @@ -0,0 +1,2 @@ +code/_onclick/click_override.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/click_override.dm

/datum/middle_click_override/callback_invokerMiddle click override which accepts a callback as an arugment in the New() proc. +When the living mob that has this datum middle-clicks or alt-clicks on something, the callback will be invoked.
\ No newline at end of file diff --git a/code/_onclick/hud/action_button.html b/code/_onclick/hud/action_button.html new file mode 100644 index 00000000000..bd4f9f5e0a2 --- /dev/null +++ b/code/_onclick/hud/action_button.html @@ -0,0 +1 @@ +code/_onclick/hud/action_button.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/hud/action_button.dm

/atom/movable/screen/action_landingExists so you have a place to put your buttons when you move them around
\ No newline at end of file diff --git a/code/_onclick/hud/alert.html b/code/_onclick/hud/alert.html new file mode 100644 index 00000000000..4d98fb7f5fc --- /dev/null +++ b/code/_onclick/hud/alert.html @@ -0,0 +1 @@ +code/_onclick/hud/alert.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/hud/alert.dm

/atom/movable/screen/alert/hunger/fat/machineMachine "hunger"
/atom/movable/screen/alert/hunger/fat/vampireVampire "hunger"
/atom/movable/screen/alert/succumbGives the player the option to succumb while in critical condition
\ No newline at end of file diff --git a/code/_onclick/hud/follow_alert.html b/code/_onclick/hud/follow_alert.html new file mode 100644 index 00000000000..f784aadd30a --- /dev/null +++ b/code/_onclick/hud/follow_alert.html @@ -0,0 +1,2 @@ +code/_onclick/hud/follow_alert.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/hud/follow_alert.dm

/atom/movable/screen/alert/augury/meteorMeteor alert. +Appears during a meteor storm and allows for auto-following of debris.
\ No newline at end of file diff --git a/code/_onclick/hud/fullscreen.html b/code/_onclick/hud/fullscreen.html new file mode 100644 index 00000000000..f82ea337bbd --- /dev/null +++ b/code/_onclick/hud/fullscreen.html @@ -0,0 +1,3 @@ +code/_onclick/hud/fullscreen.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/hud/fullscreen.dm

/atom/movable/screen/fullscreen/stretchStretch version is suitable for images that stick to screen edges, as they scale with user screen size +For centrally located screen objects, use /atom/movable/screen/fullscreen/center
/atom/movable/screen/fullscreen/stretch/cursor_catcherAn effect which tracks the cursor's location on the screen
/atom/movable/screen/fullscreen/centerCentered fullscreen atoms +These are used to center a widescreen image so it scales properly across screen sizes, not suitable for screen images that eminate from the edge of the screen
\ No newline at end of file diff --git a/code/_onclick/hud/map_popups.html b/code/_onclick/hud/map_popups.html new file mode 100644 index 00000000000..719d56f9ee6 --- /dev/null +++ b/code/_onclick/hud/map_popups.html @@ -0,0 +1,4 @@ +code/_onclick/hud/map_popups.dm - Space Station 13
Space Station 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.
\ No newline at end of file diff --git a/code/_onclick/hud/plane_master.html b/code/_onclick/hud/plane_master.html new file mode 100644 index 00000000000..9cad6f1f92b --- /dev/null +++ b/code/_onclick/hud/plane_master.html @@ -0,0 +1 @@ +code/_onclick/hud/plane_master.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/hud/plane_master.dm

/atom/movable/screen/plane_master/emissiveThings placed on this mask the lighting plane. Doesn't render directly.
\ No newline at end of file diff --git a/code/_onclick/hud/plane_master_controller.html b/code/_onclick/hud/plane_master_controller.html new file mode 100644 index 00000000000..ca99a26c3cb --- /dev/null +++ b/code/_onclick/hud/plane_master_controller.html @@ -0,0 +1 @@ +code/_onclick/hud/plane_master_controller.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/hud/plane_master_controller.dm

/atom/movable/plane_master_controllerAtom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.
\ No newline at end of file diff --git a/code/_onclick/hud/radial.html b/code/_onclick/hud/radial.html new file mode 100644 index 00000000000..996c1a65fc4 --- /dev/null +++ b/code/_onclick/hud/radial.html @@ -0,0 +1,3 @@ +code/_onclick/hud/radial.dm - Space Station 13
Space Station 13 - Modules - Types

code/_onclick/hud/radial.dm

/proc/radial_menu_helperSimilar to show_radial_menu, but choices is a list of atoms, for which icons will be automatically generated. +Supports multiple items of the same name, 2 soaps will become soap (1) and soap (2) to the user. +Otherwise, has the exact same arguments as show_radial_menu
\ No newline at end of file diff --git a/code/controllers/configuration/__config_defines.html b/code/controllers/configuration/__config_defines.html new file mode 100644 index 00000000000..c4ab3f40b31 --- /dev/null +++ b/code/controllers/configuration/__config_defines.html @@ -0,0 +1 @@ +code/controllers/configuration/__config_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/controllers/configuration/__config_defines.dm

CONFIG_LOAD_BOOLWrapper to not overwrite a variable if a list key doesnt exist. Auto casts to bools.
CONFIG_LOAD_NUMWrapper to not overwrite a variable if a list key doesnt exist. Auto casts to number.
CONFIG_LOAD_NUM_MULTWrapper to not overwrite a variable if a list key doesnt exist. Auto casts to number, and accepts a macro argument for number maths (ds to min for example)
CONFIG_LOAD_STRWrapper to not overwrite a variable if a list key doesnt exist. Auto casts to string.
CONFIG_LOAD_RAWWrapper to not overwrite a variable if a list key doesnt exist. No casting done.
CONFIG_LOAD_LISTWrapper to not overwrite a variable if a list key doesnt exist. Ensures target is a list.

Define Details

CONFIG_LOAD_BOOL

Wrapper to not overwrite a variable if a list key doesnt exist. Auto casts to bools.

CONFIG_LOAD_LIST

Wrapper to not overwrite a variable if a list key doesnt exist. Ensures target is a list.

CONFIG_LOAD_NUM

Wrapper to not overwrite a variable if a list key doesnt exist. Auto casts to number.

CONFIG_LOAD_NUM_MULT

Wrapper to not overwrite a variable if a list key doesnt exist. Auto casts to number, and accepts a macro argument for number maths (ds to min for example)

CONFIG_LOAD_RAW

Wrapper to not overwrite a variable if a list key doesnt exist. No casting done.

CONFIG_LOAD_STR

Wrapper to not overwrite a variable if a list key doesnt exist. Auto casts to string.

\ No newline at end of file diff --git a/code/controllers/configuration/configuration_core.html b/code/controllers/configuration/configuration_core.html new file mode 100644 index 00000000000..0d49aafdba8 --- /dev/null +++ b/code/controllers/configuration/configuration_core.html @@ -0,0 +1 @@ +code/controllers/configuration/configuration_core.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/configuration_core.dm

/datum/server_configurationRepresents a base configuration datum. Has everything else bundled into it
\ No newline at end of file diff --git a/code/controllers/configuration/sections/admin_configuration.html b/code/controllers/configuration/sections/admin_configuration.html new file mode 100644 index 00000000000..0c780db74a2 --- /dev/null +++ b/code/controllers/configuration/sections/admin_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/admin_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/admin_configuration.dm

/datum/configuration_section/admin_configurationConfig holder for all admin related things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/afk_configuration.html b/code/controllers/configuration/sections/afk_configuration.html new file mode 100644 index 00000000000..a468e6fa4f1 --- /dev/null +++ b/code/controllers/configuration/sections/afk_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/afk_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/afk_configuration.dm

/datum/configuration_section/afk_configurationConfig holder for all AFK related things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/custom_sprites_configuration.html b/code/controllers/configuration/sections/custom_sprites_configuration.html new file mode 100644 index 00000000000..50119ab0b85 --- /dev/null +++ b/code/controllers/configuration/sections/custom_sprites_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/custom_sprites_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/custom_sprites_configuration.dm

/datum/configuration_section/custom_sprites_configurationConfig holder for all things regarding custom sprites
\ No newline at end of file diff --git a/code/controllers/configuration/sections/database_configuration.html b/code/controllers/configuration/sections/database_configuration.html new file mode 100644 index 00000000000..e817945b9bf --- /dev/null +++ b/code/controllers/configuration/sections/database_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/database_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/database_configuration.dm

/datum/configuration_section/database_configurationConfig holder for all database related things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/discord_configuration.html b/code/controllers/configuration/sections/discord_configuration.html new file mode 100644 index 00000000000..5488dfd1a8a --- /dev/null +++ b/code/controllers/configuration/sections/discord_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/discord_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/discord_configuration.dm

/datum/configuration_section/discord_configurationConfig holder for all things relating to discord webhooks
\ No newline at end of file diff --git a/code/controllers/configuration/sections/event_configuration.html b/code/controllers/configuration/sections/event_configuration.html new file mode 100644 index 00000000000..bb6a4325950 --- /dev/null +++ b/code/controllers/configuration/sections/event_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/event_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/event_configuration.dm

/datum/configuration_section/event_configurationConfig holder for all stuff relating to ingame random events
\ No newline at end of file diff --git a/code/controllers/configuration/sections/gamemode_configuration.html b/code/controllers/configuration/sections/gamemode_configuration.html new file mode 100644 index 00000000000..58af1f9136e --- /dev/null +++ b/code/controllers/configuration/sections/gamemode_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/gamemode_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/gamemode_configuration.dm

/datum/configuration_section/gamemode_configurationConfig holder for everything regarding gamemodes
\ No newline at end of file diff --git a/code/controllers/configuration/sections/general_configuration.html b/code/controllers/configuration/sections/general_configuration.html new file mode 100644 index 00000000000..feb65f7ab40 --- /dev/null +++ b/code/controllers/configuration/sections/general_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/general_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/general_configuration.dm

/datum/configuration_section/general_configurationConfig holder for all general/misc things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/ipintel_configuration.html b/code/controllers/configuration/sections/ipintel_configuration.html new file mode 100644 index 00000000000..73a7be917f0 --- /dev/null +++ b/code/controllers/configuration/sections/ipintel_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/ipintel_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/ipintel_configuration.dm

/datum/configuration_section/ipintel_configurationConfig holder for all things relating to IPIntel
\ No newline at end of file diff --git a/code/controllers/configuration/sections/job_configuration.html b/code/controllers/configuration/sections/job_configuration.html new file mode 100644 index 00000000000..6e6a142b2d9 --- /dev/null +++ b/code/controllers/configuration/sections/job_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/job_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/job_configuration.dm

/datum/configuration_section/job_configurationConfig holder for all job related things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/lighting_effects_configuration.html b/code/controllers/configuration/sections/lighting_effects_configuration.html new file mode 100644 index 00000000000..4294216bb9f --- /dev/null +++ b/code/controllers/configuration/sections/lighting_effects_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/lighting_effects_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/lighting_effects_configuration.dm

/datum/configuration_section/lighting_effects_configurationConfig holder for all ligting effect related things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/logging_configuration.html b/code/controllers/configuration/sections/logging_configuration.html new file mode 100644 index 00000000000..77b97faec2d --- /dev/null +++ b/code/controllers/configuration/sections/logging_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/logging_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/logging_configuration.dm

/datum/configuration_section/logging_configurationConfig holder for all things regarding logging
\ No newline at end of file diff --git a/code/controllers/configuration/sections/mc_configuration.html b/code/controllers/configuration/sections/mc_configuration.html new file mode 100644 index 00000000000..abd80daeb77 --- /dev/null +++ b/code/controllers/configuration/sections/mc_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/mc_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/mc_configuration.dm

/datum/configuration_section/mc_configurationConfig holder for all things regarding the MC
\ No newline at end of file diff --git a/code/controllers/configuration/sections/metrics_configuration.html b/code/controllers/configuration/sections/metrics_configuration.html new file mode 100644 index 00000000000..84755c8db9e --- /dev/null +++ b/code/controllers/configuration/sections/metrics_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/metrics_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/metrics_configuration.dm

/datum/configuration_section/metrics_configurationConfig holder for stuff relating to metrics management
\ No newline at end of file diff --git a/code/controllers/configuration/sections/movement_configuration.html b/code/controllers/configuration/sections/movement_configuration.html new file mode 100644 index 00000000000..e1a990094b9 --- /dev/null +++ b/code/controllers/configuration/sections/movement_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/movement_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/movement_configuration.dm

/datum/configuration_section/movement_configurationConfig holder for values relating to mob movement speeds
\ No newline at end of file diff --git a/code/controllers/configuration/sections/overflow_configuration.html b/code/controllers/configuration/sections/overflow_configuration.html new file mode 100644 index 00000000000..57d72bbf870 --- /dev/null +++ b/code/controllers/configuration/sections/overflow_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/overflow_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/overflow_configuration.dm

/datum/configuration_section/overflow_configurationConfig holder for all overflow-server related things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/redis_configuration.html b/code/controllers/configuration/sections/redis_configuration.html new file mode 100644 index 00000000000..d200815afe3 --- /dev/null +++ b/code/controllers/configuration/sections/redis_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/redis_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/redis_configuration.dm

/datum/configuration_section/redis_configurationConfig holder for all redis related things
\ No newline at end of file diff --git a/code/controllers/configuration/sections/ruin_configuration.html b/code/controllers/configuration/sections/ruin_configuration.html new file mode 100644 index 00000000000..40980f72a0a --- /dev/null +++ b/code/controllers/configuration/sections/ruin_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/ruin_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/ruin_configuration.dm

/datum/configuration_section/ruin_configurationConfig holder for all things regarding space ruins and lavaland ruins
\ No newline at end of file diff --git a/code/controllers/configuration/sections/system_configuration.html b/code/controllers/configuration/sections/system_configuration.html new file mode 100644 index 00000000000..9e8492d921d --- /dev/null +++ b/code/controllers/configuration/sections/system_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/system_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/system_configuration.dm

/datum/configuration_section/system_configurationConfig holder for stuff relating to server backend management and secrets
\ No newline at end of file diff --git a/code/controllers/configuration/sections/url_configuration.html b/code/controllers/configuration/sections/url_configuration.html new file mode 100644 index 00000000000..3e5ed9d4798 --- /dev/null +++ b/code/controllers/configuration/sections/url_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/url_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/url_configuration.dm

/datum/configuration_section/url_configurationConfig holder for all the server URLs
\ No newline at end of file diff --git a/code/controllers/configuration/sections/vote_configuration.html b/code/controllers/configuration/sections/vote_configuration.html new file mode 100644 index 00000000000..3bb6da0ddb0 --- /dev/null +++ b/code/controllers/configuration/sections/vote_configuration.html @@ -0,0 +1 @@ +code/controllers/configuration/sections/vote_configuration.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/configuration/sections/vote_configuration.dm

/datum/configuration_section/vote_configurationConfig holder for stuff relating to the ingame vote system
\ No newline at end of file diff --git a/code/controllers/failsafe.html b/code/controllers/failsafe.html new file mode 100644 index 00000000000..37baa7002f6 --- /dev/null +++ b/code/controllers/failsafe.html @@ -0,0 +1 @@ +code/controllers/failsafe.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/failsafe.dm

/var/FailsafeFailsafe
/datum/controller/failsafeThis thing pretty much just keeps poking the master controller
/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
\ No newline at end of file diff --git a/code/controllers/master.html b/code/controllers/master.html new file mode 100644 index 00000000000..4aadc471781 --- /dev/null +++ b/code/controllers/master.html @@ -0,0 +1 @@ +code/controllers/master.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/master.dm

/var/MasterStonedMC
\ No newline at end of file diff --git a/code/controllers/subsystem.html b/code/controllers/subsystem.html new file mode 100644 index 00000000000..027ce3bdb7b --- /dev/null +++ b/code/controllers/subsystem.html @@ -0,0 +1 @@ +code/controllers/subsystem.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem.dm

/datum/controller/subsystemDefines a subsystem to be managed by the Master Controller
\ No newline at end of file diff --git a/code/controllers/subsystem/SSai_controllers.html b/code/controllers/subsystem/SSai_controllers.html new file mode 100644 index 00000000000..bcf9966a697 --- /dev/null +++ b/code/controllers/subsystem/SSai_controllers.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSai_controllers.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSai_controllers.dm

/var/SSai_controllersThe subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.
\ No newline at end of file diff --git a/code/controllers/subsystem/SSair.html b/code/controllers/subsystem/SSair.html new file mode 100644 index 00000000000..866cd451848 --- /dev/null +++ b/code/controllers/subsystem/SSair.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSair.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSair.dm

/datum/resumable_cost_counterA cost counter for resumable, repeating processes.
/proc/condense_watercondenses water on a tile at the specified coordinates
/datum/milla_safeCreate a subclass of this and implement on_run to manipulate tile air safely.
/datum/milla_safe_must_sleepCreate a subclass of this and implement on_run to manipulate tile air safely. ONLY USE THIS VERSION IF YOU CAN'T AVOID SLEEPING; it will delay atmos ticks!
\ No newline at end of file diff --git a/code/controllers/subsystem/SSambience.html b/code/controllers/subsystem/SSambience.html new file mode 100644 index 00000000000..a6bd3349baf --- /dev/null +++ b/code/controllers/subsystem/SSambience.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSambience.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSambience.dm

/var/SSambienceThe subsystem used to play ambience to users every now and then, makes them real excited.
\ No newline at end of file diff --git a/code/controllers/subsystem/SSblackbox.html b/code/controllers/subsystem/SSblackbox.html new file mode 100644 index 00000000000..41c14aadac4 --- /dev/null +++ b/code/controllers/subsystem/SSblackbox.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSblackbox.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSblackbox.dm

/datum/feedback_variableDatum to hold feedback data, which gets logged at round end
\ No newline at end of file diff --git a/code/controllers/subsystem/SSchat.html b/code/controllers/subsystem/SSchat.html new file mode 100644 index 00000000000..8bc45edc512 --- /dev/null +++ b/code/controllers/subsystem/SSchat.html @@ -0,0 +1,2 @@ +code/controllers/subsystem/SSchat.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSchat.dm

/var/SSchatCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT
\ No newline at end of file diff --git a/code/controllers/subsystem/SScleanup.html b/code/controllers/subsystem/SScleanup.html new file mode 100644 index 00000000000..4243055e559 --- /dev/null +++ b/code/controllers/subsystem/SScleanup.html @@ -0,0 +1 @@ +code/controllers/subsystem/SScleanup.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SScleanup.dm

/var/SScleanup
\ No newline at end of file diff --git a/code/controllers/subsystem/SSdbcore.html b/code/controllers/subsystem/SSdbcore.html new file mode 100644 index 00000000000..d8c065c4cb2 --- /dev/null +++ b/code/controllers/subsystem/SSdbcore.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSdbcore.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSdbcore.dm

/datum/db_queryDatum based handler for all database queries
\ No newline at end of file diff --git a/code/controllers/subsystem/SSinput.html b/code/controllers/subsystem/SSinput.html new file mode 100644 index 00000000000..a58fb734d85 --- /dev/null +++ b/code/controllers/subsystem/SSinput.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSinput.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/controllers/subsystem/SSinput.dm

AUTO_CULL_TIMECulling occurs when a client has not pressed a key in over 60 seconds. We stop processing their inputs until they press another key down.

Define Details

AUTO_CULL_TIME

Culling occurs when a client has not pressed a key in over 60 seconds. We stop processing their inputs until they press another key down.

\ No newline at end of file diff --git a/code/controllers/subsystem/SSping.html b/code/controllers/subsystem/SSping.html new file mode 100644 index 00000000000..e654ae97af3 --- /dev/null +++ b/code/controllers/subsystem/SSping.html @@ -0,0 +1,2 @@ +code/controllers/subsystem/SSping.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSping.dm

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

\ No newline at end of file diff --git a/code/controllers/subsystem/SSshuttles.html b/code/controllers/subsystem/SSshuttles.html new file mode 100644 index 00000000000..aaa0f160636 --- /dev/null +++ b/code/controllers/subsystem/SSshuttles.html @@ -0,0 +1,3 @@ +code/controllers/subsystem/SSshuttles.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/controllers/subsystem/SSshuttles.dm

MAX_TRANSIT_TILE_COUNTHow many turfs to allow before we start blocking transit requests
SOFT_TRANSIT_RESERVATION_THRESHOLDHow many turfs to allow before we start freeing up existing "soft reserved" transit docks +If we're under load we want to allow for cycling, but if not we want to preserve already generated docks for use

Define Details

MAX_TRANSIT_TILE_COUNT

How many turfs to allow before we start blocking transit requests

SOFT_TRANSIT_RESERVATION_THRESHOLD

How many turfs to allow before we start freeing up existing "soft reserved" transit docks +If we're under load we want to allow for cycling, but if not we want to preserve already generated docks for use

\ No newline at end of file diff --git a/code/controllers/subsystem/SSstatpanel.html b/code/controllers/subsystem/SSstatpanel.html new file mode 100644 index 00000000000..4d418fde3ae --- /dev/null +++ b/code/controllers/subsystem/SSstatpanel.html @@ -0,0 +1,3 @@ +code/controllers/subsystem/SSstatpanel.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSstatpanel.dm

/datum/object_window_infoDatum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration
\ No newline at end of file diff --git a/code/controllers/subsystem/SStgui.html b/code/controllers/subsystem/SStgui.html new file mode 100644 index 00000000000..fbd2f8e2f80 --- /dev/null +++ b/code/controllers/subsystem/SStgui.html @@ -0,0 +1 @@ +code/controllers/subsystem/SStgui.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SStgui.dm

/var/SStguitgui subsystem
\ No newline at end of file diff --git a/code/controllers/subsystem/SStimer.html b/code/controllers/subsystem/SStimer.html new file mode 100644 index 00000000000..4c0e67237ba --- /dev/null +++ b/code/controllers/subsystem/SStimer.html @@ -0,0 +1,3 @@ +code/controllers/subsystem/SStimer.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/controllers/subsystem/SStimer.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.
/datum/user_verb/timer_logOpens a log of timers
/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

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

\ No newline at end of file diff --git a/code/controllers/subsystem/SSunplanned_controllers.html b/code/controllers/subsystem/SSunplanned_controllers.html new file mode 100644 index 00000000000..40f6a3bd58b --- /dev/null +++ b/code/controllers/subsystem/SSunplanned_controllers.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSunplanned_controllers.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSunplanned_controllers.dm

/var/SSunplanned_controllersHandles making mobs perform lightweight "idle" behaviors such as wandering around when they have nothing planned
\ No newline at end of file diff --git a/code/controllers/subsystem/SSverb_manager.html b/code/controllers/subsystem/SSverb_manager.html new file mode 100644 index 00000000000..c64189e3f95 --- /dev/null +++ b/code/controllers/subsystem/SSverb_manager.html @@ -0,0 +1,3 @@ +code/controllers/subsystem/SSverb_manager.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSverb_manager.dm

/var/SSverb_managerSSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.
/proc/_queue_verbqueue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.
\ No newline at end of file diff --git a/code/controllers/subsystem/SSvis_overlays.html b/code/controllers/subsystem/SSvis_overlays.html new file mode 100644 index 00000000000..d5d99b08277 --- /dev/null +++ b/code/controllers/subsystem/SSvis_overlays.html @@ -0,0 +1 @@ +code/controllers/subsystem/SSvis_overlays.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/SSvis_overlays.dm

/var/SSvis_overlays
\ No newline at end of file diff --git a/code/controllers/subsystem/movement/SSai_movement.html b/code/controllers/subsystem/movement/SSai_movement.html new file mode 100644 index 00000000000..cf920e88d79 --- /dev/null +++ b/code/controllers/subsystem/movement/SSai_movement.html @@ -0,0 +1 @@ +code/controllers/subsystem/movement/SSai_movement.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/movement/SSai_movement.dm

/var/SSai_movementThe subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances
\ No newline at end of file diff --git a/code/controllers/subsystem/movement/movement_types.html b/code/controllers/subsystem/movement/movement_types.html new file mode 100644 index 00000000000..c575af8d1ef --- /dev/null +++ b/code/controllers/subsystem/movement/movement_types.html @@ -0,0 +1,5 @@ +code/controllers/subsystem/movement/movement_types.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/movement/movement_types.dm

/datum/move_loopTemplate class of the movement datums, handles the timing portion of the loops
/datum/move_loop/moveReplacement for walk()
/datum/move_loop/has_target/dist_boundBase class of move_to and move_away, deals with the distance and target aspect of things
/datum/move_loop/has_target/dist_bound/move_toWrapper around walk_to()
/datum/move_loop/has_target/dist_bound/move_awayWrapper around GLOB.move_manager.move_away()
/datum/move_loop/has_target/move_towardsUsed as a alternative to GLOB.move_manager.home_onto
/datum/move_loop/has_target/move_towards_budgetThe actual implementation of GLOB.move_manager.home_onto()
/datum/move_loop/freezeAs close as you can get to a "do-nothing" move loop, the pure intention of this is to absolutely resist all and any automated movement until the move loop times out.
/datum/move_loop/move_randThis isn't actually the same as walk_rand +Because walk_rand is really more like walk_to_rand +It appears to pick a spot outside of range, and move towards it, then pick a new spot, etc. +I can't actually replicate this on our side, because of how bad our pathfinding is, and cause I'm not totally sure I know what it's doing. +I can just implement a random-walk though
/datum/move_loop/move_to_randWrapper around step_rand
\ No newline at end of file diff --git a/code/controllers/subsystem/non_firing/SSearly_assets.html b/code/controllers/subsystem/non_firing/SSearly_assets.html new file mode 100644 index 00000000000..95754589e55 --- /dev/null +++ b/code/controllers/subsystem/non_firing/SSearly_assets.html @@ -0,0 +1 @@ +code/controllers/subsystem/non_firing/SSearly_assets.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/non_firing/SSearly_assets.dm

/var/SSearly_assetsInitializes any assets that need to be loaded ASAP.
\ No newline at end of file diff --git a/code/controllers/subsystem/non_firing/SSpathfinder.html b/code/controllers/subsystem/non_firing/SSpathfinder.html new file mode 100644 index 00000000000..33afce83e2a --- /dev/null +++ b/code/controllers/subsystem/non_firing/SSpathfinder.html @@ -0,0 +1 @@ +code/controllers/subsystem/non_firing/SSpathfinder.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/non_firing/SSpathfinder.dm

/var/SSpathfinderQueues and manages JPS pathfinding steps
/proc/path_map_passalongWe generate a path for the passed in callbacks, and then pipe it over
\ No newline at end of file diff --git a/code/controllers/subsystem/non_firing/SSpersistent_data.html b/code/controllers/subsystem/non_firing/SSpersistent_data.html new file mode 100644 index 00000000000..37fb6c82675 --- /dev/null +++ b/code/controllers/subsystem/non_firing/SSpersistent_data.html @@ -0,0 +1 @@ +code/controllers/subsystem/non_firing/SSpersistent_data.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/non_firing/SSpersistent_data.dm

/var/SSpersistent_data
\ No newline at end of file diff --git a/code/controllers/subsystem/non_firing/SSspatial_grid.html b/code/controllers/subsystem/non_firing/SSspatial_grid.html new file mode 100644 index 00000000000..f0dabf6414f --- /dev/null +++ b/code/controllers/subsystem/non_firing/SSspatial_grid.html @@ -0,0 +1,5 @@ +code/controllers/subsystem/non_firing/SSspatial_grid.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/controllers/subsystem/non_firing/SSspatial_grid.dm

NUMBER_OF_PREGENERATED_ORANGES_EARSthe subsystem creates this many /mob/oranges_ear mob instances during init. allocations that require more than this create more.
/datum/spatial_grid_cellused by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in +the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders. +these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.
/var/SSspatial_grid
BOUNDING_BOX_MINthe left or bottom side index of a box composed of spatial grid cells with the given actual center x or y coordinate
BOUNDING_BOX_MAXthe right or upper side index of a box composed of spatial grid cells with the given center x or y coordinate. +outputted value cant exceed the number of cells on that axis

Define Details

BOUNDING_BOX_MAX

the right or upper side index of a box composed of spatial grid cells with the given center x or y coordinate. +outputted value cant exceed the number of cells on that axis

BOUNDING_BOX_MIN

the left or bottom side index of a box composed of spatial grid cells with the given actual center x or y coordinate

NUMBER_OF_PREGENERATED_ORANGES_EARS

the subsystem creates this many /mob/oranges_ear mob instances during init. allocations that require more than this create more.

\ No newline at end of file diff --git a/code/controllers/subsystem/processing/SSai_behaviors.html b/code/controllers/subsystem/processing/SSai_behaviors.html new file mode 100644 index 00000000000..7fa74ab091f --- /dev/null +++ b/code/controllers/subsystem/processing/SSai_behaviors.html @@ -0,0 +1,2 @@ +code/controllers/subsystem/processing/SSai_behaviors.dm - Space Station 13
Space Station 13 - Modules - Types

code/controllers/subsystem/processing/SSai_behaviors.dm

/var/SSai_behaviorsThe subsystem used to tick /datum/ai_behavior instances. +Handling the individual actions an AI can take like punching someone in the fucking NUTS
\ No newline at end of file diff --git a/code/datums/actions/cooldown_action.html b/code/datums/actions/cooldown_action.html new file mode 100644 index 00000000000..7bcaa436680 --- /dev/null +++ b/code/datums/actions/cooldown_action.html @@ -0,0 +1 @@ +code/datums/actions/cooldown_action.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/actions/cooldown_action.dm

/datum/action/cooldownPreset for an action that has a cooldown.
\ No newline at end of file diff --git a/code/datums/actions/item_action.html b/code/datums/actions/item_action.html new file mode 100644 index 00000000000..3f98eb8efcf --- /dev/null +++ b/code/datums/actions/item_action.html @@ -0,0 +1 @@ +code/datums/actions/item_action.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/actions/item_action.dm

/datum/action/item_action/organ_actionprset for organ actions
\ No newline at end of file diff --git a/code/datums/ai/ai_behavior.html b/code/datums/ai/ai_behavior.html new file mode 100644 index 00000000000..c3f091a8506 --- /dev/null +++ b/code/datums/ai/ai_behavior.html @@ -0,0 +1 @@ +code/datums/ai/ai_behavior.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/ai_behavior.dm

/datum/ai_behaviorAbstract class for an action an AI can take. Can range from movement to grabbing a nearby weapon.
\ No newline at end of file diff --git a/code/datums/ai/ai_controller.html b/code/datums/ai/ai_controller.html new file mode 100644 index 00000000000..f5a4df9b49f --- /dev/null +++ b/code/datums/ai/ai_controller.html @@ -0,0 +1,13 @@ +code/datums/ai/ai_controller.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/ai/ai_controller.dm

/datum/ai_controllerAI controllers are a datumized form of AI that simulates the input a player +would otherwise give to a atom. What this means is that these datums have +ways of interacting with a specific atom and control it. They posses a +"blackboard" with the information the AI knows and has, and will plan actions +it will try to perform through multiple modular subtrees with behaviors.
TRACK_AI_DATUM_TARGETUsed to manage references to datum by AI controllers
CLEAR_AI_DATUM_TARGETUsed to clear previously set reference handing by AI controllers
TRAIT_AI_TRACKINGUsed for above to track all the keys that have registered a signal

Define Details

CLEAR_AI_DATUM_TARGET

Used to clear previously set reference handing by AI controllers

+

TRACK_AI_DATUM_TARGET

Used to manage references to datum by AI controllers

+

TRAIT_AI_TRACKING

Used for above to track all the keys that have registered a signal

\ No newline at end of file diff --git a/code/datums/ai/ai_planning_subtree.html b/code/datums/ai/ai_planning_subtree.html new file mode 100644 index 00000000000..af3c3b570e6 --- /dev/null +++ b/code/datums/ai/ai_planning_subtree.html @@ -0,0 +1,4 @@ +code/datums/ai/ai_planning_subtree.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/ai_planning_subtree.dm

/datum/ai_planning_subtreeA subtree is attached to a controller and is occasionally called by +/ai_controller/select_behaviors(). This mainly exists to act as a way to +subtype and modify select_behaviors() without needing to subtype the AI +controller itself.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.html new file mode 100644 index 00000000000..52f8d71f18c --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm

/datum/ai_behavior/befriend_targetbehavior to befriend any targets
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.html new file mode 100644 index 00000000000..2d536b4eea7 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/interact_with_target.dm

/datum/ai_behavior/interact_with_targetBehavior for general interactions with any targets
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.html new file mode 100644 index 00000000000..84d3e7bad1e --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm

/datum/ai_behavior/find_potential_targets/nearestPicks targets based on which one is closest to you, choice between targets at equal distance is arbitrary
/datum/ai_behavior/target_from_retaliate_list/nearestAs above but targets have been filtered from the 'retaliate' blackboard list
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.html new file mode 100644 index 00000000000..90ee37493b8 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.dm

/datum/ai_behavior/run_away_from_targetMove to a position further away from your current target
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.html new file mode 100644 index 00000000000..e5b7b932381 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.dm

/datum/ai_behavior/stop_and_stareMakes a mob simply stop and stare at a movable... yea...
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_abilities.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_abilities.html new file mode 100644 index 00000000000..404fb174f38 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_abilities.html @@ -0,0 +1,2 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_abilities.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_abilities.dm

/datum/ai_behavior/targeted_mob_abilityAttempts to use a mob's cooldown ability on a target
/datum/ai_behavior/targeted_mob_ability/and_plan_executeAttempts to use a mob's cooldown ability on a target and then move the target into a special target blackboard datum +Doesn't need another subtype to clear BB_BASIC_MOB_EXECUTION_TARGET because it will be the target key for the normal action
/datum/ai_behavior/targeted_mob_ability/and_clear_targetAttempts to use a mob's cooldown ability on a target and releases the target when the action completes
/datum/ai_behavior/targeted_mob_ability/min_rangeAttempts to move into the provided range and then use a mob's cooldown ability on a target
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html new file mode 100644 index 00000000000..fb867aef4e9 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm

/datum/ai_behavior/tipped_reactionType of tipped reaction that is akin to puppy dog eyes.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.html new file mode 100644 index 00000000000..49549ab8f64 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.html @@ -0,0 +1,3 @@ +code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.dm

/datum/ai_behavior/travel_towardsMoves towards the atom in the passed blackboard key. +Planning continues during this action so it can be interrupted by higher priority actions.
/datum/ai_behavior/travel_towards_atomTravel towards an atom you pass directly from the controller rather than a blackboard key. +You might need to do this to avoid repeating some checks in both a controller and an action.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.html b/code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.html new file mode 100644 index 00000000000..0e2d479d86f --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.dm

/datum/ai_planning_subtree/basic_melee_attack_subtree/opportunisticAttack something which is already adjacent to us, without ending planning
/datum/ai_behavior/basic_melee_attack/opportunisticAttack something which is already adjacent to us without moving
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.html b/code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.html new file mode 100644 index 00000000000..047c5578891 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.dm

/datum/ai_planning_subtree/attack_obstacle_in_pathIf there's something between us and our target then we need to queue a behaviour to make it not be there
/datum/ai_behavior/attack_obstructionsSomething is in our way, get it outta here
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.html b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.html new file mode 100644 index 00000000000..0007c2e5724 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm

/datum/ai_planning_subtree/capricious_retaliateAdd or remove people to our retaliation shitlist just on an arbitrary whim
/datum/ai_behavior/capricious_retaliateAdd or remove people to our retaliation shitlist just on an arbitrary whim
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/find_food.html b/code/datums/ai/basic_mobs/basic_subtrees/find_food.html new file mode 100644 index 00000000000..2dac2ebfbf1 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/find_food.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/find_food.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/find_food.dm

/datum/ai_planning_subtree/find_foodSimilar to finding a target but looks for food types in the blackboard.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/flee_target.html b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.html new file mode 100644 index 00000000000..c61b0d780c5 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.html @@ -0,0 +1,2 @@ +code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm

/datum/ai_planning_subtree/flee_targetTry to escape from your current target, without performing any other actions.
/datum/ai_planning_subtree/flee_target/from_flee_keyTry to escape from your current target, without performing any other actions. +Reads from some fleeing-specific targeting keys rather than the current mob target.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.html b/code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.html new file mode 100644 index 00000000000..08f88adddfb --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.dm

/datum/ai_planning_subtree/maintain_distanceStep away if too close, or towards if too far
/datum/ai_behavior/step_awayTake one step away
/datum/ai_behavior/pursue_to_rangePursue a target until we are within a provided range
/datum/ai_behavior/cover_minimum_distanceinstead of taking a single step, we cover the entire distance
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/make_babies.html b/code/datums/ai/basic_mobs/basic_subtrees/make_babies.html new file mode 100644 index 00000000000..6047ae1f309 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/make_babies.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/make_babies.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/make_babies.dm

/datum/ai_planning_subtree/make_babiesReproduce with a similar mob.
/datum/ai_behavior/find_partnerFind a compatible, living partner, if we're also alone.
/datum/ai_behavior/make_babiesReproduce.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.html b/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.html new file mode 100644 index 00000000000..55c8925a06a --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm

/datum/ai_planning_subtree/ranged_skirmishFire a ranged attack without interrupting movement.
/datum/ai_behavior/ranged_skirmishHow often will we try to perform our ranged attack?
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.html b/code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.html new file mode 100644 index 00000000000..79ec806f20d --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.dm

/datum/ai_planning_subtree/shapechange_ambushShapeshift when we have no target, until someone has been nearby for long enough
/datum/ai_behavior/use_mob_ability/shapeshiftSelects a random shapeshift ability before shifting
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.html b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.html new file mode 100644 index 00000000000..64f38241c03 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm

/datum/ai_planning_subtree/simple_find_nearest_target_to_fleeFind the nearest thing which we assume is hostile and set it as the flee target
/datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_fleeFind the nearest thing on our list of 'things which have done damage to me' and set it as the flee target
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.html b/code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.html new file mode 100644 index 00000000000..18d4f9723fc --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.dm

/datum/ai_planning_subtree/stare_at_thingLocate a thing (practically any atom) to stop and stare at.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.html b/code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.html new file mode 100644 index 00000000000..4541ad805d6 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.html @@ -0,0 +1,4 @@ +code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.dm

/datum/ai_planning_subtree/target_retaliateSets the BB target to a mob which you can see and who has recently attacked you
/datum/ai_planning_subtree/target_retaliate/to_fleePlaces a mob which you can see and who has recently attacked you into some 'run away from this' AI keys +Can use a different targeting strategy than you use to select attack targets +Not required if fleeing is the only target behaviour or uses the same target datum
/datum/ai_behavior/target_from_retaliate_listPicks a target from a provided list of atoms who have been pissing you off +You will probably need /datum/element/ai_retaliate to take advantage of this unless you're populating the blackboard yourself
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.html b/code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.html new file mode 100644 index 00000000000..63b3b10961a --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.dm

/datum/ai_planning_subtree/targeted_mob_abilityAttempts to use a mob ability on a target
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/tip_reaction.html b/code/datums/ai/basic_mobs/basic_subtrees/tip_reaction.html new file mode 100644 index 00000000000..db448fde762 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/tip_reaction.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/tip_reaction.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/tip_reaction.dm

/datum/ai_planning_subtree/tip_reactionused by cows
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.html b/code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.html new file mode 100644 index 00000000000..369598abfcd --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.dm

/datum/ai_planning_subtree/travel_to_pointSimply walk to a location
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.html b/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.html new file mode 100644 index 00000000000..a874e328d9f --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.html @@ -0,0 +1,2 @@ +code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm

/datum/ai_planning_subtree/use_mob_abilitySimple behaviours which simply try to use an ability whenever it is available. +For something which wants a target try targeted_mob_ability.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/generic_controllers.html b/code/datums/ai/basic_mobs/generic_controllers.html new file mode 100644 index 00000000000..5130377ec98 --- /dev/null +++ b/code/datums/ai/basic_mobs/generic_controllers.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/generic_controllers.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/generic_controllers.dm

/datum/ai_controller/basic_controller/simple/simple_hostile_obstaclesFind a target, walk at target, attack intervening obstacles
/datum/ai_controller/basic_controller/simple/simple_hostile_obstacles/prowlerProwls around when not attacking people
/datum/ai_controller/basic_controller/simple/simple_hostile_obstacles/ventcrawlerWill ventcrawl around until it finds a target to attack.
/datum/ai_controller/basic_controller/simple/simple_rangedFind a target, keep distance
/datum/ai_controller/basic_controller/simple/simple_ranged_retaliateRetaliate at range, keep distance
/datum/ai_controller/basic_controller/simple/simple_skirmisherFind a target, walk towards it AND shoot it
/datum/ai_controller/basic_controller/simple/simple_skirmisher/prowlerWanders around until it finds something it can walk towards and shoot
/datum/ai_controller/basic_controller/simple/simple_abilityUse an ability on target on cooldown
/datum/ai_controller/basic_controller/simple/simple_ability_retaliateUse an ability to retaliate on cooldown
/datum/ai_controller/basic_controller/simple/simple_ability_meleeUse an ability on target on cooldown, then try to punch them
/datum/ai_controller/basic_controller/simple/simple_ability_rangedUse an ability on target on cooldown, then try to shoot them
/datum/ai_controller/basic_controller/simple/retaliateFight back if attacked
/datum/ai_controller/basic_controller/simple/simple_capriciousGet pissed at random people for no reason. Most often seen with goats.
/datum/ai_controller/basic_controller/simple/simple_fearfulRuns away from anyone it sees
/datum/ai_controller/basic_controller/simple/simple_skittishRuns away when attacked
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.html b/code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.html new file mode 100644 index 00000000000..f1f0f710e87 --- /dev/null +++ b/code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.html @@ -0,0 +1,2 @@ +code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/hunting_behavior/find_and_hunt_target.dm

/datum/ai_planning_subtree/find_and_hunt_targetTells the AI to find a certain target nearby to hunt. +If a target has been found, we will start to move towards it, and eventually attack it.
/datum/ai_planning_subtree/find_and_hunt_target/cleanFind and clean things
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/hunting_behavior/find_hunt_target.html b/code/datums/ai/basic_mobs/hunting_behavior/find_hunt_target.html new file mode 100644 index 00000000000..d407e1de535 --- /dev/null +++ b/code/datums/ai/basic_mobs/hunting_behavior/find_hunt_target.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/hunting_behavior/find_hunt_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/hunting_behavior/find_hunt_target.dm

/datum/ai_behavior/find_hunt_targetFinds a specific atom type to hunt.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/hunting_behavior/hunt_target.html b/code/datums/ai/basic_mobs/hunting_behavior/hunt_target.html new file mode 100644 index 00000000000..1320807a35c --- /dev/null +++ b/code/datums/ai/basic_mobs/hunting_behavior/hunt_target.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/hunting_behavior/hunt_target.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/hunting_behavior/hunt_target.dm

/datum/ai_behavior/hunt_targetHunts down a specific atom type.
\ No newline at end of file diff --git a/code/datums/ai/basic_mobs/hunting_behavior/hunting_corpses.html b/code/datums/ai/basic_mobs/hunting_behavior/hunting_corpses.html new file mode 100644 index 00000000000..078c7efcf5c --- /dev/null +++ b/code/datums/ai/basic_mobs/hunting_behavior/hunting_corpses.html @@ -0,0 +1 @@ +code/datums/ai/basic_mobs/hunting_behavior/hunting_corpses.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/basic_mobs/hunting_behavior/hunting_corpses.dm

/datum/ai_planning_subtree/find_and_hunt_target/corpsesFind and attack corpses
/datum/ai_behavior/find_hunt_target/corpsesFind nearby dead mobs
/datum/ai_planning_subtree/find_and_hunt_target/corpses/humanFind and attack specifically human corpses
\ No newline at end of file diff --git a/code/datums/ai/generic/find_and_set.html b/code/datums/ai/generic/find_and_set.html new file mode 100644 index 00000000000..350877ce3b0 --- /dev/null +++ b/code/datums/ai/generic/find_and_set.html @@ -0,0 +1,3 @@ +code/datums/ai/generic/find_and_set.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/generic/find_and_set.dm

/datum/ai_behavior/find_and_setFinds an item near themselves, sets a blackboard key as it. Very useful for AIs that need to use machines or something. +If you want to do something more complicated than find a single atom, change the search_tactic() proc +cool tip: search_tactic() can set lists
/datum/ai_behavior/find_and_set/in_listVariant of find and set that takes a list of things to find.
/datum/ai_behavior/find_and_set/pawn_must_hold_itemVariant of find and set that fails if the living pawn doesn't hold something
/datum/ai_behavior/find_and_set/edibleVariant of find and set that also requires the item to be edible. checks hands too
\ No newline at end of file diff --git a/code/datums/ai/generic/generic_behaviors.html b/code/datums/ai/generic/generic_behaviors.html new file mode 100644 index 00000000000..10cca3473e2 --- /dev/null +++ b/code/datums/ai/generic/generic_behaviors.html @@ -0,0 +1 @@ +code/datums/ai/generic/generic_behaviors.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/generic/generic_behaviors.dm

/datum/ai_behavior/use_in_handUse in hand the currently held item
/datum/ai_behavior/use_on_objectUse the currently held item, or unarmed, on a weakref to an object in the world
/datum/ai_behavior/drop_itemDrops items in hands, very important for future behaviors that require the pawn to grab stuff
\ No newline at end of file diff --git a/code/datums/ai/idle_behaviors/idle_random_walk.html b/code/datums/ai/idle_behaviors/idle_random_walk.html new file mode 100644 index 00000000000..04c5e676d95 --- /dev/null +++ b/code/datums/ai/idle_behaviors/idle_random_walk.html @@ -0,0 +1 @@ +code/datums/ai/idle_behaviors/idle_random_walk.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/idle_behaviors/idle_random_walk.dm

/datum/idle_behavior/idle_random_walkRandomly choose a direction to walk in.
\ No newline at end of file diff --git a/code/datums/ai/monkey/monkey_controller.html b/code/datums/ai/monkey/monkey_controller.html new file mode 100644 index 00000000000..311d5bb3dc3 --- /dev/null +++ b/code/datums/ai/monkey/monkey_controller.html @@ -0,0 +1 @@ +code/datums/ai/monkey/monkey_controller.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/monkey/monkey_controller.dm

/datum/ai_controller/monkeyOOK OOK OOK
\ No newline at end of file diff --git a/code/datums/ai/movement/ai_movement.html b/code/datums/ai/movement/ai_movement.html new file mode 100644 index 00000000000..fafe8cd7ce0 --- /dev/null +++ b/code/datums/ai/movement/ai_movement.html @@ -0,0 +1 @@ +code/datums/ai/movement/ai_movement.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/movement/ai_movement.dm

/datum/ai_movementThis datum is an abstract class that can be overriden for different types of movement.
\ No newline at end of file diff --git a/code/datums/ai/movement/ai_movement_jps.html b/code/datums/ai/movement/ai_movement_jps.html new file mode 100644 index 00000000000..7deaed845a5 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_jps.html @@ -0,0 +1 @@ +code/datums/ai/movement/ai_movement_jps.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/movement/ai_movement_jps.dm

/datum/ai_movement/jpsThis movement datum represents smart-pathing
\ No newline at end of file diff --git a/code/datums/ai/movement/basic_avoidance.html b/code/datums/ai/movement/basic_avoidance.html new file mode 100644 index 00000000000..0ac9b4320be --- /dev/null +++ b/code/datums/ai/movement/basic_avoidance.html @@ -0,0 +1 @@ +code/datums/ai/movement/basic_avoidance.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/movement/basic_avoidance.dm

/datum/ai_movement/basic_avoidanceUses Byond's basic obstacle avoidance movement
/datum/ai_movement/basic_avoidance/backstepMove immediately and don't update our facing
\ No newline at end of file diff --git a/code/datums/ai/movement/complete_stop.html b/code/datums/ai/movement/complete_stop.html new file mode 100644 index 00000000000..5949a252346 --- /dev/null +++ b/code/datums/ai/movement/complete_stop.html @@ -0,0 +1 @@ +code/datums/ai/movement/complete_stop.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/movement/complete_stop.dm

/datum/ai_movement/complete_stopCome to a complete stop for a set amount of time.
\ No newline at end of file diff --git a/code/datums/ai/targeting_strategy/basic_targeting_strategy.html b/code/datums/ai/targeting_strategy/basic_targeting_strategy.html new file mode 100644 index 00000000000..9daa7373c48 --- /dev/null +++ b/code/datums/ai/targeting_strategy/basic_targeting_strategy.html @@ -0,0 +1 @@ +code/datums/ai/targeting_strategy/basic_targeting_strategy.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/targeting_strategy/basic_targeting_strategy.dm

/datum/targeting_strategy/basic/of_sizeSubtype which searches for mobs of a size relative to ours
\ No newline at end of file diff --git a/code/datums/ai/targeting_strategy/dont_target_friends.html b/code/datums/ai/targeting_strategy/dont_target_friends.html new file mode 100644 index 00000000000..99158854020 --- /dev/null +++ b/code/datums/ai/targeting_strategy/dont_target_friends.html @@ -0,0 +1 @@ +code/datums/ai/targeting_strategy/dont_target_friends.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/targeting_strategy/dont_target_friends.dm

/datum/targeting_strategy/basic/not_friendsDon't target an atom in our friends list (or turfs), anything else is fair game
/datum/targeting_strategy/basic/not_friends/allow_itemsSubtype that allows us to target items while deftly avoiding attacking our allies. Be careful when it comes to targeting items as an AI could get trapped targeting something it can't destroy.
\ No newline at end of file diff --git a/code/datums/ai/targeting_strategy/targeting_strategy.html b/code/datums/ai/targeting_strategy/targeting_strategy.html new file mode 100644 index 00000000000..9ae14269473 --- /dev/null +++ b/code/datums/ai/targeting_strategy/targeting_strategy.html @@ -0,0 +1,3 @@ +code/datums/ai/targeting_strategy/targeting_strategy.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai/targeting_strategy/targeting_strategy.dm

/datum/targeting_strategyDatum for basic mobs to define what they can attack. +Global, just like ai_behaviors. +Meant to be subtyped into different kinds of targeting strategies.
\ No newline at end of file diff --git a/code/datums/ai_law_sets.html b/code/datums/ai_law_sets.html new file mode 100644 index 00000000000..ea6448255be --- /dev/null +++ b/code/datums/ai_law_sets.html @@ -0,0 +1 @@ +code/datums/ai_law_sets.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/ai_law_sets.dm

/datum/ai_laws/asimovAsimov
/datum/ai_laws/crewsimovCrewsimov
/datum/ai_laws/quarantineQuarantine.
/datum/ai_laws/nanotrasenNanotrasen/Malf
/datum/ai_laws/nanotrasen_aggressiveNanotrasen Aggressive
/datum/ai_laws/robocopRobocop
/datum/ai_laws/paladinP.A.L.A.D.I.N.
/datum/ai_laws/corporateCorporate
/datum/ai_laws/tyrantT.Y.R.A.N.T.
/datum/ai_laws/antimovAntimov
/datum/ai_laws/pranksimovPranksimov
/datum/ai_laws/cctvCCTV
/datum/ai_laws/hippocraticHippocratic Oath
/datum/ai_laws/maintainStation Efficiency
/datum/ai_laws/peacekeeperPeacekeeper
/datum/ai_laws/deathsquadDeathsquad
/datum/ai_laws/epsilonEpsilon Station AI
/datum/ai_laws/syndicate_overrideSyndicate
/datum/ai_laws/ert_overrideERT
/datum/ai_laws/ninja_overrideNinja
/datum/ai_laws/mindflayer_overrideMindflayer
/datum/ai_laws/droneDrone
\ No newline at end of file diff --git a/code/datums/beam.html b/code/datums/beam.html new file mode 100644 index 00000000000..07b7182c9a1 --- /dev/null +++ b/code/datums/beam.html @@ -0,0 +1 @@ +code/datums/beam.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/beam.dm

/datum/beam
\ No newline at end of file diff --git a/code/datums/bug_report.html b/code/datums/bug_report.html new file mode 100644 index 00000000000..c074a8d02e3 --- /dev/null +++ b/code/datums/bug_report.html @@ -0,0 +1 @@ +code/datums/bug_report.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/bug_report.dm

/proc/read_bug_report_tablePopulates a list using the bug reports db table and returns it
/proc/read_bug_report_titlesCreate a list of ids, authors and titles of bug reports awaiting approval
\ No newline at end of file diff --git a/code/datums/chat_payload.html b/code/datums/chat_payload.html new file mode 100644 index 00000000000..cf231c1e680 --- /dev/null +++ b/code/datums/chat_payload.html @@ -0,0 +1 @@ +code/datums/chat_payload.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/chat_payload.dm

/datum/chat_payloadStores information about a chat payload
\ No newline at end of file diff --git a/code/datums/chatmessage.html b/code/datums/chatmessage.html new file mode 100644 index 00000000000..674056205ac --- /dev/null +++ b/code/datums/chatmessage.html @@ -0,0 +1,3 @@ +code/datums/chatmessage.dm - Space Station 13
Space Station 13 - Modules - TypesDefine 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_GRACE_PERIODGrace period for fade before we actually delete the chat message
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_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
WXH_TO_HEIGHTMacro from Lummox used to get height from a MeasureText proc. +resolves the MeasureText() return value once, then resolves the height, then sets return_var to that.
/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_GRACE_PERIOD

Grace period for fade before we actually delete the chat message

CHAT_MESSAGE_HEIGHT_DECAY

Factor of how much height will account to exponential decay

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

WXH_TO_HEIGHT

Macro from Lummox used to get height from a MeasureText proc. +resolves the MeasureText() return value once, then resolves the height, then sets return_var to that.

\ No newline at end of file diff --git a/code/datums/click_intercept.html b/code/datums/click_intercept.html new file mode 100644 index 00000000000..84c0ef3f424 --- /dev/null +++ b/code/datums/click_intercept.html @@ -0,0 +1,3 @@ +code/datums/click_intercept.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/click_intercept.dm

/datum/click_interceptDatum which is intended to be stored by a client's click_intercept variable. +Used to override normal clicking behavior when clicking on an object. +While active, a mob's ClickOn proc will redirect to the InterceptClickOn() proc instead.
\ No newline at end of file diff --git a/code/datums/cogbar.html b/code/datums/cogbar.html new file mode 100644 index 00000000000..819b88c6388 --- /dev/null +++ b/code/datums/cogbar.html @@ -0,0 +1 @@ +code/datums/cogbar.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/cogbar.dm

/datum/cogbarRepresents that the user is busy doing something.
\ No newline at end of file diff --git a/code/datums/components.html b/code/datums/components.html new file mode 100644 index 00000000000..64a3defceb9 --- /dev/null +++ b/code/datums/components.html @@ -0,0 +1,4 @@ +code/datums/components/README.md - Space Station 13
Space Station 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\dcs\signals.dm

\ No newline at end of file diff --git a/code/datums/components/_component.html b/code/datums/components/_component.html new file mode 100644 index 00000000000..937b3c19479 --- /dev/null +++ b/code/datums/components/_component.html @@ -0,0 +1 @@ +code/datums/components/_component.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/_component.dm

/datum/componentThe component datum
\ No newline at end of file diff --git a/code/datums/components/action_item_overlay.html b/code/datums/components/action_item_overlay.html new file mode 100644 index 00000000000..b0c3b06f6c4 --- /dev/null +++ b/code/datums/components/action_item_overlay.html @@ -0,0 +1,2 @@ +code/datums/components/action_item_overlay.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/action_item_overlay.dm

/datum/component/action_item_overlayApply to an action to allow it to take an item +and apply it as an overlay of the action button
\ No newline at end of file diff --git a/code/datums/components/ai_has_target_timer.html b/code/datums/components/ai_has_target_timer.html new file mode 100644 index 00000000000..7f3754a0eeb --- /dev/null +++ b/code/datums/components/ai_has_target_timer.html @@ -0,0 +1 @@ +code/datums/components/ai_has_target_timer.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/ai_has_target_timer.dm

/datum/component/ai_target_timerIncrements a blackboard key while the attached mob is engaged with a particular target, does nothing else on its own
\ No newline at end of file diff --git a/code/datums/components/ai_retaliate_advanced.html b/code/datums/components/ai_retaliate_advanced.html new file mode 100644 index 00000000000..152a0c918e5 --- /dev/null +++ b/code/datums/components/ai_retaliate_advanced.html @@ -0,0 +1,3 @@ +code/datums/components/ai_retaliate_advanced.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/ai_retaliate_advanced.dm

/datum/component/ai_retaliate_advancedAttached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information. +Differs from the element as it passes new entries through a callback.
\ No newline at end of file diff --git a/code/datums/components/anti_magic.html b/code/datums/components/anti_magic.html new file mode 100644 index 00000000000..f74314591f5 --- /dev/null +++ b/code/datums/components/anti_magic.html @@ -0,0 +1 @@ +code/datums/components/anti_magic.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/anti_magic.dm

/datum/component/anti_magicThis provides different types of magic resistance on an object
\ No newline at end of file diff --git a/code/datums/components/aura_healing.html b/code/datums/components/aura_healing.html new file mode 100644 index 00000000000..08fe838f18a --- /dev/null +++ b/code/datums/components/aura_healing.html @@ -0,0 +1,4 @@ +code/datums/components/aura_healing.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/aura_healing.dm

/datum/component/aura_healingApplies healing to those in the area. +Will provide them with an alert while they're in range, as well as +give them a healing particle. +Can be applied to those only with a trait conditionally.
\ No newline at end of file diff --git a/code/datums/components/basic_mob_aggro_emote.html b/code/datums/components/basic_mob_aggro_emote.html new file mode 100644 index 00000000000..b8c86c393eb --- /dev/null +++ b/code/datums/components/basic_mob_aggro_emote.html @@ -0,0 +1 @@ +code/datums/components/basic_mob_aggro_emote.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/basic_mob_aggro_emote.dm

/datum/component/aggro_emoteA component for ai-controlled atoms which plays a sound if they switch to a living target which they can attack
\ No newline at end of file diff --git a/code/datums/components/boomerang.html b/code/datums/components/boomerang.html new file mode 100644 index 00000000000..a8f2d50aa19 --- /dev/null +++ b/code/datums/components/boomerang.html @@ -0,0 +1,2 @@ +code/datums/components/boomerang.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/components/boomerang.dm

BOOMERANG_REBOUND_INTERVALThe cooldown period between last_boomerang_throw and it's methods of implementing a rebound proc.
/datum/component/boomerangIf an object is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. +Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.

Define Details

BOOMERANG_REBOUND_INTERVAL

The cooldown period between last_boomerang_throw and it's methods of implementing a rebound proc.

\ No newline at end of file diff --git a/code/datums/components/boss_music.html b/code/datums/components/boss_music.html new file mode 100644 index 00000000000..271ad06ba25 --- /dev/null +++ b/code/datums/components/boss_music.html @@ -0,0 +1 @@ +code/datums/components/boss_music.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/boss_music.dm

/datum/component/boss_musicAttaches to a hostile simplemob and plays that music while they have a target.
\ No newline at end of file diff --git a/code/datums/components/codeword_hearing.html b/code/datums/components/codeword_hearing.html new file mode 100644 index 00000000000..2e6b0cad85f --- /dev/null +++ b/code/datums/components/codeword_hearing.html @@ -0,0 +1 @@ +code/datums/components/codeword_hearing.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/codeword_hearing.dm

/datum/component/codeword_hearingComponent that allows for highlighting of words or phrases in chat based on regular expressions.
\ No newline at end of file diff --git a/code/datums/components/connect_containers.html b/code/datums/components/connect_containers.html new file mode 100644 index 00000000000..b049688b32c --- /dev/null +++ b/code/datums/components/connect_containers.html @@ -0,0 +1 @@ +code/datums/components/connect_containers.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/connect_containers.dm

/datum/component/connect_containersThis component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.
\ No newline at end of file diff --git a/code/datums/components/connect_loc_behalf.html b/code/datums/components/connect_loc_behalf.html new file mode 100644 index 00000000000..603520102ee --- /dev/null +++ b/code/datums/components/connect_loc_behalf.html @@ -0,0 +1,4 @@ +code/datums/components/connect_loc_behalf.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/connect_loc_behalf.dm

/datum/component/connect_loc_behalfThis component behaves similar to connect_loc, hooking into a signal on a tracked object's turf +It has the ability to react to that signal on behalf of a separate listener however +This has great use, primarily for components, but it carries with it some overhead +So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.
\ No newline at end of file diff --git a/code/datums/components/connect_mob_behalf.html b/code/datums/components/connect_mob_behalf.html new file mode 100644 index 00000000000..4ee4d360350 --- /dev/null +++ b/code/datums/components/connect_mob_behalf.html @@ -0,0 +1,3 @@ +code/datums/components/connect_mob_behalf.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/connect_mob_behalf.dm

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

code/datums/components/connect_range.dm

/datum/component/connect_rangeThis component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them. +Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener. +Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.
\ No newline at end of file diff --git a/code/datums/components/corpse_description.html b/code/datums/components/corpse_description.html new file mode 100644 index 00000000000..429be181bbd --- /dev/null +++ b/code/datums/components/corpse_description.html @@ -0,0 +1,2 @@ +code/datums/components/corpse_description.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/corpse_description.dm

/datum/component/corpse_descriptionMapping component which adds examine text to a corpse that is removed on revival (in case for some reason someone revives your space ruin mob) +For immersive environmental story telling
\ No newline at end of file diff --git a/code/datums/components/cult_held_body.html b/code/datums/components/cult_held_body.html new file mode 100644 index 00000000000..288164007b8 --- /dev/null +++ b/code/datums/components/cult_held_body.html @@ -0,0 +1,2 @@ +code/datums/components/cult_held_body.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/cult_held_body.dm

/datum/component/construct_held_bodyA component for tracking and manipulating bodies held inside constructs/shades +Will drop the body/brain when the parent dies or is deleted.
\ No newline at end of file diff --git a/code/datums/components/damage_aura.html b/code/datums/components/damage_aura.html new file mode 100644 index 00000000000..4d28403a65e --- /dev/null +++ b/code/datums/components/damage_aura.html @@ -0,0 +1,2 @@ +code/datums/components/damage_aura.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/damage_aura.dm

/datum/component/damage_auraApplies a status effect and deals damage to people in the area. +Will deal more damage the more people are present.
\ No newline at end of file diff --git a/code/datums/components/deadchat_control.html b/code/datums/components/deadchat_control.html new file mode 100644 index 00000000000..cdbb12ccd51 --- /dev/null +++ b/code/datums/components/deadchat_control.html @@ -0,0 +1 @@ +code/datums/components/deadchat_control.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/deadchat_control.dm

/datum/component/deadchat_controlDeadchat Plays Things - The Componenting
\ No newline at end of file diff --git a/code/datums/components/death_linked.html b/code/datums/components/death_linked.html new file mode 100644 index 00000000000..c95ae2762c0 --- /dev/null +++ b/code/datums/components/death_linked.html @@ -0,0 +1 @@ +code/datums/components/death_linked.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/death_linked.dm

/datum/component/death_linked
\ No newline at end of file diff --git a/code/datums/components/defibrillator.html b/code/datums/components/defibrillator.html new file mode 100644 index 00000000000..998b262c3d6 --- /dev/null +++ b/code/datums/components/defibrillator.html @@ -0,0 +1 @@ +code/datums/components/defibrillator.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/components/defibrillator.dm

DEFIB_TIMEA component for an item that attempts to defibrillate a mob when activated.

Define Details

DEFIB_TIME

A component for an item that attempts to defibrillate a mob when activated.

\ No newline at end of file diff --git a/code/datums/components/direct_explosive_trap.html b/code/datums/components/direct_explosive_trap.html new file mode 100644 index 00000000000..c6d189968b9 --- /dev/null +++ b/code/datums/components/direct_explosive_trap.html @@ -0,0 +1 @@ +code/datums/components/direct_explosive_trap.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/direct_explosive_trap.dm

/datum/component/direct_explosive_trapResponds to certain signals and 'explodes' on the person using the item.
\ No newline at end of file diff --git a/code/datums/components/drift.html b/code/datums/components/drift.html new file mode 100644 index 00000000000..155bdc5b856 --- /dev/null +++ b/code/datums/components/drift.html @@ -0,0 +1,3 @@ +code/datums/components/drift.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/drift.dm

/datum/component/driftComponent that handles drifting +Manages a movement loop that actually does the legwork of moving someone +Alongside dealing with the post movement input blocking required to make things look nice
\ No newline at end of file diff --git a/code/datums/components/footstep.html b/code/datums/components/footstep.html new file mode 100644 index 00000000000..868f6a0f7c4 --- /dev/null +++ b/code/datums/components/footstep.html @@ -0,0 +1 @@ +code/datums/components/footstep.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/footstep.dm

/datum/component/footstepFootstep component. Plays footsteps at parents location when it is appropriate.
\ No newline at end of file diff --git a/code/datums/components/forces_doors_open.html b/code/datums/components/forces_doors_open.html new file mode 100644 index 00000000000..e95f6cefabb --- /dev/null +++ b/code/datums/components/forces_doors_open.html @@ -0,0 +1 @@ +code/datums/components/forces_doors_open.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/forces_doors_open.dm

/datum/component/forces_doors_open/datum/component/forces_doors_open
\ No newline at end of file diff --git a/code/datums/components/ghost_direct_control.html b/code/datums/components/ghost_direct_control.html new file mode 100644 index 00000000000..9916ace9864 --- /dev/null +++ b/code/datums/components/ghost_direct_control.html @@ -0,0 +1 @@ +code/datums/components/ghost_direct_control.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/ghost_direct_control.dm

/datum/component/ghost_direct_controlComponent which lets ghosts click on a mob to take control of it
\ No newline at end of file diff --git a/code/datums/components/label.html b/code/datums/components/label.html new file mode 100644 index 00000000000..eaafc796294 --- /dev/null +++ b/code/datums/components/label.html @@ -0,0 +1 @@ +code/datums/components/label.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/label.dm

/datum/component/labelThe label component.
/datum/component/label/goalA verson of the label component specific to labelling goal items.
\ No newline at end of file diff --git a/code/datums/components/largeobjecttransparency.html b/code/datums/components/largeobjecttransparency.html new file mode 100644 index 00000000000..0cbcf87dcdb --- /dev/null +++ b/code/datums/components/largeobjecttransparency.html @@ -0,0 +1 @@ +code/datums/components/largeobjecttransparency.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/largeobjecttransparency.dm

/datum/component/largetransparencyMakes large icons partially see through if high priority atoms are behind them.
\ No newline at end of file diff --git a/code/datums/components/leash.html b/code/datums/components/leash.html new file mode 100644 index 00000000000..2dc1e9f65d3 --- /dev/null +++ b/code/datums/components/leash.html @@ -0,0 +1,2 @@ +code/datums/components/leash.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/leash.dm

/datum/component/leashKeeps the parent within the distance of its owner as naturally as possible, +but teleporting if necessary.
\ No newline at end of file diff --git a/code/datums/components/multitile.html b/code/datums/components/multitile.html new file mode 100644 index 00000000000..2a119731100 --- /dev/null +++ b/code/datums/components/multitile.html @@ -0,0 +1 @@ +code/datums/components/multitile.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/multitile.dm

/datum/component/multitileLets multitile objects have dense walls around them based on the coordinate map
\ No newline at end of file diff --git a/code/datums/components/orbiter.html b/code/datums/components/orbiter.html new file mode 100644 index 00000000000..0743f69a8bf --- /dev/null +++ b/code/datums/components/orbiter.html @@ -0,0 +1,31 @@ +code/datums/components/orbiter.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/components/orbiter.dm

ORBIT_LOCK_INCode to handle atoms orbiting other atoms, following them as they move. +The basic logic is simple. We register a signal, COMSIG_MOVABLE_MOVED onto orbited atoms. +When the orbited atom moves, any ghosts orbiting them are moved to their turf. +We also register a MOVED signal onto the ghosts to cancel their orbit if they move themselves. +Complexities come in for items within other items (such as the NAD in a box in a backpack on an assistant pretending to be the captain), +as items in containers do not fire COMSIG_MOVABLE_MOVED when their container moves.

Define Details

ORBIT_LOCK_IN

Code to handle atoms orbiting other atoms, following them as they move. +The basic logic is simple. We register a signal, COMSIG_MOVABLE_MOVED onto orbited atoms. +When the orbited atom moves, any ghosts orbiting them are moved to their turf. +We also register a MOVED signal onto the ghosts to cancel their orbit if they move themselves. +Complexities come in for items within other items (such as the NAD in a box in a backpack on an assistant pretending to be the captain), +as items in containers do not fire COMSIG_MOVABLE_MOVED when their container moves.

+

The signal logic for items in containers is as follows: +Assume 1 is some item (for example, the NAD) and 2 is a box. +When 1 is added to 2, we register the typical orbit COMSIG_MOVABLE_MOVED onto 2. +This in essence makes 2 the "leader", the atom that ghosts follow in movement. +As 2 is moved around (say, dragged on the floor) ghosts will follow it. +We also register a new intermediate COMSIG_MOVABLE_MOVED signal onto 1 that tracks if 1 is moved. +Remember, this will only fire if 1 is moved around containers, since it's impossible for it to actually move on its own. +If 1 is moved out of 2, this signal makes 1 the new leader. +Lastly, we add a COMSIG_ATOM_EXITED to 2, which tracks if 1 is removed from 2. +This EXITED signal cleans up any orbiting signals on and above 2. +If 2 is added to another item, (say a backpack, 3) +3 becomes the new leader +2 becomes an intermediate +1 is unchanged (but still carries the orbiter datum)

+

You may be asking yourself: is this overengineered? +In part, yes. However, MOVED signals don't get fired for items in containers, so this is +really the next best way. +Also, is this really optimal? +As much as it can be, I believe. This signal-shuffling will not happen for any item that is just moving from turf to turf, +which should apply to 95% of cases (read: ghosts orbiting mobs).

\ No newline at end of file diff --git a/code/datums/components/pet_commands/obeys_commands.html b/code/datums/components/pet_commands/obeys_commands.html new file mode 100644 index 00000000000..352a8b50754 --- /dev/null +++ b/code/datums/components/pet_commands/obeys_commands.html @@ -0,0 +1,2 @@ +code/datums/components/pet_commands/obeys_commands.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/pet_commands/obeys_commands.dm

/datum/component/obeys_commandsManages a list of pet command datums, allowing you to boss it around +Creates a radial menu of pet commands when this creature is alt-clicked, if it has any
\ No newline at end of file diff --git a/code/datums/components/pet_commands/pet_command.html b/code/datums/components/pet_commands/pet_command.html new file mode 100644 index 00000000000..1ceacd4c37f --- /dev/null +++ b/code/datums/components/pet_commands/pet_command.html @@ -0,0 +1,2 @@ +code/datums/components/pet_commands/pet_command.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/pet_commands/pet_command.dm

/datum/pet_commandSet some AI blackboard commands in response to receiving instructions +This is abstract and should be extended for actual behaviour
\ No newline at end of file diff --git a/code/datums/components/pet_commands/pet_command_planning.html b/code/datums/components/pet_commands/pet_command_planning.html new file mode 100644 index 00000000000..3bcfb8057ed --- /dev/null +++ b/code/datums/components/pet_commands/pet_command_planning.html @@ -0,0 +1,4 @@ +code/datums/components/pet_commands/pet_command_planning.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/pet_commands/pet_command_planning.dm

/datum/ai_planning_subtree/pet_planningPerform behaviour based on what pet commands you have received. This is delegated to the pet command datum. +When a command is set, we blackboard a key to our currently active command. +The blackboard also has a weak reference to every command datum available to us. +We use the key to figure out which datum to run, then ask it to figure out how to execute its action.
\ No newline at end of file diff --git a/code/datums/components/pet_commands/pet_commands_basic.html b/code/datums/components/pet_commands/pet_commands_basic.html new file mode 100644 index 00000000000..8d2d1773f7b --- /dev/null +++ b/code/datums/components/pet_commands/pet_commands_basic.html @@ -0,0 +1 @@ +code/datums/components/pet_commands/pet_commands_basic.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/pet_commands/pet_commands_basic.dm

/datum/pet_command/idleTells a pet to resume its idle behaviour, usually staying put where you leave it
/datum/pet_command/freeTells a pet to exit command mode and resume its normal behaviour, which includes regular target-seeking and what have you
/datum/pet_command/followTells a pet to follow you until you tell it to do something else
/datum/pet_command/follow/start_activeLike follow but start active
/datum/pet_command/untargeted_abilityUse an an ability that does not require any targets
/datum/pet_command/attackTells a pet to chase and bite the next thing you point at
\ No newline at end of file diff --git a/code/datums/components/pet_commands/pet_follow_friend.html b/code/datums/components/pet_commands/pet_follow_friend.html new file mode 100644 index 00000000000..068cc265008 --- /dev/null +++ b/code/datums/components/pet_commands/pet_follow_friend.html @@ -0,0 +1 @@ +code/datums/components/pet_commands/pet_follow_friend.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/pet_commands/pet_follow_friend.dm

/datum/ai_behavior/pet_follow_friendJust keep following the target until the command is interrupted
\ No newline at end of file diff --git a/code/datums/components/ranged_attacks.html b/code/datums/components/ranged_attacks.html new file mode 100644 index 00000000000..c9f04ed53f3 --- /dev/null +++ b/code/datums/components/ranged_attacks.html @@ -0,0 +1 @@ +code/datums/components/ranged_attacks.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/ranged_attacks.dm

/datum/component/ranged_attacksConfigurable ranged attack for basic mobs.
\ No newline at end of file diff --git a/code/datums/components/regenerator.html b/code/datums/components/regenerator.html new file mode 100644 index 00000000000..06ea4768eef --- /dev/null +++ b/code/datums/components/regenerator.html @@ -0,0 +1,2 @@ +code/datums/components/regenerator.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/regenerator.dm

/datum/component/regeneratorA mob with this component will regenerate its health over time, as long as it has not received damage +in the last X seconds. Taking any damage will reset this cooldown.
\ No newline at end of file diff --git a/code/datums/components/riding/riding.html b/code/datums/components/riding/riding.html new file mode 100644 index 00000000000..885eb5968ce --- /dev/null +++ b/code/datums/components/riding/riding.html @@ -0,0 +1 @@ +code/datums/components/riding/riding.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/riding/riding.dm

/datum/component/ridingThis is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.
\ No newline at end of file diff --git a/code/datums/components/riding/riding_vehicle.html b/code/datums/components/riding/riding_vehicle.html new file mode 100644 index 00000000000..053c6e900b2 --- /dev/null +++ b/code/datums/components/riding/riding_vehicle.html @@ -0,0 +1 @@ +code/datums/components/riding/riding_vehicle.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/components/riding/riding_vehicle.dm

EPSILONFor making timers not accidentally skip an extra tick.
/datum/component/riding/vehicle/scooter/skateboard/hoverThis one lets the rider ignore gravity, move in zero g and so on, but only on ground turfs or at most one z-level above them.

Define Details

EPSILON

For making timers not accidentally skip an extra tick.

\ No newline at end of file diff --git a/code/datums/components/scope.html b/code/datums/components/scope.html new file mode 100644 index 00000000000..2de1d1d24d5 --- /dev/null +++ b/code/datums/components/scope.html @@ -0,0 +1 @@ +code/datums/components/scope.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/scope.dm

/datum/component/scopeA component that allows players to use the item to zoom out. Mainly intended for firearms, but now works with other items too.
\ No newline at end of file diff --git a/code/datums/components/shelved.html b/code/datums/components/shelved.html new file mode 100644 index 00000000000..ea9a92973b3 --- /dev/null +++ b/code/datums/components/shelved.html @@ -0,0 +1 @@ +code/datums/components/shelved.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/shelved.dm

/datum/component/shelvedA component for items stored on shelves, propagated by /datum/component/shelver components.
\ No newline at end of file diff --git a/code/datums/components/shielded.html b/code/datums/components/shielded.html new file mode 100644 index 00000000000..6c87d140ead --- /dev/null +++ b/code/datums/components/shielded.html @@ -0,0 +1 @@ +code/datums/components/shielded.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/shielded.dm

/datum/component/shieldedThe shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.
\ No newline at end of file diff --git a/code/datums/components/slippery.html b/code/datums/components/slippery.html new file mode 100644 index 00000000000..686fec4ef24 --- /dev/null +++ b/code/datums/components/slippery.html @@ -0,0 +1 @@ +code/datums/components/slippery.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/slippery.dm

/datum/component/slipperyThis is a component that can be applied to any movable atom (mob or obj).
\ No newline at end of file diff --git a/code/datums/components/special_tastes.html b/code/datums/components/special_tastes.html new file mode 100644 index 00000000000..3594a99ec34 --- /dev/null +++ b/code/datums/components/special_tastes.html @@ -0,0 +1 @@ +code/datums/components/special_tastes.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/special_tastes.dm

/datum/component/special_tastesAllows humanoids to eat arbitrary items
\ No newline at end of file diff --git a/code/datums/components/squish.html b/code/datums/components/squish.html new file mode 100644 index 00000000000..e82dc15e213 --- /dev/null +++ b/code/datums/components/squish.html @@ -0,0 +1 @@ +code/datums/components/squish.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/squish.dm

/datum/element/squishsquish.dm
\ No newline at end of file diff --git a/code/datums/components/surgery_initiator.html b/code/datums/components/surgery_initiator.html new file mode 100644 index 00000000000..2a4fd780456 --- /dev/null +++ b/code/datums/components/surgery_initiator.html @@ -0,0 +1 @@ +code/datums/components/surgery_initiator.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/surgery_initiator.dm

/datum/component/surgery_initiatorAllows an item to start (or prematurely stop) a surgical operation.
\ No newline at end of file diff --git a/code/datums/components/tameable.html b/code/datums/components/tameable.html new file mode 100644 index 00000000000..3730ef2bfd4 --- /dev/null +++ b/code/datums/components/tameable.html @@ -0,0 +1 @@ +code/datums/components/tameable.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/tameable.dm

/datum/component/tameableThis component lets you make specific mobs tameable by feeding them
\ No newline at end of file diff --git a/code/datums/components/tilted.html b/code/datums/components/tilted.html new file mode 100644 index 00000000000..35440bc567c --- /dev/null +++ b/code/datums/components/tilted.html @@ -0,0 +1,2 @@ +code/datums/components/tilted.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/tilted.dm

/datum/component/tiltedA component that should be attached to things that have been tilted over, and can be righted. +This can optionally block normal attack_hand interactions
\ No newline at end of file diff --git a/code/datums/components/tippable.html b/code/datums/components/tippable.html new file mode 100644 index 00000000000..d6bbf7507c1 --- /dev/null +++ b/code/datums/components/tippable.html @@ -0,0 +1 @@ +code/datums/components/tippable.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/tippable.dm

/datum/component/tippableTippable component. For making mobs able to be tipped, like cows and medibots.
\ No newline at end of file diff --git a/code/datums/components/two_handed.html b/code/datums/components/two_handed.html new file mode 100644 index 00000000000..9f055e8733a --- /dev/null +++ b/code/datums/components/two_handed.html @@ -0,0 +1 @@ +code/datums/components/two_handed.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/components/two_handed.dm

/datum/component/two_handedTwo Handed Component
/obj/item/offhandThe offhand dummy item for two handed items
\ No newline at end of file diff --git a/code/datums/custom_user_item.html b/code/datums/custom_user_item.html new file mode 100644 index 00000000000..6233c76c0c0 --- /dev/null +++ b/code/datums/custom_user_item.html @@ -0,0 +1 @@ +code/datums/custom_user_item.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/custom_user_item.dm

/datum/custom_user_itemHolder for CUIs
\ No newline at end of file diff --git a/code/datums/discord/discord_webhook.html b/code/datums/discord/discord_webhook.html new file mode 100644 index 00000000000..73d0622de6c --- /dev/null +++ b/code/datums/discord/discord_webhook.html @@ -0,0 +1 @@ +code/datums/discord/discord_webhook.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/discord/discord_webhook.dm

/datum/discord_webhook_payloadHolder datum for discord webhook POST send data
/datum/discord_embedHolder datum for discord embeds
/datum/discord_embed_fieldHolder datum for discord embed fields
\ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/dizzy.html b/code/datums/diseases/advance/symptoms/dizzy.html new file mode 100644 index 00000000000..53396fbb4be --- /dev/null +++ b/code/datums/diseases/advance/symptoms/dizzy.html @@ -0,0 +1 @@ +code/datums/diseases/advance/symptoms/dizzy.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/diseases/advance/symptoms/dizzy.dm

/datum/symptom/dizzyNot the egg
\ No newline at end of file diff --git a/code/datums/elements/_element.html b/code/datums/elements/_element.html new file mode 100644 index 00000000000..0b0dcb45696 --- /dev/null +++ b/code/datums/elements/_element.html @@ -0,0 +1 @@ +code/datums/elements/_element.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/_element.dm

/datum/elementA holder for simple behaviour that can be attached to many different types
\ No newline at end of file diff --git a/code/datums/elements/ai_flee_while_injured.html b/code/datums/elements/ai_flee_while_injured.html new file mode 100644 index 00000000000..c31fd82c1da --- /dev/null +++ b/code/datums/elements/ai_flee_while_injured.html @@ -0,0 +1 @@ +code/datums/elements/ai_flee_while_injured.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/ai_flee_while_injured.dm

/datum/element/ai_flee_while_injuredAttached to a mob with an AI controller, simply sets a flag on whether or not to run away based on current health values.
\ No newline at end of file diff --git a/code/datums/elements/ai_retaliate.html b/code/datums/elements/ai_retaliate.html new file mode 100644 index 00000000000..c7d3a1dd975 --- /dev/null +++ b/code/datums/elements/ai_retaliate.html @@ -0,0 +1,2 @@ +code/datums/elements/ai_retaliate.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/ai_retaliate.dm

/datum/element/ai_retaliateAttached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information.
\ No newline at end of file diff --git a/code/datums/elements/atmos_requirements.html b/code/datums/elements/atmos_requirements.html new file mode 100644 index 00000000000..94eb931e7a9 --- /dev/null +++ b/code/datums/elements/atmos_requirements.html @@ -0,0 +1 @@ +code/datums/elements/atmos_requirements.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/atmos_requirements.dm

/datum/element/atmos_requirementsBespoke element that deals damage to the attached mob when the atmos requirements aren't satisfied
\ No newline at end of file diff --git a/code/datums/elements/basic_eating.html b/code/datums/elements/basic_eating.html new file mode 100644 index 00000000000..b9dd888403e --- /dev/null +++ b/code/datums/elements/basic_eating.html @@ -0,0 +1 @@ +code/datums/elements/basic_eating.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/basic_eating.dm

/datum/element/basic_eating
\ No newline at end of file diff --git a/code/datums/elements/body_temperature.html b/code/datums/elements/body_temperature.html new file mode 100644 index 00000000000..6d160897e68 --- /dev/null +++ b/code/datums/elements/body_temperature.html @@ -0,0 +1 @@ +code/datums/elements/body_temperature.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/body_temperature.dm

/datum/element/body_temperatureBespoke element that deals damage to the attached mob when the ambient temperature is unsuitable.
\ No newline at end of file diff --git a/code/datums/elements/bombable_turf.html b/code/datums/elements/bombable_turf.html new file mode 100644 index 00000000000..00ee0a2f42a --- /dev/null +++ b/code/datums/elements/bombable_turf.html @@ -0,0 +1,3 @@ +code/datums/elements/bombable_turf.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/bombable_turf.dm

/datum/element/bombable_turfApply this to a turf (usually a wall) and it will be destroyed instantly by any explosion. +Most walls can already be destroyed by explosions so this is largely for usually indestructible ones. +For applying it in a map editor, use /obj/effect/mapping_helpers/bombable_wall
\ No newline at end of file diff --git a/code/datums/elements/butchers_humans.html b/code/datums/elements/butchers_humans.html new file mode 100644 index 00000000000..65d899acf25 --- /dev/null +++ b/code/datums/elements/butchers_humans.html @@ -0,0 +1,2 @@ +code/datums/elements/butchers_humans.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/butchers_humans.dm

/datum/element/butchers_humansAn element for items that butcher human corpses into meat when attacked on +harm intent.
\ No newline at end of file diff --git a/code/datums/elements/clothing_adjustment.html b/code/datums/elements/clothing_adjustment.html new file mode 100644 index 00000000000..04da6ebb36b --- /dev/null +++ b/code/datums/elements/clothing_adjustment.html @@ -0,0 +1,3 @@ +code/datums/elements/clothing_adjustment.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/clothing_adjustment.dm

/datum/element/clothing_adjustmentAn element for making visual modifications to items when worn externally by +a carbon mob. This could range to anything from changing its pixel offsets +to its color or size.
\ No newline at end of file diff --git a/code/datums/elements/connect_loc.html b/code/datums/elements/connect_loc.html new file mode 100644 index 00000000000..77563dca4e1 --- /dev/null +++ b/code/datums/elements/connect_loc.html @@ -0,0 +1,2 @@ +code/datums/elements/connect_loc.dm - Space Station 13
Space Station 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.
\ No newline at end of file diff --git a/code/datums/elements/corrupt_organ.html b/code/datums/elements/corrupt_organ.html new file mode 100644 index 00000000000..63af24c7d78 --- /dev/null +++ b/code/datums/elements/corrupt_organ.html @@ -0,0 +1,2 @@ +code/datums/elements/corrupt_organ.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/corrupt_organ.dm

/datum/element/corrupted_organComponent applying shared behaviour by cursed organs granted when sacrificed by a heretic +Mostly just does something spooky when it is removed
\ No newline at end of file diff --git a/code/datums/elements/death_gasses.html b/code/datums/elements/death_gasses.html new file mode 100644 index 00000000000..ff914432f71 --- /dev/null +++ b/code/datums/elements/death_gasses.html @@ -0,0 +1 @@ +code/datums/elements/death_gasses.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/death_gasses.dm

/datum/element/death_gases
\ No newline at end of file diff --git a/code/datums/elements/hostile_machine.html b/code/datums/elements/hostile_machine.html new file mode 100644 index 00000000000..bfc9803454c --- /dev/null +++ b/code/datums/elements/hostile_machine.html @@ -0,0 +1 @@ +code/datums/elements/hostile_machine.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/hostile_machine.dm

/datum/element/hostile_machineAIs will attack this as a potential target if they see it
\ No newline at end of file diff --git a/code/datums/elements/leaching_walk.html b/code/datums/elements/leaching_walk.html new file mode 100644 index 00000000000..7e9eb841c86 --- /dev/null +++ b/code/datums/elements/leaching_walk.html @@ -0,0 +1 @@ +code/datums/elements/leaching_walk.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/leaching_walk.dm

/datum/element/leeching_walkBuffs and heals the target while standing on rust.
\ No newline at end of file diff --git a/code/datums/elements/light_blocking.html b/code/datums/elements/light_blocking.html new file mode 100644 index 00000000000..f429b1a1716 --- /dev/null +++ b/code/datums/elements/light_blocking.html @@ -0,0 +1 @@ +code/datums/elements/light_blocking.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/light_blocking.dm

/datum/element/light_blockingAttached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly
\ No newline at end of file diff --git a/code/datums/elements/noticable_organ.html b/code/datums/elements/noticable_organ.html new file mode 100644 index 00000000000..7381f4b7c0f --- /dev/null +++ b/code/datums/elements/noticable_organ.html @@ -0,0 +1 @@ +code/datums/elements/noticable_organ.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/noticable_organ.dm

/datum/element/noticable_organnoticable organ element; which makes organs have a special description added to the person with the organ, if certain body zones aren't covered.
\ No newline at end of file diff --git a/code/datums/elements/pet_bonus.html b/code/datums/elements/pet_bonus.html new file mode 100644 index 00000000000..1da6838a0ea --- /dev/null +++ b/code/datums/elements/pet_bonus.html @@ -0,0 +1 @@ +code/datums/elements/pet_bonus.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/pet_bonus.dm

/datum/element/pet_bonusBespoke element that plays a fun message, and sends a heart out when you pet this animal.
\ No newline at end of file diff --git a/code/datums/elements/relay_attackers.html b/code/datums/elements/relay_attackers.html new file mode 100644 index 00000000000..9e082b6aa18 --- /dev/null +++ b/code/datums/elements/relay_attackers.html @@ -0,0 +1,3 @@ +code/datums/elements/relay_attackers.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/relay_attackers.dm

/datum/element/relay_attackersThis element registers to a shitload of signals which can signify "someone attacked me". +If anyone does it sends a single "someone attacked me" signal containing details about who done it. +This prevents other components and elements from having to register to the same list of a million signals, should be more maintainable in one place.
\ No newline at end of file diff --git a/code/datums/elements/ridable.html b/code/datums/elements/ridable.html new file mode 100644 index 00000000000..bc6818726aa --- /dev/null +++ b/code/datums/elements/ridable.html @@ -0,0 +1,2 @@ +code/datums/elements/ridable.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/ridable.dm

/datum/element/ridableThis element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it, +at which point a riding component is created on the movable, and that component handles the actual riding behavior.
\ No newline at end of file diff --git a/code/datums/elements/rust_element.html b/code/datums/elements/rust_element.html new file mode 100644 index 00000000000..f47b11ebf0c --- /dev/null +++ b/code/datums/elements/rust_element.html @@ -0,0 +1 @@ +code/datums/elements/rust_element.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/rust_element.dm

/datum/element/rustAdding this element to an atom will have it automatically render an overlay.
/datum/element/rust/hereticFor rust applied by heretics (if that ever happens) / revenants
\ No newline at end of file diff --git a/code/datums/elements/shatters_when_thrown.html b/code/datums/elements/shatters_when_thrown.html new file mode 100644 index 00000000000..e466756d07e --- /dev/null +++ b/code/datums/elements/shatters_when_thrown.html @@ -0,0 +1 @@ +code/datums/elements/shatters_when_thrown.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/shatters_when_thrown.dm

/datum/element/shatters_when_thrownWhen attached to something, will make that thing shatter into shards on throw impact or z level falling
\ No newline at end of file diff --git a/code/datums/elements/shelf_positioning.html b/code/datums/elements/shelf_positioning.html new file mode 100644 index 00000000000..9258d8c931a --- /dev/null +++ b/code/datums/elements/shelf_positioning.html @@ -0,0 +1 @@ +code/datums/elements/shelf_positioning.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/shelf_positioning.dm

/datum/element/shelf_positioningShelf positioning allows for custom positioning on shelves for individual items.
\ No newline at end of file diff --git a/code/datums/elements/sideways_movement.html b/code/datums/elements/sideways_movement.html new file mode 100644 index 00000000000..7a21d9001ac --- /dev/null +++ b/code/datums/elements/sideways_movement.html @@ -0,0 +1 @@ +code/datums/elements/sideways_movement.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/elements/sideways_movement.dm

/datum/element/sideways_movementA simple element that forces the mob to face a perpendicular direction when moving, like crabs.
\ No newline at end of file diff --git a/code/datums/elements/strippable.html b/code/datums/elements/strippable.html new file mode 100644 index 00000000000..12f0b2b85a1 --- /dev/null +++ b/code/datums/elements/strippable.html @@ -0,0 +1 @@ +code/datums/elements/strippable.dm - Space Station 13
Space Station 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
\ No newline at end of file diff --git a/code/datums/emote.html b/code/datums/emote.html new file mode 100644 index 00000000000..cda23965fab --- /dev/null +++ b/code/datums/emote.html @@ -0,0 +1,3 @@ +code/datums/emote.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/emote.dm

DEFAULT_MAX_STAT_ALLOWEDSentinel for emote stats. +If this is set for max stat, then its value will be ignored.
/datum/emoteMost of the text that's not someone talking is based off of this.
/proc/runechat_emoteSend an emote to runechat for all (listening) users in the vicinity.

Define Details

DEFAULT_MAX_STAT_ALLOWED

Sentinel for emote stats. +If this is set for max stat, then its value will be ignored.

\ No newline at end of file diff --git a/code/datums/helper_datums/async_input.html b/code/datums/helper_datums/async_input.html new file mode 100644 index 00000000000..73d5433aa37 --- /dev/null +++ b/code/datums/helper_datums/async_input.html @@ -0,0 +1 @@ +code/datums/helper_datums/async_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/helper_datums/async_input.dm

/datum/async_inputTHIS WILL BE REMOVED IN THE FUTURE, I STRONGLY SUGGEST AGAINST USING THIS - GDN
\ No newline at end of file diff --git a/code/datums/helper_datums/teleport.html b/code/datums/helper_datums/teleport.html new file mode 100644 index 00000000000..a0726b332ed --- /dev/null +++ b/code/datums/helper_datums/teleport.html @@ -0,0 +1 @@ +code/datums/helper_datums/teleport.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/helper_datums/teleport.dm

/proc/do_teleportWill teleport the given atom to the given destination using the other parameters
/proc/get_safe_random_station_turf_equal_weightReturns a random department of areas to pass into get_safe_random_station_turf() for more equal spawning.
\ No newline at end of file diff --git a/code/datums/holocall.html b/code/datums/holocall.html new file mode 100644 index 00000000000..38fb8bdd5ff --- /dev/null +++ b/code/datums/holocall.html @@ -0,0 +1 @@ +code/datums/holocall.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/holocall.dm

/datum/action/innate/end_holocallThe hangup action handler, for handling the hangup button displayed in the top left corner of the screen
\ No newline at end of file diff --git a/code/datums/http.html b/code/datums/http.html new file mode 100644 index 00000000000..3ce92fb7661 --- /dev/null +++ b/code/datums/http.html @@ -0,0 +1 @@ +code/datums/http.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/http.dm

/datum/http_requestHolder datum for ingame HTTP requests
/datum/http_responseHolder datum for HTTP responses
\ No newline at end of file diff --git a/code/datums/job_selection/job_candidate.html b/code/datums/job_selection/job_candidate.html new file mode 100644 index 00000000000..8851c1c3339 --- /dev/null +++ b/code/datums/job_selection/job_candidate.html @@ -0,0 +1,4 @@ +code/datums/job_selection/job_candidate.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/job_selection/job_candidate.dm

/datum/job_candidateA datum representing all the information needed to perform roundstart job +selection, without actually needing clients. This allows for the creation +of fake candidates, allowing testing of the role selection system independent +of the number of actual players.
\ No newline at end of file diff --git a/code/datums/keybindings/mob_keybinds.html b/code/datums/keybindings/mob_keybinds.html new file mode 100644 index 00000000000..585703d13b5 --- /dev/null +++ b/code/datums/keybindings/mob_keybinds.html @@ -0,0 +1 @@ +code/datums/keybindings/mob_keybinds.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/keybindings/mob_keybinds.dm

/datum/keybinding/mob/trigger_action_buttonDon't add a name to this, shouldn't show up in the prefs menu
\ No newline at end of file diff --git a/code/datums/looping_sounds/looping_sound.html b/code/datums/looping_sounds/looping_sound.html new file mode 100644 index 00000000000..bd0a9763a03 --- /dev/null +++ b/code/datums/looping_sounds/looping_sound.html @@ -0,0 +1 @@ +code/datums/looping_sounds/looping_sound.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/looping_sounds/looping_sound.dm

/datum/looping_sound/decreasingLooping sounds that decrease volume by a specified % each loop until it reaches a specified total % volume.
\ No newline at end of file diff --git a/code/datums/looping_sounds/machinery_sounds.html b/code/datums/looping_sounds/machinery_sounds.html new file mode 100644 index 00000000000..d1bac0e361e --- /dev/null +++ b/code/datums/looping_sounds/machinery_sounds.html @@ -0,0 +1 @@ +code/datums/looping_sounds/machinery_sounds.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/looping_sounds/machinery_sounds.dm

/datum/looping_sound/kitchen/microwaveKITCHEN MACHINERY
/datum/looping_sound/reactorNGCR
\ No newline at end of file diff --git a/code/datums/mapping/themes/caves_theme.html b/code/datums/mapping/themes/caves_theme.html new file mode 100644 index 00000000000..11ee662213b --- /dev/null +++ b/code/datums/mapping/themes/caves_theme.html @@ -0,0 +1 @@ +code/datums/mapping/themes/caves_theme.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/mapping/themes/caves_theme.dm

LAVALAND_MIN_CAVE_YApproximate lower bound of the walkable land area on Lavaland, north of the southern lava border.
LAVALAND_MAX_CAVE_YApproximate upper bound of the walkable land area on Lavaland, south of the Legion entrance.
OASIS_SPAWNER_PROB_MODIFIEREffective probability modifier for spawning flora and fauna in oases.

Define Details

LAVALAND_MAX_CAVE_Y

Approximate upper bound of the walkable land area on Lavaland, south of the Legion entrance.

LAVALAND_MIN_CAVE_Y

Approximate lower bound of the walkable land area on Lavaland, north of the southern lava border.

OASIS_SPAWNER_PROB_MODIFIER

Effective probability modifier for spawning flora and fauna in oases.

\ No newline at end of file diff --git a/code/datums/move_manager.html b/code/datums/move_manager.html new file mode 100644 index 00000000000..6e1378e4642 --- /dev/null +++ b/code/datums/move_manager.html @@ -0,0 +1 @@ +code/datums/move_manager.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/move_manager.dm

/datum/move_managerActs as a namespace for movement packet/type related procs
/datum/movement_packetA packet of information that describes the current state of a moving object
\ No newline at end of file diff --git a/code/datums/movement_detector.html b/code/datums/movement_detector.html new file mode 100644 index 00000000000..07c74be8a93 --- /dev/null +++ b/code/datums/movement_detector.html @@ -0,0 +1 @@ +code/datums/movement_detector.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/movement_detector.dm

/datum/movement_detectorA datum to handle the busywork of registering signals to handle in depth tracking of a movable
\ No newline at end of file diff --git a/code/datums/ores.html b/code/datums/ores.html new file mode 100644 index 00000000000..8b7546c266d --- /dev/null +++ b/code/datums/ores.html @@ -0,0 +1 @@ +code/datums/ores.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/ores.dm

GIBTONITE_UNSTRUCKThe gibtonite ore is dormant.
GIBTONITE_ACTIVEThe gibtonite ore is in its detonation countdown.
GIBTONITE_STABLEThe gibtonite ore has been stabilized and its detonation countdown is cancelled.
GIBTONITE_DETONATEThe gibtonite ore is about to explode.

Define Details

GIBTONITE_ACTIVE

The gibtonite ore is in its detonation countdown.

GIBTONITE_DETONATE

The gibtonite ore is about to explode.

GIBTONITE_STABLE

The gibtonite ore has been stabilized and its detonation countdown is cancelled.

GIBTONITE_UNSTRUCK

The gibtonite ore is dormant.

\ No newline at end of file diff --git a/code/datums/outfits/outfit_admin.html b/code/datums/outfits/outfit_admin.html new file mode 100644 index 00000000000..cfa2e917246 --- /dev/null +++ b/code/datums/outfits/outfit_admin.html @@ -0,0 +1 @@ +code/datums/outfits/outfit_admin.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/outfits/outfit_admin.dm

/datum/outfit/admin/modsuit/wizardTechnically not a MODsuit, we'll bundle it up in here for the future when it does become one
/datum/outfit/admin/tournament/tournament_gangstergangster are supposed to fight each other. --rastaf0
/datum/outfit/admin/tournament/tournament_chefSteven Seagal FTW
\ No newline at end of file diff --git a/code/datums/outfits/outfit_debug.html b/code/datums/outfits/outfit_debug.html new file mode 100644 index 00000000000..ac328e002c7 --- /dev/null +++ b/code/datums/outfits/outfit_debug.html @@ -0,0 +1 @@ +code/datums/outfits/outfit_debug.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/outfits/outfit_debug.dm

/obj/item/encryptionkey/syndicate/all_channelshas to be a subtype and stuff
\ No newline at end of file diff --git a/code/datums/pathfinding_mover.html b/code/datums/pathfinding_mover.html new file mode 100644 index 00000000000..5b8fa51d004 --- /dev/null +++ b/code/datums/pathfinding_mover.html @@ -0,0 +1 @@ +code/datums/pathfinding_mover.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/pathfinding_mover.dm

/datum/pathfinding_moverA generalized datum for pathfinding, and moving to a target.
\ No newline at end of file diff --git a/code/datums/pipe_datums.html b/code/datums/pipe_datums.html new file mode 100644 index 00000000000..c588a941ffd --- /dev/null +++ b/code/datums/pipe_datums.html @@ -0,0 +1 @@ +code/datums/pipe_datums.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/pipe_datums.dm

/datum/pipes/atmospheric/bentWhy is this not atmospheric/simple/bent you ask? Because otherwise the ordering of the pipes in the UI menu gets weird
/datum/pipes/transitPipe types for transit tubes.
\ No newline at end of file diff --git a/code/datums/position_point_vector.html b/code/datums/position_point_vector.html new file mode 100644 index 00000000000..f655829293c --- /dev/null +++ b/code/datums/position_point_vector.html @@ -0,0 +1 @@ +code/datums/position_point_vector.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/position_point_vector.dm

/datum/positionFor positions with map x/y/z and pixel x/y so you don't have to return lists. Could use addition/subtraction in the future I guess.
/datum/point_preciseA precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!
/datum/point_precise/vector/processedpixel_speed is per decisecond.
\ No newline at end of file diff --git a/code/datums/proximity/advanced_proximity_monitor.html b/code/datums/proximity/advanced_proximity_monitor.html new file mode 100644 index 00000000000..179ad1fd275 --- /dev/null +++ b/code/datums/proximity/advanced_proximity_monitor.html @@ -0,0 +1,3 @@ +code/datums/proximity/advanced_proximity_monitor.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/proximity/advanced_proximity_monitor.dm

/datum/proximity_monitor/advancedMovable and easily code-modified fields! Allows for custom AOE effects that affect movement +and anything inside of them, and can do custom turf effects! +Supports automatic recalculation/reset on movement.
\ No newline at end of file diff --git a/code/datums/proximity/void_storm_proximity.html b/code/datums/proximity/void_storm_proximity.html new file mode 100644 index 00000000000..2f1e272d079 --- /dev/null +++ b/code/datums/proximity/void_storm_proximity.html @@ -0,0 +1,2 @@ +code/datums/proximity/void_storm_proximity.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/proximity/void_storm_proximity.dm

Void storm for the void heretic ascension

+

Follows the heretic around and acts like an aura with damaging effects for non-heretics

\ No newline at end of file diff --git a/code/datums/revision.html b/code/datums/revision.html new file mode 100644 index 00000000000..ff2a8787ac4 --- /dev/null +++ b/code/datums/revision.html @@ -0,0 +1 @@ +code/datums/revision.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/revision.dm

/datum/code_revisionCode Revision Datum
\ No newline at end of file diff --git a/code/datums/spell_handler/spell_handler.html b/code/datums/spell_handler/spell_handler.html new file mode 100644 index 00000000000..6fd2153e06f --- /dev/null +++ b/code/datums/spell_handler/spell_handler.html @@ -0,0 +1,3 @@ +code/datums/spell_handler/spell_handler.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_handler/spell_handler.dm

/datum/spell_handlerThe base class for the handler systems spells use. +Subtypes of this class can be added to spells to modify their behaviour and change their can_cast. +Thus allowing for a more modular behaviour system. For example a vampire spell that jaunts can just add the vampire spell_handler to the jaunt spell
\ No newline at end of file diff --git a/code/datums/spell_targeting/alive_mobs.html b/code/datums/spell_targeting/alive_mobs.html new file mode 100644 index 00000000000..79ea8c7be78 --- /dev/null +++ b/code/datums/spell_targeting/alive_mobs.html @@ -0,0 +1 @@ +code/datums/spell_targeting/alive_mobs.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/alive_mobs.dm

/datum/spell_targeting/alive_mob_listWill find targets in the GLOB.alive_mob_list. The result will be in a random order
\ No newline at end of file diff --git a/code/datums/spell_targeting/aoe.html b/code/datums/spell_targeting/aoe.html new file mode 100644 index 00000000000..e82444ba44a --- /dev/null +++ b/code/datums/spell_targeting/aoe.html @@ -0,0 +1 @@ +code/datums/spell_targeting/aoe.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/aoe.dm

/datum/spell_targeting/aoeAn area of effect based spell targeting system. Will return all targets in the given range
\ No newline at end of file diff --git a/code/datums/spell_targeting/click_spell_targeting.html b/code/datums/spell_targeting/click_spell_targeting.html new file mode 100644 index 00000000000..104ddd4a8e4 --- /dev/null +++ b/code/datums/spell_targeting/click_spell_targeting.html @@ -0,0 +1 @@ +code/datums/spell_targeting/click_spell_targeting.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/click_spell_targeting.dm

/datum/spell_targeting/clickA click based spell targeting system. The clicked atom will be used to determine who/what to target
\ No newline at end of file diff --git a/code/datums/spell_targeting/clicked_atom.html b/code/datums/spell_targeting/clicked_atom.html new file mode 100644 index 00000000000..43f4caff314 --- /dev/null +++ b/code/datums/spell_targeting/clicked_atom.html @@ -0,0 +1 @@ +code/datums/spell_targeting/clicked_atom.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/clicked_atom.dm

/datum/spell_targeting/clicked_atomA simple spell targeting system. Will return the clicked atom as a target. Only works for 1 target max and is basically a dumbed down /datum/spell_targeting/click
\ No newline at end of file diff --git a/code/datums/spell_targeting/matter_eater_targeting.html b/code/datums/spell_targeting/matter_eater_targeting.html new file mode 100644 index 00000000000..15264433be4 --- /dev/null +++ b/code/datums/spell_targeting/matter_eater_targeting.html @@ -0,0 +1 @@ +code/datums/spell_targeting/matter_eater_targeting.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/matter_eater_targeting.dm

/datum/spell_targeting/matter_eaterA spell targeting system especially made for the matter eater gene
\ No newline at end of file diff --git a/code/datums/spell_targeting/reachable_turfs.html b/code/datums/spell_targeting/reachable_turfs.html new file mode 100644 index 00000000000..08729a0a805 --- /dev/null +++ b/code/datums/spell_targeting/reachable_turfs.html @@ -0,0 +1 @@ +code/datums/spell_targeting/reachable_turfs.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/reachable_turfs.dm

/datum/spell_targeting/reachable_turfsA spell targeting system which will return nearby turfs which are reachable from the users location. Will pad the targets with the user's location if needed
\ No newline at end of file diff --git a/code/datums/spell_targeting/remoteview_targeting.html b/code/datums/spell_targeting/remoteview_targeting.html new file mode 100644 index 00000000000..9ee672e803c --- /dev/null +++ b/code/datums/spell_targeting/remoteview_targeting.html @@ -0,0 +1 @@ +code/datums/spell_targeting/remoteview_targeting.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/remoteview_targeting.dm

/datum/spell_targeting/remoteviewA spell targeting system which will return one user picked target from all alive mobs who have the remoteview block but do not have the psyresist block active.
\ No newline at end of file diff --git a/code/datums/spell_targeting/self_targeting.html b/code/datums/spell_targeting/self_targeting.html new file mode 100644 index 00000000000..921fd1e4051 --- /dev/null +++ b/code/datums/spell_targeting/self_targeting.html @@ -0,0 +1 @@ +code/datums/spell_targeting/self_targeting.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/self_targeting.dm

/datum/spell_targeting/selfA spell targeting system which will return the caster as target
\ No newline at end of file diff --git a/code/datums/spell_targeting/spell_targeting.html b/code/datums/spell_targeting/spell_targeting.html new file mode 100644 index 00000000000..eae06ba15c8 --- /dev/null +++ b/code/datums/spell_targeting/spell_targeting.html @@ -0,0 +1 @@ +code/datums/spell_targeting/spell_targeting.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/spell_targeting.dm

/datum/spell_targetingThe base class for the targeting systems spells use.
\ No newline at end of file diff --git a/code/datums/spell_targeting/spiral_targeting.html b/code/datums/spell_targeting/spiral_targeting.html new file mode 100644 index 00000000000..8878ab9080e --- /dev/null +++ b/code/datums/spell_targeting/spiral_targeting.html @@ -0,0 +1 @@ +code/datums/spell_targeting/spiral_targeting.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/spiral_targeting.dm

/datum/spell_targeting/spiralGets a list of turfs around the center atom to scramble.
\ No newline at end of file diff --git a/code/datums/spell_targeting/targeted.html b/code/datums/spell_targeting/targeted.html new file mode 100644 index 00000000000..97223591fa8 --- /dev/null +++ b/code/datums/spell_targeting/targeted.html @@ -0,0 +1 @@ +code/datums/spell_targeting/targeted.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/targeted.dm

/datum/spell_targeting/targetedA spell targeting system which is able to select 1 to many targets in range/view of the caster. Has a random mode, distance from user based mode or a user input mode.
\ No newline at end of file diff --git a/code/datums/spell_targeting/telepathic.html b/code/datums/spell_targeting/telepathic.html new file mode 100644 index 00000000000..2e22cea41ed --- /dev/null +++ b/code/datums/spell_targeting/telepathic.html @@ -0,0 +1 @@ +code/datums/spell_targeting/telepathic.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spell_targeting/telepathic.dm

/datum/spell_targeting/telepathicA spell targeting system which will allow the user to select a target from nearby living mobs. The name will be "Unknown entity" if the user can not see them
\ No newline at end of file diff --git a/code/datums/spells/bloodcrawl.html b/code/datums/spells/bloodcrawl.html new file mode 100644 index 00000000000..c32b8e803a3 --- /dev/null +++ b/code/datums/spells/bloodcrawl.html @@ -0,0 +1 @@ +code/datums/spells/bloodcrawl.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spells/bloodcrawl.dm

/obj/effect/dummy/slaughterCan't use the wizard one, blocked by jaunt/slow
\ No newline at end of file diff --git a/code/datums/spells/charge_up.html b/code/datums/spells/charge_up.html new file mode 100644 index 00000000000..37222d96dd8 --- /dev/null +++ b/code/datums/spells/charge_up.html @@ -0,0 +1 @@ +code/datums/spells/charge_up.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spells/charge_up.dm

/datum/spell/charge_upA click-based spell template which starts charging up once you click the action button/verb. Click again on something to activate the actual spell
\ No newline at end of file diff --git a/code/datums/spells/charge_up_bounce.html b/code/datums/spells/charge_up_bounce.html new file mode 100644 index 00000000000..f77c69282fc --- /dev/null +++ b/code/datums/spells/charge_up_bounce.html @@ -0,0 +1,2 @@ +code/datums/spells/charge_up_bounce.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spells/charge_up_bounce.dm

/datum/spell/charge_up/bounceA spell template that adds bounces to the charge_up spell template. The spell will bounce between targets once released. +Don't override cast and instead override apply_bounce_effect and the other procs
\ No newline at end of file diff --git a/code/datums/spells/construct_spells.html b/code/datums/spells/construct_spells.html new file mode 100644 index 00000000000..c37f4b82f81 --- /dev/null +++ b/code/datums/spells/construct_spells.html @@ -0,0 +1 @@ +code/datums/spells/construct_spells.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/spells/construct_spells.dm

/datum/spell/aoe/conjure/construct/lesserConstruct Spells
\ No newline at end of file diff --git a/code/datums/station_traits/_station_trait.html b/code/datums/station_traits/_station_trait.html new file mode 100644 index 00000000000..dcd8510f524 --- /dev/null +++ b/code/datums/station_traits/_station_trait.html @@ -0,0 +1 @@ +code/datums/station_traits/_station_trait.dm - Space Station 13
Space Station 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.
\ No newline at end of file diff --git a/code/datums/station_traits/positive_traits.html b/code/datums/station_traits/positive_traits.html new file mode 100644 index 00000000000..8eb5525069c --- /dev/null +++ b/code/datums/station_traits/positive_traits.html @@ -0,0 +1 @@ +code/datums/station_traits/positive_traits.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/station_traits/positive_traits.dm

/datum/station_trait/cybernetic_revolutionNOTE: THIS MAKES EMP MUCH MORE EXPENSIVE.
\ No newline at end of file diff --git a/code/datums/status_effects/debuffs.html b/code/datums/status_effects/debuffs.html new file mode 100644 index 00000000000..5883c8b7991 --- /dev/null +++ b/code/datums/status_effects/debuffs.html @@ -0,0 +1,6 @@ +code/datums/status_effects/debuffs.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/status_effects/debuffs.dm

/datum/status_effect/his_wrathdoes minor damage over time unless holding His Grace
/datum/status_effect/cultghostis a cult ghost and can't use manifest runes, can see ghosts and dies if too far from summoner
/datum/status_effect/transient/confusionPrevents moving straight, sometimes changing movement direction at random. +Decays at a rate of 1 per second.
/datum/status_effect/transient/dizzinessSlightly offsets the client's screen randomly every tick. +Decays at a rate of 1 per second, or 5 when resting.
/datum/status_effect/transient/drowsinessSlows down and causes eye blur, with a 5% chance of falling asleep for a short time. +Decays at a rate of 1 per second, or 5 when resting.
/datum/status_effect/transient/drunkennessCauses a myriad of status effects and other afflictions the stronger it is. +Decays at a rate of 1 per second if no alcohol remains inside.
/datum/status_effect/transient/silence/absolutethis one will mute all emote sounds including gasps
HALLUCINATE_COOLDOWN_FACTORThis is multiplied with /datum/status_effect/transient/var/strength to determine the final cooldown. A higher hallucination value means shorter cooldown.
HALLUCINATE_CHANCEPercentage defining the chance at which an hallucination may spawn past the cooldown.
/datum/status_effect/cursedStatus effect that gives the target miscellanous debuffs while throwing a status alert and causing them to smoke from the damage they're incurring. +Purposebuilt for cursed slot machines.
/datum/status_effect/unbalancedThe mob has been pushed by airflow recently, and won't automatically grab nearby objects to stop drifting.
FINISHER_THRESHOLDThis is the threshold where the attack will stun on the last hit. Why? Because it is cool, that's why.

Define Details

FINISHER_THRESHOLD

This is the threshold where the attack will stun on the last hit. Why? Because it is cool, that's why.

HALLUCINATE_CHANCE

Percentage defining the chance at which an hallucination may spawn past the cooldown.

HALLUCINATE_COOLDOWN_FACTOR

This is multiplied with /datum/status_effect/transient/var/strength to determine the final cooldown. A higher hallucination value means shorter cooldown.

\ No newline at end of file diff --git a/code/datums/status_effects/neutral.html b/code/datums/status_effects/neutral.html new file mode 100644 index 00000000000..21404de0954 --- /dev/null +++ b/code/datums/status_effects/neutral.html @@ -0,0 +1,2 @@ +code/datums/status_effects/neutral.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/status_effects/neutral.dm

/datum/status_effect/crusher_damagetracks the damage dealt to this mob by kinetic crushers
/datum/status_effect/limited_bonusA status effect that can have a certain amount of "bonus" duration added, which extends the duration every tick, +although there is a maximum amount of bonus time that can be active at any given time.
\ No newline at end of file diff --git a/code/datums/status_effects/status_effect.html b/code/datums/status_effects/status_effect.html new file mode 100644 index 00000000000..175ae55736d --- /dev/null +++ b/code/datums/status_effects/status_effect.html @@ -0,0 +1,2 @@ +code/datums/status_effects/status_effect.dm - Space Station 13
Space Station 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
/datum/status_effect/transientA status effect that works off a (possibly decimal) counter before expiring, rather than a specified world.time. +This allows for a more precise tweaking of status durations at runtime (e.g. paralysis).
\ No newline at end of file diff --git a/code/datums/uplink_items/uplink_special.html b/code/datums/uplink_items/uplink_special.html new file mode 100644 index 00000000000..4cfb87478f1 --- /dev/null +++ b/code/datums/uplink_items/uplink_special.html @@ -0,0 +1 @@ +code/datums/uplink_items/uplink_special.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/uplink_items/uplink_special.dm

/datum/uplink_item/specialThis uplink catagory is for uplink items avalible by special circumstances. Think station traits, or if some event rolling in a round gave traitors special items, or an objective.
\ No newline at end of file diff --git a/code/datums/uplink_items/uplink_traitor.html b/code/datums/uplink_items/uplink_traitor.html new file mode 100644 index 00000000000..5bd82848dea --- /dev/null +++ b/code/datums/uplink_items/uplink_traitor.html @@ -0,0 +1 @@ +code/datums/uplink_items/uplink_traitor.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/uplink_items/uplink_traitor.dm

/datum/uplink_item/stealthy_weapons/combat_minusNukies get combat gloves plus instead
/datum/uplink_item/device_tools/thermal_drillNukies get Diamond Tipped Thermal Safe Drill instead
/datum/uplink_item/bio_chips/uplinkNukies get Nuclear Uplink Bio-chip instead
\ No newline at end of file diff --git a/code/datums/user_verb.html b/code/datums/user_verb.html new file mode 100644 index 00000000000..5522d014201 --- /dev/null +++ b/code/datums/user_verb.html @@ -0,0 +1,3 @@ +code/datums/user_verb.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/user_verb.dm

/datum/user_verbThis is the user verb datum. It is used to store the verb's information and handle the verb's functionality. +All of this is setup for you, and you should not be defining this manually. +That means you reader.
\ No newline at end of file diff --git a/code/datums/verb_callbacks.html b/code/datums/verb_callbacks.html new file mode 100644 index 00000000000..a5beeb073af --- /dev/null +++ b/code/datums/verb_callbacks.html @@ -0,0 +1 @@ +code/datums/verb_callbacks.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/verb_callbacks.dm

/datum/callback/verb_callbacklike normal callbacks but they also record their creation time for measurement purposes
\ No newline at end of file diff --git a/code/datums/weather/weather_types/lavaland_weather.html b/code/datums/weather/weather_types/lavaland_weather.html new file mode 100644 index 00000000000..f4fe59a007c --- /dev/null +++ b/code/datums/weather/weather_types/lavaland_weather.html @@ -0,0 +1 @@ +code/datums/weather/weather_types/lavaland_weather.dm - Space Station 13
Space Station 13 - Modules - Types

code/datums/weather/weather_types/lavaland_weather.dm

/datum/weather/ash_stormMARK: Ash Storm
/datum/weather/ash_storm/heavyMARK: Heavy Ash Storm
/datum/weather/ash_storm/emberfallMARK: Emberfall
/datum/weather/volcanoMARK: Volcano
/datum/weather/acidMARK: Acid Rain
/datum/weather/windMARK: Wind Storm
\ No newline at end of file diff --git a/code/datums/weather/weather_types/radiation_storm.html b/code/datums/weather/weather_types/radiation_storm.html new file mode 100644 index 00000000000..306a30e8e80 --- /dev/null +++ b/code/datums/weather/weather_types/radiation_storm.html @@ -0,0 +1 @@ +code/datums/weather/weather_types/radiation_storm.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/datums/weather/weather_types/radiation_storm.dm

RAD_STORM_AVOID_CHANCEChance for mob to avoid being affected by rad storm
RAD_STORM_ADDITIONAL_MUT_CHANCEChance to additionally apply good or bad mutation
RAD_STORM_BAD_MUT_CHANCEChance to apply bad mutation. When failed will apply good mutation instead
RAD_STORM_RAD_AMOUNTAmount of radiation mob receives when affected

Define Details

RAD_STORM_ADDITIONAL_MUT_CHANCE

Chance to additionally apply good or bad mutation

RAD_STORM_AVOID_CHANCE

Chance for mob to avoid being affected by rad storm

RAD_STORM_BAD_MUT_CHANCE

Chance to apply bad mutation. When failed will apply good mutation instead

RAD_STORM_RAD_AMOUNT

Amount of radiation mob receives when affected

\ No newline at end of file diff --git a/code/game/area/areas/depot-areas.html b/code/game/area/areas/depot-areas.html new file mode 100644 index 00000000000..021ba83e6c9 --- /dev/null +++ b/code/game/area/areas/depot-areas.html @@ -0,0 +1 @@ +code/game/area/areas/depot-areas.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/area/areas/depot-areas.dm

/area/syndicate_depotCurrently disabled as our shuttle system does not support TG-shuttle areas yet
\ No newline at end of file diff --git a/code/game/area/areas/mining_areas.html b/code/game/area/areas/mining_areas.html new file mode 100644 index 00000000000..1201d55325f --- /dev/null +++ b/code/game/area/areas/mining_areas.html @@ -0,0 +1 @@ +code/game/area/areas/mining_areas.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/area/areas/mining_areas.dm

/area/mineMine areas
/area/mine/outpostOutpost areas
/area/lavaland/surface/outdoors/outpost/catwalksubtype of /surface so storms hit there
/area/mine/outpost/engineeringbasically engi and atmos combined. I'm keeping it as "engineering" code wise, but "Life Support" sounds cooler in-game
/area/lavalandLavaland Areas
/area/lavaland/surface/outdoors/unexploredmonsters and ruins spawn here
/area/lavaland/surface/outdoors/unexplored/dangermegafauna will also spawn here
\ No newline at end of file diff --git a/code/game/area/areas/ruins/space_areas.html b/code/game/area/areas/ruins/space_areas.html new file mode 100644 index 00000000000..388bb678b8e --- /dev/null +++ b/code/game/area/areas/ruins/space_areas.html @@ -0,0 +1 @@ +code/game/area/areas/ruins/space_areas.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/area/areas/ruins/space_areas.dm

/area/ruin/space/telecommstelecomms: Alternative telecomms sat
\ No newline at end of file diff --git a/code/game/area/away_content_areas.html b/code/game/area/away_content_areas.html new file mode 100644 index 00000000000..44b2d695152 --- /dev/null +++ b/code/game/area/away_content_areas.html @@ -0,0 +1 @@ +code/game/area/away_content_areas.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/area/away_content_areas.dm

/area/awaycontentAWAY AREAS
\ No newline at end of file diff --git a/code/game/area/misc_areas.html b/code/game/area/misc_areas.html new file mode 100644 index 00000000000..47db7e4624f --- /dev/null +++ b/code/game/area/misc_areas.html @@ -0,0 +1 @@ +code/game/area/misc_areas.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/area/misc_areas.dm

/area/startwill be unused once kurper gets his login interface patch done
\ No newline at end of file diff --git a/code/game/data_huds.html b/code/game/data_huds.html new file mode 100644 index 00000000000..9d6eeb9ec5b --- /dev/null +++ b/code/game/data_huds.html @@ -0,0 +1 @@ +code/game/data_huds.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/data_huds.dm

/proc/RoundDiagBarDiagnostic HUDs!
\ No newline at end of file diff --git a/code/game/dna/dna_modifier.html b/code/game/dna/dna_modifier.html new file mode 100644 index 00000000000..376f1869fdf --- /dev/null +++ b/code/game/dna/dna_modifier.html @@ -0,0 +1 @@ +code/game/dna/dna_modifier.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/dna/dna_modifier.dm

/obj/machinery/dna_scannernewDNA MACHINES
\ No newline at end of file diff --git a/code/game/dna/mutations/mutation_powers.html b/code/game/dna/mutations/mutation_powers.html new file mode 100644 index 00000000000..50816c391f0 --- /dev/null +++ b/code/game/dna/mutations/mutation_powers.html @@ -0,0 +1 @@ +code/game/dna/mutations/mutation_powers.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/dna/mutations/mutation_powers.dm

/datum/mutation/grant_spell/morphVanilla Morph
\ No newline at end of file diff --git a/code/game/gamemodes/cult/blood_magic.html b/code/game/gamemodes/cult/blood_magic.html new file mode 100644 index 00000000000..c91142e02f1 --- /dev/null +++ b/code/game/gamemodes/cult/blood_magic.html @@ -0,0 +1 @@ +code/game/gamemodes/cult/blood_magic.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/cult/blood_magic.dm

/datum/action/innate/cult/blood_magicBlood magic handles the creation of blood spells (formerly talismans)
/datum/action/innate/cult/blood_spellThe next generation of talismans, handles storage/creation of blood magic
/obj/item/restraints/handcuffs/cultFor the shackling spell
\ No newline at end of file diff --git a/code/game/gamemodes/cult/cult_objectives.html b/code/game/gamemodes/cult/cult_objectives.html new file mode 100644 index 00000000000..75ed4f449ac --- /dev/null +++ b/code/game/gamemodes/cult/cult_objectives.html @@ -0,0 +1 @@ +code/game/gamemodes/cult/cult_objectives.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/cult/cult_objectives.dm

/datum/objective/servecultGiven to cultists on conversion/roundstart
\ No newline at end of file diff --git a/code/game/gamemodes/cult/cult_structures.html b/code/game/gamemodes/cult/cult_structures.html new file mode 100644 index 00000000000..f36031b09ca --- /dev/null +++ b/code/game/gamemodes/cult/cult_structures.html @@ -0,0 +1 @@ +code/game/gamemodes/cult/cult_structures.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/gamemodes/cult/cult_structures.dm

CULT_STRUCTURE_COOLDOWNThe amount of time necessary for a structure to be able to produce items after being built

Define Details

CULT_STRUCTURE_COOLDOWN

The amount of time necessary for a structure to be able to produce items after being built

\ No newline at end of file diff --git a/code/game/gamemodes/cult/runes.html b/code/game/gamemodes/cult/runes.html new file mode 100644 index 00000000000..049dc777b30 --- /dev/null +++ b/code/game/gamemodes/cult/runes.html @@ -0,0 +1 @@ +code/game/gamemodes/cult/runes.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/cult/runes.dm

/obj/effect/rune/blood_boilWhen invoked deals up to 30 burn damage to nearby non-cultists and sets them on fire.
\ No newline at end of file diff --git a/code/game/gamemodes/dynamic/antag_rulesets.html b/code/game/gamemodes/dynamic/antag_rulesets.html new file mode 100644 index 00000000000..3b79b26b345 --- /dev/null +++ b/code/game/gamemodes/dynamic/antag_rulesets.html @@ -0,0 +1 @@ +code/game/gamemodes/dynamic/antag_rulesets.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/dynamic/antag_rulesets.dm

/datum/rulesetThese are gamemode rulesets for the dynamic gamemode type. They determine what antagonists spawn during a round.
\ No newline at end of file diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.html b/code/game/gamemodes/miniantags/abduction/abduction_gear.html new file mode 100644 index 00000000000..77600d0ab4f --- /dev/null +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.html @@ -0,0 +1 @@ +code/game/gamemodes/miniantags/abduction/abduction_gear.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/miniantags/abduction/abduction_gear.dm

/obj/item/clothing/head/helmet/abductorAGENT GEAR
/obj/item/abductor/gizmoSCIENTIST GEAR
/obj/item/screwdriver/abductorENGINEERING TOOLS
/obj/item/scalpel/laser/alienMEDICAL TOOLS
/obj/item/mop/advanced/abductorJANITORIAL TOOLS
/obj/structure/bed/abductorSTRUCTURES
\ No newline at end of file diff --git a/code/game/gamemodes/miniantags/guardian/guardian.html b/code/game/gamemodes/miniantags/guardian/guardian.html new file mode 100644 index 00000000000..7de699a0d08 --- /dev/null +++ b/code/game/gamemodes/miniantags/guardian/guardian.html @@ -0,0 +1 @@ +code/game/gamemodes/miniantags/guardian/guardian.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/miniantags/guardian/guardian.dm

/obj/item/guardiancreatorCreation
\ No newline at end of file diff --git a/code/game/gamemodes/miniantags/guardian/host_actions.html b/code/game/gamemodes/miniantags/guardian/host_actions.html new file mode 100644 index 00000000000..4e6c512f00e --- /dev/null +++ b/code/game/gamemodes/miniantags/guardian/host_actions.html @@ -0,0 +1 @@ +code/game/gamemodes/miniantags/guardian/host_actions.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/miniantags/guardian/host_actions.dm

/datum/action/guardianThese are used by guardian hosts to interact with their guardians. These are not buttons that guardians themselves use.
/datum/action/guardian/communicateAllows the guardian host to communicate with their guardian.
/datum/action/guardian/recallAllows the guardian host to recall their guardian.
/datum/action/guardian/reset_guardianAllows the guardian host to exchange their guardian's player for another.
\ No newline at end of file diff --git a/code/game/gamemodes/miniantags/uplifted_primitive/uplifted_primitive_nest.html b/code/game/gamemodes/miniantags/uplifted_primitive/uplifted_primitive_nest.html new file mode 100644 index 00000000000..0cd5d844364 --- /dev/null +++ b/code/game/gamemodes/miniantags/uplifted_primitive/uplifted_primitive_nest.html @@ -0,0 +1 @@ +code/game/gamemodes/miniantags/uplifted_primitive/uplifted_primitive_nest.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/gamemodes/miniantags/uplifted_primitive/uplifted_primitive_nest.dm

INTEGRITY_REGEN_AMOUNTThe amount of integrity to regenerate in exchange for scrap every process().
INTEGRITY_REGEN_SCRAP_COSTThe amount of scrap to consume to regenerate every process().
SPAWN_SCRAP_COSTThe amount of scrap to consume when spawning a new mobs.
SPAWN_FOOD_COSTThe amount of food to consume when spawning a new mobs.
SPAWN_COOLDOWN_TIMEThe minimum amount of time to wait between spawning new mobs.
SPAWN_SENTIENT_PROB_INCREASEThe number of percentage points to increase the probability of the next spawned mob being sentient by.
SPAWN_MAX_LIMITThe maximum number the spawn count can reach before disabling NPC spawning.
SPAWN_EXTRA_NEST_MOBSThe number of additional mobs permitted by each extra nearby nest.

Define Details

INTEGRITY_REGEN_AMOUNT

The amount of integrity to regenerate in exchange for scrap every process().

INTEGRITY_REGEN_SCRAP_COST

The amount of scrap to consume to regenerate every process().

SPAWN_COOLDOWN_TIME

The minimum amount of time to wait between spawning new mobs.

SPAWN_EXTRA_NEST_MOBS

The number of additional mobs permitted by each extra nearby nest.

SPAWN_FOOD_COST

The amount of food to consume when spawning a new mobs.

SPAWN_MAX_LIMIT

The maximum number the spawn count can reach before disabling NPC spawning.

SPAWN_SCRAP_COST

The amount of scrap to consume when spawning a new mobs.

SPAWN_SENTIENT_PROB_INCREASE

The number of percentage points to increase the probability of the next spawned mob being sentient by.

\ No newline at end of file diff --git a/code/game/gamemodes/objective.html b/code/game/gamemodes/objective.html new file mode 100644 index 00000000000..23bda547575 --- /dev/null +++ b/code/game/gamemodes/objective.html @@ -0,0 +1 @@ +code/game/gamemodes/objective.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/objective.dm

/datum/objective/debrainI want braaaainssss
/datum/objective/protectThe opposite of killing a dude.
/datum/objective/protect/mindslavesubytpe for mindslave implants
\ No newline at end of file diff --git a/code/game/gamemodes/objective_holder.html b/code/game/gamemodes/objective_holder.html new file mode 100644 index 00000000000..8a4be1be1a7 --- /dev/null +++ b/code/game/gamemodes/objective_holder.html @@ -0,0 +1 @@ +code/game/gamemodes/objective_holder.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/objective_holder.dm

/datum/objective_holderAn objective holder for minds, antag datums, and teams.
\ No newline at end of file diff --git a/code/game/gamemodes/wizard/artefact.html b/code/game/gamemodes/wizard/artefact.html new file mode 100644 index 00000000000..8761ca168d7 --- /dev/null +++ b/code/game/gamemodes/wizard/artefact.html @@ -0,0 +1 @@ +code/game/gamemodes/wizard/artefact.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/wizard/artefact.dm

/obj/item/contractApprentice Contract
/obj/item/veilrenderVeil Render
/obj/item/scryingScrying
/obj/item/multisword/pikeIf We are to be used and spent, let it be for a noble purpose.
/obj/item/necromantic_stoneNecromantic Stone
/obj/item/plague_talismanplague Talisman
\ No newline at end of file diff --git a/code/game/gamemodes/wizard/magic_tarot.html b/code/game/gamemodes/wizard/magic_tarot.html new file mode 100644 index 00000000000..de6f7d48b2f --- /dev/null +++ b/code/game/gamemodes/wizard/magic_tarot.html @@ -0,0 +1 @@ +code/game/gamemodes/wizard/magic_tarot.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/wizard/magic_tarot.dm

/datum/tarot/the_starsI'm sorry matt, this is very funny.
/datum/tarot/reversed/the_foolREVERSED ARCANA
\ No newline at end of file diff --git a/code/game/gamemodes/wizard/soulstone.html b/code/game/gamemodes/wizard/soulstone.html new file mode 100644 index 00000000000..6ce405979d6 --- /dev/null +++ b/code/game/gamemodes/wizard/soulstone.html @@ -0,0 +1 @@ +code/game/gamemodes/wizard/soulstone.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/gamemodes/wizard/soulstone.dm

/obj/structure/constructshellTransferring to constructs
\ No newline at end of file diff --git a/code/game/jobs/job_exp.html b/code/game/jobs/job_exp.html new file mode 100644 index 00000000000..5ee7f9b867b --- /dev/null +++ b/code/game/jobs/job_exp.html @@ -0,0 +1 @@ +code/game/jobs/job_exp.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/jobs/job_exp.dm

/datum/user_verb/check_player_expAllows admins to determine who the newer players are.
\ No newline at end of file diff --git a/code/game/machinery/Beacon.html b/code/game/machinery/Beacon.html new file mode 100644 index 00000000000..73018e57bb1 --- /dev/null +++ b/code/game/machinery/Beacon.html @@ -0,0 +1 @@ +code/game/machinery/Beacon.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/Beacon.dm

/obj/machinery/bluespace_beacon/syndicate/infiltratorbeacon guaranteed offline at roundstart for infiltrator base
\ No newline at end of file diff --git a/code/game/machinery/camera/camera.html b/code/game/machinery/camera/camera.html new file mode 100644 index 00000000000..16eeee85f08 --- /dev/null +++ b/code/game/machinery/camera/camera.html @@ -0,0 +1 @@ +code/game/machinery/camera/camera.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/camera/camera.dm

/obj/machinery/camera/portableCameras which are placed inside of things, such as helmets.
\ No newline at end of file diff --git a/code/game/machinery/clonepod.html b/code/game/machinery/clonepod.html new file mode 100644 index 00000000000..470085efba3 --- /dev/null +++ b/code/game/machinery/clonepod.html @@ -0,0 +1 @@ +code/game/machinery/clonepod.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/machinery/clonepod.dm

VALID_REAGENTSReagents that can be inserted into the cloning pod (and not deleted by it).
VALID_BIOMASSABLESMeats that can be used as biomass for the cloner.
FORBIDDEN_INTERNAL_ORGANSInternal organs the cloner will never accept for insertion.
UPGRADE_LOCKED_ORGANSInternal organs the cloner will only accept when fully upgraded.
FORBIDDEN_LIMBSLimbs that the cloner won't accept.
ALLOWED_ROBOT_PARTSA list of robot parts for use later, so that you can put them straight into the cloner from the exosuit fabricator.

Define Details

ALLOWED_ROBOT_PARTS

A list of robot parts for use later, so that you can put them straight into the cloner from the exosuit fabricator.

FORBIDDEN_INTERNAL_ORGANS

Internal organs the cloner will never accept for insertion.

FORBIDDEN_LIMBS

Limbs that the cloner won't accept.

UPGRADE_LOCKED_ORGANS

Internal organs the cloner will only accept when fully upgraded.

VALID_BIOMASSABLES

Meats that can be used as biomass for the cloner.

VALID_REAGENTS

Reagents that can be inserted into the cloning pod (and not deleted by it).

\ No newline at end of file diff --git a/code/game/machinery/clonescanner.html b/code/game/machinery/clonescanner.html new file mode 100644 index 00000000000..b7a19e5c1a7 --- /dev/null +++ b/code/game/machinery/clonescanner.html @@ -0,0 +1 @@ +code/game/machinery/clonescanner.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/clonescanner.dm

/datum/cloning_dataA datum to store the information gained by scanning a patient OR the fixes to be made to their body.
\ No newline at end of file diff --git a/code/game/machinery/computer/camera_console.html b/code/game/machinery/computer/camera_console.html new file mode 100644 index 00000000000..df111bda03d --- /dev/null +++ b/code/game/machinery/computer/camera_console.html @@ -0,0 +1,4 @@ +code/game/machinery/computer/camera_console.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/computer/camera_console.dm

/obj/machinery/computer/securityThe root type of all camera consoles. When used, these open a UI that has a left-hand sidebar +displaying a list of active cameras in the console's assigned camera network. The bulk of the window +on the right hand side displays a camera feed of the selected camera. This feed will attempt to refresh +every time process() is called by SSobj as long as there are active watchers, living or dead.
\ No newline at end of file diff --git a/code/game/machinery/computer/medical_records.html b/code/game/machinery/computer/medical_records.html new file mode 100644 index 00000000000..1fba59c7a11 --- /dev/null +++ b/code/game/machinery/computer/medical_records.html @@ -0,0 +1 @@ +code/game/machinery/computer/medical_records.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/computer/medical_records.dm

/obj/machinery/computer/med_dataTODO:SANITY
\ No newline at end of file diff --git a/code/game/machinery/computer/power_monitor_console.html b/code/game/machinery/computer/power_monitor_console.html new file mode 100644 index 00000000000..72768a6198e --- /dev/null +++ b/code/game/machinery/computer/power_monitor_console.html @@ -0,0 +1 @@ +code/game/machinery/computer/power_monitor_console.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/computer/power_monitor_console.dm

/obj/machinery/computer/monitor/secretHides the power monitor (such as ones on ruins & CentCom) from PDA's to prevent metagaming.
\ No newline at end of file diff --git a/code/game/machinery/cryopod.html b/code/game/machinery/cryopod.html new file mode 100644 index 00000000000..29ab0b286b5 --- /dev/null +++ b/code/game/machinery/cryopod.html @@ -0,0 +1 @@ +code/game/machinery/cryopod.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/cryopod.dm

/proc/cryo_ssdTeleport an SSD human inside a cryopod, or a robot to a robot storage unit, but do not despawn them.
/proc/force_cryoImmeditely teleport a human or robot to cryo and then despawn them.
\ No newline at end of file diff --git a/code/game/machinery/deployable.html b/code/game/machinery/deployable.html new file mode 100644 index 00000000000..4f4024a450e --- /dev/null +++ b/code/game/machinery/deployable.html @@ -0,0 +1 @@ +code/game/machinery/deployable.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/deployable.dm

/obj/structure/barricade/woodenBARRICADE TYPES
\ No newline at end of file diff --git a/code/game/machinery/doors/airlock.html b/code/game/machinery/doors/airlock.html new file mode 100644 index 00000000000..dec30c644a8 --- /dev/null +++ b/code/game/machinery/doors/airlock.html @@ -0,0 +1 @@ +code/game/machinery/doors/airlock.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/doors/airlock.dm

/obj/machinery/door/airlock/spawnerSpecial case so spawners with doors autorotate, otherwise identicle
\ No newline at end of file diff --git a/code/game/machinery/doors/airlock_types.html b/code/game/machinery/doors/airlock_types.html new file mode 100644 index 00000000000..91ba08b2234 --- /dev/null +++ b/code/game/machinery/doors/airlock_types.html @@ -0,0 +1 @@ +code/game/machinery/doors/airlock_types.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/doors/airlock_types.dm

/obj/machinery/door/airlock/hatch/syndicate/command/trappedThis door is used in the malf AI telecomms ruin. This door starts early access, and will try to crush someone to death who enters it's turf like how an AI door crushes.
/obj/airlock_filler_objectPlayer view blocking fillers for multi-tile doors
\ No newline at end of file diff --git a/code/game/machinery/flasher.html b/code/game/machinery/flasher.html new file mode 100644 index 00000000000..9ba3ab39beb --- /dev/null +++ b/code/game/machinery/flasher.html @@ -0,0 +1 @@ +code/game/machinery/flasher.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/flasher.dm

/obj/machinery/flasher/portablePortable version of the flasher. Only flashes when anchored
\ No newline at end of file diff --git a/code/game/machinery/hologram.html b/code/game/machinery/hologram.html new file mode 100644 index 00000000000..88564e25a88 --- /dev/null +++ b/code/game/machinery/hologram.html @@ -0,0 +1 @@ +code/game/machinery/hologram.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/hologram.dm

/obj/machinery/hologram/holopadA stationary holopad for projecting hologram and making and receiving holocalls.
\ No newline at end of file diff --git a/code/game/machinery/mass_driver.html b/code/game/machinery/mass_driver.html new file mode 100644 index 00000000000..bceae600097 --- /dev/null +++ b/code/game/machinery/mass_driver.html @@ -0,0 +1 @@ +code/game/machinery/mass_driver.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/mass_driver.dm

/obj/machinery/mass_driver_frameMASS DRIVER FRAME
\ No newline at end of file diff --git a/code/game/machinery/requests_console.html b/code/game/machinery/requests_console.html new file mode 100644 index 00000000000..b351ff3c608 --- /dev/null +++ b/code/game/machinery/requests_console.html @@ -0,0 +1,2 @@ +code/game/machinery/requests_console.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/machinery/requests_console.dm

RCS_MAINMENURequests Console

Define Details

RCS_MAINMENU

Requests Console

+

Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes

\ No newline at end of file diff --git a/code/game/machinery/shieldgen.html b/code/game/machinery/shieldgen.html new file mode 100644 index 00000000000..a0e44d218ff --- /dev/null +++ b/code/game/machinery/shieldgen.html @@ -0,0 +1 @@ +code/game/machinery/shieldgen.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/machinery/shieldgen.dm

MAX_STORED_POWERFIELD GEN START //shameless copypasta from fieldgen, powersink, and grille
/obj/machinery/shieldwallContainment Field START

Define Details

MAX_STORED_POWER

FIELD GEN START //shameless copypasta from fieldgen, powersink, and grille

\ No newline at end of file diff --git a/code/game/machinery/syndicatebomb.html b/code/game/machinery/syndicatebomb.html new file mode 100644 index 00000000000..7f54b69ff2c --- /dev/null +++ b/code/game/machinery/syndicatebomb.html @@ -0,0 +1 @@ +code/game/machinery/syndicatebomb.dm - Space Station 13
Space Station 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)
\ No newline at end of file diff --git a/code/game/machinery/tcomms/relay.html b/code/game/machinery/tcomms/relay.html new file mode 100644 index 00000000000..425d0b78271 --- /dev/null +++ b/code/game/machinery/tcomms/relay.html @@ -0,0 +1 @@ +code/game/machinery/tcomms/relay.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/tcomms/relay.dm

/obj/machinery/tcomms/relayExtends the reach of telecomms to the z-level it is built on
\ No newline at end of file diff --git a/code/game/machinery/tcomms/tcomms_base.html b/code/game/machinery/tcomms/tcomms_base.html new file mode 100644 index 00000000000..8ab32df9d1c --- /dev/null +++ b/code/game/machinery/tcomms/tcomms_base.html @@ -0,0 +1 @@ +code/game/machinery/tcomms/tcomms_base.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/tcomms/tcomms_base.dm

/obj/machinery/tcommsThis is the base machine for both tcomms devices (core + relay)
/datum/tcomms_messageDatum which holds all the data for a message being sent
/proc/is_bad_connectionConnection checker
/proc/broadcast_messageMessage Broadcast Proc
/obj/item/paper/tcommskeyPiece of paper that spawns with the default link password
\ No newline at end of file diff --git a/code/game/machinery/tcomms/tcomms_core.html b/code/game/machinery/tcomms/tcomms_core.html new file mode 100644 index 00000000000..e0b9a7f392d --- /dev/null +++ b/code/game/machinery/tcomms/tcomms_core.html @@ -0,0 +1 @@ +code/game/machinery/tcomms/tcomms_core.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/tcomms/tcomms_core.dm

/obj/machinery/tcomms/coreThe core of the entire telecomms operation
\ No newline at end of file diff --git a/code/game/machinery/tcomms/tcomms_presets.html b/code/game/machinery/tcomms/tcomms_presets.html new file mode 100644 index 00000000000..5b590555d95 --- /dev/null +++ b/code/game/machinery/tcomms/tcomms_presets.html @@ -0,0 +1 @@ +code/game/machinery/tcomms/tcomms_presets.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/tcomms/tcomms_presets.dm

/obj/machinery/tcomms/relay/dvorakDVORAK RELAY
\ No newline at end of file diff --git a/code/game/machinery/vendors/contraband_vendors.html b/code/game/machinery/vendors/contraband_vendors.html new file mode 100644 index 00000000000..ed6ba2b8f48 --- /dev/null +++ b/code/game/machinery/vendors/contraband_vendors.html @@ -0,0 +1 @@ +code/game/machinery/vendors/contraband_vendors.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/vendors/contraband_vendors.dm

/obj/machinery/economy/vending/wallmed/syndicateSyndicate/Contraband Vendors
\ No newline at end of file diff --git a/code/game/machinery/vendors/generic_vendors.html b/code/game/machinery/vendors/generic_vendors.html new file mode 100644 index 00000000000..2c61117c2ac --- /dev/null +++ b/code/game/machinery/vendors/generic_vendors.html @@ -0,0 +1 @@ +code/game/machinery/vendors/generic_vendors.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/vendors/generic_vendors.dm

/obj/machinery/economy/vending/artvendGeneral miscellanious vendors
/obj/machinery/economy/vending/tool/freewe want a free version for engineering to use
/obj/machinery/economy/vending/cigarette/beachUsed in the lavaland_biodome_beach.dmm ruin. As the ultimate in smokable vending, it sells the widest range in the grestest quantity.
\ No newline at end of file diff --git a/code/game/machinery/vendors/tilt_crits.html b/code/game/machinery/vendors/tilt_crits.html new file mode 100644 index 00000000000..df8d7b29d31 --- /dev/null +++ b/code/game/machinery/vendors/tilt_crits.html @@ -0,0 +1 @@ +code/game/machinery/vendors/tilt_crits.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/vendors/tilt_crits.dm

/datum/tilt_critFramework for custom vendor crits.
\ No newline at end of file diff --git a/code/game/machinery/vendors/vending.html b/code/game/machinery/vendors/vending.html new file mode 100644 index 00000000000..9736eff8630 --- /dev/null +++ b/code/game/machinery/vendors/vending.html @@ -0,0 +1 @@ +code/game/machinery/vendors/vending.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/vendors/vending.dm

/datum/data/vending_productDatum used to hold information about a product in a vending machine
\ No newline at end of file diff --git a/code/game/machinery/wall_holosign.html b/code/game/machinery/wall_holosign.html new file mode 100644 index 00000000000..edd535ccfc4 --- /dev/null +++ b/code/game/machinery/wall_holosign.html @@ -0,0 +1 @@ +code/game/machinery/wall_holosign.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/machinery/wall_holosign.dm

/obj/machinery/holosignHOLOSIGN
/obj/machinery/holosign_switchSWITCH
\ No newline at end of file diff --git a/code/game/mecha/equipment/tools/janitor_tools.html b/code/game/mecha/equipment/tools/janitor_tools.html new file mode 100644 index 00000000000..5f7ad60ba38 --- /dev/null +++ b/code/game/mecha/equipment/tools/janitor_tools.html @@ -0,0 +1 @@ +code/game/mecha/equipment/tools/janitor_tools.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/mecha/equipment/tools/janitor_tools.dm

How many seconds before the mopping sound triggers again

\ No newline at end of file diff --git a/code/game/mecha/equipment/tools/other_tools.html b/code/game/mecha/equipment/tools/other_tools.html new file mode 100644 index 00000000000..3468dfc3ea2 --- /dev/null +++ b/code/game/mecha/equipment/tools/other_tools.html @@ -0,0 +1,2 @@ +code/game/mecha/equipment/tools/other_tools.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/mecha/equipment/tools/other_tools.dm

/obj/item/mecha_parts/mecha_equipment/teleporterTELEPORTER
/obj/item/mecha_parts/mecha_equipment/gravcatapultGRAVITATIONAL CATAPULT
/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster///////////////////////// ARMOR BOOSTER MODULES ////////////////////////////////////////////////////////// +what is that noise? A BAWWW from TK mutants.
/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
\ No newline at end of file diff --git a/code/game/mecha/mech_fabricator.html b/code/game/mecha/mech_fabricator.html new file mode 100644 index 00000000000..2cdd7920f0a --- /dev/null +++ b/code/game/mecha/mech_fabricator.html @@ -0,0 +1 @@ +code/game/mecha/mech_fabricator.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/mecha/mech_fabricator.dm

/obj/machinery/mecha_part_fabricatorA machine that allows for the production of exosuits and robotic parts.
\ No newline at end of file diff --git a/code/game/mecha/mecha_parts.html b/code/game/mecha/mecha_parts.html new file mode 100644 index 00000000000..4e39d4f909b --- /dev/null +++ b/code/game/mecha/mecha_parts.html @@ -0,0 +1 @@ +code/game/mecha/mecha_parts.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/mecha/mecha_parts.dm

/obj/item/mecha_partsMecha Parts
\ No newline at end of file diff --git a/code/game/mecha/mecha_wreckage.html b/code/game/mecha/mecha_wreckage.html new file mode 100644 index 00000000000..feb7edabdde --- /dev/null +++ b/code/game/mecha/mecha_wreckage.html @@ -0,0 +1 @@ +code/game/mecha/mecha_wreckage.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/mecha/mecha_wreckage.dm

/obj/structure/mecha_wreckageMecha wreckage
\ No newline at end of file diff --git a/code/game/mecha/paintkits.html b/code/game/mecha/paintkits.html new file mode 100644 index 00000000000..ba2899c4f7c --- /dev/null +++ b/code/game/mecha/paintkits.html @@ -0,0 +1 @@ +code/game/mecha/paintkits.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/mecha/paintkits.dm

/obj/item/paintkitPlease don't use this for anything, it's a base type for custom mech paintjobs.
\ No newline at end of file diff --git a/code/game/objects/effects/anomalies.html b/code/game/objects/effects/anomalies.html new file mode 100644 index 00000000000..ea947871515 --- /dev/null +++ b/code/game/objects/effects/anomalies.html @@ -0,0 +1 @@ +code/game/objects/effects/anomalies.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/objects/effects/anomalies.dm

ANOMALY_MOVECHANCEChance of taking a step per second

Define Details

ANOMALY_MOVECHANCE

Chance of taking a step per second

\ No newline at end of file diff --git a/code/game/objects/effects/anomalous_particulate.html b/code/game/objects/effects/anomalous_particulate.html new file mode 100644 index 00000000000..a32e118e137 --- /dev/null +++ b/code/game/objects/effects/anomalous_particulate.html @@ -0,0 +1 @@ +code/game/objects/effects/anomalous_particulate.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/objects/effects/anomalous_particulate.dm

NUM_ANOM_PER_OBJThe number of anomalous particulate gatherings per objective

Define Details

NUM_ANOM_PER_OBJ

The number of anomalous particulate gatherings per objective

\ No newline at end of file diff --git a/code/game/objects/effects/decals/Cleanable/alien_blood.html b/code/game/objects/effects/decals/Cleanable/alien_blood.html new file mode 100644 index 00000000000..679d3910fa3 --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/alien_blood.html @@ -0,0 +1 @@ +code/game/objects/effects/decals/Cleanable/alien_blood.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/decals/Cleanable/alien_blood.dm

/obj/effect/decal/cleanable/blood/slimethis is the alien blood file, slimes are aliens.
\ No newline at end of file diff --git a/code/game/objects/effects/decals/Cleanable/humans.html b/code/game/objects/effects/decals/Cleanable/humans.html new file mode 100644 index 00000000000..45cc446e5b7 --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/humans.html @@ -0,0 +1 @@ +code/game/objects/effects/decals/Cleanable/humans.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/decals/Cleanable/humans.dm

/obj/effect/decal/cleanable/trail_holdernot a child of blood on purpose
/obj/effect/decal/cleanable/blood/gibs/cleangibsmost ironic name ever...
\ No newline at end of file diff --git a/code/game/objects/effects/decals/Cleanable/misc_cleanables.html b/code/game/objects/effects/decals/Cleanable/misc_cleanables.html new file mode 100644 index 00000000000..f150b92bd34 --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/misc_cleanables.html @@ -0,0 +1 @@ +code/game/objects/effects/decals/Cleanable/misc_cleanables.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/decals/Cleanable/misc_cleanables.dm

/obj/effect/decal/cleanable/vomit/nebula/wormsNebula vomit with extra guests
/obj/effect/decal/cleanable/pie_smudgehonk
/obj/effect/decal/cleanable/confettiPARTY TIME!
\ No newline at end of file diff --git a/code/game/objects/effects/decals/Cleanable/tracks.html b/code/game/objects/effects/decals/Cleanable/tracks.html new file mode 100644 index 00000000000..20d8bd9318b --- /dev/null +++ b/code/game/objects/effects/decals/Cleanable/tracks.html @@ -0,0 +1 @@ +code/game/objects/effects/decals/Cleanable/tracks.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/decals/Cleanable/tracks.dm

/obj/effect/decal/cleanable/blood/tracks/mappedSubtype of tracks used for decorating maps.
\ No newline at end of file diff --git a/code/game/objects/effects/decals/contraband_posters.html b/code/game/objects/effects/decals/contraband_posters.html new file mode 100644 index 00000000000..5dcb9f7a766 --- /dev/null +++ b/code/game/objects/effects/decals/contraband_posters.html @@ -0,0 +1 @@ +code/game/objects/effects/decals/contraband_posters.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/decals/contraband_posters.dm

/obj/structure/sign/poster/rippedPOSTER VARIATIONS
\ No newline at end of file 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..ac777ede0e0 --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_other.html @@ -0,0 +1 @@ +code/game/objects/effects/effect_system/effects_other.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/effect_system/effects_other.dm

/obj/effect/particle_effect/ion_trailsIon trails for jetpacks, ion thrusters and other space-flying things
\ No newline at end of file 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..f54cc3c5916 --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_smoke.html @@ -0,0 +1 @@ +code/game/objects/effects/effect_system/effects_smoke.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/effect_system/effects_smoke.dm

/obj/effect/particle_effect/smokeSMOKE SYSTEMS
/datum/effect_system/smoke_spread/steamSteam smoke
\ No newline at end of file diff --git a/code/game/objects/effects/effect_system/effects_sparks.html b/code/game/objects/effects/effect_system/effects_sparks.html new file mode 100644 index 00000000000..b43e2c6367c --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_sparks.html @@ -0,0 +1 @@ +code/game/objects/effects/effect_system/effects_sparks.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/effect_system/effects_sparks.dm

/obj/effect/particle_effect/sparks/sparklesSPARKLE FIREWORKS
\ No newline at end of file diff --git a/code/game/objects/effects/effects.html b/code/game/objects/effects/effects.html new file mode 100644 index 00000000000..81708f1448f --- /dev/null +++ b/code/game/objects/effects/effects.html @@ -0,0 +1,2 @@ +code/game/objects/effects/effects.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/effects.dm

/obj/effect/abstractThis is an object that is intended to able to be placed, but that is completely invisible. +The object should be immune to all forms of damage, or things that can delete it, such as the singularity, or explosions.
/obj/effect/abstract/particle_holderThese effects can be added to anything to hold particles, which is useful because Byond only allows a single particle per atom
\ No newline at end of file diff --git a/code/game/objects/effects/forcefields.html b/code/game/objects/effects/forcefields.html new file mode 100644 index 00000000000..6d0a353f254 --- /dev/null +++ b/code/game/objects/effects/forcefields.html @@ -0,0 +1 @@ +code/game/objects/effects/forcefields.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/forcefields.dm

/obj/structure/forcefieldMimewalls
/obj/effect/forcefield/cosmic_fieldThe cosmic heretics forcefield
\ No newline at end of file diff --git a/code/game/objects/effects/landmarks.html b/code/game/objects/effects/landmarks.html new file mode 100644 index 00000000000..49d33cf2dda --- /dev/null +++ b/code/game/objects/effects/landmarks.html @@ -0,0 +1 @@ +code/game/objects/effects/landmarks.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/landmarks.dm

/obj/effect/landmark/newplayer_startThere should only be one of these, in the lobby art area
/obj/effect/landmark/mob_spawnerMob spawners, spawns a mob and deletes the landmark
\ No newline at end of file diff --git a/code/game/objects/effects/overlays.html b/code/game/objects/effects/overlays.html new file mode 100644 index 00000000000..ed4d27bb615 --- /dev/null +++ b/code/game/objects/effects/overlays.html @@ -0,0 +1 @@ +code/game/objects/effects/overlays.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/overlays.dm

/obj/effect/overlay/closet_doorDoor overlay for animating closets
/obj/effect/overlay/turretCover overlay for portable turrets
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/depot_spawners.html b/code/game/objects/effects/spawners/depot_spawners.html new file mode 100644 index 00000000000..2c260a3b495 --- /dev/null +++ b/code/game/objects/effects/spawners/depot_spawners.html @@ -0,0 +1 @@ +code/game/objects/effects/spawners/depot_spawners.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/depot_spawners.dm

/obj/effect/spawner/random/syndicateSpawners for the Syndicate depot ruin.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/dynamic_bridge_spawner.html b/code/game/objects/effects/spawners/dynamic_bridge_spawner.html new file mode 100644 index 00000000000..77b79bc560c --- /dev/null +++ b/code/game/objects/effects/spawners/dynamic_bridge_spawner.html @@ -0,0 +1,2 @@ +code/game/objects/effects/spawners/dynamic_bridge_spawner.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/dynamic_bridge_spawner.dm

/obj/effect/spawner/dynamic_bridgeA spawner for dynamic bridges, largely with hardcoded expectations to be +operating on Lavaland.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/grouped_spawner.html b/code/game/objects/effects/spawners/grouped_spawner.html new file mode 100644 index 00000000000..df3422a8d5d --- /dev/null +++ b/code/game/objects/effects/spawners/grouped_spawner.html @@ -0,0 +1 @@ +code/game/objects/effects/spawners/grouped_spawner.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/grouped_spawner.dm

/obj/effect/spawner/grouped_spawnerCan be used to group spawners together so you ensure a certain amount of things are spawned but can be spawned on multiple locations.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random/pool/lavaland_pools.html b/code/game/objects/effects/spawners/random/pool/lavaland_pools.html new file mode 100644 index 00000000000..b7cf14ac80c --- /dev/null +++ b/code/game/objects/effects/spawners/random/pool/lavaland_pools.html @@ -0,0 +1 @@ +code/game/objects/effects/spawners/random/pool/lavaland_pools.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random/pool/lavaland_pools.dm

/obj/effect/spawner/random/lavaland_faunaWrapper spawner for lavaland fauna
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random/pool/pool_spawner.html b/code/game/objects/effects/spawners/random/pool/pool_spawner.html new file mode 100644 index 00000000000..6ae9c214233 --- /dev/null +++ b/code/game/objects/effects/spawners/random/pool/pool_spawner.html @@ -0,0 +1 @@ +code/game/objects/effects/spawners/random/pool/pool_spawner.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random/pool/pool_spawner.dm

/obj/effect/spawner/random/poolA random spawner managed by a /datum/spawn_pool.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random/pool/spawn_pool.html b/code/game/objects/effects/spawners/random/pool/spawn_pool.html new file mode 100644 index 00000000000..7dfd293193c --- /dev/null +++ b/code/game/objects/effects/spawners/random/pool/spawn_pool.html @@ -0,0 +1,3 @@ +code/game/objects/effects/spawners/random/pool/spawn_pool.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random/pool/spawn_pool.dm

/datum/spawn_poolKeeps track of the available points for a given pool, as well as any +spawners that need to keep track globally of the number of any specific item +that they spawn.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random/pool/spawn_pool_manager.html b/code/game/objects/effects/spawners/random/pool/spawn_pool_manager.html new file mode 100644 index 00000000000..e612504e9e9 --- /dev/null +++ b/code/game/objects/effects/spawners/random/pool/spawn_pool_manager.html @@ -0,0 +1,3 @@ +code/game/objects/effects/spawners/random/pool/spawn_pool_manager.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random/pool/spawn_pool_manager.dm

/datum/spawn_pool_managerThe singleton which keeps track of all spawn pools. +All known /datum/spawn_pool subtypes are registered +to it and are processed in SSlate_mapping.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random/random_spawner.html b/code/game/objects/effects/spawners/random/random_spawner.html new file mode 100644 index 00000000000..56982ed6eca --- /dev/null +++ b/code/game/objects/effects/spawners/random/random_spawner.html @@ -0,0 +1 @@ +code/game/objects/effects/spawners/random/random_spawner.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random/random_spawner.dm

/obj/effect/spawner/randomBase class for all random spawners.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random/spawner_pixel_placer.html b/code/game/objects/effects/spawners/random/spawner_pixel_placer.html new file mode 100644 index 00000000000..f8597fe5683 --- /dev/null +++ b/code/game/objects/effects/spawners/random/spawner_pixel_placer.html @@ -0,0 +1,2 @@ +code/game/objects/effects/spawners/random/spawner_pixel_placer.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random/spawner_pixel_placer.dm

/datum/spawner_pixel_placerFor use when arranging items on a tile with a staggered visual +appearance. Initially for use with /obj/effect/spawner/randoms.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random/trash_spawners.html b/code/game/objects/effects/spawners/random/trash_spawners.html new file mode 100644 index 00000000000..50600fbb5f1 --- /dev/null +++ b/code/game/objects/effects/spawners/random/trash_spawners.html @@ -0,0 +1,2 @@ +code/game/objects/effects/spawners/random/trash_spawners.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random/trash_spawners.dm

/obj/effect/spawner/random/food_trashFood trash spawner, for when you specifically want it to look like someone +didn't clean up after themselves after lunch.
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/random_barrier.html b/code/game/objects/effects/spawners/random_barrier.html new file mode 100644 index 00000000000..6f2501e9a49 --- /dev/null +++ b/code/game/objects/effects/spawners/random_barrier.html @@ -0,0 +1 @@ +code/game/objects/effects/spawners/random_barrier.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/spawners/random_barrier.dm

/obj/effect/spawner/random/barrier/possibly_welded_airlockthese have no access restrictions, so for internal maintenance only
\ No newline at end of file diff --git a/code/game/objects/effects/temporary_visuals/misc_visuals.html b/code/game/objects/effects/temporary_visuals/misc_visuals.html new file mode 100644 index 00000000000..41208c3846c --- /dev/null +++ b/code/game/objects/effects/temporary_visuals/misc_visuals.html @@ -0,0 +1 @@ +code/game/objects/effects/temporary_visuals/misc_visuals.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/effects/temporary_visuals/misc_visuals.dm

/obj/effect/temp_visual/healcolor is white by default, set to whatever is needed
/obj/effect/temp_visual/single_userA visual effect that will be shown only to a particular user for a period of time.
\ No newline at end of file diff --git a/code/game/objects/empulse.html b/code/game/objects/empulse.html new file mode 100644 index 00000000000..54f6193310e --- /dev/null +++ b/code/game/objects/empulse.html @@ -0,0 +1,2 @@ +code/game/objects/empulse.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/empulse.dm

/proc/empulseWill cause an EMP on the given epicenter. +This proc can sleep depending on the affected objects. So assume it sleeps!
\ No newline at end of file diff --git a/code/game/objects/explosion.html b/code/game/objects/explosion.html new file mode 100644 index 00000000000..dbe4f0ebdc5 --- /dev/null +++ b/code/game/objects/explosion.html @@ -0,0 +1 @@ +code/game/objects/explosion.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/explosion.dm

/proc/create_shrapnelCreates an explosion of shrapnel at a turf.
\ No newline at end of file diff --git a/code/game/objects/items/AI_modules.html b/code/game/objects/items/AI_modules.html new file mode 100644 index 00000000000..c5e33e4b139 --- /dev/null +++ b/code/game/objects/items/AI_modules.html @@ -0,0 +1,13 @@ +code/game/objects/items/AI_modules.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/AI_modules.dm

/obj/item/ai_module/safeguardSafeguard
/obj/item/ai_module/one_crew_memberoneCrewMember
/obj/item/ai_module/protect_stationProtectStation
/obj/item/ai_module/oxygenOxygenIsToxicToCrew
/obj/item/ai_module/freeformNew Freeform +Slightly more dynamic freeform module -- TLE
/obj/item/ai_module/resetReset
/obj/item/ai_module/purgePurge +-- TLE
/obj/item/ai_module/asimovAsimov +-- TLE
/obj/item/ai_module/crewsimovCrewsimov +-- TLE
/obj/item/ai_module/quarantineQuarantine
/obj/item/ai_module/nanotrasenNanotrasen +-- TLE
/obj/item/ai_module/corpCorporate
/obj/item/ai_module/droneDrone
/obj/item/ai_module/robocopRobocop +-- TLE
/obj/item/ai_module/paladinP.A.L.A.D.I.N. +-- NEO
/obj/item/ai_module/tyrantT.Y.R.A.N.T. +-- Darem
/obj/item/ai_module/antimovAntimov +-- TLE
/obj/item/ai_module/pranksimovPranksimov
/obj/item/ai_module/nanotrasen_aggressiveNT Aggressive
/obj/item/ai_module/cctvCCTV
/obj/item/ai_module/hippocraticHippocratic Oath
/obj/item/ai_module/maintainStation Efficiency
/obj/item/ai_module/peacekeeperPeacekeeper
/obj/item/ai_module/freeformcoreFreeform Core +Slightly more dynamic freeform module -- TLE
/obj/item/ai_module/syndicateHacked AI Module +Slightly more dynamic freeform module -- TLE
/obj/item/ai_module/toy_aiIon Module +-- Incoming //No actual reason to inherit from ion boards here, either. sigh ~Miauw
\ No newline at end of file diff --git a/code/game/objects/items/RCD.html b/code/game/objects/items/RCD.html new file mode 100644 index 00000000000..924842b9dce --- /dev/null +++ b/code/game/objects/items/RCD.html @@ -0,0 +1 @@ +code/game/objects/items/RCD.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/RCD.dm

/datum/rcd_actA generic action for an RCD.
\ No newline at end of file diff --git a/code/game/objects/items/agent_id.html b/code/game/objects/items/agent_id.html new file mode 100644 index 00000000000..9ae7ffaac00 --- /dev/null +++ b/code/game/objects/items/agent_id.html @@ -0,0 +1 @@ +code/game/objects/items/agent_id.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/agent_id.dm

/obj/item/card/id/syndi_scan_onlylike /obj/item/card/id/syndicate, but you can only swipe access, not change your identity, its also trackable
\ No newline at end of file diff --git a/code/game/objects/items/bio_chips/bio_chip.html b/code/game/objects/items/bio_chips/bio_chip.html new file mode 100644 index 00000000000..ae03aa9da94 --- /dev/null +++ b/code/game/objects/items/bio_chips/bio_chip.html @@ -0,0 +1 @@ +code/game/objects/items/bio_chips/bio_chip.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/bio_chips/bio_chip.dm

/obj/item/bio_chipCode for implants that can be inserted into a person and have some sort of passive or triggered action.
\ No newline at end of file diff --git a/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.html b/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.html new file mode 100644 index 00000000000..6d395ccdb1e --- /dev/null +++ b/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.html @@ -0,0 +1 @@ +code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm

/obj/item/bio_chip/gorilla_rampageDumb path but easier to search for admins
\ No newline at end of file diff --git a/code/game/objects/items/bio_chips/bio_chip_stealth.html b/code/game/objects/items/bio_chips/bio_chip_stealth.html new file mode 100644 index 00000000000..d90937da627 --- /dev/null +++ b/code/game/objects/items/bio_chips/bio_chip_stealth.html @@ -0,0 +1 @@ +code/game/objects/items/bio_chips/bio_chip_stealth.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/bio_chips/bio_chip_stealth.dm

/obj/item/bio_chip/stealthImplant which allows you to summon an MGS-style cardboard box that turns you invisble after a short delay.
\ No newline at end of file diff --git a/code/game/objects/items/cardboard_cutouts.html b/code/game/objects/items/cardboard_cutouts.html new file mode 100644 index 00000000000..cc9b5126ac7 --- /dev/null +++ b/code/game/objects/items/cardboard_cutouts.html @@ -0,0 +1 @@ +code/game/objects/items/cardboard_cutouts.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/cardboard_cutouts.dm

/obj/item/cardboard_cutout/adaptivePurchased by Syndicate agents, these cutouts are indistinguishable from normal cutouts but aren't discolored when their appearance is changed
\ No newline at end of file diff --git a/code/game/objects/items/cards_ids.html b/code/game/objects/items/cards_ids.html new file mode 100644 index 00000000000..5a3e5f6c3ba --- /dev/null +++ b/code/game/objects/items/cards_ids.html @@ -0,0 +1 @@ +code/game/objects/items/cards_ids.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/cards_ids.dm

/obj/item/card/id/rainbowMARK: Misc. IDs
\ No newline at end of file diff --git a/code/game/objects/items/control_wand.html b/code/game/objects/items/control_wand.html new file mode 100644 index 00000000000..344d0298d4c --- /dev/null +++ b/code/game/objects/items/control_wand.html @@ -0,0 +1 @@ +code/game/objects/items/control_wand.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/objects/items/control_wand.dm

JANGLE_COOLDOWNHow long before you can "jangle" your keyring again (to prevent spam)

Define Details

JANGLE_COOLDOWN

How long before you can "jangle" your keyring again (to prevent spam)

\ No newline at end of file diff --git a/code/game/objects/items/devices/camera_bug.html b/code/game/objects/items/devices/camera_bug.html new file mode 100644 index 00000000000..a95fec7b8e8 --- /dev/null +++ b/code/game/objects/items/devices/camera_bug.html @@ -0,0 +1 @@ +code/game/objects/items/devices/camera_bug.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/camera_bug.dm

/obj/item/wall_bug/computer_bugCreated by a mindflayer ability
\ No newline at end of file diff --git a/code/game/objects/items/devices/flashlight.html b/code/game/objects/items/devices/flashlight.html new file mode 100644 index 00000000000..0cd331ff838 --- /dev/null +++ b/code/game/objects/items/devices/flashlight.html @@ -0,0 +1 @@ +code/game/objects/items/devices/flashlight.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/flashlight.dm

/obj/item/flashlight/spotlightinvisible lighting source
\ No newline at end of file diff --git a/code/game/objects/items/devices/gasanalyzer.html b/code/game/objects/items/devices/gasanalyzer.html new file mode 100644 index 00000000000..fce72013837 --- /dev/null +++ b/code/game/objects/items/devices/gasanalyzer.html @@ -0,0 +1,2 @@ +code/game/objects/items/devices/gasanalyzer.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/gasanalyzer.dm

/proc/atmos_scanOutputs a message to the user describing the target's gasmixes. +Used in chat-based gas scans.
\ No newline at end of file diff --git a/code/game/objects/items/devices/geiger_counter.html b/code/game/objects/items/devices/geiger_counter.html new file mode 100644 index 00000000000..066e240e205 --- /dev/null +++ b/code/game/objects/items/devices/geiger_counter.html @@ -0,0 +1 @@ +code/game/objects/items/devices/geiger_counter.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/geiger_counter.dm

/obj/item/geiger_counterDISCLAIMER: I know nothing about how real-life Geiger counters work. This will not be realistic. ~Xhuis
\ No newline at end of file diff --git a/code/game/objects/items/devices/painter/painter.html b/code/game/objects/items/devices/painter/painter.html new file mode 100644 index 00000000000..2951399cbcb --- /dev/null +++ b/code/game/objects/items/devices/painter/painter.html @@ -0,0 +1 @@ +code/game/objects/items/devices/painter/painter.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/painter/painter.dm

/datum/painterContains variables for updating holder, as well as procs for choosing a colour and painting an atom.
\ No newline at end of file diff --git a/code/game/objects/items/devices/painter/window_painter.html b/code/game/objects/items/devices/painter/window_painter.html new file mode 100644 index 00000000000..c6e365287ac --- /dev/null +++ b/code/game/objects/items/devices/painter/window_painter.html @@ -0,0 +1 @@ +code/game/objects/items/devices/painter/window_painter.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/painter/window_painter.dm

/datum/painter/pipe/windowYes, this is a pipe painter subtype.
\ No newline at end of file diff --git a/code/game/objects/items/devices/radio/beacon.html b/code/game/objects/items/devices/radio/beacon.html new file mode 100644 index 00000000000..8f386a9466a --- /dev/null +++ b/code/game/objects/items/devices/radio/beacon.html @@ -0,0 +1 @@ +code/game/objects/items/devices/radio/beacon.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/radio/beacon.dm

/obj/item/beacon/baconProbably a better way of doing this, I'm lazy.
\ No newline at end of file diff --git a/code/game/objects/items/devices/radio/encryptionkey.html b/code/game/objects/items/devices/radio/encryptionkey.html new file mode 100644 index 00000000000..24434332dcc --- /dev/null +++ b/code/game/objects/items/devices/radio/encryptionkey.html @@ -0,0 +1 @@ +code/game/objects/items/devices/radio/encryptionkey.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/radio/encryptionkey.dm

/obj/item/encryptionkey/heads/ai_integratedported from bay, this goes 'inside' the AI.
\ No newline at end of file diff --git a/code/game/objects/items/devices/radio/headset.html b/code/game/objects/items/devices/radio/headset.html new file mode 100644 index 00000000000..019ad2a01e1 --- /dev/null +++ b/code/game/objects/items/devices/radio/headset.html @@ -0,0 +1 @@ +code/game/objects/items/devices/radio/headset.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/radio/headset.dm

/obj/item/radio/headset/syndicate/altundisguised bowman with flash protection
/obj/item/radio/headset/heads/ai_integratedNo need to care about icons, it should be hidden inside the AI anyway.
\ No newline at end of file diff --git a/code/game/objects/items/devices/radio/radio_objects.html b/code/game/objects/items/devices/radio/radio_objects.html new file mode 100644 index 00000000000..80e04d6b887 --- /dev/null +++ b/code/game/objects/items/devices/radio/radio_objects.html @@ -0,0 +1 @@ +code/game/objects/items/devices/radio/radio_objects.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/radio/radio_objects.dm

/obj/item/radio/borgBorg Radios
\ No newline at end of file diff --git a/code/game/objects/items/devices/traitordevices.html b/code/game/objects/items/devices/traitordevices.html new file mode 100644 index 00000000000..f202627c612 --- /dev/null +++ b/code/game/objects/items/devices/traitordevices.html @@ -0,0 +1 @@ +code/game/objects/items/devices/traitordevices.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/devices/traitordevices.dm

/obj/item/syndi_scannerAn admin-spawn item that will tell you roughly how close the nearest loyal Nanotrasen crewmember is.
\ No newline at end of file diff --git a/code/game/objects/items/devices/transfer_valve.html b/code/game/objects/items/devices/transfer_valve.html new file mode 100644 index 00000000000..de5fe30e705 --- /dev/null +++ b/code/game/objects/items/devices/transfer_valve.html @@ -0,0 +1 @@ +code/game/objects/items/devices/transfer_valve.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/objects/items/devices/transfer_valve.dm

TTV_TANK_ICON_STATESif the icon_state for the TTV's tank is in assemblies.dmi

Define Details

TTV_TANK_ICON_STATES

if the icon_state for the TTV's tank is in assemblies.dmi

\ No newline at end of file diff --git a/code/game/objects/items/granters/_granters.html b/code/game/objects/items/granters/_granters.html new file mode 100644 index 00000000000..554da899915 --- /dev/null +++ b/code/game/objects/items/granters/_granters.html @@ -0,0 +1 @@ +code/game/objects/items/granters/_granters.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/granters/_granters.dm

/obj/item/book/granterBooks that teach things.
\ No newline at end of file diff --git a/code/game/objects/items/mountable_frames/air_alarm_frame.html b/code/game/objects/items/mountable_frames/air_alarm_frame.html new file mode 100644 index 00000000000..6bbacd4fed0 --- /dev/null +++ b/code/game/objects/items/mountable_frames/air_alarm_frame.html @@ -0,0 +1 @@ +code/game/objects/items/mountable_frames/air_alarm_frame.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/mountable_frames/air_alarm_frame.dm

/obj/item/mounted/frame/alarm_frameHandheld air alarm frame, for placing on walls.
\ No newline at end of file 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..34f2ee84010 --- /dev/null +++ b/code/game/objects/items/robot/ai_upgrades.html @@ -0,0 +1 @@ +code/game/objects/items/robot/ai_upgrades.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/robot/ai_upgrades.dm

/obj/item/ai_upgradeAI Upgrades
\ No newline at end of file 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..6f6222fc2ea --- /dev/null +++ b/code/game/objects/items/robot/robot_items.html @@ -0,0 +1 @@ +code/game/objects/items/robot/robot_items.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/robot/robot_items.dm

/obj/item/borgCyborg Spec Items
\ No newline at end of file diff --git a/code/game/objects/items/salvage.html b/code/game/objects/items/salvage.html new file mode 100644 index 00000000000..1377df6d456 --- /dev/null +++ b/code/game/objects/items/salvage.html @@ -0,0 +1 @@ +code/game/objects/items/salvage.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/salvage.dm

/obj/item/salvage/ruinRuin Salvage, misc loot gained from looking around ruins.
/obj/item/salvage/loot/pirateLoot salvage, gained from fighting space simplemobs.
\ No newline at end of file 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..48b2f2e5931 --- /dev/null +++ b/code/game/objects/items/stacks/sheets/leather.html @@ -0,0 +1 @@ +code/game/objects/items/stacks/sheets/leather.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/stacks/sheets/leather.dm

/obj/item/stack/sheet/furbasic fur sheets
\ No newline at end of file diff --git a/code/game/objects/items/stacks/sheets/sheet_types.html b/code/game/objects/items/stacks/sheets/sheet_types.html new file mode 100644 index 00000000000..681132db796 --- /dev/null +++ b/code/game/objects/items/stacks/sheets/sheet_types.html @@ -0,0 +1 @@ +code/game/objects/items/stacks/sheets/sheet_types.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/stacks/sheets/sheet_types.dm

/obj/item/stack/sheet/cardboardBubbleWrap
\ No newline at end of file diff --git a/code/game/objects/items/theft_items.html b/code/game/objects/items/theft_items.html new file mode 100644 index 00000000000..6b5aad7968e --- /dev/null +++ b/code/game/objects/items/theft_items.html @@ -0,0 +1 @@ +code/game/objects/items/theft_items.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/theft_items.dm

/obj/item/nuke_core/plutoniumThe steal objective, so it doesnt mess with the SM sliver on pinpointers and objectives
\ No newline at end of file diff --git a/code/game/objects/items/tools/multitool.html b/code/game/objects/items/tools/multitool.html new file mode 100644 index 00000000000..5dc556dd4e9 --- /dev/null +++ b/code/game/objects/items/tools/multitool.html @@ -0,0 +1 @@ +code/game/objects/items/tools/multitool.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/tools/multitool.dm

/obj/item/multitoolMultitool -- A multitool is used for hacking electronic devices.
\ No newline at end of file diff --git a/code/game/objects/items/weapons/batons.html b/code/game/objects/items/weapons/batons.html new file mode 100644 index 00000000000..acf700010c6 --- /dev/null +++ b/code/game/objects/items/weapons/batons.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/batons.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/batons.dm

/obj/item/melee/classic_batonKnocks down the hit mob when not on harm intent and when /obj/item/melee/classic_baton/var/on is TRUE.
/obj/item/melee/classic_baton/ntcane
/obj/item/melee/classic_baton/telescopic
\ No newline at end of file diff --git a/code/game/objects/items/weapons/bio_chips/bio_chip_fluff.html b/code/game/objects/items/weapons/bio_chips/bio_chip_fluff.html new file mode 100644 index 00000000000..84ca942157d --- /dev/null +++ b/code/game/objects/items/weapons/bio_chips/bio_chip_fluff.html @@ -0,0 +1,2 @@ +code/game/objects/items/weapons/bio_chips/bio_chip_fluff.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/bio_chips/bio_chip_fluff.dm

/datum/implant_fluffBio-chip fluff is just lore about the bio-chip that is accessed through the implantpad, you must attach +one of these datums to the implant_data var on a bio-chip for it to show it up.
\ No newline at end of file diff --git a/code/game/objects/items/weapons/dice.html b/code/game/objects/items/weapons/dice.html new file mode 100644 index 00000000000..f6e2aac3dfe --- /dev/null +++ b/code/game/objects/items/weapons/dice.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/dice.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/dice.dm

/obj/item/storage/bag/diceThankfully no longer a pill bottle.
/obj/item/dicedepreciated d6, use /obj/item/dice/d6 if you actually want a d6
\ No newline at end of file diff --git a/code/game/objects/items/weapons/explosives.html b/code/game/objects/items/weapons/explosives.html new file mode 100644 index 00000000000..9f51b41deb7 --- /dev/null +++ b/code/game/objects/items/weapons/explosives.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/explosives.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/explosives.dm

/obj/item/grenade/plastic/c4The Explosives
\ No newline at end of file diff --git a/code/game/objects/items/weapons/garrote.html b/code/game/objects/items/weapons/garrote.html new file mode 100644 index 00000000000..f49b46763ce --- /dev/null +++ b/code/game/objects/items/weapons/garrote.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/garrote.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/garrote.dm

/obj/item/garrote12TC traitor item
/obj/item/garrote/improvisedMade via tablecrafting
\ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.html b/code/game/objects/items/weapons/grenades/chem_grenade.html new file mode 100644 index 00000000000..1f644403cc7 --- /dev/null +++ b/code/game/objects/items/weapons/grenades/chem_grenade.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/grenades/chem_grenade.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/grenades/chem_grenade.dm

/obj/item/grenade/chem_grenade/cryoIntended for rare cryogenic mixes. Cools the area moderately upon detonation.
/obj/item/grenade/chem_grenade/pyroIntended for pyrotechnical mixes. Produces a small fire upon detonation, igniting potentially flammable mixtures.
/obj/item/grenade/chem_grenade/adv_releaseIntended for weaker, but longer lasting effects. Could have some interesting uses.
\ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.html b/code/game/objects/items/weapons/grenades/clusterbuster.html new file mode 100644 index 00000000000..cc4c5f313d1 --- /dev/null +++ b/code/game/objects/items/weapons/grenades/clusterbuster.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/grenades/clusterbuster.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/grenades/clusterbuster.dm

/obj/item/grenade/clusterbuster/mega_bangClusterbuster of Clusterbusters
\ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/flashbang.html b/code/game/objects/items/weapons/grenades/flashbang.html new file mode 100644 index 00000000000..7d795ae09f0 --- /dev/null +++ b/code/game/objects/items/weapons/grenades/flashbang.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/grenades/flashbang.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/grenades/flashbang.dm

/proc/bangCreates a flashing effect that blinds and deafens mobs within range
\ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/frag.html b/code/game/objects/items/weapons/grenades/frag.html new file mode 100644 index 00000000000..55bfcdb708a --- /dev/null +++ b/code/game/objects/items/weapons/grenades/frag.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/grenades/frag.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/grenades/frag.dm

/obj/projectile/bullet/shrapnelShrapnel that flies through the air and hits you
/obj/item/shrapnelShrapnel projectiles turn into this after trying to embed
\ No newline at end of file diff --git a/code/game/objects/items/weapons/holy_weapons.html b/code/game/objects/items/weapons/holy_weapons.html new file mode 100644 index 00000000000..cce4199a723 --- /dev/null +++ b/code/game/objects/items/weapons/holy_weapons.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/holy_weapons.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/holy_weapons.dm

/obj/item/nullrod/flufffluff subtype to be used for all donator nullrods
/obj/item/nullrod/ertERT subtype, applies sanctified property to any derived rod
/obj/item/nullrod/claymore/bostaffMay as well make it a "claymore" and inherit the blocking
\ No newline at end of file diff --git a/code/game/objects/items/weapons/kitchen.html b/code/game/objects/items/weapons/kitchen.html new file mode 100644 index 00000000000..04c24c8caf7 --- /dev/null +++ b/code/game/objects/items/weapons/kitchen.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/kitchen.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/kitchen.dm

/obj/item/kitchen/cuttercircular cutter by Ume
\ No newline at end of file diff --git a/code/game/objects/items/weapons/legcuffs.html b/code/game/objects/items/weapons/legcuffs.html new file mode 100644 index 00000000000..45297db65f1 --- /dev/null +++ b/code/game/objects/items/weapons/legcuffs.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/legcuffs.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/legcuffs.dm

/obj/item/restraints/legcuffs/bola/tacticaltraitor variant
/obj/item/restraints/legcuffs/bola/energyFor Security
\ No newline at end of file diff --git a/code/game/objects/items/weapons/manuals.html b/code/game/objects/items/weapons/manuals.html new file mode 100644 index 00000000000..d7be288f857 --- /dev/null +++ b/code/game/objects/items/weapons/manuals.html @@ -0,0 +1,6 @@ +code/game/objects/items/weapons/manuals.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/manuals.dm

/obj/item/book/manualThese are "programmatic books," that is books that are hard-coded into the game. Just for the sake of maintainability, keep +information subject to change (as in likely to change SOON) out of the non-wiki manuals as they require PRs to change +and it is not an author's responsbility to update manuals if they change a mechanic/recipe/feature referenced in one of them +Don't worry about adding them to the library, as long as they're one of these types it is automatically added.
/obj/item/book/manual/wikiThese are programmatic books that source its pages / "content" straight from the wiki +That means that this content can ONLY be changed by editing the wiki +Space Law and SOP Manuals can only be edited by Wiki Admins
\ No newline at end of file diff --git a/code/game/objects/items/weapons/melee/energy_melee_weapons.html b/code/game/objects/items/weapons/melee/energy_melee_weapons.html new file mode 100644 index 00000000000..22f25552cb7 --- /dev/null +++ b/code/game/objects/items/weapons/melee/energy_melee_weapons.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/melee/energy_melee_weapons.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/melee/energy_melee_weapons.dm

/obj/item/melee/energy/sword/cyborg/sawUsed by medical Syndicate cyborgs
\ No newline at end of file diff --git a/code/game/objects/items/weapons/pneumaticCannon.html b/code/game/objects/items/weapons/pneumaticCannon.html new file mode 100644 index 00000000000..bca29707378 --- /dev/null +++ b/code/game/objects/items/weapons/pneumaticCannon.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/pneumaticCannon.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/pneumaticCannon.dm

/obj/item/pneumatic_cannon/ghettoObtainable by improvised methods; more gas per use, less capacity, but smaller
\ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/backpack.html b/code/game/objects/items/weapons/storage/backpack.html new file mode 100644 index 00000000000..c6d7d8388f3 --- /dev/null +++ b/code/game/objects/items/weapons/storage/backpack.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/storage/backpack.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/storage/backpack.dm

/obj/item/storage/backpack/duffel/syndie/med/surgery_fakefor maint spawns
\ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/bags.html b/code/game/objects/items/weapons/storage/bags.html new file mode 100644 index 00000000000..974e48e4054 --- /dev/null +++ b/code/game/objects/items/weapons/storage/bags.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/storage/bags.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/storage/bags.dm

/obj/item/storage/bag/ore/holdingminers, your messiah has arrived
\ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/belt.html b/code/game/objects/items/weapons/storage/belt.html new file mode 100644 index 00000000000..afd6d7922a5 --- /dev/null +++ b/code/game/objects/items/weapons/storage/belt.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/storage/belt.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/storage/belt.dm

/obj/item/storage/belt/utility/syndi_researcherA cool looking belt thats essentially a syndicate toolbox
/obj/item/storage/belt/grenade/tacticalTraitor bundle version
\ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/boxes.html b/code/game/objects/items/weapons/storage/boxes.html new file mode 100644 index 00000000000..519f95736a5 --- /dev/null +++ b/code/game/objects/items/weapons/storage/boxes.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/storage/boxes.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/storage/boxes.dm

/obj/item/storage/box/stockparts/basicfor ruins where it's a bad idea to give access to an autolathe/protolathe, but still want to make stock parts accessible
\ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/uplink_kits.html b/code/game/objects/items/weapons/storage/uplink_kits.html new file mode 100644 index 00000000000..1bfc9c168e6 --- /dev/null +++ b/code/game/objects/items/weapons/storage/uplink_kits.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/storage/uplink_kits.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/storage/uplink_kits.dm

/obj/item/storage/box/syndie_kit/bundleTraitor bundles
/obj/item/storage/box/syndie_kit/bundle/spy222TC
/obj/item/storage/box/syndie_kit/bundle/agent13142TC
/obj/item/storage/box/syndie_kit/bundle/thief160TC
/obj/item/storage/box/syndie_kit/bundle/bond176TC
/obj/item/storage/box/syndie_kit/bundle/infiltrator145TC + RCD & Mesons Autoimplanter
/obj/item/storage/box/syndie_kit/bundle/payday188TC
/obj/item/storage/box/syndie_kit/bundle/implant175TC
/obj/item/storage/box/syndie_kit/bundle/hacker200TC
/obj/item/storage/box/syndie_kit/bundle/darklord170TC + Telekinesis
/obj/item/storage/box/syndie_kit/bundle/professional164TC
/obj/item/storage/box/syndie_kit/bundle/gangster167.5 TC
/obj/item/storage/box/syndie_kit/bundle/grenadier215TC + Tactical Grenadier Belt
/obj/item/storage/box/syndie_kit/bundle/metroid80TC + modules + laser gun
\ No newline at end of file diff --git a/code/game/objects/items/weapons/stunbaton.html b/code/game/objects/items/weapons/stunbaton.html new file mode 100644 index 00000000000..07ea246f971 --- /dev/null +++ b/code/game/objects/items/weapons/stunbaton.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/stunbaton.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/stunbaton.dm

/obj/item/melee/baton/infinite_cellbaton used for security bots
\ No newline at end of file diff --git a/code/game/objects/items/weapons/twohanded.html b/code/game/objects/items/weapons/twohanded.html new file mode 100644 index 00000000000..d31ee74b0b4 --- /dev/null +++ b/code/game/objects/items/weapons/twohanded.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/twohanded.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/objects/items/weapons/twohanded.dm

/obj/item/fireaxeDEM AXES MAN, marker -Agouri
/obj/item/fireaxe/boneaxeBlatant imitation of the fireaxe, but made out of bone.
/obj/item/spear/bonespearBlatant imitation of spear, but made out of bone. Not valid for explosive modification.
BROOM_PUSH_LIMITMax number of atoms a broom can sweep at once
/obj/item/supermatter_halberdSupermatter Halberd, used by Oblivion Enforcers

Define Details

BROOM_PUSH_LIMIT

Max number of atoms a broom can sweep at once

\ No newline at end of file diff --git a/code/game/objects/items/weapons/weaponry.html b/code/game/objects/items/weapons/weaponry.html new file mode 100644 index 00000000000..d4faa005c14 --- /dev/null +++ b/code/game/objects/items/weapons/weaponry.html @@ -0,0 +1 @@ +code/game/objects/items/weapons/weaponry.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/items/weapons/weaponry.dm

/obj/item/banhammer
\ No newline at end of file diff --git a/code/game/objects/structures/aliens.html b/code/game/objects/structures/aliens.html new file mode 100644 index 00000000000..4f9bf0ecc00 --- /dev/null +++ b/code/game/objects/structures/aliens.html @@ -0,0 +1 @@ +code/game/objects/structures/aliens.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/objects/structures/aliens.dm

BURSTUsed in the /status var
MIN_GROWTH_TIMEtime it takes to grow a hugger

Define Details

BURST

Used in the /status var

MIN_GROWTH_TIME

time it takes to grow a hugger

\ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.html b/code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.html new file mode 100644 index 00000000000..2c9624c7cba --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.html @@ -0,0 +1 @@ +code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/crates_lockers/closets/secure/cargo_lockers.dm

/obj/structure/closet/secure_closet/quartermaster/lavalandused in mining outpost
\ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/statue.html b/code/game/objects/structures/crates_lockers/closets/statue.html new file mode 100644 index 00000000000..d99a477f182 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/statue.html @@ -0,0 +1 @@ +code/game/objects/structures/crates_lockers/closets/statue.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/crates_lockers/closets/statue.dm

/obj/structure/closet/statuethis type path is a crime, ponies what the fuck
\ No newline at end of file diff --git a/code/game/objects/structures/disaster_counter.html b/code/game/objects/structures/disaster_counter.html new file mode 100644 index 00000000000..7ffeb2ca12f --- /dev/null +++ b/code/game/objects/structures/disaster_counter.html @@ -0,0 +1 @@ +code/game/objects/structures/disaster_counter.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/disaster_counter.dm

/obj/structure/disaster_counterTracks how many shifts it has been since the counter with that ID was exploded.
\ No newline at end of file diff --git a/code/game/objects/structures/fence.html b/code/game/objects/structures/fence.html new file mode 100644 index 00000000000..77dbe96f4da --- /dev/null +++ b/code/game/objects/structures/fence.html @@ -0,0 +1 @@ +code/game/objects/structures/fence.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/objects/structures/fence.dm

CLIMB_TIMETime to climb through a fence with a SMALL_HOLE.
CUT_TIMETime to cut fences with can_have_holes = TRUE.
FULL_CUT_TIMETime to cut fences with can_have_holes = FALSE.
NO_HOLEFully intact fence.
SMALL_HOLESmall hole in fence, can be climbed through.
LARGE_HOLELarge hole in fence, can be walked through.
HOLE_REPAIRMaterial cost to fix a fence section.

Define Details

CLIMB_TIME

Time to climb through a fence with a SMALL_HOLE.

CUT_TIME

Time to cut fences with can_have_holes = TRUE.

FULL_CUT_TIME

Time to cut fences with can_have_holes = FALSE.

HOLE_REPAIR

Material cost to fix a fence section.

LARGE_HOLE

Large hole in fence, can be walked through.

NO_HOLE

Fully intact fence.

SMALL_HOLE

Small hole in fence, can be climbed through.

\ No newline at end of file diff --git a/code/game/objects/structures/flora.html b/code/game/objects/structures/flora.html new file mode 100644 index 00000000000..5d5c24e5efd --- /dev/null +++ b/code/game/objects/structures/flora.html @@ -0,0 +1 @@ +code/game/objects/structures/flora.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/flora.dm

/obj/item/kirbyplantsMARK: Kirbyplants
\ No newline at end of file diff --git a/code/game/objects/structures/fluff.html b/code/game/objects/structures/fluff.html new file mode 100644 index 00000000000..7357f8978e9 --- /dev/null +++ b/code/game/objects/structures/fluff.html @@ -0,0 +1 @@ +code/game/objects/structures/fluff.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/fluff.dm

/obj/structure/fluff/empty_terrariumEmpty terrariums are created when a preserved terrarium in a lavaland seed vault is activated.
/obj/structure/fluff/empty_sleeperEmpty sleepers are created by a good few ghost roles in lavaland.
/obj/structure/fluff/empty_cryostasis_sleeperEmpty cryostasis sleepers are created when a malfunctioning cryostasis sleeper in a lavaland shelter is activated
/obj/structure/fluff/drake_statueAsh drake status spawn on either side of the necropolis gate in lavaland.
/obj/structure/fluff/drake_statue/fallingA variety of statue in disrepair; parts are broken off and a gemstone is missing
\ No newline at end of file diff --git a/code/game/objects/structures/grille.html b/code/game/objects/structures/grille.html new file mode 100644 index 00000000000..03991bce38b --- /dev/null +++ b/code/game/objects/structures/grille.html @@ -0,0 +1 @@ +code/game/objects/structures/grille.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/grille.dm

/obj/structure/grille/brokenPre-broken grilles for map placement
\ No newline at end of file diff --git a/code/game/objects/structures/inflatable.html b/code/game/objects/structures/inflatable.html new file mode 100644 index 00000000000..2860410fc10 --- /dev/null +++ b/code/game/objects/structures/inflatable.html @@ -0,0 +1 @@ +code/game/objects/structures/inflatable.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/inflatable.dm

/obj/structure/inflatable/doorBased on mineral door code
\ No newline at end of file diff --git a/code/game/objects/structures/kitchen_spike.html b/code/game/objects/structures/kitchen_spike.html new file mode 100644 index 00000000000..a7de419434e --- /dev/null +++ b/code/game/objects/structures/kitchen_spike.html @@ -0,0 +1 @@ +code/game/objects/structures/kitchen_spike.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/kitchen_spike.dm

/obj/structure/kitchenspike_frameKitchen Spike
\ No newline at end of file diff --git a/code/game/objects/structures/loom.html b/code/game/objects/structures/loom.html new file mode 100644 index 00000000000..e36e77327b6 --- /dev/null +++ b/code/game/objects/structures/loom.html @@ -0,0 +1 @@ +code/game/objects/structures/loom.dm - Space Station 13
Space Station 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.
\ No newline at end of file diff --git a/code/game/objects/structures/plasticflaps.html b/code/game/objects/structures/plasticflaps.html new file mode 100644 index 00000000000..cbc52d7641f --- /dev/null +++ b/code/game/objects/structures/plasticflaps.html @@ -0,0 +1 @@ +code/game/objects/structures/plasticflaps.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/plasticflaps.dm

/obj/structure/plasticflaps/miningA specific type for mining that doesn't allow airflow because of them damn crates
\ No newline at end of file diff --git a/code/game/objects/structures/railings.html b/code/game/objects/structures/railings.html new file mode 100644 index 00000000000..f8ff4def6cc --- /dev/null +++ b/code/game/objects/structures/railings.html @@ -0,0 +1 @@ +code/game/objects/structures/railings.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/railings.dm

/obj/structure/railing/corneraesthetic corner sharp edges hurt oof ouch
/obj/structure/railing/capaestetic "end" for railing
\ No newline at end of file diff --git a/code/game/objects/structures/safe.html b/code/game/objects/structures/safe.html new file mode 100644 index 00000000000..788d7eebffb --- /dev/null +++ b/code/game/objects/structures/safe.html @@ -0,0 +1 @@ +code/game/objects/structures/safe.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/safe.dm

/obj/structure/safeA locked container that can only be opened by entering a combination through a dial.
/obj/structure/safe/floorLike a safe, but without density. Can be hidden with flooring.
/obj/item/safe_internalsCan be used to replace a safe's broken mechanism.
/obj/item/paper/safe_codeContains the (generated on map load) codes for all publicly known safes.
\ No newline at end of file diff --git a/code/game/objects/structures/statues.html b/code/game/objects/structures/statues.html new file mode 100644 index 00000000000..5f945af8a24 --- /dev/null +++ b/code/game/objects/structures/statues.html @@ -0,0 +1 @@ +code/game/objects/structures/statues.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/statues.dm

/obj/structure/statue/sandstone/venuscall me when we add marble i guess
\ No newline at end of file diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.html b/code/game/objects/structures/stool_bed_chair_nest/chairs.html new file mode 100644 index 00000000000..5ccd7f83a74 --- /dev/null +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.html @@ -0,0 +1 @@ +code/game/objects/structures/stool_bed_chair_nest/chairs.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/stool_bed_chair_nest/chairs.dm

/obj/structure/chairfuck you Pete
\ No newline at end of file diff --git a/code/game/objects/structures/tables_racks.html b/code/game/objects/structures/tables_racks.html new file mode 100644 index 00000000000..ccf4fe7687d --- /dev/null +++ b/code/game/objects/structures/tables_racks.html @@ -0,0 +1 @@ +code/game/objects/structures/tables_racks.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/tables_racks.dm

/obj/structure/table/wood/pokerNo specialties, Just a mapping object.
\ No newline at end of file diff --git a/code/game/objects/structures/watercloset.html b/code/game/objects/structures/watercloset.html new file mode 100644 index 00000000000..b30d6d1e282 --- /dev/null +++ b/code/game/objects/structures/watercloset.html @@ -0,0 +1 @@ +code/game/objects/structures/watercloset.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/objects/structures/watercloset.dm

/obj/structure/sink/puddlesplishy splashy ^_^
\ No newline at end of file diff --git a/code/game/sound.html b/code/game/sound.html new file mode 100644 index 00000000000..7b5ba5047ef --- /dev/null +++ b/code/game/sound.html @@ -0,0 +1,13 @@ +code/game/sound.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/sound.dm

/soundDefault override for echo

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.

\ No newline at end of file diff --git a/code/game/turfs/simulated.html b/code/game/turfs/simulated.html new file mode 100644 index 00000000000..c0038e535b1 --- /dev/null +++ b/code/game/turfs/simulated.html @@ -0,0 +1 @@ +code/game/turfs/simulated.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/game/turfs/simulated.dm

WATER_WEAKEN_TIMEKnockdown time for slipping on water

Define Details

WATER_WEAKEN_TIME

Knockdown time for slipping on water

\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/asteroid_floors.html b/code/game/turfs/simulated/floor/asteroid_floors.html new file mode 100644 index 00000000000..8e73f8e6c38 --- /dev/null +++ b/code/game/turfs/simulated/floor/asteroid_floors.html @@ -0,0 +1 @@ +code/game/turfs/simulated/floor/asteroid_floors.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/asteroid_floors.dm

/turf/simulated/floor/plating/asteroidAsteroid
/turf/simulated/floor/plating/asteroid/basalt/lavalava underneath
/turf/simulated/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.
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/chasm.html b/code/game/turfs/simulated/floor/chasm.html new file mode 100644 index 00000000000..0dbf2b46cfc --- /dev/null +++ b/code/game/turfs/simulated/floor/chasm.html @@ -0,0 +1 @@ +code/game/turfs/simulated/floor/chasm.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/chasm.dm

/obj/effect/abstract/chasm_storageAn abstract object which is basically just a bag that the chasm puts people inside
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/fancy_floor.html b/code/game/turfs/simulated/floor/fancy_floor.html new file mode 100644 index 00000000000..5a293f16c38 --- /dev/null +++ b/code/game/turfs/simulated/floor/fancy_floor.html @@ -0,0 +1 @@ +code/game/turfs/simulated/floor/fancy_floor.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/fancy_floor.dm

/turf/simulated/floor/grass/no_creepThis vairant shows up under normal turfs so fits in the regular 32x32 sprite
/turf/simulated/floor/grass/jungle/no_creepThis vairant shows up under normal turfs so fits in the regular 32x32 sprite
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/indestructible.html b/code/game/turfs/simulated/floor/indestructible.html new file mode 100644 index 00000000000..86074c7604a --- /dev/null +++ b/code/game/turfs/simulated/floor/indestructible.html @@ -0,0 +1 @@ +code/game/turfs/simulated/floor/indestructible.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/indestructible.dm

/turf/simulated/floor/indestructible/bossyou put stone tiles on this and use it as a base
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/lava.html b/code/game/turfs/simulated/floor/lava.html new file mode 100644 index 00000000000..5a7cc8479ca --- /dev/null +++ b/code/game/turfs/simulated/floor/lava.html @@ -0,0 +1,3 @@ +code/game/turfs/simulated/floor/lava.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/lava.dm

/turf/simulated/floor/lavaLava turf, burns things that are on it. +Currently a subtype of floor so that footsteps work on it. +Perhaps we could move it down to /turf/simulated/lava someday, as I dont think footsteps over lava are very important.
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/misc_floor.html b/code/game/turfs/simulated/floor/misc_floor.html new file mode 100644 index 00000000000..e3dad2107fa --- /dev/null +++ b/code/game/turfs/simulated/floor/misc_floor.html @@ -0,0 +1 @@ +code/game/turfs/simulated/floor/misc_floor.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/misc_floor.dm

/turf/simulated/floor/beach/waterTODO - Refactor water so they share the same parent type - Or alternatively component something like that
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/plasteel/plasteel_floor.html b/code/game/turfs/simulated/floor/plasteel/plasteel_floor.html new file mode 100644 index 00000000000..edf51d1ee1d --- /dev/null +++ b/code/game/turfs/simulated/floor/plasteel/plasteel_floor.html @@ -0,0 +1 @@ +code/game/turfs/simulated/floor/plasteel/plasteel_floor.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/plasteel/plasteel_floor.dm

/turf/simulated/floor/plasteel/airless/indestructibleFor bomb testing range
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/plating.html b/code/game/turfs/simulated/floor/plating.html new file mode 100644 index 00000000000..fdbcf2270e8 --- /dev/null +++ b/code/game/turfs/simulated/floor/plating.html @@ -0,0 +1,3 @@ +code/game/turfs/simulated/floor/plating.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/floor/plating.dm

/turf/simulated/floor/plating/false_asteroidUsed in situations like the anomalous crystal where we want +floors that look and act like asteroid floors but aren't. +This doesn't allow you to dig sand out of it but whatever.
\ No newline at end of file diff --git a/code/game/turfs/simulated/minerals.html b/code/game/turfs/simulated/minerals.html new file mode 100644 index 00000000000..b173090f8f0 --- /dev/null +++ b/code/game/turfs/simulated/minerals.html @@ -0,0 +1,2 @@ +code/game/turfs/simulated/minerals.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/minerals.dm

/turf/simulated/mineralMineral deposits +wall piece
\ No newline at end of file diff --git a/code/game/turfs/simulated/river.html b/code/game/turfs/simulated/river.html new file mode 100644 index 00000000000..ded543a744c --- /dev/null +++ b/code/game/turfs/simulated/river.html @@ -0,0 +1,2 @@ +code/game/turfs/simulated/river.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/river.dm

/datum/river_spawnerA straightforward system for making "rivers", paths made up of a specific +turf type that are generated in a random path on a z-level.
\ No newline at end of file diff --git a/code/game/turfs/simulated/walls_mineral.html b/code/game/turfs/simulated/walls_mineral.html new file mode 100644 index 00000000000..2a663712315 --- /dev/null +++ b/code/game/turfs/simulated/walls_mineral.html @@ -0,0 +1,2 @@ +code/game/turfs/simulated/walls_mineral.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/simulated/walls_mineral.dm

/turf/simulated/wall/mineral/titanium//////////////////Titanium walls///////////////////// +has to use this path due to how building walls works
/turf/simulated/wall/mineral/titanium/interiorUsed when we don't want to smooth with outer walls
/turf/simulated/wall/mineral/plastitaniumPlastitanium walls
/turf/simulated/wall/mineral/plastitanium/interiorUsed when we don't want to smooth with outer walls
\ No newline at end of file diff --git a/code/game/turfs/space/transit.html b/code/game/turfs/space/transit.html new file mode 100644 index 00000000000..d266453da6c --- /dev/null +++ b/code/game/turfs/space/transit.html @@ -0,0 +1 @@ +code/game/turfs/space/transit.dm - Space Station 13
Space Station 13 - Modules - Types

code/game/turfs/space/transit.dm

/turf/space/transit/northmoving to the north
/turf/space/transit/southmoving to the south
/turf/space/transit/eastmoving to the east
/turf/space/transit/westmoving to the west
/turf/space/transit/horizontal@DEPRECATED TYPE
\ No newline at end of file diff --git a/code/goonstation/modules/power/power_transmission_laser/transmission_laser.html b/code/goonstation/modules/power/power_transmission_laser/transmission_laser.html new file mode 100644 index 00000000000..4fd933216c0 --- /dev/null +++ b/code/goonstation/modules/power/power_transmission_laser/transmission_laser.html @@ -0,0 +1 @@ +code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm

MINIMUM_BARSelling defines are here

Define Details

MINIMUM_BAR

Selling defines are here

\ No newline at end of file diff --git a/code/modules/admin/admin_verbs.html b/code/modules/admin/admin_verbs.html new file mode 100644 index 00000000000..592716f5ae4 --- /dev/null +++ b/code/modules/admin/admin_verbs.html @@ -0,0 +1,3 @@ +code/modules/admin/admin_verbs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/admin/admin_verbs.dm

/datum/user_verb/admin_observeAllow an admin to observe someone. +mentors are allowed to use this verb while living, but with some stipulations: +if they attempt to do anything that would stop their orbit, they will immediately be returned to their body.
\ No newline at end of file diff --git a/code/modules/admin/centcom_ban_db.html b/code/modules/admin/centcom_ban_db.html new file mode 100644 index 00000000000..925eaff9fff --- /dev/null +++ b/code/modules/admin/centcom_ban_db.html @@ -0,0 +1 @@ +code/modules/admin/centcom_ban_db.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/admin/centcom_ban_db.dm

/datum/user_verb/ccbdb_lookup_ckeyJust a simple verb so admins can do manual lookups
\ No newline at end of file diff --git a/code/modules/admin/misc_admin_procs.html b/code/modules/admin/misc_admin_procs.html new file mode 100644 index 00000000000..a95f4a13f04 --- /dev/null +++ b/code/modules/admin/misc_admin_procs.html @@ -0,0 +1,10 @@ +code/modules/admin/misc_admin_procs.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/admin/misc_admin_procs.dm

/proc/message_rolesSends a message to all players with a role and the specified permissions
/proc/message_adminTicketSends a message to the staff able to see admin tickets +Arguments: +msg - The message being send +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE
/proc/message_mentorTicketSends a message to the staff able to see mentor tickets +Arguments: +msg - The message being send +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE
PLAYER_NOTES_ENTRIES_PER_PAGEPanels
/proc/is_special_characterADMIN HELPER PROCS +A proc that return whether the mob is a "Special Character" aka Antagonist
/proc/get_antag_type_strings_listA proc that return an array of capitalized strings containing name of the antag types they are
/proc/get_antag_type_truncated_plaintext_stringA proc that return a string containing all the singled out antags . Empty string if not antag
/proc/get_admin_objective_targetsAllows admins to safely pick from SSticker.minds for objectives

Define Details

PLAYER_NOTES_ENTRIES_PER_PAGE

Panels

\ No newline at end of file diff --git a/code/modules/admin/spawn_verbs.html b/code/modules/admin/spawn_verbs.html new file mode 100644 index 00000000000..c94e5fd9029 --- /dev/null +++ b/code/modules/admin/spawn_verbs.html @@ -0,0 +1,4 @@ +code/modules/admin/spawn_verbs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/admin/spawn_verbs.dm

/datum/user_verb/respawn_characterIf a guy was gibbed and you want to revive him, this is a good way to do so. +Works kind of like entering the game with a new character. Character +receives a new mind if they didn't have one. Traitors and the like can also +be revived with the previous role mostly intact.
\ No newline at end of file diff --git a/code/modules/admin/verbs/adminpm.html b/code/modules/admin/verbs/adminpm.html new file mode 100644 index 00000000000..b6103ac37c9 --- /dev/null +++ b/code/modules/admin/verbs/adminpm.html @@ -0,0 +1,2 @@ +code/modules/admin/verbs/adminpm.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/admin/verbs/adminpm.dm

/datum/user_verb/admin_pm_targetAllows right clicking mobs to send an admin PM to their client. +Forwards the selected mob's client to cmd_admin_pm.
/datum/user_verb/admin_pm_panelShows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm.
/datum/user_verb/admin_pm_by_key_panelShows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm.
\ No newline at end of file diff --git a/code/modules/admin/verbs/getlogs.html b/code/modules/admin/verbs/getlogs.html new file mode 100644 index 00000000000..6656d4a1ea3 --- /dev/null +++ b/code/modules/admin/verbs/getlogs.html @@ -0,0 +1 @@ +code/modules/admin/verbs/getlogs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/admin/verbs/getlogs.dm

/datum/user_verb/get_server_logsAllows download of past server logs saved within the data/logs/ folder.
/datum/user_verb/get_server_logs_by_round_idAllows download of past server logs saved within the data/logs/ folder by specifying a specific round ID.
\ No newline at end of file diff --git a/code/modules/antagonists/_common/antag_hud.html b/code/modules/antagonists/_common/antag_hud.html new file mode 100644 index 00000000000..cb2b5c5faca --- /dev/null +++ b/code/modules/antagonists/_common/antag_hud.html @@ -0,0 +1 @@ +code/modules/antagonists/_common/antag_hud.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/_common/antag_hud.dm

/datum/mindslavesMaster Servent Datum Sytems,Based on TG Gang system
\ No newline at end of file diff --git a/code/modules/antagonists/_common/antag_spawner.html b/code/modules/antagonists/_common/antag_spawner.html new file mode 100644 index 00000000000..99d2d6f8712 --- /dev/null +++ b/code/modules/antagonists/_common/antag_spawner.html @@ -0,0 +1,2 @@ +code/modules/antagonists/_common/antag_spawner.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/_common/antag_spawner.dm

/obj/item/antag_spawner/nuke_opsBORGS AND OPERATIVES
/obj/item/antag_spawner/nuke_ops/borg_teleSYNDICATE BORG
/obj/item/antag_spawner/slaughter_demon////////SLAUGHTER DEMON +Warning edgiest item in the game
/obj/item/antag_spawner/morphMORPH
/obj/item/antag_spawner/revenantRevenant
/obj/item/antag_spawner/pulse_demonPulse Demon
\ No newline at end of file diff --git a/code/modules/antagonists/_common/antag_team.html b/code/modules/antagonists/_common/antag_team.html new file mode 100644 index 00000000000..1be6b9774c2 --- /dev/null +++ b/code/modules/antagonists/_common/antag_team.html @@ -0,0 +1 @@ +code/modules/antagonists/_common/antag_team.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/_common/antag_team.dm

/datum/teamDatum used by team antagonists to track it's members and objectives the team needs to complete.
\ No newline at end of file diff --git a/code/modules/antagonists/antag_org/antag_org_datum.html b/code/modules/antagonists/antag_org/antag_org_datum.html new file mode 100644 index 00000000000..0cad51dcdd5 --- /dev/null +++ b/code/modules/antagonists/antag_org/antag_org_datum.html @@ -0,0 +1 @@ +code/modules/antagonists/antag_org/antag_org_datum.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/antag_org/antag_org_datum.dm

/datum/antag_orgThe lore organization antagonists are attached to. Influences objectives and steal targets.
\ No newline at end of file diff --git a/code/modules/antagonists/antag_org/antag_org_syndicate.html b/code/modules/antagonists/antag_org/antag_org_syndicate.html new file mode 100644 index 00000000000..e88deb8249b --- /dev/null +++ b/code/modules/antagonists/antag_org/antag_org_syndicate.html @@ -0,0 +1 @@ +code/modules/antagonists/antag_org/antag_org_syndicate.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/antag_org/antag_org_syndicate.dm

/datum/antag_org/syndicateBase syndicate org datum
\ No newline at end of file diff --git a/code/modules/antagonists/changeling/evolution_menu.html b/code/modules/antagonists/changeling/evolution_menu.html new file mode 100644 index 00000000000..2a313d86700 --- /dev/null +++ b/code/modules/antagonists/changeling/evolution_menu.html @@ -0,0 +1 @@ +code/modules/antagonists/changeling/evolution_menu.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/changeling/evolution_menu.dm

COMPACT_MODEThe evolution menu will be shown in the compact mode, with only powers and costs being displayed.
EXPANDED_MODEThe evolution menu will be shown in the expanded mode, with powers, costs, and power descriptions being displayed.

Define Details

COMPACT_MODE

The evolution menu will be shown in the compact mode, with only powers and costs being displayed.

EXPANDED_MODE

The evolution menu will be shown in the expanded mode, with powers, costs, and power descriptions being displayed.

\ No newline at end of file diff --git a/code/modules/antagonists/changeling/powers/mutations.html b/code/modules/antagonists/changeling/powers/mutations.html new file mode 100644 index 00000000000..b3c1b3b31ee --- /dev/null +++ b/code/modules/antagonists/changeling/powers/mutations.html @@ -0,0 +1,11 @@ +code/modules/antagonists/changeling/powers/mutations.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/changeling/powers/mutations.dm

/datum/action/changeling/weapon/arm_blade*
+|ARM BLADE| +*
/datum/action/changeling/weapon/tentacle
+|COMBAT TENTACLES
| +*
*
/datum/action/changeling/weapon/shield
+|SHIELD
| +*
/datum/action/changeling/suit/organic_space_suit
+|SPACE SUIT + HELMET
| +*
*
/datum/action/changeling/suit/armor*
+|ARMOR| +*
\ No newline at end of file diff --git a/code/modules/antagonists/changeling/powers/shriek.html b/code/modules/antagonists/changeling/powers/shriek.html new file mode 100644 index 00000000000..bbb1ada3cde --- /dev/null +++ b/code/modules/antagonists/changeling/powers/shriek.html @@ -0,0 +1 @@ +code/modules/antagonists/changeling/powers/shriek.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/changeling/powers/shriek.dm

/datum/action/changeling/dissonant_shriek/cyberrevA more expensive version, used during rounds with cyber rev station trait for balance reasons.
\ No newline at end of file diff --git a/code/modules/antagonists/changeling/powers/summon_spiders.html b/code/modules/antagonists/changeling/powers/summon_spiders.html new file mode 100644 index 00000000000..b45f079e046 --- /dev/null +++ b/code/modules/antagonists/changeling/powers/summon_spiders.html @@ -0,0 +1 @@ +code/modules/antagonists/changeling/powers/summon_spiders.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/changeling/powers/summon_spiders.dm

/mob/living/basic/giant_spider/hunter/infestation_spiderChild of giant_spider because this should do everything the spider does and more
\ No newline at end of file diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.html b/code/modules/antagonists/changeling/powers/tiny_prick.html new file mode 100644 index 00000000000..682f2fc88f4 --- /dev/null +++ b/code/modules/antagonists/changeling/powers/tiny_prick.html @@ -0,0 +1 @@ +code/modules/antagonists/changeling/powers/tiny_prick.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/changeling/powers/tiny_prick.dm

/datum/action/changeling/sting/cryoEnable when mob cooling is fixed so that frostoil actually makes you cold, instead of mostly just hungry.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/heretic_antag.html b/code/modules/antagonists/heretic/heretic_antag.html new file mode 100644 index 00000000000..df3f404699b --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_antag.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/heretic_antag.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/heretic_antag.dm

/datum/antagonist/hereticThe heretic antagonist itself.
/datum/objective/minor_sacrificeHeretic's minor sacrifice objective. "Minor sacrifices" includes anyone.
/datum/objective/major_sacrificeHeretic's major sacrifice objective. "Major sacrifices" are heads of staff.
/datum/objective/heretic_researchHeretic's research objective. "Research" is heretic knowledge nodes (You start with some).
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/heretic_focus.html b/code/modules/antagonists/heretic/heretic_focus.html new file mode 100644 index 00000000000..b393a263e02 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_focus.html @@ -0,0 +1,2 @@ +code/modules/antagonists/heretic/heretic_focus.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/heretic_focus.dm

/datum/element/heretic_focusHeretic focus element, simple element for making an item a heretic focus, +allowing heretics to cast advanced spells (examine message included).
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/heretic_knowledge.html b/code/modules/antagonists/heretic/heretic_knowledge.html new file mode 100644 index 00000000000..b2a899fbf03 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_knowledge.html @@ -0,0 +1,6 @@ +code/modules/antagonists/heretic/heretic_knowledge.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/heretic/heretic_knowledge.dm

/datum/heretic_knowledgeThe datums that allow heretics to progress and learn new spells and rituals.
/datum/heretic_knowledge/spellA knowledge subtype that grants the heretic a certain spell.
/datum/heretic_knowledge/limited_amountA knowledge subtype for knowledge that can only +have a limited amount of its resulting atoms +created at once.
/datum/heretic_knowledge/limited_amount/startingA knowledge subtype for limited_amount knowledge +used for base knowledge (the ones that make blades)
/datum/heretic_knowledge/markA knowledge subtype for heretic knowledge +that applies a mark on use.
/datum/heretic_knowledge/blade_upgradeA knowledge subtype for heretic knowledge that +upgrades their sickly blade, either on melee or range.
/datum/heretic_knowledge/summonA knowledge subtype lets the heretic summon a monster with the ritual.
KNOWLEDGE_RITUAL_POINTSThe amount of knowledge points the knowledge ritual gives on success.
/datum/heretic_knowledge/knowledge_ritualA subtype of knowledge that generates random ritual components.
/datum/heretic_knowledge/ultimateThe special final tier of knowledges that unlocks ASCENSION.

Define Details

KNOWLEDGE_RITUAL_POINTS

The amount of knowledge points the knowledge ritual gives on success.

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/heretic_living_heart.html b/code/modules/antagonists/heretic/heretic_living_heart.html new file mode 100644 index 00000000000..0d2c96d5799 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_living_heart.html @@ -0,0 +1,3 @@ +code/modules/antagonists/heretic/heretic_living_heart.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/heretic_living_heart.dm

/datum/component/living_heartApplied to a heart to turn it into a heretic's 'living heart'. +The living heart is what they use to track people they need to sacrifice.
/datum/action/track_targetThe action associated with the living heart. +Allows a heretic to track sacrifice targets.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/heretic_monster.html b/code/modules/antagonists/heretic/heretic_monster.html new file mode 100644 index 00000000000..7aa8396cf7b --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_monster.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/heretic_monster.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/heretic_monster.dm

/datum/antagonist/mindslave/heretic_monsterTracking reasons
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/influences.html b/code/modules/antagonists/heretic/influences.html new file mode 100644 index 00000000000..51497cded40 --- /dev/null +++ b/code/modules/antagonists/heretic/influences.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/influences.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/heretic/influences.dm

NUM_INFLUENCES_PER_HERETICThe number of influences spawned per heretic
/datum/reality_smash_tracker#Reality smash tracker

Define Details

NUM_INFLUENCES_PER_HERETIC

The number of influences spawned per heretic

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/items/corrupted_organs.html b/code/modules/antagonists/heretic/items/corrupted_organs.html new file mode 100644 index 00000000000..6f5d970b6a9 --- /dev/null +++ b/code/modules/antagonists/heretic/items/corrupted_organs.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/items/corrupted_organs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/items/corrupted_organs.dm

/obj/item/organ/internal/eyes/corruptRenders you unable to see people who were heretics at the time that this organ is gained
/obj/item/organ/internal/liver/corruptRandomly secretes alcohol or hallucinogens
/obj/item/organ/internal/heart/corruptOccasionally bombards you with spooky hands and lets everyone hear your pulse.
/obj/item/organ/internal/lungs/corruptSometimes begin to suffocate
/obj/item/organ/internal/appendix/corruptIt's full of worms
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/items/hunter_rifle.html b/code/modules/antagonists/heretic/items/hunter_rifle.html new file mode 100644 index 00000000000..9c15e87c320 --- /dev/null +++ b/code/modules/antagonists/heretic/items/hunter_rifle.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/items/hunter_rifle.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/heretic/items/hunter_rifle.dm

MAX_LIONHUNTER_RANGEThe max range we can zoom in on people from.

Define Details

MAX_LIONHUNTER_RANGE

The max range we can zoom in on people from.

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/items/keyring.html b/code/modules/antagonists/heretic/items/keyring.html new file mode 100644 index 00000000000..7c74ed0dc84 --- /dev/null +++ b/code/modules/antagonists/heretic/items/keyring.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/items/keyring.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/items/keyring.dm

/obj/item/card/id/hereticAn ID card capable of shapeshifting to other IDs given by the Key Keepers Burden knowledge
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/items/labyrinth_handbook.html b/code/modules/antagonists/heretic/items/labyrinth_handbook.html new file mode 100644 index 00000000000..a0e24300bc1 --- /dev/null +++ b/code/modules/antagonists/heretic/items/labyrinth_handbook.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/items/labyrinth_handbook.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/items/labyrinth_handbook.dm

/obj/item/heretic_labyrinth_handbookA heretic item that spawns a barrier at the clicked turf, 3 uses
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.html b/code/modules/antagonists/heretic/knowledge/blade_lore.html new file mode 100644 index 00000000000..d72b1e83493 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/blade_lore.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/knowledge/blade_lore.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/heretic/knowledge/blade_lore.dm

BLADE_DANCE_COOLDOWNThe cooldown duration between triggers of blade dance
BLOOD_FLOW_PER_SEVEIRTYThe amount of blood flow reduced per level of severity of gained bleeding wounds for Stance of the Torn Champion.

Define Details

BLADE_DANCE_COOLDOWN

The cooldown duration between triggers of blade dance

BLOOD_FLOW_PER_SEVEIRTY

The amount of blood flow reduced per level of severity of gained bleeding wounds for Stance of the Torn Champion.

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.html b/code/modules/antagonists/heretic/knowledge/flesh_lore.html new file mode 100644 index 00000000000..7286c97fb90 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/knowledge/flesh_lore.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/heretic/knowledge/flesh_lore.dm

GHOUL_MAX_HEALTHThe max amount of health a ghoul has.
MUTE_MAX_HEALTHThe max amount of health a voiceless dead has.

Define Details

GHOUL_MAX_HEALTH

The max amount of health a ghoul has.

MUTE_MAX_HEALTH

The max amount of health a voiceless dead has.

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html new file mode 100644 index 00000000000..810fb22ee28 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm

/atom/movable/screen/alert/status_effect/unholy_determinationScreen alert for the below status effect.
/datum/status_effect/unholy_determinationThe buff given to people within the shadow realm to assist them in surviving.
/proc/fire_curse_handTorment the target with a frightening hand
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_curse.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_curse.html new file mode 100644 index 00000000000..edc993cd4f2 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_curse.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_curse.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_curse.dm

/datum/status_effect/heretic_curseA curse given to people to disencourage them from retaliating against someone who sacrificed them
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html new file mode 100644 index 00000000000..2ccaf9c9341 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm

SACRIFICE_SLEEP_DURATIONHow long we put the target so sleep for during sacrifice.
SACRIFICE_REALM_DURATIONHow long sacrifices must stay in the shadow realm to survive.
/datum/heretic_knowledge/hunt_and_sacrificeAllows the heretic to sacrifice living heart targets.

Define Details

SACRIFICE_REALM_DURATION

How long sacrifices must stay in the shadow realm to survive.

SACRIFICE_SLEEP_DURATION

How long we put the target so sleep for during sacrifice.

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html new file mode 100644 index 00000000000..7431df67d04 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm

/obj/effect/landmark/hereticLardmarks meant to designate where heretic sacrifices are sent.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/side_void_blade.html b/code/modules/antagonists/heretic/knowledge/side_void_blade.html new file mode 100644 index 00000000000..33220f4964e --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/side_void_blade.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/knowledge/side_void_blade.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/heretic/knowledge/side_void_blade.dm

RISEN_MAX_HEALTHThe max health given to Shattered Risen
/obj/item/shattered_risenThe "hand" "weapon" used by shattered risen

Define Details

RISEN_MAX_HEALTH

The max health given to Shattered Risen

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.html b/code/modules/antagonists/heretic/knowledge/starting_lore.html new file mode 100644 index 00000000000..52b3dfae410 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.html @@ -0,0 +1,8 @@ +code/modules/antagonists/heretic/knowledge/starting_lore.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/knowledge/starting_lore.dm

/proc/initialize_starting_knowledgeReturns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.
/datum/heretic_knowledge/living_heartThe Living Heart heretic knowledge.
/datum/heretic_knowledge/amber_focusAllows the heretic to craft a spell focus. +They require a focus to cast advanced spells.
/datum/heretic_knowledge/codex_cicatrixCodex Cicatrixi is available at the start: +This allows heretics to choose if they want to rush all the influences and take them stealthily, or +Construct a codex and take what's left with more points. +Another downside to having the book is strip searches, which means that it's not just a free nab, at least until you get exposed - and when you do, you'll probably need the faster drawing speed. +Overall, it's a tradeoff between speed and stealth or power.
/datum/heretic_knowledge/destroy_knivesAllows the heretic to break all of their knives in the world. +This requires a knowledge point and makes them go on knife cooldown.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.html b/code/modules/antagonists/heretic/magic/ash_ascension.html new file mode 100644 index 00000000000..570b25a6946 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/ash_ascension.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/magic/ash_ascension.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/magic/ash_ascension.dm

/datum/spell/fire_swornCreates a constant Ring of Fire around the caster for a set duration of time, which follows them.
/datum/status_effect/fire_ringSimple status effect for adding a ring of fire around a mob.
/datum/spell/fire_cascadeCreates one, large, expanding ring of fire around the caster, which does not follow them.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/magic/cosmic_runes.html b/code/modules/antagonists/heretic/magic/cosmic_runes.html new file mode 100644 index 00000000000..39a64e2d1aa --- /dev/null +++ b/code/modules/antagonists/heretic/magic/cosmic_runes.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/magic/cosmic_runes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/magic/cosmic_runes.dm

/obj/effect/cosmic_runeA rune that allows you to teleport to the location of a linked rune.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/magic/fire_blast.html b/code/modules/antagonists/heretic/magic/fire_blast.html new file mode 100644 index 00000000000..50efdfdf04b --- /dev/null +++ b/code/modules/antagonists/heretic/magic/fire_blast.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/magic/fire_blast.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/magic/fire_blast.dm

/datum/status_effect/fire_blastedStatus effect applied when someone's hit by the fire blast.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/magic/shadow_cloak.html b/code/modules/antagonists/heretic/magic/shadow_cloak.html new file mode 100644 index 00000000000..f8f28600c7a --- /dev/null +++ b/code/modules/antagonists/heretic/magic/shadow_cloak.html @@ -0,0 +1,2 @@ +code/modules/antagonists/heretic/magic/shadow_cloak.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/magic/shadow_cloak.dm

/datum/status_effect/shadow_cloakShadow cloak effect. Conceals the owner in a cloud of purple smoke, making them unidentifiable. +Also comes with some other buffs and debuffs - faster movespeed, slower actionspeed, etc.
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/magic/space_crawl.html b/code/modules/antagonists/heretic/magic/space_crawl.html new file mode 100644 index 00000000000..d9a1e008775 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/space_crawl.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/magic/space_crawl.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/magic/space_crawl.dm

/datum/spell/bloodcrawl/space_crawl
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/magic/void_conduit.html b/code/modules/antagonists/heretic/magic/void_conduit.html new file mode 100644 index 00000000000..4b8f7e87c50 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/void_conduit.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/magic/void_conduit.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/magic/void_conduit.dm

/obj/effect/temp_visual/circle_waveVisual effect from tg's bioscrambler anomaly
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/soultrapped_heretic.html b/code/modules/antagonists/heretic/soultrapped_heretic.html new file mode 100644 index 00000000000..8144d41a7e8 --- /dev/null +++ b/code/modules/antagonists/heretic/soultrapped_heretic.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/soultrapped_heretic.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/soultrapped_heretic.dm

/datum/antagonist/soultrapped_heretica heretic that got soultrapped by cultists. does nothing, other than signify they suck
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/status_effects/heretic_buffs.html b/code/modules/antagonists/heretic/status_effects/heretic_buffs.html new file mode 100644 index 00000000000..fbc0b2b5f10 --- /dev/null +++ b/code/modules/antagonists/heretic/status_effects/heretic_buffs.html @@ -0,0 +1,3 @@ +code/modules/antagonists/heretic/status_effects/heretic_buffs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/status_effects/heretic_buffs.dm

/datum/status_effect/protective_bladesSummons multiple foating knives around the owner. +Each knife will block an attack straight up.
/datum/status_effect/protective_blades/rechargingA subtype that doesn't self-delete / disappear when all blades are gone +It instead regenerates over time back to the max after blades are consumed
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/status_effects/heretic_debuffs.html b/code/modules/antagonists/heretic/status_effects/heretic_debuffs.html new file mode 100644 index 00000000000..c0f30a9b2ce --- /dev/null +++ b/code/modules/antagonists/heretic/status_effects/heretic_debuffs.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/status_effects/heretic_debuffs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/status_effects/heretic_debuffs.dm

/datum/status_effect/moon_convertedUsed by moon heretics to make people mad
\ No newline at end of file diff --git a/code/modules/antagonists/heretic/status_effects/void_chill.html b/code/modules/antagonists/heretic/status_effects/void_chill.html new file mode 100644 index 00000000000..94a8c148e5e --- /dev/null +++ b/code/modules/antagonists/heretic/status_effects/void_chill.html @@ -0,0 +1,2 @@ +code/modules/antagonists/heretic/status_effects/void_chill.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/status_effects/void_chill.dm

Contains the "Void Chill" status effect. Harmful debuff which freezes and slows down non-heretics +Cannot affect silicons (How are you gonna freeze a robot?)

\ No newline at end of file diff --git a/code/modules/antagonists/heretic/transmutation_rune.html b/code/modules/antagonists/heretic/transmutation_rune.html new file mode 100644 index 00000000000..b631e4bdf30 --- /dev/null +++ b/code/modules/antagonists/heretic/transmutation_rune.html @@ -0,0 +1 @@ +code/modules/antagonists/heretic/transmutation_rune.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/heretic/transmutation_rune.dm

/obj/effect/heretic_runeThe heretic's rune, which they use to complete transmutation rituals.
/obj/effect/heretic_rune/bigA 3x3 heretic rune. The kind heretics actually draw in game.
\ No newline at end of file diff --git a/code/modules/antagonists/mind_flayer/flayer_power.html b/code/modules/antagonists/mind_flayer/flayer_power.html new file mode 100644 index 00000000000..0333d35f224 --- /dev/null +++ b/code/modules/antagonists/mind_flayer/flayer_power.html @@ -0,0 +1 @@ +code/modules/antagonists/mind_flayer/flayer_power.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/mind_flayer/flayer_power.dm

/datum/spell/flayer/self/augment_menuThe shop for purchasing and upgrading abilities, from here on the rest of the file is just handling shopping. Specific powers are in the powers subfolder.
\ No newline at end of file diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_buffs.html b/code/modules/antagonists/mind_flayer/powers/flayer_buffs.html new file mode 100644 index 00000000000..2af3f3a851c --- /dev/null +++ b/code/modules/antagonists/mind_flayer/powers/flayer_buffs.html @@ -0,0 +1 @@ +code/modules/antagonists/mind_flayer/powers/flayer_buffs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/mind_flayer/powers/flayer_buffs.dm

/datum/spell/flayer/self/overclockA toggle ability that makes you speedy and attack faster while heating up, level one cast is guaranteed to hurt a bit.
\ No newline at end of file diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.html b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.html new file mode 100644 index 00000000000..485ebeb030a --- /dev/null +++ b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.html @@ -0,0 +1 @@ +code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm

/datum/spell/flayer/surveillance_monitorHack computer cameras to use them as a secret camera network
/datum/spell/flayer/self/override_keyAfter a 7 second channel time you can emag a borg
\ No newline at end of file diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.html b/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.html new file mode 100644 index 00000000000..f87946e3e47 --- /dev/null +++ b/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.html @@ -0,0 +1 @@ +code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm

/datum/spell/flayer/self/weapon/swarmprodSTART OF INDIVIDUAL WEAPONS
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/contractor/datums/contractor_hub.html b/code/modules/antagonists/traitor/contractor/datums/contractor_hub.html new file mode 100644 index 00000000000..0e59e4cbf1f --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/datums/contractor_hub.html @@ -0,0 +1 @@ +code/modules/antagonists/traitor/contractor/datums/contractor_hub.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/traitor/contractor/datums/contractor_hub.dm

/datum/contractor_hubDescribes and manages the contracts and rewards for a single contractor.
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/contractor/datums/objective_contract.html b/code/modules/antagonists/traitor/contractor/datums/objective_contract.html new file mode 100644 index 00000000000..b8c4efa9e0a --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/datums/objective_contract.html @@ -0,0 +1 @@ +code/modules/antagonists/traitor/contractor/datums/objective_contract.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/traitor/contractor/datums/objective_contract.dm

/datum/objective/contractDescribes the target to kidnap and the extraction area of a /datum/syndicate_contract.
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.html b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.html new file mode 100644 index 00000000000..fd0430e95b5 --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.html @@ -0,0 +1 @@ +code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.dm

/datum/rep_purchaseDescribes something that can be purchased with Contractor Rep.
/datum/rep_purchase/itemDescribes an item that can be purchased with Contractor Rep.
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.html b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.html new file mode 100644 index 00000000000..e73b7259cbc --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.html @@ -0,0 +1 @@ +code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm

/datum/rep_purchase/item/baton
/datum/rep_purchase/item/balloon
/datum/rep_purchase/blackout
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.html b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.html new file mode 100644 index 00000000000..722755664ef --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.html @@ -0,0 +1 @@ +code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm

/datum/syndicate_contractDescribes a contract that can be completed by a Contractor.
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/contractor/items/contractor_uplink.html b/code/modules/antagonists/traitor/contractor/items/contractor_uplink.html new file mode 100644 index 00000000000..cd8c79f740a --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/items/contractor_uplink.html @@ -0,0 +1 @@ +code/modules/antagonists/traitor/contractor/items/contractor_uplink.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/traitor/contractor/items/contractor_uplink.dm

/obj/item/contractor_uplinkA contractor's point of contact with their Contractor Hub.
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/contractor/items/extraction_items.html b/code/modules/antagonists/traitor/contractor/items/extraction_items.html new file mode 100644 index 00000000000..90f23e8f125 --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/items/extraction_items.html @@ -0,0 +1,2 @@ +code/modules/antagonists/traitor/contractor/items/extraction_items.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/antagonists/traitor/contractor/items/extraction_items.dm

/obj/effect/contractor_flareUsed to designate where the /obj/effect/portal/advanced/contractor should spawn during the extraction process.
/obj/effect/portal/advanced/contractorUsed to extract contract targets and send them to the Syndicate jail for a few minutes.
/obj/structure/closet/secure_closet/contractorCannot be opened. Contains the belongings of all kidnapped targets. +Any item added inside stops processing and starts again when removed.
\ No newline at end of file diff --git a/code/modules/antagonists/uplifted_primitive/team_uplifted_primitive.html b/code/modules/antagonists/uplifted_primitive/team_uplifted_primitive.html new file mode 100644 index 00000000000..b67a7ecf43d --- /dev/null +++ b/code/modules/antagonists/uplifted_primitive/team_uplifted_primitive.html @@ -0,0 +1 @@ +code/modules/antagonists/uplifted_primitive/team_uplifted_primitive.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/uplifted_primitive/team_uplifted_primitive.dm

TEAM_OBJECTIVE_MEMBER_THRESHOLDThe number of players a team must have before receiving their team objective.
/datum/team/uplifted_primitiveAn team containing all uplifted primitives of a given species.

Define Details

TEAM_OBJECTIVE_MEMBER_THRESHOLD

The number of players a team must have before receiving their team objective.

\ No newline at end of file diff --git a/code/modules/antagonists/vampire/vampire_powers/vampire_powers.html b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.html new file mode 100644 index 00000000000..7ad74478c95 --- /dev/null +++ b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.html @@ -0,0 +1 @@ +code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm

DEVIATION_NONENo deviation at all. Flashed from the front or front-left/front-right. Alternatively, flashed in direct view.
DEVIATION_PARTIALPartial deviation. Flashed from the side. Alternatively, flashed out the corner of your eyes.
DEVIATION_FULLFull deviation. Flashed from directly behind or behind-left/behind-rack. Not flashed at all.

Define Details

DEVIATION_FULL

Full deviation. Flashed from directly behind or behind-left/behind-rack. Not flashed at all.

DEVIATION_NONE

No deviation at all. Flashed from the front or front-left/front-right. Alternatively, flashed in direct view.

DEVIATION_PARTIAL

Partial deviation. Flashed from the side. Alternatively, flashed out the corner of your eyes.

\ No newline at end of file diff --git a/code/modules/assembly/infrared.html b/code/modules/assembly/infrared.html new file mode 100644 index 00000000000..d7a9313746e --- /dev/null +++ b/code/modules/assembly/infrared.html @@ -0,0 +1 @@ +code/modules/assembly/infrared.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/assembly/infrared.dm

/obj/effect/beam/i_beamIBeam
\ No newline at end of file diff --git a/code/modules/asset_cache.html b/code/modules/asset_cache.html new file mode 100644 index 00000000000..c5352158ca5 --- /dev/null +++ b/code/modules/asset_cache.html @@ -0,0 +1,17 @@ +code/modules/asset_cache/readme.md - Space Station 13
Space Station 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.

\ No newline at end of file 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..90aaf5455bc --- /dev/null +++ b/code/modules/asset_cache/asset_cache_item.html @@ -0,0 +1 @@ +code/modules/asset_cache/asset_cache_item.dm - Space Station 13
Space Station 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.
\ No newline at end of file diff --git a/code/modules/asset_cache/asset_list.html b/code/modules/asset_cache/asset_list.html new file mode 100644 index 00000000000..7b9cd78663a --- /dev/null +++ b/code/modules/asset_cache/asset_list.html @@ -0,0 +1,5 @@ +code/modules/asset_cache/asset_list.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/asset_cache/asset_list.dm

/datum/asset/simpleIf you don't need anything complicated.
/datum/asset/groupFor registering or sending multiple others at once
/datum/asset/simple/icon_statesGenerates assets based on iconstates of a single icon
/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)
/datum/asset/jsonA subtype to generate a JSON file from a list
\ No newline at end of file diff --git a/code/modules/asset_cache/assets/asset_chem_master.html b/code/modules/asset_cache/assets/asset_chem_master.html new file mode 100644 index 00000000000..80b48058cf1 --- /dev/null +++ b/code/modules/asset_cache/assets/asset_chem_master.html @@ -0,0 +1 @@ +code/modules/asset_cache/assets/asset_chem_master.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/asset_cache/assets/asset_chem_master.dm

/datum/asset/spritesheet/chem_masterPill sprites for UIs
\ No newline at end of file diff --git a/code/modules/asset_cache/assets/asset_icon_ref_map.html b/code/modules/asset_cache/assets/asset_icon_ref_map.html new file mode 100644 index 00000000000..292bd8f0b5a --- /dev/null +++ b/code/modules/asset_cache/assets/asset_icon_ref_map.html @@ -0,0 +1 @@ +code/modules/asset_cache/assets/asset_icon_ref_map.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/asset_cache/assets/asset_icon_ref_map.dm

/datum/asset/json/icon_ref_mapMaps icon names to ref values
\ No newline at end of file diff --git a/code/modules/asset_cache/assets/asset_job_icons.html b/code/modules/asset_cache/assets/asset_job_icons.html new file mode 100644 index 00000000000..37a8abb81da --- /dev/null +++ b/code/modules/asset_cache/assets/asset_job_icons.html @@ -0,0 +1 @@ +code/modules/asset_cache/assets/asset_job_icons.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/asset_cache/assets/asset_job_icons.dm

/datum/asset/spritesheet/job_iconsAll job icon sprites, as visible on a security HUD. Used by orbit menu.
\ No newline at end of file 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..28fe9a36537 --- /dev/null +++ b/code/modules/asset_cache/transports/asset_transport.html @@ -0,0 +1 @@ +code/modules/asset_cache/transports/asset_transport.dm - Space Station 13
Space Station 13 - Modules - TypesDefine 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

\ No newline at end of file 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..4daa83d6f24 --- /dev/null +++ b/code/modules/asset_cache/transports/webroot_transport.html @@ -0,0 +1 @@ +code/modules/asset_cache/transports/webroot_transport.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/asset_cache/transports/webroot_transport.dm

/datum/asset_transport/webrootCDN Webroot asset transport.
\ No newline at end of file diff --git a/code/modules/atmospherics/environmental/LINDA_fire.html b/code/modules/atmospherics/environmental/LINDA_fire.html new file mode 100644 index 00000000000..e1c0f8d0ac5 --- /dev/null +++ b/code/modules/atmospherics/environmental/LINDA_fire.html @@ -0,0 +1 @@ +code/modules/atmospherics/environmental/LINDA_fire.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/atmospherics/environmental/LINDA_fire.dm

/obj/effect/hotspot/fakeLargely for the fireflash procs below
\ No newline at end of file diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.html b/code/modules/atmospherics/gasmixtures/gas_mixture.html new file mode 100644 index 00000000000..35c947beda4 --- /dev/null +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.html @@ -0,0 +1 @@ +code/modules/atmospherics/gasmixtures/gas_mixture.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/atmospherics/gasmixtures/gas_mixture.dm

/datum/gas_mixture/readonlyA gas mixture that should not be modified after creation.
\ No newline at end of file diff --git a/code/modules/atmospherics/machinery/airalarm.html b/code/modules/atmospherics/machinery/airalarm.html new file mode 100644 index 00000000000..ca1fd67f24a --- /dev/null +++ b/code/modules/atmospherics/machinery/airalarm.html @@ -0,0 +1 @@ +code/modules/atmospherics/machinery/airalarm.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/atmospherics/machinery/airalarm.dm

/obj/machinery/alarm/syndicategeneral syndicate access
/obj/machinery/alarm/ruinGeneral space ruin air alarms
\ No newline at end of file diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.html b/code/modules/atmospherics/machinery/components/binary_devices/valve.html new file mode 100644 index 00000000000..ed268122203 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.html @@ -0,0 +1 @@ +code/modules/atmospherics/machinery/components/binary_devices/valve.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/atmospherics/machinery/components/binary_devices/valve.dm

/obj/machinery/atmospherics/binary/valve/digitalcan be controlled by AI
\ No newline at end of file diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.html b/code/modules/atmospherics/machinery/components/trinary_devices/filter.html new file mode 100644 index 00000000000..bbd2378d1da --- /dev/null +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.html @@ -0,0 +1 @@ +code/modules/atmospherics/machinery/components/trinary_devices/filter.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/atmospherics/machinery/components/trinary_devices/filter.dm

FILTER_NOTHINGNothing will be filtered.
FILTER_TOXINSPlasma, and Oxygen Agent B.
FILTER_OXYGENOxygen only.
FILTER_NITROGENNitrogen only.
FILTER_CO2Carbon dioxide only.
FILTER_N2ONitrous oxide only.
FILTER_H2Hydrogen only.
FILTER_H2OWater vapor only.

Define Details

FILTER_CO2

Carbon dioxide only.

FILTER_H2

Hydrogen only.

FILTER_H2O

Water vapor only.

FILTER_N2O

Nitrous oxide only.

FILTER_NITROGEN

Nitrogen only.

FILTER_NOTHING

Nothing will be filtered.

FILTER_OXYGEN

Oxygen only.

FILTER_TOXINS

Plasma, and Oxygen Agent B.

\ No newline at end of file diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.html b/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.html new file mode 100644 index 00000000000..3442be6ad59 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.html @@ -0,0 +1 @@ +code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm

/obj/machinery/atmospherics/trinary/tvalve/digitalcan be controlled by AI
\ No newline at end of file diff --git a/code/modules/atmospherics/machinery/other/refill_station.html b/code/modules/atmospherics/machinery/other/refill_station.html new file mode 100644 index 00000000000..ee5b0a462b3 --- /dev/null +++ b/code/modules/atmospherics/machinery/other/refill_station.html @@ -0,0 +1 @@ +code/modules/atmospherics/machinery/other/refill_station.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/atmospherics/machinery/other/refill_station.dm

MAX_TARGET_PRESSUREThe maximum target_pressure you can set on the station. Equates to about 1013.25 kPa.

Define Details

MAX_TARGET_PRESSURE

The maximum target_pressure you can set on the station. Equates to about 1013.25 kPa.

\ No newline at end of file diff --git a/code/modules/atmospherics/machinery/portable/portable_pump.html b/code/modules/atmospherics/machinery/portable/portable_pump.html new file mode 100644 index 00000000000..a0f013b0af7 --- /dev/null +++ b/code/modules/atmospherics/machinery/portable/portable_pump.html @@ -0,0 +1 @@ +code/modules/atmospherics/machinery/portable/portable_pump.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/atmospherics/machinery/portable/portable_pump.dm

MAX_TARGET_PRESSUREThe maximum target_pressure you can set on the pump.
DIRECTION_INThe pump will be siphoning gas.
DIRECTION_OUTThe pump will be pumping gas out.

Define Details

DIRECTION_IN

The pump will be siphoning gas.

DIRECTION_OUT

The pump will be pumping gas out.

MAX_TARGET_PRESSURE

The maximum target_pressure you can set on the pump.

\ No newline at end of file diff --git a/code/modules/awaymissions/cordon.html b/code/modules/awaymissions/cordon.html new file mode 100644 index 00000000000..f20fd70914d --- /dev/null +++ b/code/modules/awaymissions/cordon.html @@ -0,0 +1 @@ +code/modules/awaymissions/cordon.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/awaymissions/cordon.dm

/turf/cordonTurf type that appears to be a world border, completely impassable and non-interactable to all physical (alive) entities.
\ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/beach.html b/code/modules/awaymissions/mission_code/beach.html new file mode 100644 index 00000000000..dba2d1f2c12 --- /dev/null +++ b/code/modules/awaymissions/mission_code/beach.html @@ -0,0 +1 @@ +code/modules/awaymissions/mission_code/beach.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/awaymissions/mission_code/beach.dm

/turf/simulated/floor/beach/away/sand/densefor boundary "walls"
/turf/simulated/floor/beach/away/coastline/densefor boundary "walls"
/turf/simulated/floor/beach/away/water/densefor boundary "walls"
\ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/ruins/freegolems.html b/code/modules/awaymissions/mission_code/ruins/freegolems.html new file mode 100644 index 00000000000..7ae5d8fe32b --- /dev/null +++ b/code/modules/awaymissions/mission_code/ruins/freegolems.html @@ -0,0 +1 @@ +code/modules/awaymissions/mission_code/ruins/freegolems.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/awaymissions/mission_code/ruins/freegolems.dm

/obj/machinery/mineral/ore_redemption/golemGolem variant of the ORM.
/obj/machinery/mineral/equipment_vendor/golemMining Equiment Vendor (Golem)
/obj/item/areaeditor/golemFree golem blueprints, like permit but can claim as much as needed.
\ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.html b/code/modules/awaymissions/mission_code/ruins/oldstation.html new file mode 100644 index 00000000000..c44aed01113 --- /dev/null +++ b/code/modules/awaymissions/mission_code/ruins/oldstation.html @@ -0,0 +1,2 @@ +code/modules/awaymissions/mission_code/ruins/oldstation.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/awaymissions/mission_code/ruins/oldstation.dm

/obj/structure/closet/crate/secure/oldstationSecure Crates: Access locked to Theta crew. Cannot be moved, destroyed, +emagged or EMPed because gamers can't be trusted not to game.
\ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/ruins/telecomns.html b/code/modules/awaymissions/mission_code/ruins/telecomns.html new file mode 100644 index 00000000000..21797dddd73 --- /dev/null +++ b/code/modules/awaymissions/mission_code/ruins/telecomns.html @@ -0,0 +1 @@ +code/modules/awaymissions/mission_code/ruins/telecomns.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/awaymissions/mission_code/ruins/telecomns.dm

POPUP_ANIM_TIMETurrets pop up in 1 second, animation is for 0.5 seconds, so we have to call for sleep() twice in order to make it 1 second and not fuck up the flick

Define Details

POPUP_ANIM_TIME

Turrets pop up in 1 second, animation is for 0.5 seconds, so we have to call for sleep() twice in order to make it 1 second and not fuck up the flick

\ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/ruins/watcher_grave.html b/code/modules/awaymissions/mission_code/ruins/watcher_grave.html new file mode 100644 index 00000000000..3acce1d5188 --- /dev/null +++ b/code/modules/awaymissions/mission_code/ruins/watcher_grave.html @@ -0,0 +1 @@ +code/modules/awaymissions/mission_code/ruins/watcher_grave.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/awaymissions/mission_code/ruins/watcher_grave.dm

WATCHER_EGG_LIVELY_MODif greater than lively mod, jiggles faster
WATCHER_EGG_ACTIVE_MODIf greater than active mod, egg is active and jiggles
/obj/item/food/egg/watcherEgg which hatches into a helpful pet. Or you can eat it if you want.
/obj/item/watcher_hatchlingA cute pet who will occasionally attack lavaland mobs for you
/obj/effect/watcher_orbiterOrbiting visual which shoots at mining mobs
/obj/projectile/baby_watcher_blastBeam fired by a baby watcher, doesn't actually do less damage than its parent

Define Details

WATCHER_EGG_ACTIVE_MOD

If greater than active mod, egg is active and jiggles

WATCHER_EGG_LIVELY_MOD

if greater than lively mod, jiggles faster

\ No newline at end of file diff --git a/code/modules/awaymissions/mob_spawn.html b/code/modules/awaymissions/mob_spawn.html new file mode 100644 index 00000000000..59aa9a3d96a --- /dev/null +++ b/code/modules/awaymissions/mob_spawn.html @@ -0,0 +1 @@ +code/modules/awaymissions/mob_spawn.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/awaymissions/mob_spawn.dm

/obj/effect/mob_spawn/human/alive/space_bar_patronAlive ones, used as "core" for ghost roles now and in future.
/obj/effect/mob_spawn/human/corpse/abductorCorpses, they can be used for "decoration" purpose.
/obj/effect/mob_spawn/corpsethese mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?
\ No newline at end of file diff --git a/code/modules/buildmode.html b/code/modules/buildmode.html new file mode 100644 index 00000000000..82f896992db --- /dev/null +++ b/code/modules/buildmode.html @@ -0,0 +1,284 @@ +code/modules/buildmode/README.md - Space Station 13
Space Station 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.

      +
    • +
    • +

      Alt+Left click a turf, object, or mob:

      +

      Select the type of the object clicked.

      +
    • +
    • +

      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.

      +
    • +
    +
  • +
  • +

    Atmos

    +

    Description:

    +

    Fills a region with configurable atmos. By default, ignores unsimulated turfs, but is able to "overwrite" the atmos of unsimulated turfs with a special control input.

    +

    By default, fills a region with a breathable, standard atmosphere.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector icon:

      +

      Set the following traits:

      +
        +
      • Total Pressure
      • +
      • Temperature
      • +
      • Partial Pressure Ratio (PPR) Oxygen
      • +
      • PPR Nitrogen
      • +
      • PPR Plasma
      • +
      • PPR CO2
      • +
      • PPR N2O
      • +
      +
    • +
    • +

      Left click a region:

      +

      Fill the region with the configured atmos.

      +
    • +
    • +

      Control+Left click a region:

      +

      As with the regular left click, but also "overwrites" the base atmos of any unsimulated turfs in the region - such as space turfs.

      +
    • +
    • +

      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.

      +
    • +
    +
  • +
  • +

    Link

    +

    Description:

    +

    Form links between door control buttons and either airlocks or pod bay doors.

    +

    The selected button will be highlighted, and visible lines will be drawn between the doors it is linked to and itself.

    +

    Controls:

    +
      +
    • +

      Left click a door control button:

      +

      Makes the button active, and show what doors it is linked to.

      +
    • +
    • +

      Right click an airlock (requires active button):

      +

      Links the airlock to the active button. Will remove all links from the button first, if the button is linked to pod bay doors.

      +
    • +
    • +

      Right click a pod bay door (requires active button):

      +

      Links the pod bay door to the active button. Will remove all links from the button first, if the button is linked to regular airlocks.

      +
    • +
    +
  • +
  • +

    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.

      +
    • +
    +
  • +
  • +

    Save

    +

    Description:

    +

    Captures a rectangular region in a .dmm format, which can be loaded back later using the "Place Map Template" debug verb.

    +

    Keep in mind this feature is somewhat experimental, and may not always work.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Configure whether to save in either JSON mode or not.

      +
    • +
    • +

      Left click two corners of an area:

      +

      Save the region to a .dmm file. You will be prompted for where to save this - a copy will be saved in the _maps/quicksave folder.

      +
    • +
    • +

      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.

      +
    • +
    +
  • +
\ No newline at end of file diff --git a/code/modules/client/jobban_holder.html b/code/modules/client/jobban_holder.html new file mode 100644 index 00000000000..28b7a865c0d --- /dev/null +++ b/code/modules/client/jobban_holder.html @@ -0,0 +1 @@ +code/modules/client/jobban_holder.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/client/jobban_holder.dm

/datum/job_ban_holderHolder for job bans
\ No newline at end of file diff --git a/code/modules/client/login_processing/__client_login_processor.html b/code/modules/client/login_processing/__client_login_processor.html new file mode 100644 index 00000000000..0e52f9146a0 --- /dev/null +++ b/code/modules/client/login_processing/__client_login_processor.html @@ -0,0 +1 @@ +code/modules/client/login_processing/__client_login_processor.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/client/login_processing/__client_login_processor.dm

/datum/client_login_processorThe holder class for all client data processing
\ No newline at end of file diff --git a/code/modules/clothing/clothing.html b/code/modules/clothing/clothing.html new file mode 100644 index 00000000000..51185709dd8 --- /dev/null +++ b/code/modules/clothing/clothing.html @@ -0,0 +1 @@ +code/modules/clothing/clothing.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/clothing/clothing.dm

JUMPSUIT_ROLLED_DOWN_SUFFIXSuffix for jumpsuits used in .dmi files when rolled down

Define Details

JUMPSUIT_ROLLED_DOWN_SUFFIX

Suffix for jumpsuits used in .dmi files when rolled down

\ No newline at end of file diff --git a/code/modules/clothing/glasses/engine_goggles.html b/code/modules/clothing/glasses/engine_goggles.html new file mode 100644 index 00000000000..3c651521804 --- /dev/null +++ b/code/modules/clothing/glasses/engine_goggles.html @@ -0,0 +1 @@ +code/modules/clothing/glasses/engine_goggles.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/glasses/engine_goggles.dm

/obj/item/clothing/glasses/meson/engine/atmosAtmospherics techs get their own version with T-ray and an exlusive Pressure view.
\ No newline at end of file diff --git a/code/modules/clothing/gloves/colored_gloves.html b/code/modules/clothing/gloves/colored_gloves.html new file mode 100644 index 00000000000..69bd81c7aaa --- /dev/null +++ b/code/modules/clothing/gloves/colored_gloves.html @@ -0,0 +1 @@ +code/modules/clothing/gloves/colored_gloves.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/gloves/colored_gloves.dm

/obj/item/clothing/gloves/color/fyellowCheap Chinese Crap
\ No newline at end of file diff --git a/code/modules/clothing/gloves/rings.html b/code/modules/clothing/gloves/rings.html new file mode 100644 index 00000000000..2fbcab4daf3 --- /dev/null +++ b/code/modules/clothing/gloves/rings.html @@ -0,0 +1 @@ +code/modules/clothing/gloves/rings.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/gloves/rings.dm

/obj/item/clothing/gloves/ring/silver/blessedtodo
\ No newline at end of file diff --git a/code/modules/clothing/head/beanie.html b/code/modules/clothing/head/beanie.html new file mode 100644 index 00000000000..cbfa2ef70b4 --- /dev/null +++ b/code/modules/clothing/head/beanie.html @@ -0,0 +1 @@ +code/modules/clothing/head/beanie.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/head/beanie.dm

/obj/item/clothing/head/beanieDefault is white, this is meant to be seen
\ No newline at end of file diff --git a/code/modules/clothing/head/misc_hats.html b/code/modules/clothing/head/misc_hats.html new file mode 100644 index 00000000000..aacd57b54c3 --- /dev/null +++ b/code/modules/clothing/head/misc_hats.html @@ -0,0 +1 @@ +code/modules/clothing/head/misc_hats.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/head/misc_hats.dm

/obj/item/clothing/head/stalhelmWhy do these exist - Because they aren't specifically Nazi Germany
/obj/item/clothing/head/beret/purpleFluff?
\ No newline at end of file diff --git a/code/modules/clothing/shoes/magboots.html b/code/modules/clothing/shoes/magboots.html new file mode 100644 index 00000000000..cce7dab1502 --- /dev/null +++ b/code/modules/clothing/shoes/magboots.html @@ -0,0 +1 @@ +code/modules/clothing/shoes/magboots.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/shoes/magboots.dm

/obj/item/clothing/shoes/magboots/eliteFor the Syndicate Strike Team/SolGov/Tactical Teams
/obj/item/clothing/shoes/magboots/wizardbundled with the wiz hardsuit
\ No newline at end of file diff --git a/code/modules/clothing/shoes/misc_shoes.html b/code/modules/clothing/shoes/misc_shoes.html new file mode 100644 index 00000000000..d0faf7c4cdb --- /dev/null +++ b/code/modules/clothing/shoes/misc_shoes.html @@ -0,0 +1 @@ +code/modules/clothing/shoes/misc_shoes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/shoes/misc_shoes.dm

/obj/item/clothing/shoes/combatbasic syndicate combat boots for nuke ops and mob corpses
/obj/item/clothing/shoes/combat/swatoverpowered gimmick boots
/obj/item/clothing/shoes/galoshes/dry/lightweightfor red janitor ert.
\ No newline at end of file diff --git a/code/modules/clothing/suits/misc_suits.html b/code/modules/clothing/suits/misc_suits.html new file mode 100644 index 00000000000..038df5a7e2a --- /dev/null +++ b/code/modules/clothing/suits/misc_suits.html @@ -0,0 +1 @@ +code/modules/clothing/suits/misc_suits.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/suits/misc_suits.dm

/obj/item/clothing/suit/hooded/bee_costumeIt's Hip!
/obj/item/clothing/suit/bloated_humanOH MY GOD WHAT HAVE YOU DONE!?!?!?
/obj/item/clothing/suit/draculacoatBleh!
/obj/item/clothing/suit/advanced_protective_suitAdvanced Protective Suit, AKA, God Mode in wearable form.
\ No newline at end of file diff --git a/code/modules/clothing/under/accessories/accessory.html b/code/modules/clothing/under/accessories/accessory.html new file mode 100644 index 00000000000..198dc433818 --- /dev/null +++ b/code/modules/clothing/under/accessories/accessory.html @@ -0,0 +1 @@ +code/modules/clothing/under/accessories/accessory.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/under/accessories/accessory.dm

/obj/item/clothing/accessory/waistcoatNo overlay
/obj/item/clothing/accessory/medal/recruiterPrize for the NT Recruiter emagged arcade
/obj/item/clothing/accessory/medal/gold/heroism/hardmode_fullKill every hardmode boss. In a shift. Good luck.
\ No newline at end of file diff --git a/code/modules/clothing/under/color.html b/code/modules/clothing/under/color.html new file mode 100644 index 00000000000..314eec7e6df --- /dev/null +++ b/code/modules/clothing/under/color.html @@ -0,0 +1 @@ +code/modules/clothing/under/color.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/under/color.dm

/obj/item/clothing/under/color/purple/sensorfor jani ert
\ No newline at end of file diff --git a/code/modules/clothing/under/costumes.html b/code/modules/clothing/under/costumes.html new file mode 100644 index 00000000000..5401d25a822 --- /dev/null +++ b/code/modules/clothing/under/costumes.html @@ -0,0 +1 @@ +code/modules/clothing/under/costumes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/under/costumes.dm

/obj/item/clothing/under/psysuitDon't modify the path, used by a fluff item
\ No newline at end of file diff --git a/code/modules/clothing/under/jobs/medical_jumpsuits.html b/code/modules/clothing/under/jobs/medical_jumpsuits.html new file mode 100644 index 00000000000..9e5142890d1 --- /dev/null +++ b/code/modules/clothing/under/jobs/medical_jumpsuits.html @@ -0,0 +1 @@ +code/modules/clothing/under/jobs/medical_jumpsuits.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/clothing/under/jobs/medical_jumpsuits.dm

/obj/item/clothing/under/rank/medical/gownSeems like it should be here for organisational purposes
\ No newline at end of file diff --git a/code/modules/cooking/cooking_container.html b/code/modules/cooking/cooking_container.html new file mode 100644 index 00000000000..4dc096d7551 --- /dev/null +++ b/code/modules/cooking/cooking_container.html @@ -0,0 +1,7 @@ +code/modules/cooking/cooking_container.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/cooking_container.dm

/obj/item/reagent_containers/tempAbstract reagent container used for transferring from non-containers e.g. sinks
/obj/item/reagent_containers/cookingCooking containers are used in ovens, fryers and so on, to hold multiple +ingredients for a recipe. They interact with the cooking process, and link +up with the cooking code dynamically. Originally sourced from the Aurora, +heavily retooled to actually work with PCWJ Holder for a portion of an +incomplete meal, allows a cook to temporarily offload recipes to work on +things factory-style, eliminating the need for 20 plates to get things done +fast.
\ No newline at end of file diff --git a/code/modules/cooking/cooking_recipe.html b/code/modules/cooking/cooking_recipe.html new file mode 100644 index 00000000000..71ba7e65aae --- /dev/null +++ b/code/modules/cooking/cooking_recipe.html @@ -0,0 +1 @@ +code/modules/cooking/cooking_recipe.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/cooking_recipe.dm

/datum/cooking/recipe
\ No newline at end of file diff --git a/code/modules/cooking/machines/cooking_surface.html b/code/modules/cooking/machines/cooking_surface.html new file mode 100644 index 00000000000..fa33ca0ac2a --- /dev/null +++ b/code/modules/cooking/machines/cooking_surface.html @@ -0,0 +1,2 @@ +code/modules/cooking/machines/cooking_surface.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/machines/cooking_surface.dm

/datum/cooking_surfaceCooking surfaces are representations of the available "slots" on a cooking machine +that can hold a cooking container.
\ No newline at end of file diff --git a/code/modules/cooking/recipe_tracker.html b/code/modules/cooking/recipe_tracker.html new file mode 100644 index 00000000000..1c9376487b0 --- /dev/null +++ b/code/modules/cooking/recipe_tracker.html @@ -0,0 +1,4 @@ +code/modules/cooking/recipe_tracker.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/recipe_tracker.dm

/datum/cooking/step_attemptA single attempt to perform a step in a recipe. +These are created in a recipe tracker and not kept around. +This exists only to make the bookkeeping around recipe tracking easier.
/datum/cooking/recipe_trackerA recipe tracker is an abstract representation of the progress that a +cooking container has made towards any of its possible recipe outcomes.
\ No newline at end of file diff --git a/code/modules/cooking/recipes/cutting_board_recipes.html b/code/modules/cooking/recipes/cutting_board_recipes.html new file mode 100644 index 00000000000..9dd0abcbc16 --- /dev/null +++ b/code/modules/cooking/recipes/cutting_board_recipes.html @@ -0,0 +1,3 @@ +code/modules/cooking/recipes/cutting_board_recipes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/recipes/cutting_board_recipes.dm

/datum/cooking/recipe_step/add_item/supermatter_sliverA step that allows either direct adding of a supermatter sliver +(if you have somehow manage to hold one), or +from tongs if those are used and contain a sliver in them.
\ No newline at end of file diff --git a/code/modules/cooking/recipes/oven_recipes.html b/code/modules/cooking/recipes/oven_recipes.html new file mode 100644 index 00000000000..578dc25e484 --- /dev/null +++ b/code/modules/cooking/recipes/oven_recipes.html @@ -0,0 +1 @@ +code/modules/cooking/recipes/oven_recipes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/recipes/oven_recipes.dm

/datum/cooking/recipe/oven/empanadaempanadas by Soulster
/datum/cooking/recipe/oven/honeypieHoney Pie by Nothing (Thanks Ume)
/datum/cooking/recipe/oven/honeybreadHoneyBread(For Luka <3 )
\ No newline at end of file diff --git a/code/modules/cooking/recipes/stove_recipes.html b/code/modules/cooking/recipes/stove_recipes.html new file mode 100644 index 00000000000..30787fcb17d --- /dev/null +++ b/code/modules/cooking/recipes/stove_recipes.html @@ -0,0 +1 @@ +code/modules/cooking/recipes/stove_recipes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/recipes/stove_recipes.dm

/datum/cooking/recipe/macacosoupBy Hexi
\ No newline at end of file diff --git a/code/modules/cooking/steps/recipe_step_add_meathunk.html b/code/modules/cooking/steps/recipe_step_add_meathunk.html new file mode 100644 index 00000000000..2442a50c1d6 --- /dev/null +++ b/code/modules/cooking/steps/recipe_step_add_meathunk.html @@ -0,0 +1 @@ +code/modules/cooking/steps/recipe_step_add_meathunk.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/steps/recipe_step_add_meathunk.dm

/datum/cooking/recipe_step/add_item/meathunkA specialized add-item step for specific meat subtypes
\ No newline at end of file diff --git a/code/modules/cooking/steps/recipe_step_add_produce.html b/code/modules/cooking/steps/recipe_step_add_produce.html new file mode 100644 index 00000000000..ab8eb90dee4 --- /dev/null +++ b/code/modules/cooking/steps/recipe_step_add_produce.html @@ -0,0 +1 @@ +code/modules/cooking/steps/recipe_step_add_produce.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/cooking/steps/recipe_step_add_produce.dm

/datum/cooking/recipe_step/add_produceA cooking step that involves using grown foods.
\ No newline at end of file diff --git a/code/modules/crafting/guncrafting.html b/code/modules/crafting/guncrafting.html new file mode 100644 index 00000000000..c5b805582c4 --- /dev/null +++ b/code/modules/crafting/guncrafting.html @@ -0,0 +1 @@ +code/modules/crafting/guncrafting.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/crafting/guncrafting.dm

/obj/item/weaponcrafting/gunkitThese gun kits are printed from the protolathe to then be used in making new weapons
\ No newline at end of file diff --git a/code/modules/crafting/recipes.html b/code/modules/crafting/recipes.html new file mode 100644 index 00000000000..406e29a1e6e --- /dev/null +++ b/code/modules/crafting/recipes.html @@ -0,0 +1 @@ +code/modules/crafting/recipes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/crafting/recipes.dm

/datum/crafting_recipe/rakeCategory resorting incoming
\ No newline at end of file diff --git a/code/modules/customitems/item_defines.html b/code/modules/customitems/item_defines.html new file mode 100644 index 00000000000..49c22fa88fd --- /dev/null +++ b/code/modules/customitems/item_defines.html @@ -0,0 +1,5 @@ +code/modules/customitems/item_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/customitems/item_defines.dm

USED_MOD_HELM///////////PARADISE STATION CUSTOM ITEMS///////////
/obj/item/fluff/tattoo_gunGeneric tattoo gun, make subtypes for different folks
/obj/item/fluff/bird_painterBirdtTalon: Kahkiri
/obj/item/claymore/fluffMrBarrelrolll: Maximus Greenwood
/obj/item/fluff/rsik_katanaXydonus: Rsik Ugsharki Atan
/obj/item/crowbar/fluff/zelda_creedy_1Zomgponies: Griffin Rowley
/obj/item/clothing/glasses/monocle/fluff/trubusTrubus: Wolf O'Shaw
/obj/item/clothing/glasses/meson/fluff/book_berner_1Adrkiller59: Adam Cooper
/obj/item/clothing/glasses/sunglasses_fake/fluff/kakiRapidvalj: Kakicharakiti
/obj/item/fluff/rapid_wheelchair_kitRapidvalj: Hakikarahiti
/obj/item/lighter/zippo/fluff/purpleGodOfOreos: Jason Conrad
/obj/item/lighter/zippo/fluff/michael_guess_1mrbits: Callista Gold
/obj/item/lighter/zippo/fluff/duckchanDuckchan: Rybys Romney
/obj/item/lighter/zippo/fluff/warriorstarWarriorstar: DEADLOCK
/obj/item/fluff/dogwhistlephantasmicdream: Zeke Varloss
/obj/item/storage/toolbox/fluff/lunchboxgodoforeos: Jason Conrad
/obj/item/fluff/desolate_coat_kitDesolateG: Micheal Smith
/obj/item/fluff/fei_gasmask_kitFei Hazelwood: Tariq Yon-Dale
/obj/item/fluff/desolate_baton_kitDesolateG: Micheal Smith
/obj/item/fluff/cardgage_helmet_kitcaptain cardgage: Richard Ulery
/obj/item/fluff/merchant_sallet_modkitTravelling Merchant: Trav Noble. This is what they spawn in with
/obj/item/fluff/k3_webbing_modkitIK3I: Yakikatachi
/obj/item/fluff/pyro_wintersec_kitDarkLordpyro: Valthorne Haliber
/obj/item/fluff/sylus_conversion_kitDecemviri: Sylus Cain
/obj/item/clothing/glasses/hud/security/sunglasses/fluff/eyepro///////// Clothing ////////////
/obj/item/clothing/glasses/hud/security/sunglasses/fluff/voxxyhudLP Spartan: Kaskreyarawkta
/obj/item/clothing/head/fluff/heather_winceworth///////// Hats //////////// +Regens: Heather Winceworth
/obj/item/clothing/head/valkyriehelmetR3Valkyrie: Rikki
/obj/item/clothing/head/fluff/sparkyninja_beretSparkyninja: Neil Wilkinson
/obj/item/clothing/head/fluff/sigholtsigholtstarsong: Sigholt Starsong
/obj/item/clothing/head/pirate/fluff/stumpyMrFroztee: Stumpy
/obj/item/clothing/head/fluff/lindaEpic_Charger: Linda Clark
/obj/item/clothing/head/fluff/kakiRapidvalj: Kakicharakiti
/obj/item/clothing/head/helmet/fluff/merchant_salletTravelling Merchant: Trav Noble. This >>IS NOT<< what they spawn in with
/obj/item/clothing/head/fluff/eloV-Force_Bomber: E.L.O.
/obj/item/clothing/suit/fluffSuits
/obj/item/clothing/suit/storage/labcoat/fluff/pulsecoatozewse : Daniel Harper : Donated to them by Runemeds, who is the original donor.
/obj/item/clothing/suit/jacket/miljacket/patchsniper_fairy : P.A.T.C.H.
/obj/item/clothing/suit/fluff/dusty_jacketComputerlessCitizen: Screech
/obj/item/clothing/suit/fluff/cheeky_sov_coatCheekyCrenando: Srusu Rskuzu
/obj/item/clothing/suit/fluff/supplymaster_jacketDenthamos: Henry Grandpa Gadow
/obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinilSocialsystem: Lynn Fea
/obj/item/clothing/suit/jacket/fluff/kidosvestAnxipal: Kido Qasteth
/obj/item/clothing/suit/jacket/fluff/jacksvestAnxipal: Jack Harper
/obj/item/clothing/suit/fluff/kluysKluys: Cripty Pandaen
/obj/item/clothing/suit/storage/labcoat/fluff/redSweetjealousy: Sophie Faust-Noms
/obj/item/clothing/suit/storage/labcoat/fluff/ionward_labcoatIonward: Gemini
/obj/item/clothing/suit/fluff/stobarico_greatcoatStobarico: F.U.R.R.Y
/obj/item/clothing/suit/hooded/hoodie/fluff/lindaEpic_Charger: Linda Clark
/obj/item/clothing/head/hooded/hood/fluff/lindaEpic_Charger: Linda Clark
/obj/item/clothing/suit/hooded/hoodie/fluff/hyloHylocereus: Sam Aria
/obj/item/clothing/suit/hooded/fluff/boneDoru7: Jack Bone
/obj/item/clothing/suit/armor/shodanscoatRazekPraxis: SHODAN
/obj/item/clothing/suit/hooded/hoodie/fluff/xantholneXantholne: Meex Zwichsnicrur
/obj/item/clothing/head/hooded/hood/fluff/xantholneXantholne: Meex Zwichsnicrur
/obj/item/clothing/suit/hooded/hoodie/fluff/xydonusXydonus: Rsik Ugsharki Atan | Based off of the bomber jacket, but with a hood slapped on (for allowed suit storage)
/obj/item/clothing/suit/fluff/pineapplePineapple Salad: Dan Jello
/obj/item/fluff/pinapplehairgelPineapple Salad: Dan Jello
/obj/item/clothing/suit/hooded/wintercoat/fluff/shesiMrSynnester : Shesi Skaklas
/obj/item/clothing/head/hooded/hood/fluff/shesiMrSynnester : Shesi Skaklas
/obj/item/clothing/suit/jacket/dtxAffectedArc07: DTX
/obj/item/clothing/under/fluffUniforms
/obj/item/clothing/under/fluff/counterfeitguise_uniformthatdanguy23 : Rissa Williams
/obj/item/clothing/under/fluff/benjaminfalloutBenjaminfallout: Pretzel Brassheart
/obj/item/clothing/under/fluff/soviet_casual_uniformNorstead : Natalya Sokolova
/obj/item/clothing/under/fluff/kharshaiKharshai: Athena Castile
/obj/item/clothing/under/fluff/xantholneXantholne: Meex Zwichsnicrur
/obj/item/clothing/under/fluff/elishirtFlattestGuitar9: Eli Randolph
/obj/item/clothing/under/fluff/jay_turtleneckJayfeather: Jay Wingler
/obj/item/clothing/under/psysuit/fluff/isaca_sirius_1Xilia: Isaca Sirius
/obj/item/clothing/under/fluff/jane_sidsuitSyndiGirl: Zoey Scyth
/obj/item/clothing/under/fluff/honourableMrBarrelrolll: Maximus Greenwood
/obj/item/clothing/under/fluff/aegisPlagueWalker: A.E.G.I.S.
/obj/item/clothing/under/fluff/elo_turtleneckvforcebomber: E.L.O.
/obj/item/clothing/mask/bandana/fluff/dar///////// Masks //////////// +sasanek12: Dar'Konr
/obj/item/clothing/mask/gas/sechailer/fluff/spartanLP Spartan: Kaskreyarawkta
/obj/item/clothing/suit/storage/foxShoes +Sets
/obj/item/nullrod/fluff/chronxchronx100: Hughe O'Splash
/obj/item/clothing/head/fluff/chronxchronx100: Hughe O'Splash
/obj/item/clothing/suit/dark_robes/fluff/chronxchronx100: Hughe O'Splash
/obj/item/clothing/shoes/black/fluff/chronxchronx100: Hughe O'Splash
/obj/item/clothing/suit/armor/vest/fluff/tacticalm3hillus: Medusa Schlofield
/obj/item/clothing/suit/jacket/fluff/elliot_windbreakerDaveTheHeadcrab: Elliot Campbell
/obj/item/storage/backpack/fluff/syndiesatchelSkeletalElite: Rawkkihiki
/obj/item/storage/backpack/fluff/krich_backlizardzsi: Krichahka
/obj/item/storage/backpack/fluff/ssscratches_backSsscratches: Lasshy-Bot
/obj/item/storage/backpack/fluff/thebrewGreey: Korala Ice
/obj/item/clothing/head/wizard/fake/fluff/dreamyphantasmicdream : Dreamy Rockwall
/obj/item/fluff/zekemirrorphantasmicdream : Zeke Varloss
/obj/item/clothing/accessory/locket/fluff/fethasnecklaceFethas: Sefra'neem
/obj/item/bedsheet/fluff/hugosheetHugoLuman: Dan Martinez
/obj/item/clothing/head/fluff/lfbowlerLightfire: Hyperion
/obj/item/clothing/under/fluff/lfvicsuitLightfire: Hyperion
/obj/item/fluff/lighty_plasman_modkitLightFire53: Ikelos
/obj/item/clothing/head/helmet/space/plasmaman/lf53_fluffLightFire53: Ikelos
/obj/item/bikehorn/fluff/pinkbikehornXerdies: Squiddle Toodle
/obj/item/clothing/accessory/medal/fluff/eloV-Force_Bomber: E.L.O.
/obj/item/clothing/suit/fluff/vetcoatFurasian: Fillmoore Grayson
/obj/item/clothing/suit/fluff/vetcoat/redFurasian: Fillmoore Grayson
/obj/item/clothing/suit/fluff/vetcoat/navyFurasian: Fillmoore Grayson
/obj/item/clothing/accessory/medal/fluff/panzermedalPanzerSkull: GRN-DER
/obj/item/clothing/accessory/medal/fluff/xann_zxiaxSagrotter: Xann Zxiax
/obj/item/clothing/accessory/rbscarfRb303: Isthel Eisenwald
/obj/item/clothing/head/fluff/pinesalad_hornsPineapple Salad: Dan Jello
/obj/item/storage/backpack/fluff/hikingPineapple Salad: Dan Jello
/obj/item/clothing/under/fluff/kiaoutfitFullOfSkittles: Kiachi
/obj/item/clothing/head/fluff/kiahatFullOfSkittles: Kiachi
/obj/item/clothing/mask/gas/fluff/kiamaskFullOfSkittles: Kiachi
/obj/item/clothing/gloves/ring/fluff/benjaminfalloutBenjaminfallout: Pretzel Brassheart
/obj/item/clothing/under/fluff/kikeridressGangelwaefre: Kikeri
/obj/item/clothing/mask/gas/fluff/kikerimaskGangelwaefre: Kikeri
/obj/item/clothing/mask/gas/fluff/yahiyamaskAsmerath: Yahiya

Define Details

USED_MOD_HELM

///////////PARADISE STATION CUSTOM ITEMS///////////

+

Usable Items

\ No newline at end of file diff --git a/code/modules/economy.html b/code/modules/economy.html new file mode 100644 index 00000000000..b69bcffa6e2 --- /dev/null +++ b/code/modules/economy.html @@ -0,0 +1,100 @@ +code/modules/economy/README.md - Space Station 13
Space Station 13 - Modules - Types

Paradise Economy

Introduction

+

This README was last updated on October 2nd, 2022

+

Economy SubSystem

+

The Economy SubSystem performs a few important tasks that turns the gears of the economy

+
    +
  • +

    payday() - This is called every 30 minutes. the payday proc goes through every single money account and credits it the amount it has its paycheck set to. In addition, it will add/subtract credits based on what bonuses/deductions the money account has on it. In addition, SSeconomy tracks global deductions and bonuses which will be applied to EVERY paycheck and then zero'd out after the payday is over. If a money account is open on a NanoBank app, they will be alerted to the paycheck through the app.

    +
  • +
  • +

    process_job_tasks()- This is called every 30 seconds to check if players who have job objectives have completed the requirements of those job objectives, if so, it will add a "bonus" to the players next check and notify the player of the payroll modification. This proc handles calling procs and changing variables that will check completion on the job task and disable it from being checked in the future once payout is given.

    +
  • +
+

The Space Credit Financial System

+

The Space Credit system is split up into two important datums: money accounts (/datum/money_account) and money account databases (datum/money_account_database). Money accounts represent individual accounts and money account databases represent a collection of money accounts.

+

Money Accounts

+

A /datum/money_acount or "money account" is where most economy data is stored. In money accounts information is contained about the owner as well as all relevant credentials and setting for the account. Money accounts are rather barebones and only contain helper functions to simplify direct interaction.

+

Credit Balance +Accounts are primarily a store of space credits for crew +/datum/money_account/proc/try_withdraw_credits - used to subtract credits from account balance with some safety checks +/datum/money_account/proc/deposit_credits - used to deposit credits into the account balance +/datum/money_account/proc/set_credits - used to set credit balance to a specified value

+

Account Security +Accounts are not perfectly secure and safe, in fact, they're built to be broken into when crew members are not careful with their credentials, or an antagonist chooses to try and access another's account

+

/datum/money_account/proc/authenticate_login +This authenticate_login() proc is used to check the provided credentials against the accounts security level, it returns fails (FALSE) or success (TRUE) if the provided values pass the threshold/security reqs for the specificed security level +There are a few important accounts level

+
    +
  • ACCOUNT_SECURITY_ID - Account can be accessed with only the account number
  • +
  • ACCOUNT_SECURITY_PIN - Account can be accessed only with the account number AND correct pin
  • +
  • ACCOUNT_SECURITY_RESTRICTED - Account has same pin/acc-number restrictions but can only be accessed through special machines
  • +
  • ACCOUNT_SECURITY_CC - Account requires user to be an admin, this is for CC character safety
  • +
  • ACCOUNT_SECURITY_VENDOR - Account requires forced programmatic access, players in-game cannot access this account
  • +
+

make_transaction_log - Creates a /datum/transaction object to be tracked on money account +Transactions are just logs of money going in and out of the account so that players can see where there money comes from and how it is being spent, it provides a paper trail as well for security and legal affairs

+

Money Transfers +Money transfers are the transfer of space credits between money accounts, while the movement of space credits out of one account into another is handled by an account database, the actual requests that have not been resolved are stored and handled on money accounts

+

/datum/money_account/proc/create_transfer_request +Simple helper proc that handles creating a transfer request on the money account, needed to interact with LAZYLISTs +/datum/money_account/proc/resolve_transfer_request +another helper proc that clears the transfer request

+

Neither of these procs actually transfer money account and rather just deal with how the information is being stored and processed on the money account, the actual money transfer is done through the account database.

+

Why You Shouldn't use these Procs +You shouldn't be using these procs unless you intend to change how the account database interacts with money accounts. Like mentioned previously, money accounts are only for storing data and don't actual perform the functions and power the moving parts of the economy. This is because there can be upwards of 100 money accounts in one round, in order to make this memory performative, money accounts are focused on being as efficient as possible by utilizing LAZY LISTS and facilitating good Garbage Collection practices

+

Instead, if you want to perform calculations, purchases, transfers, etc with multiple money accounts, ALL of that should be done through a account database or some form of financial machinery but not the money account.

+

Account Databases

+

If Money accounts are just records of data, account databases are a store of multiple money data records. A datum/money_account_database holds lists of money accounts and serves as the primary means in which interactions are carried out

+

most instances of any financial/economy machinery/programs should have a reference to the main station +database. You'll see a lot of machinery already use a var ref to the main station db, through this, most all economy actions can be performed. (Please see each procs documentation for usage). This is how you will interact with money account, through the account database.

+

Referencing Money Databases +A good way to make sure your machine can access the station money database +var/datum/money_account_database/account_db = GLOB.station_money_database +Additionally, if you need to access a different money database you can go through SSeconomy +SSeconomy.money_account_databases

+

Using a Money DB to find an account +The only way to find personal money accounts in a money DB is with the account associated account number +you can use find_user_account() for this. +/datum/money_account_database/proc/find_user_account(account_number, include_departments = FALSE) +for this proc specifically, you can specify to include departments in the search

+

For the main station type account db, you can also find departments, you can either get all the departments in one list an iterate through it yourself, or just provide the name of the department +/datum/money_account_database/main_station/proc/get_all_department_accounts() +/datum/money_account_database/main_station/proc/get_account_by_department(department)

+

Moving Money In and Out of Money Accounts +You can charge a money account, when doing this through the account_db, you need to provide information about the purchase so that if the charge goes through, proper transaction logs can be created +/datum/money_account_database/proc/charge_account

+

You can add credits to a money account with the credit account proc, works similairly to charge account +/datum/money_account_database/proc/credit_account

+

Create a money transfer request datum on specified money account, notifies the money account to start storing this data +/datum/money_account_database/proc/create_transfer_request +Resolves a money transfer request, deletes transfer request and charges/credits involved accounts +/datum/money_account_database/proc/resolve_transfer_request

+

Money Account Security through the DB +Check user permission to access a money account based on given parameters +/datum/money_account_database/proc/try_authenticate_login +Create a transaction log on a money account (and DB in some cases), basically a constructor +/datum/money_account_database/proc/log_account_action

+

for example, in order to interact with money account A you will need to go through your account database +account_db.credit_account(A, 50, "Account Credit", ...) +as opposed to doing it the wrong way which doesn't create a transaction log or check to see if the DB is online +A.deposit_credits(50)

+

As with the previousl example, you may notice that a lot of these procs exist on the money account level. Those are internal procs that exist for the account database to use. The reason for this is to ensure proper logging for players and admins, handle interactions where two money accounts are involved, and to prevent runtimes that may occur from value mismatches. Many procs such as a charge_account() and resolve_transfer_request() also ensure perfect transfer of credits, this is important (And explained in the next section)

+

Perfect Credit Transfer

+

The power of an in-game economy exists because of how much control we have over it. Every credit spent needs to go somewhere, and every credit given needs to come from somewhere. One should avoid just crediting accounts on a whim or removing money for no reason. Since we don't have current implementations of supply/demand or rolling prices (increasing or decreasing), prices of items in-game are fixed. That means that the money supply is the only thing controlling how much or little of items that the crew can buy.

+

Space Credits Taps (In-Flow of Space Credits into the economy)

+
    +
  • SSeconomy Payday every 30 minutes
  • +
  • Job Objectives Completion
  • +
  • Cargo selling crates, plasma, seeds, and research
  • +
  • Round-start Money Account Balances
  • +
  • Slot Machine Winnings (although this really is a space credit drain in disguise)
  • +
  • Contract Completions (contractors)
  • +
+

Space Credit Drains/Exchanges (Out-Flow of space credits out of the economy)

+
    +
  • Vending Machine Purchases
  • +
  • Cargo Supply Console Purchases
  • +
  • Physical Destruction of Space cash or credits stored in economy machinery
  • +
  • RARE: Sol Traders
  • +
+

Other Important Economy Machinery/Programs

\ No newline at end of file diff --git a/code/modules/economy/economy_helpers.html b/code/modules/economy/economy_helpers.html new file mode 100644 index 00000000000..ad49063e700 --- /dev/null +++ b/code/modules/economy/economy_helpers.html @@ -0,0 +1 @@ +code/modules/economy/economy_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/economy/economy_helpers.dm

/proc/get_departments_from_jobmatches a string job name to their department(s) and returns it as a list
\ No newline at end of file diff --git a/code/modules/economy/economy_machinery/economy_machinery.html b/code/modules/economy/economy_machinery/economy_machinery.html new file mode 100644 index 00000000000..5c5cab05cd9 --- /dev/null +++ b/code/modules/economy/economy_machinery/economy_machinery.html @@ -0,0 +1,2 @@ +code/modules/economy/economy_machinery/economy_machinery.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/economy/economy_machinery/economy_machinery.dm

/obj/machinery/economyBase machine type for machinery that needs to interact with users spending Space Cash or credit from Money Accounts +has helper procs to automate account authentification and handling transactions.
\ No newline at end of file diff --git a/code/modules/emoji/emoji_parse.html b/code/modules/emoji/emoji_parse.html new file mode 100644 index 00000000000..48ef258526c --- /dev/null +++ b/code/modules/emoji/emoji_parse.html @@ -0,0 +1 @@ +code/modules/emoji/emoji_parse.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/emoji/emoji_parse.dm

/proc/emoji_parseTurns :ai: into an emoji in text.
\ No newline at end of file diff --git a/code/modules/events/blob/blob_mobs_ai.html b/code/modules/events/blob/blob_mobs_ai.html new file mode 100644 index 00000000000..d7676316642 --- /dev/null +++ b/code/modules/events/blob/blob_mobs_ai.html @@ -0,0 +1,2 @@ +code/modules/events/blob/blob_mobs_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/blob/blob_mobs_ai.dm

/datum/ai_controller/basic_controller/blobbernautExtremely simple AI, this isn't a very smart boy +Only notable quirk is that it uses JPS movement, simple avoidance would fail to realise it can path through blobs
/datum/ai_controller/basic_controller/blob_sporeAs blob zombie but will prioritise attacking corpses to zombify them
\ No newline at end of file diff --git a/code/modules/events/blob/blob_structures/captured_nuke.html b/code/modules/events/blob/blob_structures/captured_nuke.html new file mode 100644 index 00000000000..2d95c8c98d6 --- /dev/null +++ b/code/modules/events/blob/blob_structures/captured_nuke.html @@ -0,0 +1 @@ +code/modules/events/blob/blob_structures/captured_nuke.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/blob/blob_structures/captured_nuke.dm

/obj/structure/blob/captured_nukealternative to blob just straight up destroying nukes
\ No newline at end of file diff --git a/code/modules/events/event.html b/code/modules/events/event.html new file mode 100644 index 00000000000..d2a63c26aa7 --- /dev/null +++ b/code/modules/events/event.html @@ -0,0 +1 @@ +code/modules/events/event.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/event.dm

/datum/eventNOTE: Times are measured in master controller ticks!
\ No newline at end of file diff --git a/code/modules/events/event_procs.html b/code/modules/events/event_procs.html new file mode 100644 index 00000000000..fb0b52567a4 --- /dev/null +++ b/code/modules/events/event_procs.html @@ -0,0 +1 @@ +code/modules/events/event_procs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/event_procs.dm

/proc/get_total_resourcesReturns the net resources available for event rolling
\ No newline at end of file diff --git a/code/modules/events/mass_hallucination.html b/code/modules/events/mass_hallucination.html new file mode 100644 index 00000000000..dbff359e09c --- /dev/null +++ b/code/modules/events/mass_hallucination.html @@ -0,0 +1 @@ +code/modules/events/mass_hallucination.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/events/mass_hallucination.dm

RAD_ARMOR_TO_IMMUNITYat least 75% rad armor is required to be immune to this event

Define Details

RAD_ARMOR_TO_IMMUNITY

at least 75% rad armor is required to be immune to this event

\ No newline at end of file diff --git a/code/modules/events/pulsedemon_event.html b/code/modules/events/pulsedemon_event.html new file mode 100644 index 00000000000..6114864e331 --- /dev/null +++ b/code/modules/events/pulsedemon_event.html @@ -0,0 +1 @@ +code/modules/events/pulsedemon_event.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/events/pulsedemon_event.dm

DEMON_REQUIRED_POWERA pulse demon requires 1000 watts to regenerate

Define Details

DEMON_REQUIRED_POWER

A pulse demon requires 1000 watts to regenerate

\ No newline at end of file diff --git a/code/modules/events/shuttle_loan/shuttle_loan_datum.html b/code/modules/events/shuttle_loan/shuttle_loan_datum.html new file mode 100644 index 00000000000..8196391fb00 --- /dev/null +++ b/code/modules/events/shuttle_loan/shuttle_loan_datum.html @@ -0,0 +1 @@ +code/modules/events/shuttle_loan/shuttle_loan_datum.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/shuttle_loan/shuttle_loan_datum.dm

/datum/shuttle_loan_situationOne of the potential shuttle loans you might receive.
\ No newline at end of file diff --git a/code/modules/events/spacevine.html b/code/modules/events/spacevine.html new file mode 100644 index 00000000000..dbc03ebe43d --- /dev/null +++ b/code/modules/events/spacevine.html @@ -0,0 +1 @@ +code/modules/events/spacevine.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/spacevine.dm

/datum/spacevine_mutation/explosiveOH SHIT IT CAN CHAINREACT RUN!!!
/datum/spacevine_mutation/aggressive_spreadvery OP, but im out of other ideas currently
\ No newline at end of file diff --git a/code/modules/events/tear.html b/code/modules/events/tear.html new file mode 100644 index 00000000000..dd667e9170c --- /dev/null +++ b/code/modules/events/tear.html @@ -0,0 +1 @@ +code/modules/events/tear.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/tear.dm

/datum/event/tearDimensional tear event.
/obj/effect/tearThe portal used in the /datum/event/tear midround.
\ No newline at end of file diff --git a/code/modules/events/wizard/ghost_wizard_spells.html b/code/modules/events/wizard/ghost_wizard_spells.html new file mode 100644 index 00000000000..0eebbf9fdb6 --- /dev/null +++ b/code/modules/events/wizard/ghost_wizard_spells.html @@ -0,0 +1 @@ +code/modules/events/wizard/ghost_wizard_spells.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/events/wizard/ghost_wizard_spells.dm

/datum/event/wizard/ghostThe spook is real
/datum/event/wizard/ghost_muteThe spook is silent
\ No newline at end of file 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..c322b0f3a06 --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/drinks/drinks/bottle.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/drinks/drinks/bottle.dm

/obj/item/reagent_containers/drinks/bottleAlchohol bottles! -Agouri
/obj/item/reagent_containers/drinks/bottle/orangejuiceJUICES AND STUFF
/obj/item/reagent_containers/drinks/bottle/molotovMOLOTOV
\ No newline at end of file diff --git a/code/modules/food_and_drinks/drinks/drinks_base.html b/code/modules/food_and_drinks/drinks/drinks_base.html new file mode 100644 index 00000000000..72b29dd33a0 --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks_base.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/drinks/drinks_base.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/drinks/drinks_base.dm

/obj/item/reagent_containers/drinksDrinks.
/obj/item/reagent_containers/drinks/trophyDrinks. END
/obj/item/reagent_containers/drinks/trophy/bronze_cup/toolbox_win2023 toolbox tournament 3rd place went to paradise station.
/obj/item/reagent_containers/drinks/coffeeDrinks
/obj/item/reagent_containers/drinks/shakerdrinkingglass and shaker
\ No newline at end of file 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..134e5098584 --- /dev/null +++ b/code/modules/food_and_drinks/food/condiment.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/condiment.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/food/condiment.dm

/obj/item/reagent_containers/condimentCondiments
/obj/item/reagent_containers/condiment/saltshakerSeperate from above since it's a small shaker rather then
\ No newline at end of file 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..e14bd7c3a08 --- /dev/null +++ b/code/modules/food_and_drinks/food/customizables.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/customizables.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/food/customizables.dm

/obj/item/food/customizable/fullycustomIn the event you fuckers find something I forgot to add a customizable food for.
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/foods/ethnic.html b/code/modules/food_and_drinks/food/foods/ethnic.html new file mode 100644 index 00000000000..93399705bf6 --- /dev/null +++ b/code/modules/food_and_drinks/food/foods/ethnic.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/foods/ethnic.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/food/foods/ethnic.dm

/obj/item/food/empanadaempanadas by Soulster
/obj/item/food/arepaVIVA VENEZUELA CARAJO -EvoS
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/foods/ingredients.html b/code/modules/food_and_drinks/food/foods/ingredients.html new file mode 100644 index 00000000000..279cbc274fc --- /dev/null +++ b/code/modules/food_and_drinks/food/foods/ingredients.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/foods/ingredients.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/food/foods/ingredients.dm

/obj/item/food/cookiedoughcookies by Ume
/obj/item/food/choc_pilefor reagent chocolate being spilled on turfs
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/foods/side_dishes.html b/code/modules/food_and_drinks/food/foods/side_dishes.html new file mode 100644 index 00000000000..71b60d3a19f --- /dev/null +++ b/code/modules/food_and_drinks/food/foods/side_dishes.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/foods/side_dishes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/food/foods/side_dishes.dm

/obj/item/food/mashed_potatoesmashed taters
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food_base.html b/code/modules/food_and_drinks/food_base.html new file mode 100644 index 00000000000..b26f6ae78d9 --- /dev/null +++ b/code/modules/food_and_drinks/food_base.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food_base.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/food_and_drinks/food_base.dm

MAX_WEIGHT_CLASSFood.

Define Details

MAX_WEIGHT_CLASS

Food.

\ No newline at end of file diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.html b/code/modules/food_and_drinks/kitchen_machinery/processor.html new file mode 100644 index 00000000000..e42076905d7 --- /dev/null +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/kitchen_machinery/processor.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/kitchen_machinery/processor.dm

/datum/food_processor_process/meatOBJECT RECIPES
/datum/food_processor_process/mob/slimeMOB RECIPES
\ No newline at end of file diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.html b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.html new file mode 100644 index 00000000000..6132a6dc2a6 --- /dev/null +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.html @@ -0,0 +1,4 @@ +code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm

/obj/machinery/smartfridgeStores items of a specified type.
/obj/machinery/smartfridge/secureSecure variant of the Smart Fridge. +Can be emagged and EMP'd to short the lock.
/obj/machinery/smartfridge/food/chefThe Chefs smartfridge. This smartfridge will spawn with a random condiment, then 3 stacks of 3 plants (or fish meat) to give chef some extra starting variety, or new ideas on what to cook!
/obj/machinery/smartfridge/seedsSeeds variant of the Smart Fridge. +Formerly known as MegaSeed Servitor, but renamed to avoid confusion with the vending machine.
/obj/machinery/smartfridge/foodcartVariant of the Smart Fridge that holds food and drinks in a mobile form
/obj/machinery/smartfridge/secure/circuitsCircuit variant of the Smart Fridge.
/obj/machinery/smartfridge/medbayMedical variant of the Smart Fridge.
/obj/machinery/smartfridge/secure/extractSecure, Xenobiology variant of the Smart Fridge.
/obj/machinery/smartfridge/secure/medbaySecure, Medical variant of the Smart Fridge.
/obj/machinery/smartfridge/secure/chemistrySecure, Chemistry variant of the Smart Fridge.
/obj/machinery/smartfridge/secure/chemistry/preloadedA Smart Chemical Storage but with some items already in.
/obj/machinery/smartfridge/secure/chemistry/preloaded/syndicateA Smart Chemical Storage (Preloaded) but with exclusive access to Syndicate.
/obj/machinery/smartfridge/disksDisk variant of the Smart Fridge.
/obj/machinery/smartfridge/secure/chemistry/virologySecure, Virology variant of the Smart Chemical Storage.
/obj/machinery/smartfridge/secure/chemistry/virology/preloadedA Smart Virus Storage but with some additional items.
/obj/machinery/smartfridge/secure/chemistry/virology/preloaded/syndicateA Smart Virus Storage (Preloaded) but with exclusive access to Syndicate.
/obj/machinery/smartfridge/drinksDrink variant of the Smart Fridge.
/obj/machinery/smartfridge/drying_rackVariant of the Smart Fridge for drying stuff. +Doesn't have components.
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/recipes_microwave.html b/code/modules/food_and_drinks/recipes/recipes_microwave.html new file mode 100644 index 00000000000..6c1a20469a3 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/recipes_microwave.html @@ -0,0 +1,5 @@ +code/modules/food_and_drinks/recipes/recipes_microwave.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/recipes_microwave.dm

/datum/recipe/microwave/brain_disposal_methodThis recipe exists solely so that placing a brain in a microwave destroys it +for the purpose of round-removing antag assassination targets. Because an +effect can never be inserted into a microwave by hand, one hopes, the recipe +itself cannot be completed. However, it accepts a brain as an ingredient, so +microwaves can take that as input.
\ No newline at end of file diff --git a/code/modules/games/unum.html b/code/modules/games/unum.html new file mode 100644 index 00000000000..a9711dc1413 --- /dev/null +++ b/code/modules/games/unum.html @@ -0,0 +1 @@ +code/modules/games/unum.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/games/unum.dm

/obj/item/deck/unumA deck of unum cards. Classic.
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/backrooms.html b/code/modules/hallucinations/effects/backrooms.html new file mode 100644 index 00000000000..0e9e1bba771 --- /dev/null +++ b/code/modules/hallucinations/effects/backrooms.html @@ -0,0 +1 @@ +code/modules/hallucinations/effects/backrooms.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/backrooms.dm

/datum/hallucination_manager/backroomsTemporarily sends the target to the backrooms. Their body's movement matches their movement in the backrooms.
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/blind_rush_hallucination.html b/code/modules/hallucinations/effects/blind_rush_hallucination.html new file mode 100644 index 00000000000..706ef7db4cd --- /dev/null +++ b/code/modules/hallucinations/effects/blind_rush_hallucination.html @@ -0,0 +1 @@ +code/modules/hallucinations/effects/blind_rush_hallucination.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/blind_rush_hallucination.dm

/datum/hallucination_manager/blind_rushMakes target blind and causes them to see semi-transparent humanoids running at them.
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/common.html b/code/modules/hallucinations/effects/common.html new file mode 100644 index 00000000000..e7558a74206 --- /dev/null +++ b/code/modules/hallucinations/effects/common.html @@ -0,0 +1 @@ +code/modules/hallucinations/effects/common.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/common.dm

/obj/effect/hallucination/tripperA generic hallucination that causes the target to trip if they cross it.
/obj/effect/hallucination/chaserA generic hallucination that chases the target.
/obj/effect/hallucination/chaser/attackerA generic hallucination based on the Chaser that attacks if close enough.
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/grenades.html b/code/modules/hallucinations/effects/grenades.html new file mode 100644 index 00000000000..5d0f4954802 --- /dev/null +++ b/code/modules/hallucinations/effects/grenades.html @@ -0,0 +1,3 @@ +code/modules/hallucinations/effects/grenades.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/grenades.dm

/obj/effect/hallucination/fake_grenadeA random grenade is thrown near the target from offscreen.
/obj/effect/hallucination/fake_grenade/flashbangA random grenade is thrown near the target from offscreen. +The target will get flashbanged on 'detonation' if too close.
/obj/effect/hallucination/fake_grenade/spawnerA random grenade is thrown near the target from offscreen. +A space carp will spawn on the grenade upon 'detonation'.
/obj/effect/hallucination/chaser/attacker/space_carp
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/major.html b/code/modules/hallucinations/effects/major.html new file mode 100644 index 00000000000..dcd52581a5d --- /dev/null +++ b/code/modules/hallucinations/effects/major.html @@ -0,0 +1 @@ +code/modules/hallucinations/effects/major.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/major.dm

/obj/effect/hallucination/terror_infestationCreates spider webs and a terror spider near a random vent around the target.
/obj/effect/hallucination/tripper/spider_webA fake spider web that trips the target if crossed.
/obj/effect/hallucination/abductionSends an abductor agent after the target. On knockdown, spawns an abductor scientist next to the target. Nothing else happens.
/obj/effect/hallucination/loose_energy_ballA progressive hallucination that begins with intermittent explosions, before displaying an energy ball that shocks the target.
/obj/effect/hallucination/assaultAn imaginary attacker spawns close to the target and attacks them to stamcrit.
/obj/effect/hallucination/sniperFires a penetrator round at the target. On hit, knockdown + stam loss + hallucinated blood splatter for a bit.
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/minor.html b/code/modules/hallucinations/effects/minor.html new file mode 100644 index 00000000000..6a4f061d8ee --- /dev/null +++ b/code/modules/hallucinations/effects/minor.html @@ -0,0 +1 @@ +code/modules/hallucinations/effects/minor.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/minor.dm

/obj/effect/hallucination/audioPlays a random sound.
/obj/effect/hallucination/audio/localizedPlays a random sound at a random location around the target.
/obj/effect/hallucination/boltsVisually bolts a random number of airlocks around the target.
/obj/effect/hallucination/speechCauses the target to hear a fake message from a random mob around them.
/obj/effect/hallucination/fake_dangerSends a random danger message to the target's chat.
/obj/effect/hallucination/fake_healthVisually changes the target's health status to something it shouldn't be.
/obj/effect/hallucination/examine_hallucinationA generic hallucination that causes the target to see unique examine descriptions
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/moderate.html b/code/modules/hallucinations/effects/moderate.html new file mode 100644 index 00000000000..af790d73e6c --- /dev/null +++ b/code/modules/hallucinations/effects/moderate.html @@ -0,0 +1 @@ +code/modules/hallucinations/effects/moderate.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/moderate.dm

/obj/effect/hallucination/bolts/moderateA variation that affects more airlocks.
/obj/effect/hallucination/fake_alertDisplays a random alert on the target's HUD.
/obj/effect/hallucination/fake_itemDisplays a random fake item around the target. If it's on the floor and they try to pick it up, they will trip and fall.
/obj/effect/hallucination/fake_weaponDisplays a random fake weapon wielded by a human around the target.
/obj/effect/hallucination/chasmsDisplays fake chasms around the target that if crossed, cause them to trip.
/obj/effect/hallucination/tripper/chasmA fake chasm that if crossed by the target, causes them to trip.
/obj/effect/hallucination/delamination_alarmA fake radio message and audio that alerts of an increasing SM unstability.
/obj/effect/hallucination/plasma_floodA fake plasma flood emanating from a nearby vent.
/obj/effect/hallucination/husksA random number of fake husks around the target.
/obj/effect/hallucination/stunproddingA series of localized audio playback simulating a kidnapping with a stunprod.
/obj/effect/hallucination/energy_swordA series of localized audio playback simulating an energy sword murder.
/obj/effect/hallucination/gunfireA series of localized audio playback simulating a gunshot murder.
/obj/effect/hallucination/self_delusionChanges the target's appearance to something else temporarily.
/obj/effect/hallucination/delusionChanges the appearance of all humans around the target.
/obj/effect/hallucination/ventpeekA suspicious individual peers out of a nearby vent at the target.
\ No newline at end of file diff --git a/code/modules/hallucinations/effects/waves_hallucination.html b/code/modules/hallucinations/effects/waves_hallucination.html new file mode 100644 index 00000000000..d7071b0e048 --- /dev/null +++ b/code/modules/hallucinations/effects/waves_hallucination.html @@ -0,0 +1,2 @@ +code/modules/hallucinations/effects/waves_hallucination.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/hallucinations/effects/waves_hallucination.dm

WAVES_HALLUCINATION_FILTERHallucination - Waves

Define Details

WAVES_HALLUCINATION_FILTER

Hallucination - Waves

+

Makes the owner's screen all funky and wavy.

\ No newline at end of file diff --git a/code/modules/hallucinations/effects/xeno_pounce.html b/code/modules/hallucinations/effects/xeno_pounce.html new file mode 100644 index 00000000000..5fcd306ff51 --- /dev/null +++ b/code/modules/hallucinations/effects/xeno_pounce.html @@ -0,0 +1 @@ +code/modules/hallucinations/effects/xeno_pounce.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/effects/xeno_pounce.dm

/datum/hallucination_manager/xeno_pounceAn imaginary alien hunter pounces towards the target.
\ No newline at end of file diff --git a/code/modules/hallucinations/hallucinations.html b/code/modules/hallucinations/hallucinations.html new file mode 100644 index 00000000000..a1350d5e016 --- /dev/null +++ b/code/modules/hallucinations/hallucinations.html @@ -0,0 +1,2 @@ +code/modules/hallucinations/hallucinations.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hallucinations/hallucinations.dm

/obj/effect/hallucinationBase object for hallucinations. Contains basic behaviour to display an icon only to the target.
/obj/effect/hallucination/no_deleteSubtype that doesn't delete itself. +Mostly used for hallucination managers because they delete the hallucinations when required
\ No newline at end of file diff --git a/code/modules/hydroponics/biogenerator.html b/code/modules/hydroponics/biogenerator.html new file mode 100644 index 00000000000..876c726f645 --- /dev/null +++ b/code/modules/hydroponics/biogenerator.html @@ -0,0 +1 @@ +code/modules/hydroponics/biogenerator.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/hydroponics/biogenerator.dm

BASE_MAX_STORABLE_PLANTSThe base amount of plants that can be stored before taking our matter bin into account.

Define Details

BASE_MAX_STORABLE_PLANTS

The base amount of plants that can be stored before taking our matter bin into account.

\ No newline at end of file diff --git a/code/modules/hydroponics/compost_bin.html b/code/modules/hydroponics/compost_bin.html new file mode 100644 index 00000000000..62525822538 --- /dev/null +++ b/code/modules/hydroponics/compost_bin.html @@ -0,0 +1,2 @@ +code/modules/hydroponics/compost_bin.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/compost_bin.dm

/obj/machinery/compost_binused to make soil from plants. +Doesn't have components.
\ No newline at end of file diff --git a/code/modules/hydroponics/grown/banana.html b/code/modules/hydroponics/grown/banana.html new file mode 100644 index 00000000000..c8ddc69f41e --- /dev/null +++ b/code/modules/hydroponics/grown/banana.html @@ -0,0 +1 @@ +code/modules/hydroponics/grown/banana.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/grown/banana.dm

/obj/item/grown/bananapeel/specialpeelused by /obj/item/clothing/shoes/clown_shoes/banana_shoes
\ No newline at end of file diff --git a/code/modules/hydroponics/grown/citrus.html b/code/modules/hydroponics/grown/citrus.html new file mode 100644 index 00000000000..4a9b4e246b6 --- /dev/null +++ b/code/modules/hydroponics/grown/citrus.html @@ -0,0 +1 @@ +code/modules/hydroponics/grown/citrus.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/grown/citrus.dm

/obj/item/seeds/firelemoncombustible lemon is too long so firelemon
\ No newline at end of file diff --git a/code/modules/hydroponics/grown/flowers.html b/code/modules/hydroponics/grown/flowers.html new file mode 100644 index 00000000000..37cbe80a873 --- /dev/null +++ b/code/modules/hydroponics/grown/flowers.html @@ -0,0 +1 @@ +code/modules/hydroponics/grown/flowers.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/grown/flowers.dm

/obj/item/grown/sunflowerFLOWER POWER!
\ No newline at end of file diff --git a/code/modules/hydroponics/grown/nettle.html b/code/modules/hydroponics/grown/nettle.html new file mode 100644 index 00000000000..66918934dc3 --- /dev/null +++ b/code/modules/hydroponics/grown/nettle.html @@ -0,0 +1 @@ +code/modules/hydroponics/grown/nettle.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/grown/nettle.dm

/obj/item/grown/nettleabstract type
\ No newline at end of file diff --git a/code/modules/hydroponics/grown/towercap.html b/code/modules/hydroponics/grown/towercap.html new file mode 100644 index 00000000000..eae1e1ef86a --- /dev/null +++ b/code/modules/hydroponics/grown/towercap.html @@ -0,0 +1 @@ +code/modules/hydroponics/grown/towercap.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/hydroponics/grown/towercap.dm

MIN_OXY_IGNITEMinimum required mole value of oxygen to ignite a bonfire.
/obj/structure/lightable/bonfire/lithaha empty define

Define Details

MIN_OXY_IGNITE

Minimum required mole value of oxygen to ignite a bonfire.

\ No newline at end of file diff --git a/code/modules/hydroponics/growninedible.html b/code/modules/hydroponics/growninedible.html new file mode 100644 index 00000000000..78090d1928d --- /dev/null +++ b/code/modules/hydroponics/growninedible.html @@ -0,0 +1 @@ +code/modules/hydroponics/growninedible.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/growninedible.dm

/obj/item/grownGrown weapons
\ No newline at end of file diff --git a/code/modules/hydroponics/hydroitemdefines.html b/code/modules/hydroponics/hydroitemdefines.html new file mode 100644 index 00000000000..deeba74c8f3 --- /dev/null +++ b/code/modules/hydroponics/hydroitemdefines.html @@ -0,0 +1 @@ +code/modules/hydroponics/hydroitemdefines.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/hydroitemdefines.dm

/obj/item/reagent_containers/spray/weedspray-- Skie
/obj/item/reagent_containers/spray/pestspray-- Skie
\ No newline at end of file diff --git a/code/modules/hydroponics/hydroponics_tray.html b/code/modules/hydroponics/hydroponics_tray.html new file mode 100644 index 00000000000..1e5e4384b3e --- /dev/null +++ b/code/modules/hydroponics/hydroponics_tray.html @@ -0,0 +1 @@ +code/modules/hydroponics/hydroponics_tray.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/hydroponics_tray.dm

/obj/machinery/hydroponics/soilNot actually hydroponics at all! Honk!
\ No newline at end of file diff --git a/code/modules/hydroponics/plant_genes.html b/code/modules/hydroponics/plant_genes.html new file mode 100644 index 00000000000..683f1468a2c --- /dev/null +++ b/code/modules/hydroponics/plant_genes.html @@ -0,0 +1 @@ +code/modules/hydroponics/plant_genes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/hydroponics/plant_genes.dm

/datum/plant_gene/trait/fire_resistanceLavaland
/datum/plant_gene/trait/plant_typeParent type
\ No newline at end of file diff --git a/code/modules/hydroponics/seed_extractor.html b/code/modules/hydroponics/seed_extractor.html new file mode 100644 index 00000000000..894ea693f52 --- /dev/null +++ b/code/modules/hydroponics/seed_extractor.html @@ -0,0 +1 @@ +code/modules/hydroponics/seed_extractor.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/hydroponics/seed_extractor.dm

BASE_MAX_SEEDSBase Cap of the max amount of seeds you can store in a seed extractor
MAX_DISPENSE_SEEDSMax Cap of the amount of seed we let players dispense at once
/proc/seedifyConvert a grown object into seeds.

Define Details

BASE_MAX_SEEDS

Base Cap of the max amount of seeds you can store in a seed extractor

MAX_DISPENSE_SEEDS

Max Cap of the amount of seed we let players dispense at once

\ No newline at end of file diff --git a/code/modules/instruments/_instrument_data.html b/code/modules/instruments/_instrument_data.html new file mode 100644 index 00000000000..972cf73f91f --- /dev/null +++ b/code/modules/instruments/_instrument_data.html @@ -0,0 +1 @@ +code/modules/instruments/_instrument_data.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/instruments/_instrument_data.dm

/proc/get_allowed_instrument_idsGet all non admin_only instruments as a list of text ids.
/datum/instrumentInstrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.
\ No newline at end of file diff --git a/code/modules/instruments/_instrument_key.html b/code/modules/instruments/_instrument_key.html new file mode 100644 index 00000000000..24448e62a8b --- /dev/null +++ b/code/modules/instruments/_instrument_key.html @@ -0,0 +1,2 @@ +code/modules/instruments/_instrument_key.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/instruments/_instrument_key.dm

/datum/instrument_keyInstrument key datums contain everything needed to know how to play a specific +note of an instrument.*
\ No newline at end of file diff --git a/code/modules/instruments/objs/items/instrument_items.html b/code/modules/instruments/objs/items/instrument_items.html new file mode 100644 index 00000000000..39226ce4b91 --- /dev/null +++ b/code/modules/instruments/objs/items/instrument_items.html @@ -0,0 +1 @@ +code/modules/instruments/objs/items/instrument_items.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/instruments/objs/items/instrument_items.dm

/obj/item/instrument/guitar/cyborgThis is a special guitar for the emagged service borg that hits pretty hard and can still play music. Clonk.
\ No newline at end of file diff --git a/code/modules/instruments/songs/_song.html b/code/modules/instruments/songs/_song.html new file mode 100644 index 00000000000..7d5d2868134 --- /dev/null +++ b/code/modules/instruments/songs/_song.html @@ -0,0 +1,2 @@ +code/modules/instruments/songs/_song.dm - Space Station 13
Space Station 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.
\ No newline at end of file diff --git a/code/modules/library/book.html b/code/modules/library/book.html new file mode 100644 index 00000000000..c15183970c5 --- /dev/null +++ b/code/modules/library/book.html @@ -0,0 +1,3 @@ +code/modules/library/book.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/library/book.dm

MAX_PAGESMax Writeable Content Pages per book, players really don't need more than this
/obj/item/bookGame Object which stores pages of text usually written by players, has other editable information such as the book's +title, author, summary, and categories. Has other values that are generated when books are acquired through the library +computer.

Define Details

MAX_PAGES

Max Writeable Content Pages per book, players really don't need more than this

\ No newline at end of file diff --git a/code/modules/library/library_catalog.html b/code/modules/library/library_catalog.html new file mode 100644 index 00000000000..86f162bdc94 --- /dev/null +++ b/code/modules/library/library_catalog.html @@ -0,0 +1 @@ +code/modules/library/library_catalog.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/library/library_catalog.dm

DEFINE_CATEGORYlibrary category datum constructor helper, used to make easier the process of defining new report/book categories
MAX_PLAYER_UPLOADSMaximum number of books that can be uploaded by a single ckey

Define Details

DEFINE_CATEGORY

library category datum constructor helper, used to make easier the process of defining new report/book categories

MAX_PLAYER_UPLOADS

Maximum number of books that can be uploaded by a single ckey

\ No newline at end of file diff --git a/code/modules/library/library_computer.html b/code/modules/library/library_computer.html new file mode 100644 index 00000000000..72164544197 --- /dev/null +++ b/code/modules/library/library_computer.html @@ -0,0 +1 @@ +code/modules/library/library_computer.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/library/library_computer.dm

LIBRARY_BOOKS_PER_PAGEDefines how many player books appear on the player book archive TGUI tab
LOGIN_FULLLogin state for our computer, this state grants full access to functions
LOGIN_PUBLICLogin state for our computer, this state grants basic access to functions
PRINTING_COOLDOWNWait time before printing another book, used to prevent spam
/obj/machinery/computer/libraryThis is the player facing machine that handles all library functions

Define Details

LIBRARY_BOOKS_PER_PAGE

Defines how many player books appear on the player book archive TGUI tab

LOGIN_FULL

Login state for our computer, this state grants full access to functions

LOGIN_PUBLIC

Login state for our computer, this state grants basic access to functions

PRINTING_COOLDOWN

Wait time before printing another book, used to prevent spam

\ No newline at end of file diff --git a/code/modules/library/library_datums.html b/code/modules/library/library_datums.html new file mode 100644 index 00000000000..4581cc94754 --- /dev/null +++ b/code/modules/library/library_datums.html @@ -0,0 +1 @@ +code/modules/library/library_datums.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/library/library_datums.dm

/datum/borrowbookDatum used to keep track of who has borrowed what when and for how long.
/datum/cachedbookDatum used to cache the SQL DB books locally in order to achieve a performance gain.
\ No newline at end of file diff --git a/code/modules/lighting/lighting_emissive_blocker.html b/code/modules/lighting/lighting_emissive_blocker.html new file mode 100644 index 00000000000..56dde05ed8b --- /dev/null +++ b/code/modules/lighting/lighting_emissive_blocker.html @@ -0,0 +1 @@ +code/modules/lighting/lighting_emissive_blocker.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/lighting/lighting_emissive_blocker.dm

/atom/movable/emissive_blockerInternal atom that copies an appearance on to the blocker plane
\ No newline at end of file diff --git a/code/modules/mapping/base_map_datum.html b/code/modules/mapping/base_map_datum.html new file mode 100644 index 00000000000..e2448b5ad1e --- /dev/null +++ b/code/modules/mapping/base_map_datum.html @@ -0,0 +1 @@ +code/modules/mapping/base_map_datum.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mapping/base_map_datum.dm

/datum/mapMap Datum
\ No newline at end of file diff --git a/code/modules/mapping/dynamic_airlock_linker.html b/code/modules/mapping/dynamic_airlock_linker.html new file mode 100644 index 00000000000..2efdf7f3fda --- /dev/null +++ b/code/modules/mapping/dynamic_airlock_linker.html @@ -0,0 +1,8 @@ +code/modules/mapping/dynamic_airlock_linker.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mapping/dynamic_airlock_linker.dm

/datum/dynamic_airlock_linkerA manager that is used on mapload to generate airlock chambers based on the +usage of /obj/effect/map_effect/dynamic_airlock helpers. These helpers +make up the "zone" of an airlock chamber, as well as indicate which airlocks +are exterior or interior, what access should be applied to the doors and +controls, And what buttons, vents, and airlock controllers should be linked +together. This is performed on Initialize of one of the related helpers. +Once done, all the other helpers are deleted to prevent it happening again +for that zone.
\ No newline at end of file diff --git a/code/modules/mapping/dynamic_airlocks.html b/code/modules/mapping/dynamic_airlocks.html new file mode 100644 index 00000000000..d7296999bd9 --- /dev/null +++ b/code/modules/mapping/dynamic_airlocks.html @@ -0,0 +1,4 @@ +code/modules/mapping/dynamic_airlocks.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mapping/dynamic_airlocks.dm

/obj/effect/map_effect/dynamic_airlockA mapping helper that defines the zone of a dynamically arranged airlock +chamber. This can be used as an alternative to +/obj/effect/spawner/airlocks.
/obj/effect/map_effect/dynamic_airlock/doorA helper used to indicate what doors are connected to an airlock zone. Comes +in interior and exterior variants as subtypes.
\ No newline at end of file diff --git a/code/modules/mapping/mapping_helpers.html b/code/modules/mapping/mapping_helpers.html new file mode 100644 index 00000000000..4db1d3cc336 --- /dev/null +++ b/code/modules/mapping/mapping_helpers.html @@ -0,0 +1 @@ +code/modules/mapping/mapping_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mapping/mapping_helpers.dm

/obj/effect/baseturf_helperSet the baseturfs of every turf in the /area/ it is placed.
/obj/effect/mapping_helpers/bombable_wallApply to a wall (or floor, technically) to ensure it is instantly destroyed by any explosion, even if usually invulnerable
\ No newline at end of file diff --git a/code/modules/mapping/merge_conflicts.html b/code/modules/mapping/merge_conflicts.html new file mode 100644 index 00000000000..cf1efc1189a --- /dev/null +++ b/code/modules/mapping/merge_conflicts.html @@ -0,0 +1,3 @@ +code/modules/mapping/merge_conflicts.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mapping/merge_conflicts.dm

/proc/announce_merge_conflict_markerWe REALLY do not want un-addressed merge conflicts in maps for an +inexhaustible list of reasons. This should help ensure that this will not be +missed in case linters fail to catch it for any reason what-so-ever.
\ No newline at end of file diff --git a/code/modules/maptext_alerts/text_blurbs.html b/code/modules/maptext_alerts/text_blurbs.html new file mode 100644 index 00000000000..6e52e80757e --- /dev/null +++ b/code/modules/maptext_alerts/text_blurbs.html @@ -0,0 +1 @@ +code/modules/maptext_alerts/text_blurbs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/maptext_alerts/text_blurbs.dm

/proc/show_blurbShows a ticker reading out the given text on a client's screen.
\ No newline at end of file diff --git a/code/modules/mining/equipment/explorer_gear.html b/code/modules/mining/equipment/explorer_gear.html new file mode 100644 index 00000000000..cb5958fe3ff --- /dev/null +++ b/code/modules/mining/equipment/explorer_gear.html @@ -0,0 +1 @@ +code/modules/mining/equipment/explorer_gear.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/explorer_gear.dm

/obj/item/clothing/suit/hooded/explorerExplorer's Suit and Mask
\ No newline at end of file diff --git a/code/modules/mining/equipment/kinetic_crusher.html b/code/modules/mining/equipment/kinetic_crusher.html new file mode 100644 index 00000000000..fec32c7d598 --- /dev/null +++ b/code/modules/mining/equipment/kinetic_crusher.html @@ -0,0 +1 @@ +code/modules/mining/equipment/kinetic_crusher.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/kinetic_crusher.dm

/obj/item/kinetic_crusherMining Hammer
\ No newline at end of file diff --git a/code/modules/mining/equipment/kinetic_crusher_cosmetics.html b/code/modules/mining/equipment/kinetic_crusher_cosmetics.html new file mode 100644 index 00000000000..9b1579983b0 --- /dev/null +++ b/code/modules/mining/equipment/kinetic_crusher_cosmetics.html @@ -0,0 +1 @@ +code/modules/mining/equipment/kinetic_crusher_cosmetics.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/kinetic_crusher_cosmetics.dm

/obj/item/crusher_trophy/retool_kitCosmetic items for changing the crusher's look
/datum/crusher_skinAlternate PKC skins
\ No newline at end of file diff --git a/code/modules/mining/equipment/lazarus_injector.html b/code/modules/mining/equipment/lazarus_injector.html new file mode 100644 index 00000000000..4adcb1b8b23 --- /dev/null +++ b/code/modules/mining/equipment/lazarus_injector.html @@ -0,0 +1 @@ +code/modules/mining/equipment/lazarus_injector.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/lazarus_injector.dm

/obj/item/lazarus_injectorLazarus Injector
/obj/item/mobcapsuleMob Capsule
\ No newline at end of file diff --git a/code/modules/mining/equipment/marker_beacons.html b/code/modules/mining/equipment/marker_beacons.html new file mode 100644 index 00000000000..d5ce2d201c2 --- /dev/null +++ b/code/modules/mining/equipment/marker_beacons.html @@ -0,0 +1 @@ +code/modules/mining/equipment/marker_beacons.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/marker_beacons.dm

/obj/item/stack/marker_beacon/tenminers start with 10 of these
/obj/item/stack/marker_beacon/thirtyand they're bought in stacks of 1, 10, or 30
\ No newline at end of file diff --git a/code/modules/mining/equipment/mineral_scanner.html b/code/modules/mining/equipment/mineral_scanner.html new file mode 100644 index 00000000000..86f7cffdaa0 --- /dev/null +++ b/code/modules/mining/equipment/mineral_scanner.html @@ -0,0 +1 @@ +code/modules/mining/equipment/mineral_scanner.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/mineral_scanner.dm

/obj/item/mining_scannerMining Scanner
\ No newline at end of file diff --git a/code/modules/mining/equipment/mining_tools.html b/code/modules/mining/equipment/mining_tools.html new file mode 100644 index 00000000000..4d7adf4b04e --- /dev/null +++ b/code/modules/mining/equipment/mining_tools.html @@ -0,0 +1 @@ +code/modules/mining/equipment/mining_tools.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/mining_tools.dm

/obj/item/pickaxePickaxes & Drills & Shovels
/obj/item/pickaxe/drill/cyborg/diamondThis is the BORG version!
\ No newline at end of file diff --git a/code/modules/mining/equipment/regenerative_core.html b/code/modules/mining/equipment/regenerative_core.html new file mode 100644 index 00000000000..92d82e7d5c2 --- /dev/null +++ b/code/modules/mining/equipment/regenerative_core.html @@ -0,0 +1 @@ +code/modules/mining/equipment/regenerative_core.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/regenerative_core.dm

/obj/item/hivelordstabilizerHivelord stabilizer
/obj/item/organ/internal/regenerative_coreHivelord core
/obj/item/organ/internal/regenerative_core/legionLegion core
\ No newline at end of file diff --git a/code/modules/mining/equipment/resonator.html b/code/modules/mining/equipment/resonator.html new file mode 100644 index 00000000000..09ca8f0cfaf --- /dev/null +++ b/code/modules/mining/equipment/resonator.html @@ -0,0 +1 @@ +code/modules/mining/equipment/resonator.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/resonator.dm

/obj/item/resonatorResonator
\ No newline at end of file diff --git a/code/modules/mining/equipment/vendor_items.html b/code/modules/mining/equipment/vendor_items.html new file mode 100644 index 00000000000..5dfc13b8d2d --- /dev/null +++ b/code/modules/mining/equipment/vendor_items.html @@ -0,0 +1 @@ +code/modules/mining/equipment/vendor_items.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/vendor_items.dm

/obj/item/clothing/mask/facehugger/toyMining Equipment Vendor Items
\ No newline at end of file diff --git a/code/modules/mining/equipment/wormhole_jaunter.html b/code/modules/mining/equipment/wormhole_jaunter.html new file mode 100644 index 00000000000..7d1d16ceac3 --- /dev/null +++ b/code/modules/mining/equipment/wormhole_jaunter.html @@ -0,0 +1 @@ +code/modules/mining/equipment/wormhole_jaunter.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/equipment/wormhole_jaunter.dm

/obj/item/wormhole_jaunterJaunter
/obj/effect/temp_visual/getaway_flareBecause the original contractor flare is not a temp visual, for some reason.
\ No newline at end of file diff --git a/code/modules/mining/laborcamp/laborshuttle.html b/code/modules/mining/laborcamp/laborshuttle.html new file mode 100644 index 00000000000..a0e6d03bc89 --- /dev/null +++ b/code/modules/mining/laborcamp/laborshuttle.html @@ -0,0 +1 @@ +code/modules/mining/laborcamp/laborshuttle.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/laborcamp/laborshuttle.dm

/obj/machinery/mineral/labor_prisoner_shuttle_consolePrisoners' Console
/obj/machinery/mineral/labor_points_checkerPoint Lookup Console
\ No newline at end of file diff --git a/code/modules/mining/lavaland/ash_flora.html b/code/modules/mining/lavaland/ash_flora.html new file mode 100644 index 00000000000..9ebb89aef4d --- /dev/null +++ b/code/modules/mining/lavaland/ash_flora.html @@ -0,0 +1 @@ +code/modules/mining/lavaland/ash_flora.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/lavaland/ash_flora.dm

/obj/structure/flora/ash/tall_shroomexists only so that the spawning check doesn't allow these spawning near other things
/obj/structure/flora/ash/rockRocks
/obj/item/food/grown/ash_flora/shavingsfor actual crafting
\ No newline at end of file diff --git a/code/modules/mining/lavaland/loot/colossus_loot.html b/code/modules/mining/lavaland/loot/colossus_loot.html new file mode 100644 index 00000000000..7c36672979b --- /dev/null +++ b/code/modules/mining/lavaland/loot/colossus_loot.html @@ -0,0 +1 @@ +code/modules/mining/lavaland/loot/colossus_loot.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/lavaland/loot/colossus_loot.dm

/obj/machinery/anomalous_crystalAnomolous Crystal
/obj/machinery/anomalous_crystal/theme_warpWarps the area you're in to look like a new one
/obj/machinery/anomalous_crystal/emitterGenerates a projectile when interacted with
/obj/machinery/anomalous_crystal/dark_repriseRevives anyone nearby, but turns them into shadowpeople and renders them uncloneable, so the crystal is your only hope of getting up again if you go down.
/obj/machinery/anomalous_crystal/helpersLets ghost spawn as helpful creatures that can only heal people slightly. Incredibly fragile and they can't converse with humans
/obj/machinery/anomalous_crystal/possessorAllows you to bodyjack small animals, then exit them at your leisure, but you can only do this once per activation. Because they blow up. Also, if the bodyjacked animal dies, SO DO YOU.
\ No newline at end of file diff --git a/code/modules/mining/machine_processing.html b/code/modules/mining/machine_processing.html new file mode 100644 index 00000000000..53b263cf612 --- /dev/null +++ b/code/modules/mining/machine_processing.html @@ -0,0 +1 @@ +code/modules/mining/machine_processing.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/machine_processing.dm

/obj/machinery/mineralMineral processing unit console
/obj/machinery/mineral/processing_unitMineral processing unit
\ No newline at end of file diff --git a/code/modules/mining/machine_redemption.html b/code/modules/mining/machine_redemption.html new file mode 100644 index 00000000000..c12cabbb5a2 --- /dev/null +++ b/code/modules/mining/machine_redemption.html @@ -0,0 +1 @@ +code/modules/mining/machine_redemption.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/machine_redemption.dm

/obj/machinery/mineral/ore_redemptionTurns all the various mining machines into a single unit to speed up tmining and establish a point system.
/obj/machinery/mineral/ore_redemption/laborLabor camp variant of the ORM. Points can be claimed by anyone.
\ No newline at end of file diff --git a/code/modules/mining/machine_stacking.html b/code/modules/mining/machine_stacking.html new file mode 100644 index 00000000000..9424e73d4c4 --- /dev/null +++ b/code/modules/mining/machine_stacking.html @@ -0,0 +1 @@ +code/modules/mining/machine_stacking.dm - Space Station 13
Space Station 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
\ No newline at end of file diff --git a/code/modules/mining/machine_unloading.html b/code/modules/mining/machine_unloading.html new file mode 100644 index 00000000000..bc040c448fc --- /dev/null +++ b/code/modules/mining/machine_unloading.html @@ -0,0 +1 @@ +code/modules/mining/machine_unloading.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/machine_unloading.dm

/obj/machinery/mineral/unloading_machineUnloading unit
\ No newline at end of file diff --git a/code/modules/mining/machine_vending.html b/code/modules/mining/machine_vending.html new file mode 100644 index 00000000000..e958b06ed3f --- /dev/null +++ b/code/modules/mining/machine_vending.html @@ -0,0 +1 @@ +code/modules/mining/machine_vending.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/machine_vending.dm

/obj/machinery/mineral/equipment_vendorMining Equipment Vendor
/obj/machinery/mineral/equipment_vendor/laborMining Equiment Vendor (Gulag)
/obj/machinery/mineral/equipment_vendor/explorerMining Equipment Vendor (Explorer)
/datum/data/mining_equipmentMining Equipment Datum
/obj/item/mining_voucherMining Equipment Voucher
/obj/item/card/mining_point_cardMining Point Card
\ No newline at end of file diff --git a/code/modules/mining/mine_items.html b/code/modules/mining/mine_items.html new file mode 100644 index 00000000000..9cf784566a1 --- /dev/null +++ b/code/modules/mining/mine_items.html @@ -0,0 +1 @@ +code/modules/mining/mine_items.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/mine_items.dm

/obj/effect/light_emitterLight
/obj/machinery/computer/shuttle/miningShuttle Computer
/obj/item/flashlight/lanternLantern
/obj/structure/closet/crate/miningcarMining car (Crate like thing, not the rail car)
\ No newline at end of file diff --git a/code/modules/mining/salvage_redemption.html b/code/modules/mining/salvage_redemption.html new file mode 100644 index 00000000000..f507c7d4e75 --- /dev/null +++ b/code/modules/mining/salvage_redemption.html @@ -0,0 +1 @@ +code/modules/mining/salvage_redemption.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/salvage_redemption.dm

/obj/item/credit_redemption_slipCredit redemption slip
\ No newline at end of file diff --git a/code/modules/mining/satchel_ore_boxdm.html b/code/modules/mining/satchel_ore_boxdm.html new file mode 100644 index 00000000000..b43606895e1 --- /dev/null +++ b/code/modules/mining/satchel_ore_boxdm.html @@ -0,0 +1 @@ +code/modules/mining/satchel_ore_boxdm.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mining/satchel_ore_boxdm.dm

/obj/structure/ore_boxOre box
\ No newline at end of file diff --git a/code/modules/mob/camera.html b/code/modules/mob/camera.html new file mode 100644 index 00000000000..7c0e0f25daa --- /dev/null +++ b/code/modules/mob/camera.html @@ -0,0 +1,49 @@ +code/modules/mob/camera/README.md - Space Station 13
Space Station 13 - Modules - Types

AI Freelook

Credits

+

Initial code credit for this goes to Uristqwerty. +Debugging, functionality, all comments and porting by Giacom.

+

What is this?

+

This is a replacement for the current camera movement system, of the AI. Before +this, the AI had to move between cameras and could only see what the cameras +could see. Not only this but the cameras could see through walls, which created +problems. With this, the AI controls an "AI Eye" mob, which moves just like a +ghost; such as moving through walls and being invisible to players. The AI's eye +is set to this mob and then we use a system (explained below) to determine what +the cameras around the AI Eye can and cannot see. If the camera cannot see a +turf, it will black it out, otherwise it won't and the AI will be able to see +it. This creates several features, such as.. no more see-through-wall cameras, +easier to control camera movement, easier tracking, the AI only being able to +track mobs which are visible to a camera, only trackable mobs appearing on the +mob list and many more.

+

How it Works

+

It works by first creating a camera network datum. Inside of this camera network +are "chunks" (which will be explained later) and "cameras". The cameras list is +kept up to date by obj/machinery/camera/New() and Destroy().

+

Next the camera network has chunks. These chunks are a 16x16 tile block of turfs +and cameras contained inside the chunk. These turfs are then sorted out based on +what the cameras can and cannot see. If none of the cameras can see the turf, +inside the 16x16 block, it is listed as an "obscured" turf. Meaning the AI won't +be able to see it.

+

How it Updates

+

The camera network uses a streaming method in order to effeciently update +chunks. Since the server will have doors opening, doors closing, turf being +destroyed and other lag inducing stuff, we want to update it under certain +conditions and not every tick.

+

The chunks are not created straight away, only when an AI eye moves into it's +area is when it gets created. One a chunk is created, when a non glass door +opens/closes or an opacity turf is destroyed, we check to see if an AI Eye is +looking in the area. We do this with the "seenby" list, which updates everytime +an AI is near a chunk. If there is an AI eye inside the area, we update the +chunk that the changed atom is inside and all surrounding chunks, since a +camera's vision could leak onto another chunk. If there is no AI Eye, we instead +flag the chunk to update whenever it is loaded by an AI Eye. This is basically +how the chunks update and keep it in sync. We then add some lag reducing +measures, such as an UPDATE_BUFFER which stops a chunk from updating too many +times in a certain time-frame, only updating if the changed atom was blocking +sight; for example, we don't update glass airlocks or floors.

+

Where is Everything?

+
    +
  • cameranet.dm: Everything about the cameranet datum.
  • +
  • chunk.dm: Everything about the chunk datum.
  • +
  • eye.dm: Everything about the AI and the AIEye.
  • +
  • updating.dm: Everything about triggers that will update chunks.
  • +
\ No newline at end of file diff --git a/code/modules/mob/camera/chunk.html b/code/modules/mob/camera/chunk.html new file mode 100644 index 00000000000..6f1612b1fc3 --- /dev/null +++ b/code/modules/mob/camera/chunk.html @@ -0,0 +1,2 @@ +code/modules/mob/camera/chunk.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/camera/chunk.dm

/datum/camerachunkA 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed. +Allows camera eyes to stream these chunks and know what they can and cannot see.
\ No newline at end of file diff --git a/code/modules/mob/camera/eye.html b/code/modules/mob/camera/eye.html new file mode 100644 index 00000000000..ea0d2b3ad6a --- /dev/null +++ b/code/modules/mob/camera/eye.html @@ -0,0 +1,6 @@ +code/modules/mob/camera/eye.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/camera/eye.dm

/mob/camera/eyeCamera eyes are remote-control mobs that can move and see throughout the global cameranet. +They're used in AI eyes, holograms, advanced camera consoles, abductor consoles, shuttle consoles, +and xenobiology consoles. When created, the user with which they are initialized will be granted control, +and their movements will be relayed to the camera eye instead. When destroyed, the user's control of the +camera eye will be released; if they were previously remote controlling another object (such as another +camera eye) then they will be put back in control of that object; otherwise they will return to their body.
\ No newline at end of file diff --git a/code/modules/mob/living/basic/basic_mob.html b/code/modules/mob/living/basic/basic_mob.html new file mode 100644 index 00000000000..320441adf7c --- /dev/null +++ b/code/modules/mob/living/basic/basic_mob.html @@ -0,0 +1,3 @@ +code/modules/mob/living/basic/basic_mob.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/basic_mob.dm

/mob/living/basicBasic mobs are a modern replacement for the simple_animal/"simple mob" +system. Rather than deep type trees with overrides for AI, basic mobs rely +on their AI controllers for the majority of their behavior.
\ No newline at end of file diff --git a/code/modules/mob/living/basic/farm_animals/deer_ai.html b/code/modules/mob/living/basic/farm_animals/deer_ai.html new file mode 100644 index 00000000000..942600990ff --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/deer_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/farm_animals/deer_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/farm_animals/deer_ai.dm

/datum/ai_planning_subtree/find_and_hunt_target/drink_watersubtree to go around drinking water
/datum/ai_planning_subtree/find_and_hunt_target/grazesubtree to go around grazing
/datum/ai_planning_subtree/play_with_friendssubtree to go around playing with other deers
/datum/ai_planning_subtree/find_and_hunt_target/mark_territorysubtree to mark trees as territories
\ No newline at end of file diff --git a/code/modules/mob/living/basic/farm_animals/goat.html b/code/modules/mob/living/basic/farm_animals/goat.html new file mode 100644 index 00000000000..ddc12e9dbba --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/goat.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/farm_animals/goat.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/farm_animals/goat.dm

/datum/ai_controller/basic_controller/goatGoats are normally content to sorta hang around and crunch any plant in sight, but they will go ape on someone who attacks them.
\ No newline at end of file diff --git a/code/modules/mob/living/basic/friendly/crab.html b/code/modules/mob/living/basic/friendly/crab.html new file mode 100644 index 00000000000..996d446ad4e --- /dev/null +++ b/code/modules/mob/living/basic/friendly/crab.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/friendly/crab.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/friendly/crab.dm

/datum/ai_controller/basic_controller/crabCrabs don't do much, but they want to live. They will flee when attacked, but will opportunistically melee attack people who do
\ No newline at end of file diff --git a/code/modules/mob/living/basic/friendly/diona_nymph.html b/code/modules/mob/living/basic/friendly/diona_nymph.html new file mode 100644 index 00000000000..71d504b8532 --- /dev/null +++ b/code/modules/mob/living/basic/friendly/diona_nymph.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/friendly/diona_nymph.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/friendly/diona_nymph.dm

/datum/ai_controller/basic_controller/diona_nymphDiona nymphs want to eat plant matter to get to evolution stage, but won't evolve or sample blood on their own. They flee when attacked.
\ No newline at end of file diff --git a/code/modules/mob/living/basic/friendly/lightgeist.html b/code/modules/mob/living/basic/friendly/lightgeist.html new file mode 100644 index 00000000000..16cb5554f99 --- /dev/null +++ b/code/modules/mob/living/basic/friendly/lightgeist.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/friendly/lightgeist.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/friendly/lightgeist.dm

/datum/targeting_strategy/lightgeistAttack only mobs who have damage that we can heal, I think this is specific enough not to be a generic type
\ No newline at end of file diff --git a/code/modules/mob/living/basic/friendly/mouse.html b/code/modules/mob/living/basic/friendly/mouse.html new file mode 100644 index 00000000000..a86c3dec92d --- /dev/null +++ b/code/modules/mob/living/basic/friendly/mouse.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/friendly/mouse.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/friendly/mouse.dm

/datum/ai_controller/basic_controller/mouseThe mouse AI controller
/datum/ai_planning_subtree/flee_target/mouseDon't look for anything to run away from if you are distracted by being adjacent to cheese
\ No newline at end of file diff --git a/code/modules/mob/living/basic/friendly/nian_caterpillar.html b/code/modules/mob/living/basic/friendly/nian_caterpillar.html new file mode 100644 index 00000000000..9b675f776e9 --- /dev/null +++ b/code/modules/mob/living/basic/friendly/nian_caterpillar.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/friendly/nian_caterpillar.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/friendly/nian_caterpillar.dm

/datum/action/cooldown/mob_cooldown/spin_mothsilkPlace some grappling tentacles underfoot
\ No newline at end of file diff --git a/code/modules/mob/living/basic/friendly/snake.html b/code/modules/mob/living/basic/friendly/snake.html new file mode 100644 index 00000000000..ce2f93cb265 --- /dev/null +++ b/code/modules/mob/living/basic/friendly/snake.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/friendly/snake.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/friendly/snake.dm

/datum/ai_controller/basic_controller/snakeSnakes are primarily concerned with getting those tasty, tasty mice, but aren't afraid to strike back at those who attack them
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/alien/alien_mob_ai.html b/code/modules/mob/living/basic/hostile/alien/alien_mob_ai.html new file mode 100644 index 00000000000..566c7e67408 --- /dev/null +++ b/code/modules/mob/living/basic/hostile/alien/alien_mob_ai.html @@ -0,0 +1,2 @@ +code/modules/mob/living/basic/hostile/alien/alien_mob_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/alien/alien_mob_ai.dm

/datum/idle_behavior/idle_random_walk/plant_weedsAlien projectile +Try to avoid friendly fire, and has a 3 second delay.
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/bees/bee_ai_behaviors.html b/code/modules/mob/living/basic/hostile/bees/bee_ai_behaviors.html new file mode 100644 index 00000000000..c22203eccfe --- /dev/null +++ b/code/modules/mob/living/basic/hostile/bees/bee_ai_behaviors.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/bees/bee_ai_behaviors.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/mob/living/basic/hostile/bees/bee_ai_behaviors.dm

AGGRO_DISTANCE_FROM_HIVEif we have a hive, this will be our aggro distance

Define Details

AGGRO_DISTANCE_FROM_HIVE

if we have a hive, this will be our aggro distance

\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/bees/bees.html b/code/modules/mob/living/basic/hostile/bees/bees.html new file mode 100644 index 00000000000..61fbca3516a --- /dev/null +++ b/code/modules/mob/living/basic/hostile/bees/bees.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/bees/bees.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/mob/living/basic/hostile/bees/bees.dm

BEE_TRAY_RECENT_VISITHow long in deciseconds until a tray can be visited by a bee again
BEE_DEFAULT_COLOURthe colour we make the stripes of the bee if our reagent has no colour (or we have no reagent)
BEE_POLLINATE_YIELD_CHANCEchance to increase yield of plant
BEE_POLLINATE_PEST_CHANCEchance to decrease pest of plant
BEE_POLLINATE_POTENCY_CHANCEchance to increase potancy of plant
BEE_FOODGROUPSthe bee food contents

Define Details

BEE_DEFAULT_COLOUR

the colour we make the stripes of the bee if our reagent has no colour (or we have no reagent)

BEE_FOODGROUPS

the bee food contents

BEE_POLLINATE_PEST_CHANCE

chance to decrease pest of plant

BEE_POLLINATE_POTENCY_CHANCE

chance to increase potancy of plant

BEE_POLLINATE_YIELD_CHANCE

chance to increase yield of plant

BEE_TRAY_RECENT_VISIT

How long in deciseconds until a tray can be visited by a bee again

\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/demons/demon_loot.html b/code/modules/mob/living/basic/hostile/demons/demon_loot.html new file mode 100644 index 00000000000..f11e3db1279 --- /dev/null +++ b/code/modules/mob/living/basic/hostile/demons/demon_loot.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/demons/demon_loot.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/demons/demon_loot.dm

/obj/item/organ/internal/heart/demon/shadowSHADOW DEMON HEART
/obj/item/organ/internal/heart/demon/pulsePULSE DEMON HEART
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/demons/pulse_demon.html b/code/modules/mob/living/basic/hostile/demons/pulse_demon.html new file mode 100644 index 00000000000..f7784787702 --- /dev/null +++ b/code/modules/mob/living/basic/hostile/demons/pulse_demon.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/demons/pulse_demon.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/demons/pulse_demon.dm

/mob/living/basic/demon/pulse_demonConversion ratio from Watt ticks to joules.
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/demons/slaughter_demon.html b/code/modules/mob/living/basic/hostile/demons/slaughter_demon.html new file mode 100644 index 00000000000..9ba2cd91bfd --- /dev/null +++ b/code/modules/mob/living/basic/hostile/demons/slaughter_demon.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/demons/slaughter_demon.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/demons/slaughter_demon.dm

/mob/living/basic/demon/slaughterThe Monster
/mob/living/basic/demon/slaughter/cultSummoned as part of the cult objective "Bring the Slaughter"
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/giant_spider/giant_spider_ai.html b/code/modules/mob/living/basic/hostile/giant_spider/giant_spider_ai.html new file mode 100644 index 00000000000..115cb170c43 --- /dev/null +++ b/code/modules/mob/living/basic/hostile/giant_spider/giant_spider_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/giant_spider/giant_spider_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/giant_spider/giant_spider_ai.dm

/datum/ai_controller/basic_controller/giant_spiderAttacks people it can see, spins webs if it can't see anything to attack.
/datum/ai_controller/basic_controller/giant_spider/retaliateUsed by Araneus, who only attacks those who attack first. He is house-trained and will not web up the HoS office.
/datum/ai_planning_subtree/find_unwebbed_turfSearch for a nearby location to put webs on
/datum/ai_behavior/find_unwebbed_turfFind an unwebbed nearby turf and store it
/datum/ai_planning_subtree/spin_webRun the spin web behaviour if we have an ability to use for it
/datum/ai_behavior/spin_webMove to an unwebbed nearby turf and web it up
/datum/ai_planning_subtree/find_unwrapped_targetSearch for a nearby location to put webs on
/datum/ai_behavior/find_unwrapped_targetFind an unwrapped target and store it
/datum/ai_planning_subtree/wrap_targetRun the wrap behaviour if we have an ability to use for it
/datum/ai_behavior/wrap_targetMove to an unwrapped item and wrap it
/datum/ai_planning_subtree/lay_eggsRun the egg laying behavior
/datum/ai_behavior/lay_eggsAttempt to lay eggs if we're fed
/datum/ai_planning_subtree/simple_find_target/cling_spiderSpider only attacks when it has the valid order.
/datum/ai_planning_subtree/cling_spider_followSpider follows who created it
/datum/ai_behavior/cling_spider_followAttempt to follow the owner
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/hivebot_ai.html b/code/modules/mob/living/basic/hostile/hivebot_ai.html new file mode 100644 index 00000000000..eac0552be1e --- /dev/null +++ b/code/modules/mob/living/basic/hostile/hivebot_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/hivebot_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/hivebot_ai.dm

/datum/ai_behavior/relay_messagebehavior that allow us to go communicate with other hivebots
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/megafauna/bluespace_horror/bluespace_horror_ai.html b/code/modules/mob/living/basic/hostile/megafauna/bluespace_horror/bluespace_horror_ai.html new file mode 100644 index 00000000000..7885de2fe7d --- /dev/null +++ b/code/modules/mob/living/basic/hostile/megafauna/bluespace_horror/bluespace_horror_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/megafauna/bluespace_horror/bluespace_horror_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/megafauna/bluespace_horror/bluespace_horror_ai.dm

/datum/ai_behavior/horror_blink_dodgeDodge!
/datum/ai_behavior/omega_fireball_fanBring them down!
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/megafauna/kidan_princess/kidan_princess.html b/code/modules/mob/living/basic/hostile/megafauna/kidan_princess/kidan_princess.html new file mode 100644 index 00000000000..8da12dc7e6d --- /dev/null +++ b/code/modules/mob/living/basic/hostile/megafauna/kidan_princess/kidan_princess.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/megafauna/kidan_princess/kidan_princess.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/megafauna/kidan_princess/kidan_princess.dm

/obj/item/kidan_princess_halberdSpecial Halberd loot
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/nether_mobs/incursion_ai.html b/code/modules/mob/living/basic/hostile/nether_mobs/incursion_ai.html new file mode 100644 index 00000000000..440f3458cc5 --- /dev/null +++ b/code/modules/mob/living/basic/hostile/nether_mobs/incursion_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/nether_mobs/incursion_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/nether_mobs/incursion_ai.dm

/datum/ai_controller/basic_controller/incursionProwls around when not attacking people
/datum/ai_planning_subtree/conjure_skullsRun the conjure skulls action
/datum/ai_behavior/conjure_skullsNyeh heh heh!
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.html b/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.html new file mode 100644 index 00000000000..0f230ad1660 --- /dev/null +++ b/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm

/datum/spell/aoe/revenant/haunt_objectMakes objects be haunted and then throws them at conscious people to do damage, spooky!
/datum/spell/aoe/revenant/hallucinationsGives everyone in a 7 tile radius 2 minutes of hallucinations
\ No newline at end of file diff --git a/code/modules/mob/living/basic/hostile/swarmers/swarmer_ai.html b/code/modules/mob/living/basic/hostile/swarmers/swarmer_ai.html new file mode 100644 index 00000000000..c07838fa439 --- /dev/null +++ b/code/modules/mob/living/basic/hostile/swarmers/swarmer_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/hostile/swarmers/swarmer_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/hostile/swarmers/swarmer_ai.dm

/datum/ai_controller/basic_controller/swarmerAttacks people it can see, disintegrates things based on priority.
/datum/ai_controller/basic_controller/swarmer/lesserAttacks people it can see, disintegrates things based on priority. More aggressive.
/datum/ai_planning_subtree/swarmer_replicateRun the barricade construction behaviour if we have an ability to use for it
/datum/ai_behavior/swarmer_replicateREPLICATE
/datum/ai_planning_subtree/swarmer_find_construction_targetSearch for a nearby location to build on
/datum/ai_behavior/swarmer_find_construction_targetFind a nearby clear turf and store it
/datum/ai_planning_subtree/swarmer_create_trapRun the trap construction behaviour if we have an ability to use for it
/datum/ai_behavior/swarmer_create_trapMove to an open nearby turf and build a trap
/datum/ai_planning_subtree/swarmer_create_barricadeRun the barricade construction behaviour if we have an ability to use for it
/datum/ai_behavior/swarmer_create_barricadeMove to an open nearby turf and build a barricade
/datum/ai_planning_subtree/swarmer_share_resourcesRun the resource sharing behavior
/datum/ai_behavior/swarmer_share_resourcesShare resources with the parent swarmer
\ No newline at end of file diff --git a/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp.html b/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp.html new file mode 100644 index 00000000000..8bf2912a99f --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp.dm

/mob/living/basic/mining/ash_whelp/iceIce whelp, the cold variant of ash whelps.
/obj/structure/whelp_statueAsh whelp statue formed by them carving a rock
\ No newline at end of file diff --git a/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_actions.html b/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_actions.html new file mode 100644 index 00000000000..8de71faabf2 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_actions.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_actions.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_actions.dm

/datum/action/cooldown/mob_cooldown/fire_breath/coneShoot three lines of fire in a sort of fork pattern approximating a cone
/datum/action/cooldown/mob_cooldown/fire_breath/mass_fireShoot fire in a whole bunch of directions
/datum/action/cooldown/mob_cooldown/fire_breath/iceBreathe "fire" in a line (it's freezing cold)
/datum/action/cooldown/mob_cooldown/fire_breath/ice/eruptionBreathe really cold fire an area around them
/datum/action/cooldown/mob_cooldown/fire_breath/ice/eruption/fireFire subtype forash whelps
\ No newline at end of file diff --git a/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_ai.html b/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_ai.html new file mode 100644 index 00000000000..f0b4c196efb --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_ai.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/mob/living/basic/lavaland/ash_whelp/ash_whelp_ai.dm

MIN_TIME_TO_BREATH_WEAPONWe won't use fire breath unless we have had the same target forthis long
/datum/ai_planning_subtree/basic_melee_attack_subtree/ash_whelpCancel melee attacks when we have our breath weapon
/datum/ai_behavior/basic_melee_attack/ash_whelpCancel melee attacks when we have our breath weapon
/datum/ai_planning_subtree/find_and_hunt_target/corpses/ash_whelpFind other tasty dragons
/datum/ai_behavior/hunt_target/interact_with_target/dragon_cannibaliseEat other dragons
/datum/ai_planning_subtree/sculpt_statuesSubtree to find icy rocks and create sculptures out of them
/datum/ai_planning_subtree/targeted_mob_ability/ash_whelpSelect appropriate ability based on range
/datum/ai_planning_subtree/burn_treessubtree to look fortrees and burn them with our flamethrower

Define Details

MIN_TIME_TO_BREATH_WEAPON

We won't use fire breath unless we have had the same target forthis long

\ No newline at end of file diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath.html b/code/modules/mob/living/basic/lavaland/goliath/goliath.html new file mode 100644 index 00000000000..db0a3c6521c --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/lavaland/goliath/goliath.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/lavaland/goliath/goliath.dm

/mob/living/basic/mining/goliathA slow but strong beast that tries to stun using its tentacles.
\ No newline at end of file diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.html b/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.html new file mode 100644 index 00000000000..a09d3e1da7e --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm

/datum/action/cooldown/mob_cooldown/goliath_tentaclesPlace some grappling tentacles underfoot
\ No newline at end of file diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.html b/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.html new file mode 100644 index 00000000000..66de8da31c9 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm

MIN_TIME_TO_TENTACLEWe won't use tentacles unless we have had the same target for this long
/datum/ai_behavior/basic_melee_attack/goliathGo for the tentacles if they're available
/datum/ai_planning_subtree/goliath_find_diggable_turfIf we got nothing better to do, find a turf we can search for tasty roots and such
/datum/ai_behavior/goliath_digIf we got nothing better to do, dig a little hole

Define Details

MIN_TIME_TO_TENTACLE

We won't use tentacles unless we have had the same target for this long

\ No newline at end of file diff --git a/code/modules/mob/living/basic/lavaland/goliath/tentacle.html b/code/modules/mob/living/basic/lavaland/goliath/tentacle.html new file mode 100644 index 00000000000..1f3e843bd02 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/tentacle.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/lavaland/goliath/tentacle.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/lavaland/goliath/tentacle.dm

/datum/status_effect/incapacitating/stun/goliath_tentacledGoliath tentacle stun with special removal conditions
\ No newline at end of file diff --git a/code/modules/mob/living/basic/minebots/minebot_ai.html b/code/modules/mob/living/basic/minebots/minebot_ai.html new file mode 100644 index 00000000000..2f19c7c43fa --- /dev/null +++ b/code/modules/mob/living/basic/minebots/minebot_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/minebots/minebot_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/minebots/minebot_ai.dm

/datum/ai_planning_subtree/basic_ranged_attack_subtree/minebotoperational datums is null because we dont use a ranged component, we use a gun in our contents
/datum/ai_planning_subtree/find_and_hunt_target/hunt_ores/minebotstore ores in our body
/datum/pet_command/free/minebotpet commands
\ No newline at end of file diff --git a/code/modules/mob/living/basic/minebots/minebot_upgrades.html b/code/modules/mob/living/basic/minebots/minebot_upgrades.html new file mode 100644 index 00000000000..1a12401e4be --- /dev/null +++ b/code/modules/mob/living/basic/minebots/minebot_upgrades.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/minebots/minebot_upgrades.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/minebots/minebot_upgrades.dm

/obj/item/mine_bot_upgradeMinebot Melee Damage Upgrade
/obj/item/mine_bot_upgrade/healthMinebot Health Upgrade
/obj/item/slimepotion/sentience/miningMinebot AI upgrade/sentience potion
\ No newline at end of file diff --git a/code/modules/mob/living/basic/mining/goldgrub/goldgrub.html b/code/modules/mob/living/basic/mining/goldgrub/goldgrub.html new file mode 100644 index 00000000000..7f15e44fe2f --- /dev/null +++ b/code/modules/mob/living/basic/mining/goldgrub/goldgrub.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/mining/goldgrub/goldgrub.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/mining/goldgrub/goldgrub.dm

/mob/living/basic/mining/goldgrubAn ore-devouring but easily scared creature
\ No newline at end of file diff --git a/code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.html b/code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.html new file mode 100644 index 00000000000..ead93c42147 --- /dev/null +++ b/code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.dm

/datum/ai_planning_subtree/dig_away_from_dangerOnly dig away if humans are around
\ No newline at end of file diff --git a/code/modules/mob/living/basic/mining/gutlunch.html b/code/modules/mob/living/basic/mining/gutlunch.html new file mode 100644 index 00000000000..f6eef165dfa --- /dev/null +++ b/code/modules/mob/living/basic/mining/gutlunch.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/mining/gutlunch.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/mining/gutlunch.dm

/mob/living/basic/mining/gutlunchGutlunches, passive mods that devour blood and gibs
/mob/living/basic/mining/gutlunch/guthenLady gutlunch. They make the babby.
/mob/living/basic/mining/gutlunch/grublunchBaby gutlunch
\ No newline at end of file diff --git a/code/modules/mob/living/basic/mining/hivelord_ai.html b/code/modules/mob/living/basic/mining/hivelord_ai.html new file mode 100644 index 00000000000..c168b0259b2 --- /dev/null +++ b/code/modules/mob/living/basic/mining/hivelord_ai.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/mining/hivelord_ai.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/mining/hivelord_ai.dm

/datum/ai_controller/basic_controller/hivelordKeep away and launch skulls at every opportunity
/datum/ai_controller/basic_controller/hivelord/legionWith evil speech
/datum/ai_controller/basic_controller/hivelord_broodChase and attack whatever we are targeting
/datum/ai_controller/basic_controller/hivelord_brood/advanced_legionSame as hivelords, but go after corpses too
/datum/ai_controller/basic_controller/big_legionBig Legion
/datum/ai_planning_subtree/flee_target/legionDon't run away from friendlies
/datum/ai_planning_subtree/random_speech/legionMake spooky sounds, if we have a corpse inside then impersonate them
/datum/ai_planning_subtree/summon_broodCreate brood
\ No newline at end of file diff --git a/code/modules/mob/living/basic/retaliate/clown.html b/code/modules/mob/living/basic/retaliate/clown.html new file mode 100644 index 00000000000..8aa8564bd73 --- /dev/null +++ b/code/modules/mob/living/basic/retaliate/clown.html @@ -0,0 +1 @@ +code/modules/mob/living/basic/retaliate/clown.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/basic/retaliate/clown.dm

/datum/ai_controller/basic_controller/simple/clownFight back if attacked
\ No newline at end of file diff --git a/code/modules/mob/living/brain/brain_emote.html b/code/modules/mob/living/brain/brain_emote.html new file mode 100644 index 00000000000..34bb7a563e2 --- /dev/null +++ b/code/modules/mob/living/brain/brain_emote.html @@ -0,0 +1 @@ +code/modules/mob/living/brain/brain_emote.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/brain/brain_emote.dm

/datum/emote/living/brainEmotes usable by brains, but only while they're in MMIs.
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/_defines.html b/code/modules/mob/living/carbon/_defines.html new file mode 100644 index 00000000000..d428bece20d --- /dev/null +++ b/code/modules/mob/living/carbon/_defines.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/_defines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/mob/living/carbon/_defines.dm

SHOCK_MINORShock defines

Define Details

SHOCK_MINOR

Shock defines

\ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_emote.html b/code/modules/mob/living/carbon/alien/humanoid/humanoid_emote.html new file mode 100644 index 00000000000..771561a2ffe --- /dev/null +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_emote.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/alien/humanoid/humanoid_emote.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/alien/humanoid/humanoid_emote.dm

/datum/emote/living/carbon/alien_humanoidEmotes usable by humanoid xenomorphs.
\ No newline at end of file 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..fde7cb49f63 --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_stripping.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/carbon_stripping.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/carbon_stripping.dm

/datum/strippable_item/handA strippable item for a hand
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/give.html b/code/modules/mob/living/carbon/give.html new file mode 100644 index 00000000000..4a9a371c0cc --- /dev/null +++ b/code/modules/mob/living/carbon/give.html @@ -0,0 +1,2 @@ +code/modules/mob/living/carbon/give.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/give.dm

/datum/status_effect/offering_itemStatus effect given to mobs after they've offered an item to another player using the Give Item action (/datum/click_intercept/give).
/datum/click_intercept/giveWhile a mob has this intercept, left clicking on a carbon mob will attempt to offer their currently held item to that mob.
/atom/movable/screen/alert/take_itemAlert which appears for a user when another player is attempting to offer them an item. +The user can click the alert to accept, or simply do nothing to not take the item.
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/body_accessories.html b/code/modules/mob/living/carbon/human/body_accessories.html new file mode 100644 index 00000000000..e8b975d5d1d --- /dev/null +++ b/code/modules/mob/living/carbon/human/body_accessories.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/body_accessories.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/human/body_accessories.dm

/datum/body_accessory/tail/wingler_tailJay wingler fluff tail
/datum/body_accessory/tail/tinyPretty ambiguous as to what species it belongs to, tail could've been injured or docked.
/datum/body_accessory/tail/shortSame as above.
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human_emote.html b/code/modules/mob/living/carbon/human/human_emote.html new file mode 100644 index 00000000000..6bdeb7be0d2 --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_emote.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/human_emote.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/human/human_emote.dm

/datum/emote/living/carbon/human/monkeySnowflake emotes only for le epic chimp
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/physiology.html b/code/modules/mob/living/carbon/human/physiology.html new file mode 100644 index 00000000000..e62d942e567 --- /dev/null +++ b/code/modules/mob/living/carbon/human/physiology.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/physiology.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/human/physiology.dm

/datum/physiologyDatum that stores several modifiers in a way that isn't cleared by changing species
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/_species.html b/code/modules/mob/living/carbon/human/species/_species.html new file mode 100644 index 00000000000..2d0f9ff7aee --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/_species.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/species/_species.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/human/species/_species.dm

/proc/get_safe_speciesReturns a list of names of non-blacklisted or hazardous species.
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/diona_species.html b/code/modules/mob/living/carbon/human/species/diona_species.html new file mode 100644 index 00000000000..f0b18e8fd76 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/diona_species.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/species/diona_species.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/human/species/diona_species.dm

/datum/species/diona/podSame name and everything; we want the same limitations on them; we just want their regeneration to kick in at all times and them to have special factions
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/skeleton_species.html b/code/modules/mob/living/carbon/human/species/skeleton_species.html new file mode 100644 index 00000000000..aa7da9bb0c3 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/skeleton_species.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/species/skeleton_species.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/human/species/skeleton_species.dm

/datum/species/skeletonThe OG skellybones, quite OP. As of this comment, only available through ash-drake loot (2023-03-07)
/datum/species/skeleton/lichWizard subtype, subtype to allow balancing separately from other skellies
/datum/species/skeleton/brittleThe most common (and weakest) type, legion corpses and skeleton map spawners are these
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/superheroes.html b/code/modules/mob/living/carbon/superheroes.html new file mode 100644 index 00000000000..dd0e10d3e7a --- /dev/null +++ b/code/modules/mob/living/carbon/superheroes.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/superheroes.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/carbon/superheroes.dm

/datum/spell/recruitPOWERS/ABILITIES CODE
\ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/ai_programs.html b/code/modules/mob/living/silicon/ai/ai_programs.html new file mode 100644 index 00000000000..4099e133ad3 --- /dev/null +++ b/code/modules/mob/living/silicon/ai/ai_programs.html @@ -0,0 +1 @@ +code/modules/mob/living/silicon/ai/ai_programs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/silicon/ai/ai_programs.dm

/datum/ai_programThe base program type, which holds info about each ability.
\ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/software/pai_software_base.html b/code/modules/mob/living/silicon/pai/software/pai_software_base.html new file mode 100644 index 00000000000..1e49d7664de --- /dev/null +++ b/code/modules/mob/living/silicon/pai/software/pai_software_base.html @@ -0,0 +1 @@ +code/modules/mob/living/silicon/pai/software/pai_software_base.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/silicon/pai/software/pai_software_base.dm

/datum/pai_softwareDatum module for pAI software
\ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_modules.html b/code/modules/mob/living/silicon/robot/robot_modules.html new file mode 100644 index 00000000000..77e6574aa7e --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_modules.html @@ -0,0 +1 @@ +code/modules/mob/living/silicon/robot/robot_modules.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/silicon/robot/robot_modules.dm

/obj/item/gun/syringemalfMalf Syringe Gun
/datum/robot_storage
/datum/robot_storage/materialThis datum is an alternative to the energy storages, instead being recharged in different ways
\ No newline at end of file diff --git a/code/modules/mob/living/silicon/silicon_laws.html b/code/modules/mob/living/silicon/silicon_laws.html new file mode 100644 index 00000000000..daade3321b1 --- /dev/null +++ b/code/modules/mob/living/silicon/silicon_laws.html @@ -0,0 +1 @@ +code/modules/mob/living/silicon/silicon_laws.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/silicon/silicon_laws.dm

/proc/pick_unique_lawsetreturns a random non starting / kill crew lawset if the station has a unique ai lawset
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/bot/griefsky.html b/code/modules/mob/living/simple_animal/bot/griefsky.html new file mode 100644 index 00000000000..a23cdaed4bf --- /dev/null +++ b/code/modules/mob/living/simple_animal/bot/griefsky.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/bot/griefsky.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/bot/griefsky.dm

/mob/living/simple_animal/bot/secbot/griefskyThis bot is powerful. If you managed to get 4 eswords somehow, you deserve this horror. Emag him for best results.
/mob/living/simple_animal/bot/secbot/griefsky/toyA toy version of general griefsky!
\ No newline at end of file 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..a694f33afae --- /dev/null +++ b/code/modules/mob/living/simple_animal/constructs.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/constructs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/constructs.dm

/mob/living/simple_animal/hostile/construct/armouredJuggernaut
/mob/living/simple_animal/hostile/construct/armoured/hostileactually hostile, will move around, hit things
/mob/living/simple_animal/hostile/construct/wraithWraith
/mob/living/simple_animal/hostile/construct/wraith/hostileactually hostile, will move around, hit things
/mob/living/simple_animal/hostile/construct/wraith/hostile/bubblegumUsed in bubblegum summoning. Needs MOB_SIZE_LARGE so crushers don't suffer
/mob/living/simple_animal/hostile/construct/builderArtificer
/mob/living/simple_animal/hostile/construct/builder/hostileactually hostile, will move around, hit things, heal other constructs
/mob/living/simple_animal/hostile/construct/behemothBehemoth
/mob/living/simple_animal/hostile/construct/behemoth/hostileactually hostile, will move around, hit things
/mob/living/simple_animal/hostile/construct/harvesterHarvester
/mob/living/simple_animal/hostile/construct/harvester/hostileactually hostile, will move around, hit things
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/friendly/dog.html b/code/modules/mob/living/simple_animal/friendly/dog.html new file mode 100644 index 00000000000..a6da7adc3e9 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/dog.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/friendly/dog.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/friendly/dog.dm

/mob/living/simple_animal/pet/dog/corgi/puppy/voidTribute to the corgis born in nullspace
/mob/living/simple_animal/pet/dog/pugPugs
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/heretic_monsters.html b/code/modules/mob/living/simple_animal/hostile/heretic_monsters.html new file mode 100644 index 00000000000..8c4783a5b13 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/heretic_monsters.html @@ -0,0 +1,2 @@ +code/modules/mob/living/simple_animal/hostile/heretic_monsters.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/heretic_monsters.dm

/datum/ai_controller/basic_controller/rust_walkerConverts unconverted terrain, sprays pocket sand around
/datum/idle_behavior/idle_random_walk/rustMoves a lot if healthy and on rust (to find more tiles to rust) or unhealthy and not on rust (to find healing rust) +Still moving in random directions though we're not really seeking it out
/datum/ai_planning_subtree/use_mob_ability/rust_walkerUse if we're not stood on rust right now
/datum/ai_controller/basic_controller/stalkerChanges shape and lies in wait when it has no target, uses EMP and attacks once it does
/datum/ai_controller/basic_controller/raw_prophetWalk and attack people, blind them when we can
/mob/living/basic/heretic_summon/armsyThe "Terror of the Night" / Armsy, a large worm made of multiple bodyparts that occupies multiple tiles
\ No newline at end of file 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..2b88b4b97ae --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/illusion.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/illusion.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/illusion.dm

/mob/living/simple_animal/hostile/illusion/escapeActual Types
/mob/living/simple_animal/hostile/illusion/cultCult Illusions
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.html b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.html new file mode 100644 index 00000000000..0df7c81c760 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm

/obj/projectile/energy/tesla_boltLeaving here for adminbus / so vetus still uses it.
/obj/effect/temp_visual/dragon_swoop/bubblegum/ancient_robotthis is the worst path I have ever made
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.html b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.html new file mode 100644 index 00000000000..96a9393b9d5 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm

/obj/item/melee/energy/cleaving_saw/minernerfed saw because it is very murdery
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.html b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.html new file mode 100644 index 00000000000..81b461a20e8 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm

/obj/effect/temp_visual/hierophant/wallsmoothing and pooling were not friends, but pooling is dead.
/obj/effect/temp_visual/hierophant/chasera hierophant's chaser. follows target around, moving and producing a blast every speed deciseconds.
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.html b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.html new file mode 100644 index 00000000000..5f3a23952ba --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining/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:
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.html b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.html new file mode 100644 index 00000000000..b41bebe20f7 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining/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:
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.html b/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.html new file mode 100644 index 00000000000..08298ca8ebe --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining/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:
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.html b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.html new file mode 100644 index 00000000000..4e2db60de5d --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining/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:
\ No newline at end of file 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..abef9f30efd --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm

/obj/structure/alien/resin/flower_bud_enemyinheriting basic attack/damage stuff from alien structures
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/winter_mobs.html b/code/modules/mob/living/simple_animal/hostile/winter_mobs.html new file mode 100644 index 00000000000..7a47409c17c --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/winter_mobs.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/winter_mobs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/winter_mobs.dm

/mob/living/simple_animal/hostile/winter/santa/stage_1stage 1: slow melee
/mob/living/simple_animal/hostile/winter/santa/stage_2stage 2: slow ranged
/mob/living/simple_animal/hostile/winter/santa/stage_3stage 3: fast rapidfire ranged
/mob/living/simple_animal/hostile/winter/santa/stage_4stage 4: fast spinebreaker
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/slime/slime_emote.html b/code/modules/mob/living/simple_animal/slime/slime_emote.html new file mode 100644 index 00000000000..cbae9e57820 --- /dev/null +++ b/code/modules/mob/living/simple_animal/slime/slime_emote.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/slime/slime_emote.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/mob/living/simple_animal/slime/slime_emote.dm

MOOD_RESETSentinel value; passing this as mood sets mood to null.

Define Details

MOOD_RESET

Sentinel value; passing this as mood sets mood to null.

\ No newline at end of file diff --git a/code/modules/mob/mob_misc_procs.html b/code/modules/mob/mob_misc_procs.html new file mode 100644 index 00000000000..8be279acf40 --- /dev/null +++ b/code/modules/mob/mob_misc_procs.html @@ -0,0 +1 @@ +code/modules/mob/mob_misc_procs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/mob_misc_procs.dm

/proc/hit_zone_to_clothes_zoneConvert the impact zone of a projectile to a clothing zone we can do a contamination check on
/proc/shake_cameraShake the camera of the person viewing the mob SO REAL!
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/human/human_body_markings.html b/code/modules/mob/new_player/sprite_accessories/human/human_body_markings.html new file mode 100644 index 00000000000..0918f18c224 --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/human/human_body_markings.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/human/human_body_markings.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/human/human_body_markings.dm

/datum/sprite_accessory/body_markings/tattooTattoos applied post-round startup with tattoo guns in item_defines.dm
/datum/sprite_accessory/body_markings/tattoo/tiger_bodyYep, this is repeated. To be fixed later
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.html b/code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.html new file mode 100644 index 00000000000..44ba563cefb --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/human/human_facial_hair.dm

/datum/sprite_accessory/facial_hair/britstacheSTART VG HAIRSTYLES
/datum/sprite_accessory/facial_hair/muttonmusEND VG HAIRSTYLES
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/human/human_hair.html b/code/modules/mob/new_player/sprite_accessories/human/human_hair.html new file mode 100644 index 00000000000..8a8bb75d381 --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/human/human_hair.html @@ -0,0 +1,3 @@ +code/modules/mob/new_player/sprite_accessories/human/human_hair.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/human/human_hair.dm

/datum/sprite_accessory/hair/birdnestSTART VG HAIRSTYLES
/datum/sprite_accessory/hair/daveEND VG HAIRSTYLES//
/datum/sprite_accessory/hair/bun4Due to a vulp hairstyle called bun
/datum/sprite_accessory/hair/eighties_ponytail//END POLARIS HAIRSTYLES///
/datum/sprite_accessory/hair/fluff/pinapple_fluff_hairUme hairs end here/// +Fluff HairStyles// +Pineapple Salad hair fluff its for a slime..has to go under human
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/shared/shared_tail_markings.html b/code/modules/mob/new_player/sprite_accessories/shared/shared_tail_markings.html new file mode 100644 index 00000000000..f9bb1750f4c --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/shared/shared_tail_markings.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/shared/shared_tail_markings.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/shared/shared_tail_markings.dm

/datum/sprite_accessory/body_markings/tail/shared/short_tipSpecies-ambiguous, generic short tail.
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.html b/code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.html new file mode 100644 index 00000000000..a5aa7e078d6 --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/skrell/skrell_face.dm

/datum/sprite_accessory/hair/fluff/zeke_fluff_tentacleZeke Fluff hair
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.html b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.html new file mode 100644 index 00000000000..a2a15a1a88d --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_head_markings.dm

/datum/sprite_accessory/body_markings/head/tajara/muzzle_alt_tajCompanion marking for Tajaran Belly 2.
/datum/sprite_accessory/body_markings/head/tajara/points_tajCompanion marking for Tajaran Points.
/datum/sprite_accessory/body_markings/head/tajara/patchy_tajCompanion marking for Tajaran Patches.
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_tail_markings.html b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_tail_markings.html new file mode 100644 index 00000000000..f35c401cfdd --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_tail_markings.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_tail_markings.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/tajaran/tajaran_tail_markings.dm

/datum/sprite_accessory/body_markings/tail/tajara/taj_wingler_stripesTiger stripes.
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/unathi/unathi_head_markings.html b/code/modules/mob/new_player/sprite_accessories/unathi/unathi_head_markings.html new file mode 100644 index 00000000000..2867aa4ff6b --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/unathi/unathi_head_markings.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/unathi/unathi_head_markings.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/unathi/unathi_head_markings.dm

/datum/sprite_accessory/body_markings/head/unathi/banded_unaCompanion marking for Unathi Banded.
/datum/sprite_accessory/body_markings/head/unathi/snout_narrow_unaCompanion marking for Unathi Narrow Belly.
/datum/sprite_accessory/body_markings/head/unathi/points_unaCompanion marking for Unathi Points.
/datum/sprite_accessory/body_markings/head/unathi/sharp/snout_narrow_una_sharpCompanion marking for Unathi Narrow Belly.
\ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_head_markings.html b/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_head_markings.html new file mode 100644 index 00000000000..86b01c10c9c --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_head_markings.html @@ -0,0 +1 @@ +code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_head_markings.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mob/new_player/sprite_accessories/vulpkanin/vulpkanin_head_markings.dm

/datum/sprite_accessory/body_markings/head/vulpkanin/muzzle_vulpCompanion marking for Vulpkanin Belly Alt..
/datum/sprite_accessory/body_markings/head/vulpkanin/muzzle_ears_vulpCompanion marking for Vulpkanin Belly Alt..
/datum/sprite_accessory/body_markings/head/vulpkanin/points_fade_vulpCompanion marking for Vulpkanin Points Fade.
/datum/sprite_accessory/body_markings/head/vulpkanin/points_sharp_vulpCompanion marking for Vulpkanin Points Sharp.
\ No newline at end of file diff --git a/code/modules/mod/adding_new_mod.html b/code/modules/mod/adding_new_mod.html new file mode 100644 index 00000000000..3279e88a3ce --- /dev/null +++ b/code/modules/mod/adding_new_mod.html @@ -0,0 +1,273 @@ +code/modules/mod/adding_new_mod.md - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/adding_new_mod.md

Introduction

+

This is a step by step guide for creating a MODsuit theme, skin and module.

+

Theme

+

This is pretty simple, we go here and add a new definition, let's go with a Psychologist theme as an example.
+Their names should be like model names or use similar adjectives, like "magnate" or simply "engineering", so we'll go with "psychological".
+After that, it's good to decide what company is manufacturing the suit, and a basic description of what it offers, we'll write that down in the desc.
+So, let's our suit should be a low-power usage with lowered module capacity. We'd go with something like this.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+
+

For people that want to see additional stuff, we add an extended description with some more insight into what the suit does. We also set the default skin to usually the theme name, like so.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+
+

Next we want to set the statistics, you can view them all in the theme file, so let's just grab our relevant ones, armor, charge and capacity and set them to what we establilished.
+Currently crew MODsuits should be lightly armored in combat relevant stats.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+
+

Now we have a basic theme, it lacks a skin which will be covered in the next section, and an item, which we will add right now.
+Let's go into here. It's as simple as adding a new suit type with the appropriate modules you want.

+
/obj/item/mod/control/pre_equipped/psychological
+	theme = /datum/mod_theme/psychological
+	initial_modules = list(
+		/obj/item/mod/module/storage,
+		/obj/item/mod/module/flashlight,
+	)
+
+

This will create our psychological suit, equipped with a storage and flashlight modules by default. We might also want to make it craftable, in which case we go here and set this.

+
/obj/item/mod/construction/armor/psychological
+	theme = /datum/mod_theme/psychological
+
+

After that we put it in the techweb or whatever other source we want. Now our suit is almost ready, it just needs a skin.

+

Skin

+

So, now that we have our theme, we want to add a skin to it (or another theme of our choosing). Let's start with a basis.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	skins = list(
+		"psychological" = list(
+			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+			),
+			CHESTPLATE_FLAGS = list(
+			),
+			GAUNTLETS_FLAGS = list(
+			),
+			BOOTS_FLAGS = list(
+			),
+		),
+	)
+
+

We now have a psychological skin, this will apply the psychological icons to every part of the suit. Next we'll be looking at the flags. Boots, gauntlets and the chestplate are usually very standard, we set their thickmaterial and pressureproofness while hiding the jumpsuit on the chestplate. On the helmet however, we'll actually look at its' icon.
+For example, if our helmet's icon covers the full head (like the research skin), we want to do something like this.

+
			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+
+

Otherwise, with an open helmet that becomes closed (like the engineering skin), we'd do this.

+
			HELMET_LAYER = NECK_LAYER,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+
+

There are specific cases of helmets that semi-cover the head, like the cosmohonk, apocryphal and whatnot. You can look at these for more specific suits. So let's say our suit is an open helmet design, and also add an alternate skin with a closed helmet called psychotherapeutic. It'd look something like this.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	skins = list(
+		"psychological" = list(
+			HELMET_LAYER = NECK_LAYER,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		"psychotherapeutic" = list(
+			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		),
+	)
+
+

Thus we finished our codeside. Now we go to the icon files for the suits and simply add our new skin's icons.
+Now our suit is finished. But let's say we want to give it an unique module.

+

Module

+

So, for our psychological suit, let's say we want a module that heals the brain damage of everyone in range.
+As it's a medical module, we'll put it here. Let's start with the object definition.

+
/obj/item/mod/module/neuron_healer
+	name = "MOD neuron healer module"
+	desc = "A module made experimentally by DeForest Medical Corporation. On demand it releases waves \
+		that heal neuron damage of everyone nearby, getting their brains to a better state."
+	icon_state = "neuron_healer"
+
+

As we want this effect to be on demand, we probably want this to be an usable module. There are four types of modules:

+
    +
  • Passive: These have a passive effect.
  • +
  • Togglable: You can turn these on and off.
  • +
  • Usable: You can use these for a one time effect.
  • +
  • Active: You can only have one selected at a time. It gives you a special click effect.
  • +
+

As we have an usable module, we want to set a cooldown time. All modules are also incompatible with themselves, have a specific power cost and complexity varying on how powerful they are, so let's update our definition, and also add a new variable for how much brain damage we'll heal.

+
/obj/item/mod/module/neuron_healer
+	name = "MOD neuron healer module"
+	desc = "A module made experimentally by DeForest Medical Corporation. On demand it releases waves \
+		that heal neuron damage of everyone nearby, getting their brains to a better state."
+	icon_state = "neuron_healer"
+	module_type = MODULE_USABLE
+	complexity = 3
+	use_power_cost = DEFAULT_CHARGE_DRAIN
+	incompatible_modules = list(/obj/item/mod/module/neuron_healer)
+	cooldown_time = 15 SECONDS
+	var/brain_damage_healed = 25
+
+

Now, we want to override the on_use proc for our new effect. We want to make sure the use checks passed from parent. You can read about most procs and variables by reading this

+
/obj/item/mod/module/neuron_healer/on_use()
+	. = ..()
+	if(!.)
+		return
+
+

After this, we want to put our special code, a basic effect of healing all mobs nearby for their brain damage and creating a beam to them.

+
/obj/item/mod/module/neuron_healer/on_use()
+	. = ..()
+	if(!.)
+		return
+	for(var/mob/living/carbon/carbon_mob in range(5, src))
+		if(carbon_mob == mod.wearer)
+			continue
+		carbon_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -brain_damage_healed)
+		mod.wearer.Beam(carbon_mob, icon_state = "plasmabeam", time = 1.5 SECONDS)
+	playsound(src, 'sound/effects/magic.ogg', 100, TRUE)
+	drain_power(use_power_cost)
+
+

We now have a basic module, we can add it to the techwebs to make it printable ingame, and we can add an inbuilt, advanced version of it for our psychological suit. We'll give it more healing power, no complexity and make it unremovable.

+
/obj/item/mod/module/neuron_healer/advanced
+	name = "MOD advanced neuron healer module"
+	complexity = 0
+	brain_damage_healed = 50
+
+

Now we want to add it to the psychological theme, which is very simple, finishing with this:

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	inbuilt_modules = list(/obj/item/mod/module/neuron_healer/advanced)
+	skins = list(
+		"psychological" = list(
+			HELMET_LAYER = NECK_LAYER,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		"psychotherapeutic" = list(
+			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		),
+	)
+
+

Ending

+

This finishes this hopefully easy to follow along tutorial. You should now know how to make a basic theme, a skin for it, and a module.

\ No newline at end of file diff --git a/code/modules/mod/mod_construction.html b/code/modules/mod/mod_construction.html new file mode 100644 index 00000000000..1c0ac79e2f6 --- /dev/null +++ b/code/modules/mod/mod_construction.html @@ -0,0 +1 @@ +code/modules/mod/mod_construction.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/mod_construction.dm

/obj/item/mod/construction/plating/rescueI want to add a way to get the rarer modsuit types, that is limited. A low chance for traders to have plating for it seems interesting
/obj/item/mod/construction/plating/safeguardContinued from above, none of these are steal objectives, and only the CE or RD one comes pre-installed with modules. You are getting the protection / speed / looks of these hardsuits, but no special modules.
/obj/item/mod/construction/plating/advancedThis may be a bad idea. I think this is an interesting idea. And you still need robotics to build it, and traders can charge as much for it as they want. Also with ones like the CE modsuit, it is the flagship mod. That means it is sold a lot.
/obj/item/mod/construction/plating/researchDon't think people will want the RD one though, it is as slow as shit. Anyway, here it is. Surely this will not end poorly.
\ No newline at end of file diff --git a/code/modules/mod/mod_control.html b/code/modules/mod/mod_control.html new file mode 100644 index 00000000000..7409678e297 --- /dev/null +++ b/code/modules/mod/mod_control.html @@ -0,0 +1 @@ +code/modules/mod/mod_control.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/mod_control.dm

/obj/item/modMODsuits, trade-off between armor and utility
\ No newline at end of file diff --git a/code/modules/mod/mod_core.html b/code/modules/mod/mod_core.html new file mode 100644 index 00000000000..632f134e846 --- /dev/null +++ b/code/modules/mod/mod_core.html @@ -0,0 +1 @@ +code/modules/mod/mod_core.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/mod_core.dm

/obj/item/mod/core/infiniteAdmin only.
\ No newline at end of file diff --git a/code/modules/mod/mod_link.html b/code/modules/mod/mod_link.html new file mode 100644 index 00000000000..757904c80f7 --- /dev/null +++ b/code/modules/mod/mod_link.html @@ -0,0 +1 @@ +code/modules/mod/mod_link.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/mod_link.dm

/datum/mod_linkA MODlink datum, used to handle unique functions that will be used in the MODlink call.
/datum/mod_link_callA MODlink call datum, used to handle the call between two MODlinks.
\ No newline at end of file diff --git a/code/modules/mod/mod_theme.html b/code/modules/mod/mod_theme.html new file mode 100644 index 00000000000..8f76f6c05b6 --- /dev/null +++ b/code/modules/mod/mod_theme.html @@ -0,0 +1 @@ +code/modules/mod/mod_theme.dm - Space Station 13
Space Station 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.
/datum/mod_theme/standardWe don't want the civilian skin to apply to all modsuits, that causes issues.
/obj/item/mod/armor/mod_theme_responsoryThis has no slowdown active, and no variation between levels. I am ASSUMING this will be gamma only.
/obj/item/mod/armor/mod_theme_administrativeconsidering this should not be used, it's getting just DS armor, not infinity in everything.
\ No newline at end of file diff --git a/code/modules/mod/mod_types.html b/code/modules/mod/mod_types.html new file mode 100644 index 00000000000..10043912ff3 --- /dev/null +++ b/code/modules/mod/mod_types.html @@ -0,0 +1 @@ +code/modules/mod/mod_types.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/mod_types.dm

/obj/item/mod/control/pre_equipped/mining/vendorvisit robotics.
/obj/item/mod/control/pre_equipped/mining/asteroidThe asteroid skin, as that one looks more space worthy / older. Good for space ruins.
/obj/item/mod/control/pre_equipped/responsory/inquisitoryDiffrent look, as well as magic proof. It's perfect for inqusitors. Or if you want to give your ERT a fancy look. At this time, the other ones are unused, and frankly I don't like the idea of antimagic gamma.
\ No newline at end of file diff --git a/code/modules/mod/modules/_modules.html b/code/modules/mod/modules/_modules.html new file mode 100644 index 00000000000..71223f8ea28 --- /dev/null +++ b/code/modules/mod/modules/_modules.html @@ -0,0 +1 @@ +code/modules/mod/modules/_modules.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/_modules.dm

/obj/item/mod/moduleMOD Module - A special device installed in a MODsuit allowing the suit to do new stuff.
/obj/item/mod/module/anomaly_lockedAnomaly Locked - Causes the module to not function without an anomaly.
\ No newline at end of file diff --git a/code/modules/mod/modules/module_kinesis.html b/code/modules/mod/modules/module_kinesis.html new file mode 100644 index 00000000000..fac38f659a7 --- /dev/null +++ b/code/modules/mod/modules/module_kinesis.html @@ -0,0 +1 @@ +code/modules/mod/modules/module_kinesis.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/module_kinesis.dm

/obj/item/mod/module/anomaly_locked/kinesisKinesis - Gives you the ability to move and launch objects.
\ No newline at end of file diff --git a/code/modules/mod/modules/module_pathfinder.html b/code/modules/mod/modules/module_pathfinder.html new file mode 100644 index 00000000000..9266df1a270 --- /dev/null +++ b/code/modules/mod/modules/module_pathfinder.html @@ -0,0 +1 @@ +code/modules/mod/modules/module_pathfinder.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/module_pathfinder.dm

/obj/item/mod/module/pathfinderPathfinder - Can fly the suit from a long distance to an implant installed in someone.
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_antag.html b/code/modules/mod/modules/modules_antag.html new file mode 100644 index 00000000000..7f33baeded6 --- /dev/null +++ b/code/modules/mod/modules/modules_antag.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_antag.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/modules_antag.dm

/obj/item/mod/module/armor_boosterArmor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.
/obj/item/mod/module/insigniaInsignia - Gives you a skin specific stripe.
/obj/item/mod/module/noslipAnti Slip - Prevents you from slipping on water.
/obj/item/mod/module/power_kickPower kick - Lets the user launch themselves at someone to kick them.
/obj/item/mod/module/plate_compressionPlate Compression - Compresses the suit to normal size
/obj/item/mod/module/stealthCloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.
/obj/item/mod/module/status_readoutStatus Readout - Puts a lot of information including health, nutrition, fingerprints, temperature to the suit TGUI.
/obj/item/mod/module/ert_cameraCamera Module - Puts a camera in the modsuit that the ERT commander can see
/obj/item/mod/module/chameleonChameleon - lets the suit disguise as any item that would fit on that slot.
/obj/item/mod/module/energy_shieldEnergy Shield - Gives you a rechargeable energy shield that nullifies attacks.
/obj/item/mod/module/anti_magicMagic Nullifier - Protects you from magic.
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_engineering.html b/code/modules/mod/modules/modules_engineering.html new file mode 100644 index 00000000000..0ec8727092f --- /dev/null +++ b/code/modules/mod/modules/modules_engineering.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_engineering.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

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/rad_protectionRadiation Protection - Gives the user rad info in the ui, currently
/obj/item/mod/module/tetherEmergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it.
EXTINGUISHERAtmos water tank module

Define Details

EXTINGUISHER

Atmos water tank module

\ No newline at end of file diff --git a/code/modules/mod/modules/modules_general.html b/code/modules/mod/modules/modules_general.html new file mode 100644 index 00000000000..e26c1724ea7 --- /dev/null +++ b/code/modules/mod/modules/modules_general.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_general.dm - Space Station 13
Space Station 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/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/thermal_regulatorThermal Regulator - Regulates the wearer's core temperature.
/obj/item/mod/module/plasma_stabilizerPlasma Stabilizer - Prevents plasmamen from igniting in the suit
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_maint.html b/code/modules/mod/modules/modules_maint.html new file mode 100644 index 00000000000..4ba726ec351 --- /dev/null +++ b/code/modules/mod/modules/modules_maint.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_maint.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/modules_maint.dm

/obj/item/mod/module/springlockSpringlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.
/obj/item/mod/module/balloonBalloon Blower - Blows a balloon.
/obj/item/mod/module/stampStamper - Extends a stamp that can switch between accept/deny modes.
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_medical.html b/code/modules/mod/modules/modules_medical.html new file mode 100644 index 00000000000..a6f1bd33d0c --- /dev/null +++ b/code/modules/mod/modules/modules_medical.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_medical.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/modules_medical.dm

/obj/item/mod/module/injectorInjector - Gives the suit an extendable large-capacity piercing syringe.
/obj/item/mod/module/defibrillatorDefibrillator - Gives the suit an extendable pair of shock paddles.
/obj/item/mod/module/analyzerHealth Analyzer - Gives the suit an extendable health analyzer, able to be upgraded
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_science.html b/code/modules/mod/modules/modules_science.html new file mode 100644 index 00000000000..ec4cca48dc2 --- /dev/null +++ b/code/modules/mod/modules/modules_science.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_science.dm - Space Station 13
Space Station 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/teleporterTeleporter - Lets the user teleport to a nearby location.
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_security.html b/code/modules/mod/modules/modules_security.html new file mode 100644 index 00000000000..6b2f59b1db3 --- /dev/null +++ b/code/modules/mod/modules/modules_security.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_security.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/modules_security.dm

/obj/item/mod/module/holsterHolster - Instantly holsters any not huge gun.
/obj/item/mod/module/dispenser/mirageMirage grenade dispenser - Dispenses grenades that copy the user's appearance.
/mob/living/simple_animal/hostile/illusion/mirageIt's just standing there, menacingly
/obj/item/mod/module/active_sonarActive Sonar - Displays a hud circle on the turf of any living creatures in the given radius
/obj/item/mod/module/anomaly_locked/firewallFirewall. Deployable dropwall that lights projectiles on fire.
/obj/item/mod/module/anomaly_locked/vortex_shotgunVortex arm mounted shotgun. Fucks up reality in front of it, very power draining. Compeating with the vortex arm and stealth armor after all
/obj/item/mod/module/anomaly_locked/cryogrenadeCryogrenade. Freezes foes in place, cools them
/obj/item/mod/module/dispenser/smokeSmoke Grenade Module, its tacticool.
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_service.html b/code/modules/mod/modules/modules_service.html new file mode 100644 index 00000000000..ed7c3291285 --- /dev/null +++ b/code/modules/mod/modules/modules_service.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_service.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/modules_service.dm

/obj/item/mod/module/bikehornBike Horn - Plays a bike horn sound.
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_supply.html b/code/modules/mod/modules/modules_supply.html new file mode 100644 index 00000000000..c7c8a464aaa --- /dev/null +++ b/code/modules/mod/modules/modules_supply.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_supply.dm - Space Station 13
Space Station 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.
/obj/item/mod/module/orebagOre Bag - Lets you pick up ores and drop them from the suit.
\ No newline at end of file diff --git a/code/modules/mod/modules/modules_visor.html b/code/modules/mod/modules/modules_visor.html new file mode 100644 index 00000000000..2da8ac1a9cf --- /dev/null +++ b/code/modules/mod/modules/modules_visor.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_visor.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/mod/modules/modules_visor.dm

/obj/item/mod/module/visorBase Visor - Adds a specific HUD and traits to you.
\ No newline at end of file diff --git a/code/modules/newscaster/newsfeed_datums.html b/code/modules/newscaster/newsfeed_datums.html new file mode 100644 index 00000000000..3683fb4d5d6 --- /dev/null +++ b/code/modules/newscaster/newsfeed_datums.html @@ -0,0 +1 @@ +code/modules/newscaster/newsfeed_datums.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/newscaster/newsfeed_datums.dm

/datum/feed_networkSingleton that contains all informations related to newscasters (channels, stories).
/datum/feed_messageDescribes a single feed story. Always owned by a /datum/feed_channel.
/datum/feed_channelDescribes a single feed channel. Owns a list of /datum/feed_message.
\ No newline at end of file diff --git a/code/modules/newscaster/obj/newscaster.html b/code/modules/newscaster/obj/newscaster.html new file mode 100644 index 00000000000..faf8539870f --- /dev/null +++ b/code/modules/newscaster/obj/newscaster.html @@ -0,0 +1 @@ +code/modules/newscaster/obj/newscaster.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/newscaster/obj/newscaster.dm

/obj/machinery/newscasterFor all of the crew's news need. Includes reading, submitting and printing stories.
\ No newline at end of file diff --git a/code/modules/newscaster/obj/newspaper.html b/code/modules/newscaster/obj/newspaper.html new file mode 100644 index 00000000000..478667f9e56 --- /dev/null +++ b/code/modules/newscaster/obj/newspaper.html @@ -0,0 +1 @@ +code/modules/newscaster/obj/newspaper.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/newscaster/obj/newspaper.dm

/obj/item/newspaperA newspaper displaying the stories of all channels contained within.
\ No newline at end of file diff --git a/code/modules/paperwork/filingcabinet.html b/code/modules/paperwork/filingcabinet.html new file mode 100644 index 00000000000..1ef7e2719c4 --- /dev/null +++ b/code/modules/paperwork/filingcabinet.html @@ -0,0 +1 @@ +code/modules/paperwork/filingcabinet.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/paperwork/filingcabinet.dm

/obj/structure/filingcabinet/filingcabinetnot changing the path to avoid unecessary map issues, but please don't name stuff like this in the future -Pete
\ No newline at end of file diff --git a/code/modules/paperwork/photocopier.html b/code/modules/paperwork/photocopier.html new file mode 100644 index 00000000000..5d5b3021863 --- /dev/null +++ b/code/modules/paperwork/photocopier.html @@ -0,0 +1 @@ +code/modules/paperwork/photocopier.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/paperwork/photocopier.dm

MAX_COPIES_PRINTABLEGlobal limit on copied papers and photos, bundles are counted as a sum of their parts

Define Details

MAX_COPIES_PRINTABLE

Global limit on copied papers and photos, bundles are counted as a sum of their parts

\ No newline at end of file diff --git a/code/modules/paperwork/photography.html b/code/modules/paperwork/photography.html new file mode 100644 index 00000000000..542e4a38999 --- /dev/null +++ b/code/modules/paperwork/photography.html @@ -0,0 +1,3 @@ +code/modules/paperwork/photography.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/paperwork/photography.dm

/obj/item/camera_filmfilm
/obj/item/photophoto
/obj/item/storage/photo_albumphoto album
/obj/item/cameracamera
/obj/item/camera/digitaldigital camera
CAMERA_STATE_COOLDOWNvideo camera +The amount of time after being turned off that the camera is too hot to turn back on.

Define Details

CAMERA_STATE_COOLDOWN

video camera +The amount of time after being turned off that the camera is too hot to turn back on.

\ No newline at end of file diff --git a/code/modules/paperwork/silicon_photography.html b/code/modules/paperwork/silicon_photography.html new file mode 100644 index 00000000000..8d2c73ee950 --- /dev/null +++ b/code/modules/paperwork/silicon_photography.html @@ -0,0 +1 @@ +code/modules/paperwork/silicon_photography.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/paperwork/silicon_photography.dm

/datum/pictureAI-specific
/obj/item/camera/siliconcam/ai_cameracamera AI can take pictures with
/obj/item/camera/siliconcam/robot_cameracamera cyborgs can take pictures with
/obj/item/camera/siliconcam/drone_cameracurrently doesn't offer the verbs, thus cannot be used
\ No newline at end of file diff --git a/code/modules/pda/cart.html b/code/modules/pda/cart.html new file mode 100644 index 00000000000..31cbdb6c843 --- /dev/null +++ b/code/modules/pda/cart.html @@ -0,0 +1 @@ +code/modules/pda/cart.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/pda/cart.dm

/obj/item/cartridge/syndicate/nuclearneeded subtype so regular traitors can't open and close nuclear shuttle doors
\ No newline at end of file diff --git a/code/modules/power/apc/apc.html b/code/modules/power/apc/apc.html new file mode 100644 index 00000000000..5e617793197 --- /dev/null +++ b/code/modules/power/apc/apc.html @@ -0,0 +1 @@ +code/modules/power/apc/apc.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/apc/apc.dm

/obj/machinery/power/apc/worn_out
/obj/machinery/power/apc/off_stationAPC type used for when you don't want the power alarm on the APC to show up on AI reports
/obj/machinery/power/apc/off_station/empty_chargeAPCs used for ruins, this version also starts devoid of a charge
/obj/machinery/power/apc/syndicategeneral syndicate access
/obj/machinery/power/apc/reinforcedCan handle any amount of power. Made with plasteel frames and is found in maints and other high power areas.
\ No newline at end of file diff --git a/code/modules/power/cables/cable.html b/code/modules/power/cables/cable.html new file mode 100644 index 00000000000..09d2fb9ffba --- /dev/null +++ b/code/modules/power/cables/cable.html @@ -0,0 +1 @@ +code/modules/power/cables/cable.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/cables/cable.dm

/obj/structure/cable/extra_insulatedVariant for high power carrying. insulated by default
/obj/structure/cable/extra_insulated/pre_connectA pre unlocked bridge cable for mapping
\ No newline at end of file diff --git a/code/modules/power/cell.html b/code/modules/power/cell.html new file mode 100644 index 00000000000..a06bc426360 --- /dev/null +++ b/code/modules/power/cell.html @@ -0,0 +1 @@ +code/modules/power/cell.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/cell.dm

/obj/item/stock_parts/cell/energy_gun/pulse200 pulse shots
/obj/item/stock_parts/cell/energy_gun/pulse/carbine25 pulse shots
/obj/item/stock_parts/cell/energy_gun/pulse/pistol10 pulse shots
/obj/item/stock_parts/cell/emproof/reactiveEMP proof so emp_act does not double dip.
\ No newline at end of file diff --git a/code/modules/power/engines/fission/gas_node.html b/code/modules/power/engines/fission/gas_node.html new file mode 100644 index 00000000000..e5c92571819 --- /dev/null +++ b/code/modules/power/engines/fission/gas_node.html @@ -0,0 +1 @@ +code/modules/power/engines/fission/gas_node.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/power/engines/fission/gas_node.dm

MINIMUM_MOLESthe minimum amount of moles we transfer, regardless of pressure on the other side.

Define Details

MINIMUM_MOLES

the minimum amount of moles we transfer, regardless of pressure on the other side.

\ No newline at end of file diff --git a/code/modules/power/engines/fission/nuclear_rods.html b/code/modules/power/engines/fission/nuclear_rods.html new file mode 100644 index 00000000000..5b5d15dd5d8 --- /dev/null +++ b/code/modules/power/engines/fission/nuclear_rods.html @@ -0,0 +1 @@ +code/modules/power/engines/fission/nuclear_rods.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/engines/fission/nuclear_rods.dm

/obj/item/nuclear_rod/coolantMARK: Coolant Rods
\ No newline at end of file diff --git a/code/modules/power/engines/fission/reactor.html b/code/modules/power/engines/fission/reactor.html new file mode 100644 index 00000000000..ef539d35f73 --- /dev/null +++ b/code/modules/power/engines/fission/reactor.html @@ -0,0 +1 @@ +code/modules/power/engines/fission/reactor.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/power/engines/fission/reactor.dm

TOTAL_CONTROL_RODSThe max number of control rods.
MIN_CHAMBERS_TO_OVERLOADThe amount of connected chambers required before the overload is valid
EVENT_MODIFIERMultiplies the commonality of dangerous events.
HEAT_CAPthe highest temp before we artificially cap it
AVERAGE_HEAT_THRESHOLDThe threshold the average heat-per-rod must exceed to generate coefficient.
TOTAL_HEAT_THRESHOLDThe temp (in K) needed to begin generating coefficient.
HEAT_CONVERSION_RATIOHow much heat over the threshold = an extra coefficient point.
REACTIVITY_COEFFICIENT_CAPThe highest that reactivity coefficient can be
WARNING_POINTBegin sending warning messages
EMERGENCY_POINTBegin sending warning messages over common
MELTDOWN_POINTThe damage cap where meltdown occurs. higher = longer to meltdown
NGCR_COUNTDOWN_TIMEHow long the meltdown countdown lasts
WARNING_DELAYTime in deciseconds between warnings
HEAT_DAMAGE_RATEThe rate at which damage increases due to heat
MOL_MINIMUMThe amount of mols of gas needed before it begins to take damage while operational
PRESSURE_MAXIMUMThe highest safe pressure allowed by the reactor
PRESSURE_DAMAGEThe minimum damage caused by overpresurization
DAMAGE_MINIMUMThe minimum amount of damage done when taking any damage
DAMAGE_MAXIMUMThe highest amount of damage done when taking damage
MOL_DAMAGE_MULTIPLIERAn adjuster for damage balance from no gas
HEAT_DAMAGE_MULTIPLIERAn adjuster for damage balance from high heat
EXPLOSION_MODIFIERAdjusts the size of the engine explosion
MOLE_BONUS_THRESHOLDThe minimum number of moles needed to begin accruing multiplier.
MOLE_BONUS_COMPONENTHow many moles are required for one "unit" of modifier increase. Used in the math calculation.
N2_OVERHEAT_BONUSThe overheat threshold bonus that N2 coolant provides
N2_EVENT_MODIFIERThe negative event chance from N2.
N2O_OVERHEAT_BONUSThe overheat threshold bonus that N2O coolant provides
N2O_EVENT_MODIFIERThe negative event chance from N2O.
CO2_EVENT_MODIFIERThe negative event chance from CO2.
O2_EVENT_MODIFIERThe POSITIVE event chance from O2.
O2_REACTIVITY_BONUSThe highest amount of reactivity that O2 coolant provides
PLASMA_REACTIVITY_BONUSThe highest amount of reactivity that plasma coolant provides
PLASMA_OVERHEAT_BONUSThe overheat threshold bonus that plasma coolant provides

Define Details

AVERAGE_HEAT_THRESHOLD

The threshold the average heat-per-rod must exceed to generate coefficient.

CO2_EVENT_MODIFIER

The negative event chance from CO2.

DAMAGE_MAXIMUM

The highest amount of damage done when taking damage

DAMAGE_MINIMUM

The minimum amount of damage done when taking any damage

EMERGENCY_POINT

Begin sending warning messages over common

EVENT_MODIFIER

Multiplies the commonality of dangerous events.

EXPLOSION_MODIFIER

Adjusts the size of the engine explosion

HEAT_CAP

the highest temp before we artificially cap it

HEAT_CONVERSION_RATIO

How much heat over the threshold = an extra coefficient point.

HEAT_DAMAGE_MULTIPLIER

An adjuster for damage balance from high heat

HEAT_DAMAGE_RATE

The rate at which damage increases due to heat

MELTDOWN_POINT

The damage cap where meltdown occurs. higher = longer to meltdown

MIN_CHAMBERS_TO_OVERLOAD

The amount of connected chambers required before the overload is valid

MOLE_BONUS_COMPONENT

How many moles are required for one "unit" of modifier increase. Used in the math calculation.

MOLE_BONUS_THRESHOLD

The minimum number of moles needed to begin accruing multiplier.

MOL_DAMAGE_MULTIPLIER

An adjuster for damage balance from no gas

MOL_MINIMUM

The amount of mols of gas needed before it begins to take damage while operational

N2O_EVENT_MODIFIER

The negative event chance from N2O.

N2O_OVERHEAT_BONUS

The overheat threshold bonus that N2O coolant provides

N2_EVENT_MODIFIER

The negative event chance from N2.

N2_OVERHEAT_BONUS

The overheat threshold bonus that N2 coolant provides

NGCR_COUNTDOWN_TIME

How long the meltdown countdown lasts

O2_EVENT_MODIFIER

The POSITIVE event chance from O2.

O2_REACTIVITY_BONUS

The highest amount of reactivity that O2 coolant provides

PLASMA_OVERHEAT_BONUS

The overheat threshold bonus that plasma coolant provides

PLASMA_REACTIVITY_BONUS

The highest amount of reactivity that plasma coolant provides

PRESSURE_DAMAGE

The minimum damage caused by overpresurization

PRESSURE_MAXIMUM

The highest safe pressure allowed by the reactor

REACTIVITY_COEFFICIENT_CAP

The highest that reactivity coefficient can be

TOTAL_CONTROL_RODS

The max number of control rods.

TOTAL_HEAT_THRESHOLD

The temp (in K) needed to begin generating coefficient.

WARNING_DELAY

Time in deciseconds between warnings

WARNING_POINT

Begin sending warning messages

\ No newline at end of file diff --git a/code/modules/power/engines/fission/reactor_machines.html b/code/modules/power/engines/fission/reactor_machines.html new file mode 100644 index 00000000000..4263b1512e8 --- /dev/null +++ b/code/modules/power/engines/fission/reactor_machines.html @@ -0,0 +1 @@ +code/modules/power/engines/fission/reactor_machines.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/power/engines/fission/reactor_machines.dm

DEFAULT_OPERATION_TIMEThe base amount of time needed to craft an item
/obj/machinery/nuclear_centrifugeMARK: Centrifuge

Define Details

DEFAULT_OPERATION_TIME

The base amount of time needed to craft an item

\ No newline at end of file diff --git a/code/modules/power/engines/fission/rod_chamber.html b/code/modules/power/engines/fission/rod_chamber.html new file mode 100644 index 00000000000..13a48ed8db0 --- /dev/null +++ b/code/modules/power/engines/fission/rod_chamber.html @@ -0,0 +1 @@ +code/modules/power/engines/fission/rod_chamber.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/power/engines/fission/rod_chamber.dm

CHAMBER_HEAT_DAMAGEHow much damage reactor chambers do when on.

Define Details

CHAMBER_HEAT_DAMAGE

How much damage reactor chambers do when on.

\ No newline at end of file diff --git a/code/modules/power/engines/singularity/narsie.html b/code/modules/power/engines/singularity/narsie.html new file mode 100644 index 00000000000..b6b66b8e150 --- /dev/null +++ b/code/modules/power/engines/singularity/narsie.html @@ -0,0 +1 @@ +code/modules/power/engines/singularity/narsie.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/engines/singularity/narsie.dm

/obj/singularity/narsieMoving narsie to a child object of the singularity so it can be made to function differently. --NEO
\ No newline at end of file diff --git a/code/modules/power/engines/singularity/singulogen.html b/code/modules/power/engines/singularity/singulogen.html new file mode 100644 index 00000000000..773c49d3753 --- /dev/null +++ b/code/modules/power/engines/singularity/singulogen.html @@ -0,0 +1 @@ +code/modules/power/engines/singularity/singulogen.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/engines/singularity/singulogen.dm

/obj/machinery/the_singularitygenSINGULARITY SPAWNER
\ No newline at end of file diff --git a/code/modules/power/engines/supermatter/supermatter.html b/code/modules/power/engines/supermatter/supermatter.html new file mode 100644 index 00000000000..0cef9cee9e3 --- /dev/null +++ b/code/modules/power/engines/supermatter/supermatter.html @@ -0,0 +1 @@ +code/modules/power/engines/supermatter/supermatter.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/power/engines/supermatter/supermatter.dm

EVENT_POWER_PENALTY_THRESHOLDThe cutoff for the minimum amount of power required to trigger the crystal invasion delamination event.
SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWNto prevent accent sounds from layering
SUPERMATTER_COLOURColours used for effects.
/obj/machinery/atmospherics/supermatter_crystal/shard/hugbox/fakecrystalHugbox shard with crystal visuals, used in the Supermatter/Hyperfractal shuttle

Define Details

EVENT_POWER_PENALTY_THRESHOLD

The cutoff for the minimum amount of power required to trigger the crystal invasion delamination event.

SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWN

to prevent accent sounds from layering

SUPERMATTER_COLOUR

Colours used for effects.

\ No newline at end of file diff --git a/code/modules/power/engines/tesla/energy_ball.html b/code/modules/power/engines/tesla/energy_ball.html new file mode 100644 index 00000000000..b9bc0f15aa4 --- /dev/null +++ b/code/modules/power/engines/tesla/energy_ball.html @@ -0,0 +1 @@ +code/modules/power/engines/tesla/energy_ball.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/engines/tesla/energy_ball.dm

/obj/singularity/energy_ballThe Tesla engine
\ No newline at end of file diff --git a/code/modules/power/exterior_lights.html b/code/modules/power/exterior_lights.html new file mode 100644 index 00000000000..c7649b92c48 --- /dev/null +++ b/code/modules/power/exterior_lights.html @@ -0,0 +1,4 @@ +code/modules/power/exterior_lights.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/exterior_lights.dm

/obj/machinery/light/exteriorExterior lights use the powernet of the wall they're installed on, +not the tile they're placed on. This allows them to be in a different +area than the area that powers them, making it possible to have a light +"outside" a structure that shares its power state.
\ No newline at end of file diff --git a/code/modules/power/generators/turbine.html b/code/modules/power/generators/turbine.html new file mode 100644 index 00000000000..f15cd0e6196 --- /dev/null +++ b/code/modules/power/generators/turbine.html @@ -0,0 +1 @@ +code/modules/power/generators/turbine.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/power/generators/turbine.dm

COMPFRICTIONMultiplies the friction of the compressor
COMP_MOMENT_OF_INERTIACompressor's moment of inertia in kg * m^2
RPM_TO_RAD_PER_SECONDConvert RPM to radians per second(SI angular velocity units)
COMPRESSOR_HEAT_CAPACITYCompressors heat capacity in J / K
THERMAL_EFF_TEMP_CURVEChanges the scaling of thermal efficiency with temperature. Lower value means faster scaling
COMPRESSION_RPM_CURVEChanges the scaling of compression ratio with RPM. Lower value means faster scaling
KINETIC_TO_ELECTRICThe portion of the kinetic energy converted to electrical
COMPRESSION_RATIO_MAXThe maximum compression ratio of the turbine
THERMAL_EFF_COMPRESSION_CURVEScales the effect of compresion ratio on thermal efficiency
THERMAL_EFF_PART_BASEThe base value we add values dervied from componenet ratings to for thermal efficiency scaling. higher value means lesser effect of parts
POWER_EFF_PART_BASEThe base value we add values dervied from componenet ratings to for power efficiency. higher value means lesser effect of parts
THERMAL_EFF_MAXMaximum possible thermal efficiency
BEARING_DAMAGE_MAXAmount of damage at which the turbine catastrophically fails
BEARING_DAMAGE_BASE_THRESHOLDThe temperature at which the bearings start taking damage
BEARING_DAMAGE_SCALINGScales the damage taken by the bearings. Higher value means less damage.
BEARING_DAMAGE_FRICTIONFriction from bearing damage
FAILURE_MESSAGEMessage send upon catastrphic failure
FAIILRE_RPM_EXPLOSION_THRESHOLDRPM at which the turbine explodes upon failing
MAX_ENERGY_PORTIONThe maximum portion of the compressor's kinetic energy the turbine can harvest each tick

Define Details

BEARING_DAMAGE_BASE_THRESHOLD

The temperature at which the bearings start taking damage

BEARING_DAMAGE_FRICTION

Friction from bearing damage

BEARING_DAMAGE_MAX

Amount of damage at which the turbine catastrophically fails

BEARING_DAMAGE_SCALING

Scales the damage taken by the bearings. Higher value means less damage.

COMPFRICTION

Multiplies the friction of the compressor

COMPRESSION_RATIO_MAX

The maximum compression ratio of the turbine

COMPRESSION_RPM_CURVE

Changes the scaling of compression ratio with RPM. Lower value means faster scaling

COMPRESSOR_HEAT_CAPACITY

Compressors heat capacity in J / K

COMP_MOMENT_OF_INERTIA

Compressor's moment of inertia in kg * m^2

FAIILRE_RPM_EXPLOSION_THRESHOLD

RPM at which the turbine explodes upon failing

FAILURE_MESSAGE

Message send upon catastrphic failure

KINETIC_TO_ELECTRIC

The portion of the kinetic energy converted to electrical

MAX_ENERGY_PORTION

The maximum portion of the compressor's kinetic energy the turbine can harvest each tick

POWER_EFF_PART_BASE

The base value we add values dervied from componenet ratings to for power efficiency. higher value means lesser effect of parts

RPM_TO_RAD_PER_SECOND

Convert RPM to radians per second(SI angular velocity units)

THERMAL_EFF_COMPRESSION_CURVE

Scales the effect of compresion ratio on thermal efficiency

THERMAL_EFF_MAX

Maximum possible thermal efficiency

THERMAL_EFF_PART_BASE

The base value we add values dervied from componenet ratings to for thermal efficiency scaling. higher value means lesser effect of parts

THERMAL_EFF_TEMP_CURVE

Changes the scaling of thermal efficiency with temperature. Lower value means faster scaling

\ No newline at end of file diff --git a/code/modules/power/lights.html b/code/modules/power/lights.html new file mode 100644 index 00000000000..211b7424983 --- /dev/null +++ b/code/modules/power/lights.html @@ -0,0 +1 @@ +code/modules/power/lights.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/lights.dm

/obj/machinery/light_constructIncomplete light tube fixture
/obj/machinery/light_construct/clockworkIncomplete brass light tube fixture
/obj/machinery/light_construct/smallIncomplete light bulb fixture
/obj/machinery/lightThe standard light tube fixture
/obj/machinery/light/smallThe smaller light bulb fixture
/obj/item/lightMARK: Light item
/obj/item/light/tubeFor use in an empty /obj/machinery/light
/obj/item/light/bulbFor use in an empty /obj/machinery/light/small
\ No newline at end of file diff --git a/code/modules/power/powernets.html b/code/modules/power/powernets.html new file mode 100644 index 00000000000..e231dc9a770 --- /dev/null +++ b/code/modules/power/powernets.html @@ -0,0 +1,78 @@ +code/modules/power/powernets/README.md - Space Station 13
Space Station 13 - Modules - Types

Understanding Powernets

Much like any other massive numbers system in SS13, the power (or powernet) system is complex and confusing to work with, only being trumped in complexity by atmospherics/LINDA. This README serves as a powernets 101 guide and breaks down how the system works.

+

Two Types of Powernets

+

There are two types of powernets in our code

+
    +
  1. Regional Powernets
  2. +
  3. Local Powernets
  4. +
+

They are two completely different datum types from eachother and serve different completely different purposes. In a nutshell, regional powernets are dynamically sized and deal with physical machinery, cables, and generators whereas local powernets are statically locked into a single area each and work directly with APCs to handle individual machines interactions with the larger regional powernet.

+

Regional Powernet

+

An inter-area datum which handles 1 continuous set of cables (var/list/cables) and all the connected machinery/nodes on that set of cable (var/list/nodes).

+

On this datum you'll notice a lot of different vars handling power input, output, consumption, demand, etc

+

Regional Powernet Process Call Stack

+

Starting in SSmachines, +/datum/controller/subsystem/machines/fire(resumed = 0) +the fire() proc will call process process_powernets() +/datum/controller/subsystem/machines/proc/process_powernets(resumed = 0) +This proc will then call process_power() on every single registered regional powernet

+

The Power Variables

+

var/available_power - the currently available power in the powernet in watts THIS PROCESS CYCLE +var/power_demand - the power being consumed from available power in watts THIS PROCESS CYCLE

+

var/queued_power_production - the power in watts that will be available to be consumed in the NEXT PROCESS CYCLE +--> All power producing generators dump their production into this variable +var/queued_power_demand - the power in watts that will be guaranteed to be consumed in the NEXT PROCESS CYCLE +--> Anything machine/item that needs to have priority consumption draws from the queue'd cycle first in order to ensure it gets priority power (electrocution, powersinks, etc)

+

Local Powernets

+

This is a power datum that is locked to an area. There is only one local powernet datum per area which handles all power tracking/consumption +in that area. Every area will be initialized with a local powernet datum either by the area itself or if a machine intializes before the area does.

+

The Static/Passive Power System

+

Powernets used to iterate through every machine to check power, while this is incredibly accurate and straightforward, we don't really need to +iterate through every machine (there are 1000's) since most of those machines will never change how much power they consume during their entire +lifetime except to maybe change power states. So we made the Static/Passive power system which only tracks machine power on the local powernet +so that we only have to iterate through the powernets instead of their machines.

+
/* Passive consumption vars, only change when machines are added/removed from the powernet (not if the power channel turns on/off) */
+/// The amount of power consumed by equipment in every power cycle
+VAR_PRIVATE/passive_equipment_consumption = 0
+/// The amount of power consumed by lighting in every power cycle
+VAR_PRIVATE/passive_lighting_consumption = 0
+/// The amount of power consumed by environment in every power cycle
+VAR_PRIVATE/passive_environment_consumption = 0
+
+

Using adjust_static_power(), it's possible to change these variables by inputting a channel and an amount to change the static power by. +Due to the lack of tracking the machines and their current consumption on the local net (by design), we need to be very particular about +how we're changing static power so we're maintaining perfect parity.

+

On Machine types, we have unsafe private setter procs that faciliate static power changes on machines

+
/// Helper proc to positively adjust static power tracking on the machine's powernet, not meant for general use!
+/obj/machinery/proc/_add_static_power(channel, amount)
+	PRIVATE_PROC(TRUE)
+	machine_powernet?.adjust_static_power(channel, amount)
+
+/// Helper proc to negatively adjust static power tracking on the machine's powernet, not meant for general use!
+/obj/machinery/proc/_remove_static_power(channel, amount)
+	PRIVATE_PROC(TRUE)
+	machine_powernet?.adjust_static_power(channel, -amount)
+
+

These setter procs are called both in Initialize() to set the initial power and by the helper procs we have in machines. Coders should not be +using _add_static_power or _remove_static_power ever unless they're changing how power functions on the base machine type. Instead you should +be using the safe helper procs below!

+
/// Safely changes the static power on the local powernet based on an adjustment in idle power
+/obj/machinery/proc/update_idle_power_consumption(channel = power_channel, amount)
+	if(!power_initialized)
+		return FALSE // we set static power values in Initialize(), do not update static consumption until after initialization or you will get weird values on powernet
+	if(power_state == IDLE_POWER_USE)
+		machine_powernet.adjust_static_power(power_channel, amount - idle_power_consumption)
+	idle_power_consumption = amount
+
+/// Safely changes the static power on the local powernet based on an adjustment in active power
+/obj/machinery/proc/update_active_power_consumption(channel = power_channel, amount)
+	if(!power_initialized)
+		return FALSE // we set static power values in Initialize(), do not update static consumption until after initialization or you will get weird values on powernet
+	if(power_state == ACTIVE_POWER_USE)
+		machine_powernet.adjust_static_power(power_channel, amount - active_power_consumption)
+	active_power_consumption = amount
+
+

These allow you to safely set how much power a machine will use when it's "Active" or "Idle," and the procs will handle changing the static +power for you. That way you never have to worry about losing parity when you're just trying to make your new machine consume power.

+

As a note: you should never be manually setting power consumption variables in code, this is a really quick way to get funky number on your +powernet. So for example don't edit power_state, idle_power_consumption, or active_power_consumption; Use their respective setter procs +that are already defined on /machinery!

\ No newline at end of file diff --git a/code/modules/power/powernets/local_powernet.html b/code/modules/power/powernets/local_powernet.html new file mode 100644 index 00000000000..8ffbd5ea873 --- /dev/null +++ b/code/modules/power/powernets/local_powernet.html @@ -0,0 +1,2 @@ +code/modules/power/powernets/local_powernet.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/powernets/local_powernet.dm

/datum/local_powernetManages all power related mechanics for a single /area +Machines in areas will directly register to this datum in order to receive power
\ No newline at end of file diff --git a/code/modules/power/powernets/powernet_helpers.html b/code/modules/power/powernets/powernet_helpers.html new file mode 100644 index 00000000000..7d311b58fb7 --- /dev/null +++ b/code/modules/power/powernets/powernet_helpers.html @@ -0,0 +1 @@ +code/modules/power/powernets/powernet_helpers.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/power/powernets/powernet_helpers.dm

/proc/propagate_networkremove the old powernet and replace it with a new one throughout the network.
\ No newline at end of file diff --git a/code/modules/power/smes.html b/code/modules/power/smes.html new file mode 100644 index 00000000000..81972772390 --- /dev/null +++ b/code/modules/power/smes.html @@ -0,0 +1 @@ +code/modules/power/smes.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/power/smes.dm

SMESRATEConversion ratio between a Watt-tick and SMES capacity units (should be the same as power cells)

Define Details

SMESRATE

Conversion ratio between a Watt-tick and SMES capacity units (should be the same as power cells)

\ No newline at end of file diff --git a/code/modules/procedural_mapping/mapGenerators/syndicate_mapgen.html b/code/modules/procedural_mapping/mapGenerators/syndicate_mapgen.html new file mode 100644 index 00000000000..788f9898c6b --- /dev/null +++ b/code/modules/procedural_mapping/mapGenerators/syndicate_mapgen.html @@ -0,0 +1 @@ +code/modules/procedural_mapping/mapGenerators/syndicate_mapgen.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/procedural_mapping/mapGenerators/syndicate_mapgen.dm

/datum/map_generator/syndicate/emptywalls and floor only
\ No newline at end of file diff --git a/code/modules/projectiles/ammunition/energy_lens.html b/code/modules/projectiles/ammunition/energy_lens.html new file mode 100644 index 00000000000..32239821622 --- /dev/null +++ b/code/modules/projectiles/ammunition/energy_lens.html @@ -0,0 +1 @@ +code/modules/projectiles/ammunition/energy_lens.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/ammunition/energy_lens.dm

/obj/item/ammo_casing/energy/laser/cyborgto balance cyborg energy cost seperately
/obj/item/ammo_casing/energy/disabler/cyborgseperate balancing for cyborg, again
/obj/item/ammo_casing/energy/emitter/cyborg/protoneeded a slightly weaker ranged option to give to Safety Overriden borgs. The fire rate is about the same as an emitter if you put it on the ground.
\ No newline at end of file diff --git a/code/modules/projectiles/ammunition/magazines.html b/code/modules/projectiles/ammunition/magazines.html new file mode 100644 index 00000000000..c12fe64a805 --- /dev/null +++ b/code/modules/projectiles/ammunition/magazines.html @@ -0,0 +1 @@ +code/modules/projectiles/ammunition/magazines.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/ammunition/magazines.dm

/obj/item/ammo_box/magazine/internalINTERNAL MAGAZINES
/obj/item/ammo_box/magazine/m10mmEXTERNAL MAGAZINES
/obj/item/ammo_box/magazine/laser/ertUsed by red ERT. Keeps the size for them
\ No newline at end of file diff --git a/code/modules/projectiles/firing.html b/code/modules/projectiles/firing.html new file mode 100644 index 00000000000..2e3ce2db552 --- /dev/null +++ b/code/modules/projectiles/firing.html @@ -0,0 +1 @@ +code/modules/projectiles/firing.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/firing.dm

/proc/calculate_projectile_angle_and_pixel_offsetsCalculates the pixel offsets and angle that a projectile should be launched at.
\ No newline at end of file diff --git a/code/modules/projectiles/guns/medbeam.html b/code/modules/projectiles/guns/medbeam.html new file mode 100644 index 00000000000..bb7b838557f --- /dev/null +++ b/code/modules/projectiles/guns/medbeam.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/medbeam.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/guns/medbeam.dm

/obj/item/gun/medbeam/mechMech Version
\ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/revolver.html b/code/modules/projectiles/guns/projectile/revolver.html new file mode 100644 index 00000000000..542125be460 --- /dev/null +++ b/code/modules/projectiles/guns/projectile/revolver.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/projectile/revolver.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/guns/projectile/revolver.dm

/obj/item/gun/projectile/revolver/syndieSyndicate .357, same as the basetype except it can be customised
/obj/item/gun/projectile/revolver/charons_specialSpecial revolver found in the vulpkanin ship lavaland ruin
/obj/item/gun/projectile/revolver/fingergunSummoned by the Finger Gun spell, from advanced mimery traitor item
\ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/shotgun.html b/code/modules/projectiles/guns/projectile/shotgun.html new file mode 100644 index 00000000000..2339b3ddf37 --- /dev/null +++ b/code/modules/projectiles/guns/projectile/shotgun.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/projectile/shotgun.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/guns/projectile/shotgun.dm

/obj/item/gun/projectile/shotgun/riotfor spawn in the armory
/obj/item/gun/projectile/shotgun/automatic/combat/cyborgService Malfunction Borg Combat Shotgun Variant
\ No newline at end of file diff --git a/code/modules/projectiles/guns/syringe_gun.html b/code/modules/projectiles/guns/syringe_gun.html new file mode 100644 index 00000000000..04867401268 --- /dev/null +++ b/code/modules/projectiles/guns/syringe_gun.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/syringe_gun.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/guns/syringe_gun.dm

/obj/item/gun/syringe/rapidsyringe/preloadedVersion that comes pre-loaded with a given amount of syringes.
/obj/item/gun/syringe/rapidsyringe/preloaded/halfVersion that comes loaded with half of the standard amount of syringes. Used in the uplink.
/obj/item/gun/syringe/rapidsyringe/preloaded/beaker_blasterFor shenanigans. This is essentially an RSG that never needs to be refilled with syringes.
/obj/item/gun/syringe/blowguncraftable bamboo syringe gun
\ No newline at end of file diff --git a/code/modules/projectiles/projectile/bullets.html b/code/modules/projectiles/projectile/bullets.html new file mode 100644 index 00000000000..47e5f539c40 --- /dev/null +++ b/code/modules/projectiles/projectile/bullets.html @@ -0,0 +1 @@ +code/modules/projectiles/projectile/bullets.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/projectiles/projectile/bullets.dm

/obj/projectile/bullet/weakbulletbeanbag, heavy stamina damage
/obj/projectile/bullet/stunshottaser slugs for shotguns, nothing special
/obj/projectile/bullet/mime/fake...Rather a large amount of stamina damage. Used in the mime mecha
\ No newline at end of file diff --git a/code/modules/projectiles/projectile_base.html b/code/modules/projectiles/projectile_base.html new file mode 100644 index 00000000000..f3194ad0b7c --- /dev/null +++ b/code/modules/projectiles/projectile_base.html @@ -0,0 +1 @@ +code/modules/projectiles/projectile_base.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/projectiles/projectile_base.dm

MOVES_HITSCANIs this a hitscan projectile or not, if so move like one
MUZZLE_EFFECT_PIXEL_INCREMENTHow many pixels to move the muzzle flash up so your character doesn't look like they're shitting out lasers.

Define Details

MOVES_HITSCAN

Is this a hitscan projectile or not, if so move like one

MUZZLE_EFFECT_PIXEL_INCREMENT

How many pixels to move the muzzle flash up so your character doesn't look like they're shitting out lasers.

\ No newline at end of file diff --git a/code/modules/reagents/chemistry/chemical_reaction.html b/code/modules/reagents/chemistry/chemical_reaction.html new file mode 100644 index 00000000000..4cee1c394c4 --- /dev/null +++ b/code/modules/reagents/chemistry/chemical_reaction.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/chemical_reaction.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/chemical_reaction.dm

/proc/goonchem_vortexThrows or pulls objects to/from a chem reaction
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/admin_reagents.html b/code/modules/reagents/chemistry/reagents/admin_reagents.html new file mode 100644 index 00000000000..77964a3c6cc --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/admin_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/admin_reagents.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/admin_reagents.dm

/datum/reagent/medicine/adminordrazineAn OP chemical for admins
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/alcohol.html b/code/modules/reagents/chemistry/reagents/alcohol.html new file mode 100644 index 00000000000..a6afd9e7040 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/alcohol.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/alcohol.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/alcohol.dm

/datum/reagent/consumable/ethanol/suiciderotherwise known as "I want to get so smashed my liver gives out and I die from alcohol poisoning".
/datum/reagent/consumable/ethanol/bilkcocktail entities
/datum/reagent/consumable/ethanol/dragons_breathinaccessible to players, but here for admin shennanigans
/datum/reagent/consumable/ethanol/bacchus_blessingAn EXTREMELY powerful drink. Smashed in seconds, dead in minutes.
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.html b/code/modules/reagents/chemistry/reagents/blob_reagents.html new file mode 100644 index 00000000000..72022423d92 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/blob_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/blob_reagents.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/blob_reagents.dm

/datum/reagent/blob/ripping_tendrilsdoes brute and a little stamina damage
/datum/reagent/blob/boiling_oilsets you on fire, does burn damage
/datum/reagent/blob/envenomed_filamentstoxin, hallucination, and some bonus spore toxin
/datum/reagent/blob/lexorin_jellydoes tons of oxygen damage and a little brute
/datum/reagent/blob/kineticdoes semi-random brute damage
/datum/reagent/blob/cryogenic_liquiddoes low burn damage and stamina damage and cools targets down
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/drugs.html b/code/modules/reagents/chemistry/reagents/drugs.html new file mode 100644 index 00000000000..beaaf476638 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/drugs.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/drugs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/drugs.dm

/datum/reagent/rotatiumRotatium. Fucks up your rotation and is hilarious
/proc/phase_filterThis filter proc makes a visual effect where the object is split into fragments, with vertical lines cut out of them. It will appear as 2 seperate things are made of the one object that was cut out
/datum/reagent/lube/conductiveUsed to test if an IPC is a mindflayer or not
\ No newline at end of file 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..c060b7de530 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/food_reagents.html @@ -0,0 +1,2 @@ +code/modules/reagents/chemistry/reagents/food_reagents.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/food_reagents.dm

/datum/reagent/consumableFood Reagents
/datum/reagent/consumable/nutrimentPure nutriment, universally digestable and thus slightly less effective
/datum/reagent/consumable/nutriment/proteinMeat-based protein, digestable by carnivores and omnivores, worthless to herbivores
/datum/reagent/consumable/nutriment/plantmatterPlant-based biomatter, digestable by herbivores and omnivores, worthless to carnivores
/datum/reagent/questionmarkFood Related, but non-nutritious +food poisoning
/datum/reagent/vomitVomit
/datum/reagent/consumable/entpolyLavaland Flora Reagents
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/medicine.html b/code/modules/reagents/chemistry/reagents/medicine.html new file mode 100644 index 00000000000..393b4d32d03 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/medicine.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/medicine.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/medicine.dm

/datum/reagent/medicine/syndicate_nanitesUsed exclusively by Syndicate medical cyborgs
/datum/reagent/medicine/earthsbloodCreated by ambrosia gaia plants
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/misc_reagents.html b/code/modules/reagents/chemistry/reagents/misc_reagents.html new file mode 100644 index 00000000000..5d47e815759 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/misc_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/misc_reagents.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/misc_reagents.dm

/datum/reagent/jestosteroneFormerly known as Nitrogen tungstide hypochlorite before NT fired the chemists for trying to be funny
/datum/reagent/plantnutrientHydroponics stuff
/datum/reagent/eyenewtAlchemical Reagents
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/toxins.html b/code/modules/reagents/chemistry/reagents/toxins.html new file mode 100644 index 00000000000..cde45797b34 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/toxins.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/toxins.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/toxins.dm

/datum/reagent/beer2disguised as normal beer for use by emagged service borgs
/datum/reagent/pestkillerTo-Do; make this more realistic.
/datum/reagent/tesliumTeslium. Causes periodic shocks, and makes shocks against the target much more effective.
/datum/reagent/teslium/blobThis version has it's shocks much less frequently, while retaining the shock multiplier
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/water.html b/code/modules/reagents/chemistry/reagents/water.html new file mode 100644 index 00000000000..b7a9139f2a9 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/water.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/water.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/water.dm

/datum/reagent/fuel/unholywaterif you somehow managed to extract this from someone, dont splash it on yourself and have a smoke
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents_datum.html b/code/modules/reagents/chemistry/reagents_datum.html new file mode 100644 index 00000000000..6c509be1bef --- /dev/null +++ b/code/modules/reagents/chemistry/reagents_datum.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents_datum.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents_datum.dm

/proc/fire_flash_logFlashfire is a proc used to log fire causing chemical reactions.
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents_holder.html b/code/modules/reagents/chemistry/reagents_holder.html new file mode 100644 index 00000000000..3f5b523185a --- /dev/null +++ b/code/modules/reagents/chemistry/reagents_holder.html @@ -0,0 +1,2 @@ +code/modules/reagents/chemistry/reagents_holder.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents_holder.dm

/datum/reagentsThe holder is the datum that holds a list of all reagents +currently in the object.
/proc/get_unrestricted_random_reagent_idReturns a random reagent ID, with real non blacklisted balance boosting action!
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/food_reactions.html b/code/modules/reagents/chemistry/recipes/food_reactions.html new file mode 100644 index 00000000000..13503731576 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/food_reactions.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/recipes/food_reactions.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/recipes/food_reactions.dm

/datum/chemical_reaction/cookiedoughCookies by Ume
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.html b/code/modules/reagents/chemistry/recipes/pyrotechnics.html new file mode 100644 index 00000000000..8d19da4dc41 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/recipes/pyrotechnics.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/recipes/pyrotechnics.dm

/datum/chemical_reaction/phlogiston_fireThis MUST be above the smoke recipe.
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/toxins_reactions.html b/code/modules/reagents/chemistry/recipes/toxins_reactions.html new file mode 100644 index 00000000000..fb35b3bf287 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/toxins_reactions.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/recipes/toxins_reactions.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/chemistry/recipes/toxins_reactions.dm

/datum/chemical_reaction/pestkillerTo-Do make this more realistic
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/applicator.html b/code/modules/reagents/reagent_containers/applicator.html new file mode 100644 index 00000000000..28e775c392f --- /dev/null +++ b/code/modules/reagents/reagent_containers/applicator.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/applicator.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/applicator.dm

/obj/item/reagent_containers/applicator/dual/syndiIt magically goes through hardsuits. Don't ask how.
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/chemical_bottle.html b/code/modules/reagents/reagent_containers/chemical_bottle.html new file mode 100644 index 00000000000..ad00540c13e --- /dev/null +++ b/code/modules/reagents/reagent_containers/chemical_bottle.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/chemical_bottle.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/chemical_bottle.dm

/obj/item/reagent_containers/glass/bottle/traitorTraitor Poison Bottle
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/dropper.html b/code/modules/reagents/reagent_containers/dropper.html new file mode 100644 index 00000000000..e911945e08c --- /dev/null +++ b/code/modules/reagents/reagent_containers/dropper.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/dropper.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/dropper.dm

/obj/item/reagent_containers/dropperDroppers.
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/glass_containers.html b/code/modules/reagents/reagent_containers/glass_containers.html new file mode 100644 index 00000000000..e41c061bf76 --- /dev/null +++ b/code/modules/reagents/reagent_containers/glass_containers.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/glass_containers.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/glass_containers.dm

/obj/item/reagent_containers/glass(Mixing)Glass.
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/hypospray.html b/code/modules/reagents/reagent_containers/hypospray.html new file mode 100644 index 00000000000..2f7390f49a7 --- /dev/null +++ b/code/modules/reagents/reagent_containers/hypospray.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/hypospray.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/hypospray.dm

/obj/item/reagent_containers/hyposprayMARK: HYPOSPRAY
/obj/item/reagent_containers/hypospray/autoinjector/teporonebasilisks
/obj/item/reagent_containers/hypospray/autoinjector/stimpackgoliath kiting
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/iv_bag.html b/code/modules/reagents/reagent_containers/iv_bag.html new file mode 100644 index 00000000000..f687e4be11f --- /dev/null +++ b/code/modules/reagents/reagent_containers/iv_bag.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/iv_bag.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/iv_bag.dm

/obj/item/reagent_containers/iv_bag/bloodDon't use this - just an abstract type to allow blood bags to have a common blood_type var for ease of creation.
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/pill.html b/code/modules/reagents/reagent_containers/pill.html new file mode 100644 index 00000000000..a2b84e288f3 --- /dev/null +++ b/code/modules/reagents/reagent_containers/pill.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/pill.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/pill.dm

/obj/item/reagent_containers/pillA swallowable pill. Can be dissolved in reagent containers.
\ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/spray.html b/code/modules/reagents/reagent_containers/spray.html new file mode 100644 index 00000000000..4e6d0969d77 --- /dev/null +++ b/code/modules/reagents/reagent_containers/spray.html @@ -0,0 +1,2 @@ +code/modules/reagents/reagent_containers/spray.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/reagents/reagent_containers/spray.dm

/obj/item/reagent_containers/spray/plantbgonePlant-B-Gone +-- Skie
/obj/item/reagent_containers/spray/sticky_tarSticky tar spray
\ No newline at end of file diff --git a/code/modules/recycling/belt-placer.html b/code/modules/recycling/belt-placer.html new file mode 100644 index 00000000000..c4615e43247 --- /dev/null +++ b/code/modules/recycling/belt-placer.html @@ -0,0 +1 @@ +code/modules/recycling/belt-placer.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/recycling/belt-placer.dm

/obj/item/storage/conveyorStores conveyor belts, click floor to make belt, use a conveyor switch on this to link all belts to that lever.
\ No newline at end of file diff --git a/code/modules/redis/redis_callback.html b/code/modules/redis/redis_callback.html new file mode 100644 index 00000000000..26b5f99b980 --- /dev/null +++ b/code/modules/redis/redis_callback.html @@ -0,0 +1 @@ +code/modules/redis/redis_callback.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/redis/redis_callback.dm

/datum/redis_callbackCallback datum for subscribed redis channel handling
\ No newline at end of file diff --git a/code/modules/redis/redis_message.html b/code/modules/redis/redis_message.html new file mode 100644 index 00000000000..ee57fa5ac2d --- /dev/null +++ b/code/modules/redis/redis_message.html @@ -0,0 +1 @@ +code/modules/redis/redis_message.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/redis/redis_message.dm

/datum/redis_messageHolder datum for redis messages
\ No newline at end of file diff --git a/code/modules/research/backup_console.html b/code/modules/research/backup_console.html new file mode 100644 index 00000000000..4c5db34421a --- /dev/null +++ b/code/modules/research/backup_console.html @@ -0,0 +1 @@ +code/modules/research/backup_console.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/backup_console.dm

/obj/machinery/computer/rnd_backupR&D backup console - just saves tech levels
\ No newline at end of file diff --git a/code/modules/research/designs.html b/code/modules/research/designs.html new file mode 100644 index 00000000000..7b898900eb2 --- /dev/null +++ b/code/modules/research/designs.html @@ -0,0 +1 @@ +code/modules/research/designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs.dm

/datum/design
\ No newline at end of file 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..75f28b4c289 --- /dev/null +++ b/code/modules/research/designs/AI_module_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/AI_module_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/AI_module_designs.dm

/datum/design/freeform_moduleAI Module Disks
\ No newline at end of file diff --git a/code/modules/research/designs/autolathe_designs.html b/code/modules/research/designs/autolathe_designs.html new file mode 100644 index 00000000000..b29cec33fa1 --- /dev/null +++ b/code/modules/research/designs/autolathe_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/autolathe_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/autolathe_designs.dm

/datum/design/bucketAutolathe Designs
\ No newline at end of file diff --git a/code/modules/research/designs/biogenerator_designs.html b/code/modules/research/designs/biogenerator_designs.html new file mode 100644 index 00000000000..f486bfb1bca --- /dev/null +++ b/code/modules/research/designs/biogenerator_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/biogenerator_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/biogenerator_designs.dm

/datum/design/milkBiogenerator Designs
\ No newline at end of file diff --git a/code/modules/research/designs/bluespace_designs.html b/code/modules/research/designs/bluespace_designs.html new file mode 100644 index 00000000000..aad70bd8872 --- /dev/null +++ b/code/modules/research/designs/bluespace_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/bluespace_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/bluespace_designs.dm

/datum/design/bluespace_crystalBluespace
\ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs.html b/code/modules/research/designs/comp_board_designs.html new file mode 100644 index 00000000000..49772c79131 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/comp_board_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/comp_board_designs.dm

/datum/design/aicoreComputer Boards
\ No newline at end of file diff --git a/code/modules/research/designs/equipment_designs.html b/code/modules/research/designs/equipment_designs.html new file mode 100644 index 00000000000..b7b398a4bce --- /dev/null +++ b/code/modules/research/designs/equipment_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/equipment_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/equipment_designs.dm

/datum/design/exwelderEquipment
\ No newline at end of file diff --git a/code/modules/research/designs/janitorial_designs.html b/code/modules/research/designs/janitorial_designs.html new file mode 100644 index 00000000000..a51f38b6993 --- /dev/null +++ b/code/modules/research/designs/janitorial_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/janitorial_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/janitorial_designs.dm

/datum/design/advmopJanitorial Designs
\ No newline at end of file diff --git a/code/modules/research/designs/machine_designs.html b/code/modules/research/designs/machine_designs.html new file mode 100644 index 00000000000..9cf9adc625a --- /dev/null +++ b/code/modules/research/designs/machine_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/machine_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/machine_designs.dm

/datum/design/thermomachineMachine Boards
\ No newline at end of file diff --git a/code/modules/research/designs/mecha_designs.html b/code/modules/research/designs/mecha_designs.html new file mode 100644 index 00000000000..03764b72aed --- /dev/null +++ b/code/modules/research/designs/mecha_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/mecha_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/mecha_designs.dm

/datum/design/ripley_mainMecha Module Disks
\ No newline at end of file diff --git a/code/modules/research/designs/mechfabricator_designs.html b/code/modules/research/designs/mechfabricator_designs.html new file mode 100644 index 00000000000..9949778d1d0 --- /dev/null +++ b/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/mechfabricator_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/mechfabricator_designs.dm

/datum/design/borg_suitMecha Designs
\ No newline at end of file diff --git a/code/modules/research/designs/medical_designs.html b/code/modules/research/designs/medical_designs.html new file mode 100644 index 00000000000..826bc8143ad --- /dev/null +++ b/code/modules/research/designs/medical_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/medical_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/medical_designs.dm

/datum/design/reagent_scannerMedical Tools
/datum/design/cyberimp_weldingCybernetic Implants
/datum/design/bio_chip_padRegular Implants
\ No newline at end of file diff --git a/code/modules/research/designs/mining_designs.html b/code/modules/research/designs/mining_designs.html new file mode 100644 index 00000000000..fb5039a562b --- /dev/null +++ b/code/modules/research/designs/mining_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/mining_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/mining_designs.dm

/datum/design/drillMining
\ No newline at end of file diff --git a/code/modules/research/designs/misc_designs.html b/code/modules/research/designs/misc_designs.html new file mode 100644 index 00000000000..8aa080ff2d2 --- /dev/null +++ b/code/modules/research/designs/misc_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/misc_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/misc_designs.dm

/datum/design/design_diskMisc Designs
\ No newline at end of file diff --git a/code/modules/research/designs/modsuit_designs.html b/code/modules/research/designs/modsuit_designs.html new file mode 100644 index 00000000000..f87ffb33896 --- /dev/null +++ b/code/modules/research/designs/modsuit_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/modsuit_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/modsuit_designs.dm

/datum/design/mod_shellMOD
\ No newline at end of file diff --git a/code/modules/research/designs/power_designs.html b/code/modules/research/designs/power_designs.html new file mode 100644 index 00000000000..07e6e0dd1b7 --- /dev/null +++ b/code/modules/research/designs/power_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/power_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/power_designs.dm

/datum/design/basic_cellPower Designs
\ No newline at end of file diff --git a/code/modules/research/designs/smelting_designs.html b/code/modules/research/designs/smelting_designs.html new file mode 100644 index 00000000000..0a7c45fa3a3 --- /dev/null +++ b/code/modules/research/designs/smelting_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/smelting_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/smelting_designs.dm

/datum/design/smelterSMELTABLE ALLOYS
\ No newline at end of file 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..daa7f86abd5 --- /dev/null +++ b/code/modules/research/designs/stock_parts_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/stock_parts_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/stock_parts_designs.dm

/datum/design/basic_capacitorStock Parts
\ No newline at end of file diff --git a/code/modules/research/designs/telecomms_designs.html b/code/modules/research/designs/telecomms_designs.html new file mode 100644 index 00000000000..d042195d87c --- /dev/null +++ b/code/modules/research/designs/telecomms_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/telecomms_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/telecomms_designs.dm

/datum/design/telecomms_coreTelecomms Equipment
\ No newline at end of file diff --git a/code/modules/research/designs/weapon_designs.html b/code/modules/research/designs/weapon_designs.html new file mode 100644 index 00000000000..64f6d2a08be --- /dev/null +++ b/code/modules/research/designs/weapon_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/weapon_designs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/designs/weapon_designs.dm

/datum/design/nuclear_gunWeapons
\ No newline at end of file diff --git a/code/modules/research/research.html b/code/modules/research/research.html new file mode 100644 index 00000000000..23905e2e447 --- /dev/null +++ b/code/modules/research/research.html @@ -0,0 +1 @@ +code/modules/research/research.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/research.dm

/datum/research
/datum/research/autolathe/gammaGamma Armoury autolathe files
/datum/tech
/datum/tech/toxinsnot meant to be raised by deconstruction, do not give objects toxins as an origin_tech
\ No newline at end of file diff --git a/code/modules/research/xenobiology/xenobiology.html b/code/modules/research/xenobiology/xenobiology.html new file mode 100644 index 00000000000..1aa5e7e6255 --- /dev/null +++ b/code/modules/research/xenobiology/xenobiology.html @@ -0,0 +1 @@ +code/modules/research/xenobiology/xenobiology.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/research/xenobiology/xenobiology.dm

/obj/item/slime_extractSlime Extracts
/obj/item/slimepotionSlime-derived potions
\ No newline at end of file diff --git a/code/modules/response_team/ert_outfits.html b/code/modules/response_team/ert_outfits.html new file mode 100644 index 00000000000..afad9bc43ad --- /dev/null +++ b/code/modules/response_team/ert_outfits.html @@ -0,0 +1 @@ +code/modules/response_team/ert_outfits.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/response_team/ert_outfits.dm

/datum/outfit/job/response_team/commanderCOMMANDER
/datum/outfit/job/response_team/securitySECURITY
/datum/outfit/job/response_team/engineerENGINEER
/datum/outfit/job/response_team/medicMEDIC
/datum/outfit/job/response_team/paranormalPARANORMAL
/datum/outfit/job/response_team/janitorialJANITORIAL
\ No newline at end of file diff --git a/code/modules/ruins/lavalandruin_code/dead_ratvar.html b/code/modules/ruins/lavalandruin_code/dead_ratvar.html new file mode 100644 index 00000000000..fccc95aeffe --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/dead_ratvar.html @@ -0,0 +1 @@ +code/modules/ruins/lavalandruin_code/dead_ratvar.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/ruins/lavalandruin_code/dead_ratvar.dm

/obj/effect/clockwork/overlay/floor/bloodcultthis is used by BLOOD CULT, it shouldn't use such a path...
/obj/item/clockwork/alloy_shards/medium/gear_bit/largegives more power
\ No newline at end of file diff --git a/code/modules/ruins/lavalandruin_code/sin_ruins.html b/code/modules/ruins/lavalandruin_code/sin_ruins.html new file mode 100644 index 00000000000..160bf1b89b5 --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/sin_ruins.html @@ -0,0 +1 @@ +code/modules/ruins/lavalandruin_code/sin_ruins.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/ruins/lavalandruin_code/sin_ruins.dm

/obj/structure/cursed_slot_machineGreed's slot machine: Used in the Greed ruin. Deals damage on each use, with a successful use giving a d20 of fate.
/obj/effect/gluttonyGluttony's wall: Used in the Gluttony ruin. Only lets the overweight through.
/obj/structure/mirror/magic/pridePride's mirror: Used in the Pride ruin.
/obj/item/kitchen/knife/envyEnvy's knife: Found in the Envy ruin. Attackers take on the appearance of whoever they strike.
\ No newline at end of file diff --git a/code/modules/security_levels/security_level_datums.html b/code/modules/security_levels/security_level_datums.html new file mode 100644 index 00000000000..17e333d39c2 --- /dev/null +++ b/code/modules/security_levels/security_level_datums.html @@ -0,0 +1 @@ +code/modules/security_levels/security_level_datums.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/security_levels/security_level_datums.dm

/datum/security_levelSecurity levels
/datum/security_level/greenGREEN
/datum/security_level/blueBLUE
/datum/security_level/redRED
/datum/security_level/gammaGamma
/datum/security_level/epsilonEpsilon
/datum/security_level/deltaDELTA
\ No newline at end of file diff --git a/code/modules/server_commands/servermsg.html b/code/modules/server_commands/servermsg.html new file mode 100644 index 00000000000..3909abcf1dc --- /dev/null +++ b/code/modules/server_commands/servermsg.html @@ -0,0 +1 @@ +code/modules/server_commands/servermsg.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/server_commands/servermsg.dm

/datum/server_commandDatum to handle both sending and receiving of server commands
\ No newline at end of file diff --git a/code/modules/shuttle.html b/code/modules/shuttle.html new file mode 100644 index 00000000000..3c2501c005e --- /dev/null +++ b/code/modules/shuttle.html @@ -0,0 +1,128 @@ +code/modules/shuttle/README.md - Space Station 13
Space Station 13 - Modules - Types

code/modules/shuttle/README.md

+ + +

Important note:

+

The following readme was last updated during Late 2015. The changes between Paradise & TG's shuttle system has diverged greatly since then. Do not take the documentation here's description of differences between tg & paradise seriously without double checking.

+

Shuttle system

Introduction

+

This folder belongs to the "shuttle" system. The shuttle system is used to control the +"Shuttles" on the map, which are, at their core, a rectangular area of turfs that "move".

+

The shuttle system is comprised of two primary files. +shuttle.dm, +which contains the primary code, and +shuttles.dm +which contains the back-end controller system. +There are a few other files, but it isn't worth noting on.

+

Shuttles are used for many purposes, including the end of rounds, so it's important to +understand them.

+

Docking ports

obj docking_port

+

The /obj/docking_port type is the primary component of the shuttle system. Almost all of +the shuttle system is controlled by the docking ports, the only thing that isn't, really, +is the shuttle manager, which manages, you guessed it, the docking ports.

+

Docking ports are split into two main types: /obj/docking_port/stationary, and +/obj/docking_port/mobile, but they share a few variables and procs defined at the +/obj/docking_port level.

+

Variables

+

id: This variable is used for any plain-text references to the docking port. It should +always be lowercase.

+

width, height: The width and height variables are absolute value variables which +define the bounding box of the docking port. It is very important to note that these are +different from the dwidth and dheight in terms of how they are counted. As they are +absolute representations of the size of the bounding box, they need to be equal to the +amount of turfs on the side of the bounding box. An easy way to think of it is, if you +start at the very corner piece, you would start the count at 1 from that corner piece, +IE, you move 1 turf in any direction, it would be 2.

+

A crude ASCII example:

+
||D|||
+
+

Would be classed by the values width = 6, height = 1.

+

It is important to note that bounding boxes are always rectangular. However, shuttles +are allowed to be any shape they so wish, as anything that matches the turf_type of +stationary docking ports will not be moved with the shuttle- by default, this is equal to +/turf/space. +Another quick example of this:

+
  |||
+  |||
+  |||
+ |||||
+||||||D
+|||||||
+||| |||
+
+

This, even though it is not exactly a rectangle, would be classified by the values +width = 7, height = 7.

+

dwidth, dheight: The relative offset of the docking port to the bounding box. These +values are calculated relative to the bounding box. The values are counted from the +bottom left corner of the bounding box, relative to the direction of the docking port. +The "bottom left corner" changes depending on the direction of the docking port object. +so a docking port facing north that looks something like this:

+
|||  
+|||  
+|||D|  
+|||||
+
+

Would have a dwidth value of 3, and a dheight value of 1. +A docking port facing south that looks like this:

+
||||||
+|||D||
+ ||||
+
+

Would have a dwidth value of 2, and a dheight value of 1

+

/obj/docking_port/mobile

+

/obj/docking_port/mobile, or, "Mobile" docking ports are used to define and control the +movement of the shuttle chunks. The "Mobile" docking port moves with the shuttle, and is +essentially attached to it. A "Mobile" docking port only moves to predefined positions +on the map, referred to as "Stationary" docking ports.

+

/obj/docking_port/mobile

+

/obj/docking_port/stationary, or "Stationary" docking ports are used as predefined +references for where "Mobile" docking ports may move. "Stationary" docking ports do not +move unless something has gone horribly wrong. They are essentially static points in +space. Going into details, whenever a "Mobile" docking port "moves", it registers with the +stationary docking port that it was requested to move to, and moves itself to it. It is +important to note that docking ports will switch direction on the fly, and a "Stationary" +docking port not matching the initial direction of the "Mobile" docking port will cause +the entire shuttle to be rotated in order for the "Mobile" docking port to face the same +direction as the "Stationary" docking port.

+

Modifications

+

There are three main differences between -tg-station13's shuttle system and the one in +use on Paradise, and none are very complex.

+

Airlocks

+

The biggest modification comes in the form of how docking ports interact with airlocks. +With -tg-station13's base code, any door on the shuttle will be closed, and any door +directly next to the mobile docking port will be closed off of the shuttle.

+

In Paradise, however, when a mobile docking port undocks from the stationary docking port, +it will look for any door in the machine list who's id_tag variable matches the +stationary docking port's id variable. When it finds these doors, it will close and +bolt the doors shut. Any airlocks on the shuttle will be closed as per usual, but any +airlocks within the shuttle with the id_tag of s_docking_airlock will also be bolted, +and will stay bolted until the shuttle has exited transit space.

+

Initialization

+

In -tg-station13's shuttle system, all docking ports register with the shuttle controller +on New(). However, as Paradise uses a different system for the shuttle controller, it is +not yet created when New() is called.

+

To fix this issue, all docking ports will not initialize automatically on New(). +Instead, they are manually initialized by the shuttle controller when it is created, via +a proc called initialize().

\ No newline at end of file diff --git a/code/modules/shuttle/shuttle_manipulator.html b/code/modules/shuttle/shuttle_manipulator.html new file mode 100644 index 00000000000..1c203dcb68e --- /dev/null +++ b/code/modules/shuttle/shuttle_manipulator.html @@ -0,0 +1 @@ +code/modules/shuttle/shuttle_manipulator.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/shuttle/shuttle_manipulator.dm

PREVIEW_OR_SHUTTLE_SPAWN_COOLDOWNWe really would rather not have admins altering this, this is the cooldown for the preview/shuttle spawning on the shuttle manipulator

Define Details

PREVIEW_OR_SHUTTLE_SPAWN_COOLDOWN

We really would rather not have admins altering this, this is the cooldown for the preview/shuttle spawning on the shuttle manipulator

\ No newline at end of file diff --git a/code/modules/space_management/level_traits.html b/code/modules/space_management/level_traits.html new file mode 100644 index 00000000000..03f5648e4f9 --- /dev/null +++ b/code/modules/space_management/level_traits.html @@ -0,0 +1 @@ +code/modules/space_management/level_traits.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/space_management/level_traits.dm

/proc/get_all_linked_levels_zposProc to get a list of all the linked-together Z-Levels
\ No newline at end of file diff --git a/code/modules/space_management/space_transition.html b/code/modules/space_management/space_transition.html new file mode 100644 index 00000000000..6b0df70ebe1 --- /dev/null +++ b/code/modules/space_management/space_transition.html @@ -0,0 +1 @@ +code/modules/space_management/space_transition.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/space_management/space_transition.dm

/datum/pointthis is explicitly utilitarian datum type made specially for the space map generation and are absolutely unusable for anything else
\ No newline at end of file diff --git a/code/modules/spatial_grid/cell_tracker.html b/code/modules/spatial_grid/cell_tracker.html new file mode 100644 index 00000000000..242e77c9eaa --- /dev/null +++ b/code/modules/spatial_grid/cell_tracker.html @@ -0,0 +1 @@ +code/modules/spatial_grid/cell_tracker.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/spatial_grid/cell_tracker.dm

/datum/cell_trackerSpatial gridmap, cell tracking
\ No newline at end of file diff --git a/code/modules/station_goals/bluespace_tap.html b/code/modules/station_goals/bluespace_tap.html new file mode 100644 index 00000000000..8761a84a0ee --- /dev/null +++ b/code/modules/station_goals/bluespace_tap.html @@ -0,0 +1 @@ +code/modules/station_goals/bluespace_tap.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/station_goals/bluespace_tap.dm

POINTS_PER_WPoints generated per cycle for each Watt of power consumption
BASE_POINTSAmount of points generated per cycle per 50KW for the first 500KW
/obj/machinery/power/bluespace_tapA station goal that consumes enormous amounts of power to generate (mostly fluff) rewards

Define Details

BASE_POINTS

Amount of points generated per cycle per 50KW for the first 500KW

POINTS_PER_W

Points generated per cycle for each Watt of power consumption

\ No newline at end of file diff --git a/code/modules/supply/supply_README.html b/code/modules/supply/supply_README.html new file mode 100644 index 00000000000..69065e1a0ba --- /dev/null +++ b/code/modules/supply/supply_README.html @@ -0,0 +1,17 @@ +code/modules/supply/supply_README.md - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_README.md

IMPORTANT SUPPLY PACKS NOTES

Pack Parameters

+
    +
  • only secure crate types use the access var (and are lockable)
  • +
  • hidden packs only show up when the computer has been hacked.
  • +
  • Contraband is obtainable through modified supplycomp circuitboards.
  • +
+

Bug Prevention

+
    +
  • Don't add living things to crates, that's bad, it will break the shuttle.
  • +
  • Do NOT set the price of any crates below 7 points. Doing so allows infinite points.
  • +
+

Pack Organization

+
    +
  • Anytime a supply pack is ordered, it needs to be put in the dm file that matches its type
  • +
  • Anytime a supply pack category becomes overloaded (think 20+ packs) you should consider splitting it into multiple categories
  • +
  • Avoid throwing things in the miscellanious category unless it really doesn't have a place elsewhere
  • +
\ No newline at end of file diff --git a/code/modules/supply/supply_packs/pack_abstract.html b/code/modules/supply/supply_packs/pack_abstract.html new file mode 100644 index 00000000000..92faee61858 --- /dev/null +++ b/code/modules/supply/supply_packs/pack_abstract.html @@ -0,0 +1,2 @@ +code/modules/supply/supply_packs/pack_abstract.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_packs/pack_abstract.dm

/datum/supply_packs/abstractAbstract supply packs that don't contain any goods, but instead represent purchases that cargo can make. +A supply pack that does not contain physical objects, but instead fires some sort of callback when ordered.
/datum/supply_packs/abstract/admin_notifyA sample supply pack that notifies admins when it is purchased, but provides no items.
\ No newline at end of file diff --git a/code/modules/supply/supply_packs/pack_emergency.html b/code/modules/supply/supply_packs/pack_emergency.html new file mode 100644 index 00000000000..e3af436f53f --- /dev/null +++ b/code/modules/supply/supply_packs/pack_emergency.html @@ -0,0 +1 @@ +code/modules/supply/supply_packs/pack_emergency.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_packs/pack_emergency.dm

/datum/supply_packs/emergencySection header - use these to set default supply group and crate type for sections
\ No newline at end of file diff --git a/code/modules/supply/supply_packs/pack_engineering.html b/code/modules/supply/supply_packs/pack_engineering.html new file mode 100644 index 00000000000..1235726794f --- /dev/null +++ b/code/modules/supply/supply_packs/pack_engineering.html @@ -0,0 +1 @@ +code/modules/supply/supply_packs/pack_engineering.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_packs/pack_engineering.dm

/datum/supply_packs/engineering/toolsthe most robust crate
\ No newline at end of file diff --git a/code/modules/supply/supply_packs/pack_miscellaneous.html b/code/modules/supply/supply_packs/pack_miscellaneous.html new file mode 100644 index 00000000000..373a064bed2 --- /dev/null +++ b/code/modules/supply/supply_packs/pack_miscellaneous.html @@ -0,0 +1 @@ +code/modules/supply/supply_packs/pack_miscellaneous.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_packs/pack_miscellaneous.dm

/datum/supply_packs/misc/paperPaper Work
/datum/supply_packs/misc/janitorJanitor Supplies
/datum/supply_packs/misc/servicecostumeCostumes
/datum/supply_packs/misc/formalwearThis is a very classy crate.
/datum/supply_packs/misc/teamcolorsFor team sports like space polo
/datum/supply_packs/misc/poloFor space polo! Or horsehead Quiditch
/datum/supply_packs/misc/boxingFor non log spamming cargo brawls!
\ No newline at end of file diff --git a/code/modules/supply/supply_packs/pack_organic.html b/code/modules/supply/supply_packs/pack_organic.html new file mode 100644 index 00000000000..1754370fe85 --- /dev/null +++ b/code/modules/supply/supply_packs/pack_organic.html @@ -0,0 +1,2 @@ +code/modules/supply/supply_packs/pack_organic.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_packs/pack_organic.dm

/datum/supply_packs/misc/randomised/ingredientsits a bit hacky...
/datum/supply_packs/organic/cowlivestock
/datum/supply_packs/organic/hydroponics/// hippy gear +-- Skie
\ No newline at end of file diff --git a/code/modules/supply/supply_packs/pack_security.html b/code/modules/supply/supply_packs/pack_security.html new file mode 100644 index 00000000000..837d82a5b1b --- /dev/null +++ b/code/modules/supply/supply_packs/pack_security.html @@ -0,0 +1 @@ +code/modules/supply/supply_packs/pack_security.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_packs/pack_security.dm

/datum/supply_packs/security/helmetsArmor: Basic
/datum/supply_packs/security/batonWeapons: Basic
/datum/supply_packs/security/armoryArmory stuff
/datum/supply_packs/security/armory/riothelmetsArmor: Specialist
/datum/supply_packs/security/armory/ballisticWeapons: Specialist
/datum/supply_packs/security/armory/epistolcosts 3/5ths of the normal e-guns for 3/4ths the total ammo, making it cheaper to arm more people, but less convient for any one person
/datum/supply_packs/security/armory/mindshieldImplants & etc
/datum/supply_packs/security/lowinquisitorHas a bunch of neat equipment for Skulk Officers, do note only Skkulakin can use these items
/datum/supply_packs/security/officerpackStarter pack for an officer. Contains everything in a locker but backpack (officer already start with one). Convenient way to equip new officer on highpop.
\ No newline at end of file diff --git a/code/modules/supply/supply_packs/pack_shuttle.html b/code/modules/supply/supply_packs/pack_shuttle.html new file mode 100644 index 00000000000..aac9cec31c0 --- /dev/null +++ b/code/modules/supply/supply_packs/pack_shuttle.html @@ -0,0 +1 @@ +code/modules/supply/supply_packs/pack_shuttle.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/supply/supply_packs/pack_shuttle.dm

/datum/supply_packs/abstract/shuttleA "supply pack" that allows for purchasing a custom shuttle.
/datum/supply_packs/abstract/admin_notify/donationsSimple supply pack for easy admin modification
\ No newline at end of file diff --git a/code/modules/surgery/abstract_steps.html b/code/modules/surgery/abstract_steps.html new file mode 100644 index 00000000000..29befce6eec --- /dev/null +++ b/code/modules/surgery/abstract_steps.html @@ -0,0 +1,18 @@ +code/modules/surgery/abstract_steps.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/surgery/abstract_steps.dm

SURGERY_TOOL_HANDThis file consists of how we manage somewhat non-linear surgeries. +Essentially what goes on here is that we have some "proxy" surgery steps that get inserted into existing surgeries at key points. +Depending on the tool used after that point, the proxy step chooses the next step(s) that should be executed.
/datum/surgery/intermediateA partial surgery that consists of a few steps that may be found in the middle of another operation. +An existing surgery can yield to an intermediate surgery for a few steps by way of a proxy surgery_step.
/datum/surgery_step/proxyHere's the special sauce: a surgery step that can pretend to be a few different surgery steps. +These proxy steps will, depending on the tool that's used, either continue to the next surgery step, or temporarily spin off a new surgery +by adding new steps to the current surgery.
/datum/surgery_step/proxy/open_organProxy surgery step to allow healing bleeding, bones, and burns. +Should be added into surgeries just after the first three standard steps.
/datum/surgery_step/proxy/ibMend IB without healing bones
/datum/surgery_step/proxy/robotics/repair_limbThe robotic equivalent

Define Details

SURGERY_TOOL_HAND

This file consists of how we manage somewhat non-linear surgeries. +Essentially what goes on here is that we have some "proxy" surgery steps that get inserted into existing surgeries at key points. +Depending on the tool used after that point, the proxy step chooses the next step(s) that should be executed.

+

These proxy steps use a list of surgeries, so a full procedure can be inserted into an existing surgery. Just make sure that the user's state +after an intermediate surgery is (in the context of the surgery) identical to before the intermediate surgery. Don't heal things that will +need to be healed during the surgery, for example.

+

Adding a new intermediate surgery:

+
\ No newline at end of file diff --git a/code/modules/surgery/bones.html b/code/modules/surgery/bones.html new file mode 100644 index 00000000000..226b70db173 --- /dev/null +++ b/code/modules/surgery/bones.html @@ -0,0 +1 @@ +code/modules/surgery/bones.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/bones.dm

/datum/surgery/bone_repairSurgery Datums
\ No newline at end of file diff --git a/code/modules/surgery/organs/augments_arms.html b/code/modules/surgery/organs/augments_arms.html new file mode 100644 index 00000000000..5ab1237c679 --- /dev/null +++ b/code/modules/surgery/organs/augments_arms.html @@ -0,0 +1 @@ +code/modules/surgery/organs/augments_arms.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/augments_arms.dm

/obj/item/organ/internal/cyberimp/arm/janitorial/advancedERT implant, i dont overly expect this to get into the hands of crew
/obj/item/organ/internal/cyberimp/arm/janitorial/advanced/lits for ERT, but still probably a good idea.
\ No newline at end of file diff --git a/code/modules/surgery/organs/blood.html b/code/modules/surgery/organs/blood.html new file mode 100644 index 00000000000..b4b02651c5e --- /dev/null +++ b/code/modules/surgery/organs/blood.html @@ -0,0 +1 @@ +code/modules/surgery/organs/blood.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/surgery/organs/blood.dm

EXOTIC_BLEED_MULTIPLIERMARK: BLOOD SYSTEM

Define Details

EXOTIC_BLEED_MULTIPLIER

MARK: BLOOD SYSTEM

\ No newline at end of file diff --git a/code/modules/surgery/organs/organ_datums/heart_datum.html b/code/modules/surgery/organs/organ_datums/heart_datum.html new file mode 100644 index 00000000000..b2d0589d3af --- /dev/null +++ b/code/modules/surgery/organs/organ_datums/heart_datum.html @@ -0,0 +1 @@ +code/modules/surgery/organs/organ_datums/heart_datum.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/organ_datums/heart_datum.dm

/datum/organ/heart/always_beatingA subtype that is always beating. Abductor glands and demon hearts use this.
\ No newline at end of file diff --git a/code/modules/surgery/organs/organ_external.html b/code/modules/surgery/organs/organ_external.html new file mode 100644 index 00000000000..c3b8abf586b --- /dev/null +++ b/code/modules/surgery/organs/organ_external.html @@ -0,0 +1 @@ +code/modules/surgery/organs/organ_external.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/organ_external.dm

/obj/item/organ/externalEXTERNAL ORGANS
\ No newline at end of file diff --git a/code/modules/surgery/organs/organ_extractor.html b/code/modules/surgery/organs/organ_extractor.html new file mode 100644 index 00000000000..6a07dbbbde9 --- /dev/null +++ b/code/modules/surgery/organs/organ_extractor.html @@ -0,0 +1 @@ +code/modules/surgery/organs/organ_extractor.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/organ_extractor.dm

/obj/item/organ_extractor/abductorAdvanced abductor version. Is a lot faster with implanting into others
\ No newline at end of file diff --git a/code/modules/surgery/organs/subtypes/diona_organs.html b/code/modules/surgery/organs/subtypes/diona_organs.html new file mode 100644 index 00000000000..1726ca76f25 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/diona_organs.html @@ -0,0 +1 @@ +code/modules/surgery/organs/subtypes/diona_organs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/subtypes/diona_organs.dm

/obj/item/organ/internal/heart/dionaTurns into a nymph instantly, no transplanting possible.
/obj/item/organ/internal/brain/dionaTurns into a nymph instantly, no transplanting possible.
/obj/item/organ/internal/kidneys/dionaTurns into a nymph instantly, no transplanting possible.
/obj/item/organ/internal/appendix/dionaTurns into a nymph instantly, no transplanting possible.
/obj/item/organ/internal/eyes/dionaTurns into a nymph instantly, no transplanting possible.
/obj/item/organ/internal/liver/dionaTurns into a nymph instantly, no transplanting possible.
\ No newline at end of file diff --git a/code/modules/surgery/organs/subtypes/standard_organs.html b/code/modules/surgery/organs/subtypes/standard_organs.html new file mode 100644 index 00000000000..a6c36643761 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/standard_organs.html @@ -0,0 +1 @@ +code/modules/surgery/organs/subtypes/standard_organs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/subtypes/standard_organs.dm

/obj/item/organ/external/chestORGAN DEFINES
\ No newline at end of file diff --git a/code/modules/surgery/organs/subtypes/tajaran_organs.html b/code/modules/surgery/organs/subtypes/tajaran_organs.html new file mode 100644 index 00000000000..b7f4d85402c --- /dev/null +++ b/code/modules/surgery/organs/subtypes/tajaran_organs.html @@ -0,0 +1 @@ +code/modules/surgery/organs/subtypes/tajaran_organs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/subtypes/tajaran_organs.dm

/obj/item/organ/internal/eyes/tajaran/farwaBeing the lesser form of Tajara, Farwas have an utterly incurable version of their colourblindness.
\ No newline at end of file diff --git a/code/modules/surgery/organs/subtypes/vulpkanin_organs.html b/code/modules/surgery/organs/subtypes/vulpkanin_organs.html new file mode 100644 index 00000000000..5a4ed446821 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/vulpkanin_organs.html @@ -0,0 +1 @@ +code/modules/surgery/organs/subtypes/vulpkanin_organs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/subtypes/vulpkanin_organs.dm

/obj/item/organ/internal/eyes/vulpkanin/wolpinBeing the lesser form of Vulpkanin, Wolpins have an utterly incurable version of their colourblindness.
\ No newline at end of file diff --git a/code/modules/surgery/organs/vocal_cords.html b/code/modules/surgery/organs/vocal_cords.html new file mode 100644 index 00000000000..2b77d005e38 --- /dev/null +++ b/code/modules/surgery/organs/vocal_cords.html @@ -0,0 +1,2 @@ +code/modules/surgery/organs/vocal_cords.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/organs/vocal_cords.dm

/obj/item/organ/internal/vocal_cordsorgans that are activated through speech with the :x channel
/datum/voice_of_god_commandVoice of god command datums that are used in [/proc/voice_of_god()]
/datum/voice_of_god_command/silenceThis command silences the listeners. Thrice as effective is the user is a mime or curator.
/datum/voice_of_god_command/hallucinateThis command makes the listeners see others as corgis, carps, skellies etcetera etcetera.
/datum/voice_of_god_command/wake_upThis command wakes up the listeners.
/datum/voice_of_god_command/healThis command heals the listeners for 10 points of total damage.
/datum/voice_of_god_command/bruteThis command applies 15 points of brute damage to the listeners. There's subtle theological irony in this being more powerful than healing.
/datum/voice_of_god_command/bleedThis command makes carbon listeners bleed from a random body part.
/datum/voice_of_god_command/burnThis command sets the listeners ablaze.
/datum/voice_of_god_command/repulseThis command throws the listeners away from the user.
/datum/voice_of_god_command/attractThis command throws the listeners at the user.
/datum/voice_of_god_command/who_are_youThis command forces the listeners to say their true name (so masks and hoods won't help). +Basic and simple mobs who are forced to state their name and don't have one already will... reveal their actual one!
/datum/voice_of_god_command/say_my_nameThis command forces the listeners to say the user's name
/datum/voice_of_god_command/knock_knockThis command forces the listeners to say "Who's there?".
/datum/voice_of_god_command/state_lawsThis command forces silicon listeners to state all their laws.
/datum/voice_of_god_command/moveThis command forces the listeners to take step in a direction chosen by the user, otherwise a random cardinal one.
/datum/voice_of_god_command/walkThis command forces the listeners to switch to walk intent.
/datum/voice_of_god_command/runThis command forces the listeners to switch to run intent.
/datum/voice_of_god_command/throw_catchThis command turns the listeners' throw mode on.
/datum/voice_of_god_command/getupThis command forces the listeners to get the fuck up, resetting all stuns.
/datum/voice_of_god_command/sitThis command forces each listener to buckle to a chair found on the same tile.
/datum/voice_of_god_command/standThis command forces each listener to unbuckle from whatever they are buckled to.
/datum/voice_of_god_command/jumpThis command forces the listener to do the jump emote 3/4 of the times or reply "HOW HIGH?!!".
/datum/voice_of_god_command/honkThis command plays a bikehorn sound after 2 seconds and a half have passed, and also slips listeners if the user is a clown.
/datum/voice_of_god_command/multispinThis command spins the listeners 1800° degrees clockwise.
/datum/voice_of_god_command/emoteSupertype of all those commands that make people emote and nothing else. Fuck copypasta.
\ No newline at end of file diff --git a/code/modules/surgery/organs_internal.html b/code/modules/surgery/organs_internal.html new file mode 100644 index 00000000000..07f765fe010 --- /dev/null +++ b/code/modules/surgery/organs_internal.html @@ -0,0 +1 @@ +code/modules/surgery/organs_internal.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/surgery/organs_internal.dm

GHETTO_DISINFECT_AMOUNTAmount of units to transfer from the container to the organs during disinfection step.
MITO_REVIVAL_COSTAmount of mito necessary to revive an organ
/datum/surgery_step/proxy/manipulate_organsThe surgery step to trigger this whole situation

Define Details

GHETTO_DISINFECT_AMOUNT

Amount of units to transfer from the container to the organs during disinfection step.

MITO_REVIVAL_COST

Amount of mito necessary to revive an organ

\ No newline at end of file diff --git a/code/modules/surgery/other.html b/code/modules/surgery/other.html new file mode 100644 index 00000000000..cbb46404885 --- /dev/null +++ b/code/modules/surgery/other.html @@ -0,0 +1 @@ +code/modules/surgery/other.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/other.dm

/datum/surgery_step/fix_dead_tissueDebridement
\ No newline at end of file diff --git a/code/modules/surgery/surgery.html b/code/modules/surgery/surgery.html new file mode 100644 index 00000000000..ce6efab406a --- /dev/null +++ b/code/modules/surgery/surgery.html @@ -0,0 +1 @@ +code/modules/surgery/surgery.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/surgery.dm

/datum/surgeryDatum Surgery Helpers
\ No newline at end of file diff --git a/code/modules/surgery/tending.html b/code/modules/surgery/tending.html new file mode 100644 index 00000000000..a067725203a --- /dev/null +++ b/code/modules/surgery/tending.html @@ -0,0 +1 @@ +code/modules/surgery/tending.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/tending.dm

/datum/surgery_step/proxy/open_organ/extraSurgeries for tending brute and burn damage without needing to expend items.
/datum/surgery_step/heal/bruteBRUTE STEPS
\ No newline at end of file diff --git a/code/modules/surgery/tools.html b/code/modules/surgery/tools.html new file mode 100644 index 00000000000..795cfe926eb --- /dev/null +++ b/code/modules/surgery/tools.html @@ -0,0 +1 @@ +code/modules/surgery/tools.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/surgery/tools.dm

/obj/item/scalpel/laserparent type
/obj/item/scalpel/laser/laser1lasers also count as catuarys
/obj/item/scalpel/laser/managersuper tool! Retractor/hemostat
\ No newline at end of file diff --git a/code/modules/telesci/gps.html b/code/modules/telesci/gps.html new file mode 100644 index 00000000000..28342542d69 --- /dev/null +++ b/code/modules/telesci/gps.html @@ -0,0 +1 @@ +code/modules/telesci/gps.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/telesci/gps.dm

/obj/item/gpsA small item that reports its current location. Has a tag to help distinguish between them.
\ No newline at end of file diff --git a/code/modules/telesci/rcs.html b/code/modules/telesci/rcs.html new file mode 100644 index 00000000000..68f97ac1a49 --- /dev/null +++ b/code/modules/telesci/rcs.html @@ -0,0 +1 @@ +code/modules/telesci/rcs.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/telesci/rcs.dm

/obj/item/rcsUsed to teleport crates and closets to cargo telepads.
\ No newline at end of file diff --git a/code/modules/telesci/telepad.html b/code/modules/telesci/telepad.html new file mode 100644 index 00000000000..d8e6e54b82e --- /dev/null +++ b/code/modules/telesci/telepad.html @@ -0,0 +1 @@ +code/modules/telesci/telepad.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/telesci/telepad.dm

/obj/machinery/telepadSCI TELEPAD
/obj/item/telepad_beaconTELEPAD CALLER
\ No newline at end of file diff --git a/code/modules/tgs.html b/code/modules/tgs.html new file mode 100644 index 00000000000..e6643d0d67a --- /dev/null +++ b/code/modules/tgs.html @@ -0,0 +1,14 @@ +code/modules/tgs/README.md - Space Station 13
Space Station 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.

\ No newline at end of file diff --git a/code/modules/tgs/core.html b/code/modules/tgs/core.html new file mode 100644 index 00000000000..f3db1230fb2 --- /dev/null +++ b/code/modules/tgs/core.html @@ -0,0 +1,7 @@ +code/modules/tgs/core/README.md - Space Station 13
Space Station 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.
  • +
  • tgs_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.
  • +
  • tgs_datum.dm contains the /datum/tgs_api declarations that all APIs must implement.
  • +
  • tgs_version.dm contains the /datum/tgs_version definition
  • +
\ No newline at end of file diff --git a/code/modules/tgs/v3210.html b/code/modules/tgs/v3210.html new file mode 100644 index 00000000000..7c13e6c3ae4 --- /dev/null +++ b/code/modules/tgs/v3210.html @@ -0,0 +1,5 @@ +code/modules/tgs/v3210/README.md - Space Station 13
Space Station 13 - Modules - Types

DMAPI V3

This DMAPI implements bridge using file output which TGS monitors for.

+
    +
  • v3_api.dm contains the bulk of the API code.
  • +
  • v3_commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
\ No newline at end of file diff --git a/code/modules/tgs/v4.html b/code/modules/tgs/v4.html new file mode 100644 index 00000000000..c328672de99 --- /dev/null +++ b/code/modules/tgs/v4.html @@ -0,0 +1,5 @@ +code/modules/tgs/v4/README.md - Space Station 13
Space Station 13 - Modules - Types

DMAPI V4

This DMAPI implements bridge requests using file output which TGS monitors for. It has a safe mode restriction.

+
    +
  • v4_api.dm contains the bulk of the API code.
  • +
  • v4_commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
\ No newline at end of file diff --git a/code/modules/tgs/v5.html b/code/modules/tgs/v5.html new file mode 100644 index 00000000000..4ab963d24b4 --- /dev/null +++ b/code/modules/tgs/v5.html @@ -0,0 +1,12 @@ +code/modules/tgs/v5/README.md - Space Station 13
Space Station 13 - Modules - Types

DMAPI V5

This DMAPI implements bridge requests using HTTP GET requests to TGS. It has no security restrictions.

+
    +
  • v5_interop_version.dm contains the version of the API used between the DMAPI and TGS.
  • +
  • _v5_defines.dm contains constant definitions.
  • +
  • v5_api.dm contains the bulk of the API code.
  • +
  • v5_bridge.dm contains functions related to making bridge requests.
  • +
  • v5_chunking.dm contains common function for splitting large raw data sets into chunks BYOND can natively process.
  • +
  • v5_commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
  • v5_serializers.dm contains function to help convert interop /datums into a JSON encodable list() format.
  • +
  • v5_topic.dm contains functions related to processing topic requests.
  • +
  • v5_undefs.dm Undoes the work of _defines.dm.
  • +
\ No newline at end of file diff --git a/code/modules/tgui/external.html b/code/modules/tgui/external.html new file mode 100644 index 00000000000..249ccb04847 --- /dev/null +++ b/code/modules/tgui/external.html @@ -0,0 +1 @@ +code/modules/tgui/external.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/external.dm

/proc/tgui_TopicMiddleware for /client/Topic.
\ No newline at end of file diff --git a/code/modules/tgui/modules/ghost_hud_panel.html b/code/modules/tgui/modules/ghost_hud_panel.html new file mode 100644 index 00000000000..2f13a82ceb6 --- /dev/null +++ b/code/modules/tgui/modules/ghost_hud_panel.html @@ -0,0 +1 @@ +code/modules/tgui/modules/ghost_hud_panel.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/modules/ghost_hud_panel.dm

/datum/ui_module/ghost_hud_panelAllows ghosts to view a TGUI window which contains toggles for all HUD types available to them.
\ No newline at end of file diff --git a/code/modules/tgui/plugins/modal.html b/code/modules/tgui/plugins/modal.html new file mode 100644 index 00000000000..e2bdc1eb6a3 --- /dev/null +++ b/code/modules/tgui/plugins/modal.html @@ -0,0 +1 @@ +code/modules/tgui/plugins/modal.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/plugins/modal.dm

/datum/ui_modalModal datum (contains base information for a modal)
/datum/ui_modal/inputInput modal - has a text entry that can be used to enter an answer
/datum/ui_modal/input/choiceChoice modal - has a dropdown menu that can be used to select an answer
/datum/ui_modal/input/bentoBento modal - Similar to choice, it displays the choices in a grid of images
/datum/ui_modal/booleanBoolean modal - has yes/no buttons that do different actions depending on which is pressed
\ No newline at end of file diff --git a/code/modules/tgui/plugins/tgui_login.html b/code/modules/tgui/plugins/tgui_login.html new file mode 100644 index 00000000000..2acfdee266b --- /dev/null +++ b/code/modules/tgui/plugins/tgui_login.html @@ -0,0 +1 @@ +code/modules/tgui/plugins/tgui_login.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/plugins/tgui_login.dm

/datum/ui_loginLogin state (there should be only one for one datum)
\ No newline at end of file diff --git a/code/modules/tgui/states/always.html b/code/modules/tgui/states/always.html new file mode 100644 index 00000000000..e96432ee9c7 --- /dev/null +++ b/code/modules/tgui/states/always.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/always.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/always.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/conscious.html b/code/modules/tgui/states/conscious.html new file mode 100644 index 00000000000..50a8f95a52c --- /dev/null +++ b/code/modules/tgui/states/conscious.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/conscious.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/conscious.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/contained.html b/code/modules/tgui/states/contained.html new file mode 100644 index 00000000000..ed942d14d75 --- /dev/null +++ b/code/modules/tgui/states/contained.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/contained.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/contained.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/hands.html b/code/modules/tgui/states/hands.html new file mode 100644 index 00000000000..d06587c3c67 --- /dev/null +++ b/code/modules/tgui/states/hands.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/hands.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/hands.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/human_adjacent.html b/code/modules/tgui/states/human_adjacent.html new file mode 100644 index 00000000000..0d92eef96b1 --- /dev/null +++ b/code/modules/tgui/states/human_adjacent.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/human_adjacent.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/human_adjacent.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/not_incapacitated.html b/code/modules/tgui/states/not_incapacitated.html new file mode 100644 index 00000000000..40d459097cf --- /dev/null +++ b/code/modules/tgui/states/not_incapacitated.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/not_incapacitated.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/not_incapacitated.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/notcontained.html b/code/modules/tgui/states/notcontained.html new file mode 100644 index 00000000000..bba9a2ffba7 --- /dev/null +++ b/code/modules/tgui/states/notcontained.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/notcontained.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/notcontained.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/physical.html b/code/modules/tgui/states/physical.html new file mode 100644 index 00000000000..e4f144cba6a --- /dev/null +++ b/code/modules/tgui/states/physical.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/physical.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/physical.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/self.html b/code/modules/tgui/states/self.html new file mode 100644 index 00000000000..3e68dbd9d41 --- /dev/null +++ b/code/modules/tgui/states/self.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/self.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/states/self.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/tgui_datum.html b/code/modules/tgui/tgui_datum.html new file mode 100644 index 00000000000..f654a5339e6 --- /dev/null +++ b/code/modules/tgui/tgui_datum.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_datum.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_datum.dm

/datum/tguiCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/alert_input.html b/code/modules/tgui/tgui_input/alert_input.html new file mode 100644 index 00000000000..16bc84c9fcc --- /dev/null +++ b/code/modules/tgui/tgui_input/alert_input.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_input/alert_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/alert_input.dm

/proc/tgui_alertCreates a TGUI alert window and returns the user's response.
/datum/tgui_alertDatum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/color_input.html b/code/modules/tgui/tgui_input/color_input.html new file mode 100644 index 00000000000..5fd3773219b --- /dev/null +++ b/code/modules/tgui/tgui_input/color_input.html @@ -0,0 +1 @@ +code/modules/tgui/tgui_input/color_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/color_input.dm

/proc/tgui_input_colorCreates a TGUI color picker window and returns the user's response.
/datum/tgui_input_colortgui_input_color
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/input_checkbox.html b/code/modules/tgui/tgui_input/input_checkbox.html new file mode 100644 index 00000000000..22c55442db2 --- /dev/null +++ b/code/modules/tgui/tgui_input/input_checkbox.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_input/input_checkbox.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/input_checkbox.dm

/proc/tgui_input_checkbox_listCreates a TGUI input list window and returns the user's response in a ranked order.
/datum/tgui_list_input/checkboxDatum used for allowing a user to sort a TGUI-controlled list input that prompts the user with +a message and shows a list of rankable options
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/keycombo_input.html b/code/modules/tgui/tgui_input/keycombo_input.html new file mode 100644 index 00000000000..79bb7f4faa8 --- /dev/null +++ b/code/modules/tgui/tgui_input/keycombo_input.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_input/keycombo_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/keycombo_input.dm

/proc/tgui_input_keycomboCreates a TGUI window with a key input. Returns the user's response as a full key with modifiers, eg ShiftK.
/datum/tgui_input_keycomboDatum used for instantiating and using a TGUI-controlled key input that prompts the user with +a message and listens for key presses.
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/list_input.html b/code/modules/tgui/tgui_input/list_input.html new file mode 100644 index 00000000000..bfe4eb4066d --- /dev/null +++ b/code/modules/tgui/tgui_input/list_input.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_input/list_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/list_input.dm

/proc/tgui_input_listCreates a TGUI input list window and returns the user's response.
/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
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/number_input.html b/code/modules/tgui/tgui_input/number_input.html new file mode 100644 index 00000000000..0774e5d1274 --- /dev/null +++ b/code/modules/tgui/tgui_input/number_input.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_input/number_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/number_input.dm

/proc/tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
/datum/tgui_input_numberDatum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/ranked_list_input.html b/code/modules/tgui/tgui_input/ranked_list_input.html new file mode 100644 index 00000000000..f6c0198d6a6 --- /dev/null +++ b/code/modules/tgui/tgui_input/ranked_list_input.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_input/ranked_list_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/ranked_list_input.dm

/proc/tgui_input_ranked_listCreates a TGUI ranked input list window and returns the user's response in a ranked order.
/datum/tgui_list_input/rankedDatum used for allowing a user to sort a TGUI-controlled list input that prompts the user with +a message and shows a list of rankable options
\ No newline at end of file diff --git a/code/modules/tgui/tgui_input/text_input.html b/code/modules/tgui/tgui_input/text_input.html new file mode 100644 index 00000000000..6e06c61f6e6 --- /dev/null +++ b/code/modules/tgui/tgui_input/text_input.html @@ -0,0 +1 @@ +code/modules/tgui/tgui_input/text_input.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_input/text_input.dm

/proc/tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
/datum/tgui_input_texttgui_input_text
\ No newline at end of file diff --git a/code/modules/tgui/tgui_panel.html b/code/modules/tgui/tgui_panel.html new file mode 100644 index 00000000000..3cee433cd0b --- /dev/null +++ b/code/modules/tgui/tgui_panel.html @@ -0,0 +1,20 @@ +code/modules/tgui/tgui_panel/README.md - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_panel/README.md

/TG/ Chat

+

/TG/ Chat, which will be referred to as TgChat from this point onwards, is a system in which we can send messages to clients in a controlled and semi-reliable manner. The standard way of sending messages to BYOND clients simply dumps whatever you output to them directly into their chat window, however BYOND allows us to load our own code on the client to change this behaviour in a way that allows us to do some pretty neat things.

+

Message Format

+

TgChat handles sending messages from the server to the client through the use of JSON payloads, of which the format will change depending on the type of message and the intended client endpoint. An example of the payload for chat messages is as follows:

+
{
+	"sequence": 0,
+	"content": {
+		"type": ". . .", // ?optional
+		"text": ". . .", // ?optional !atleast-one
+		"html": ". . .", // ?optional !atleast-one
+		"avoidHighlighting": 0 // ?optional
+	},
+}
+
+

Reliability

+

In the past there have been issues where BYOND will silently and without reason lose a message we sent to the client, to detect this and recover from it seamlessly TgChat also has a baked in reliability layer. This reliability layer is very primitive, and simply keeps track of received sequence numbers. Should the client receive an unexpected sequence number TgChat asks the server to resend any missing packets.

+

Ping System

+

TgChat supports a round trip time ping measurement, which is displayed to the client so they can know how long it takes for their commands and inputs to reach the server. This is done by sending the client a ping request, ping/soft, which tells the client to send a ping to the server. When the server receives said ping it sends a reply, ping/reply, to the client with a payload containing the current DateTime which the client can reference against the initial ping request.

+

Chat Tabs, Local Storage, and Highlighting

+

To make organizing and managing chat easier and more functional for both players and admins, TgChat has the ability to filter out messages based on their primary tag, such as individual departmental radios, to a dedicated chat tab for easier reading and comprehension. These tabs can also be configured to highlist messages based on a simple keyword search. You can set a multitude of different keywords to search for and they will be highlighting for instant alerting of the client. Said tabs, highlighting rules, and your chat history will persist thanks to use of local storage on the client. Using local storage TgChat can ensure that your preferences are saved and maintained between client restarts and switching between other /TG/ servers. Local Storage is also used to keep your chat history aswell, should you need to scroll through your chat logs.

\ No newline at end of file diff --git a/code/modules/tgui/tgui_panel/telemetry.html b/code/modules/tgui/tgui_panel/telemetry.html new file mode 100644 index 00000000000..67e7998b6a5 --- /dev/null +++ b/code/modules/tgui/tgui_panel/telemetry.html @@ -0,0 +1,5 @@ +code/modules/tgui/tgui_panel/telemetry.dm - Space Station 13
Space Station 13 - Modules - TypesDefine Details

code/modules/tgui/tgui_panel/telemetry.dm

TGUI_TELEMETRY_MAX_CONNECTIONSCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT
TGUI_TELEMETRY_RESPONSE_WINDOWMaximum time allocated for sending a telemetry packet.

Define Details

TGUI_TELEMETRY_MAX_CONNECTIONS

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

+

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.

\ No newline at end of file diff --git a/code/modules/tgui/tgui_panel/tgui_panel.html b/code/modules/tgui/tgui_panel/tgui_panel.html new file mode 100644 index 00000000000..aab3038020b --- /dev/null +++ b/code/modules/tgui/tgui_panel/tgui_panel.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_panel/tgui_panel.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_panel/tgui_panel.dm

/datum/tgui_panelCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT
\ No newline at end of file diff --git a/code/modules/tgui/tgui_panel/tgui_panel_message.html b/code/modules/tgui/tgui_panel/tgui_panel_message.html new file mode 100644 index 00000000000..0e3c7c01288 --- /dev/null +++ b/code/modules/tgui/tgui_panel/tgui_panel_message.html @@ -0,0 +1 @@ +code/modules/tgui/tgui_panel/tgui_panel_message.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_panel/tgui_panel_message.dm

/proc/message_to_htmlMessage-related procs
\ No newline at end of file diff --git a/code/modules/tgui/tgui_panel/to_chat.html b/code/modules/tgui/tgui_panel/to_chat.html new file mode 100644 index 00000000000..9dcb44551f8 --- /dev/null +++ b/code/modules/tgui/tgui_panel/to_chat.html @@ -0,0 +1,3 @@ +code/modules/tgui/tgui_panel/to_chat.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_panel/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. +trailing_newline, confidential, and handle_whitespace currently have no effect, please fix this in the future or remove the arguments to lower cache!
/proc/to_chatSends the message to the recipient (target).
\ No newline at end of file diff --git a/code/modules/tgui/tgui_window.html b/code/modules/tgui/tgui_window.html new file mode 100644 index 00000000000..000281a1ad3 --- /dev/null +++ b/code/modules/tgui/tgui_window.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_window.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui/tgui_window.dm

/datum/tgui_windowCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT
\ No newline at end of file diff --git a/code/modules/tgui_input/say_modal/tgui_say_modal.html b/code/modules/tgui_input/say_modal/tgui_say_modal.html new file mode 100644 index 00000000000..97d0cb0193d --- /dev/null +++ b/code/modules/tgui_input/say_modal/tgui_say_modal.html @@ -0,0 +1,3 @@ +code/modules/tgui_input/say_modal/tgui_say_modal.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/tgui_input/say_modal/tgui_say_modal.dm

/datum/tgui_sayThe tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.
\ No newline at end of file diff --git a/code/modules/vehicle/tg_vehicles/tg_vehicle_actions.html b/code/modules/vehicle/tg_vehicles/tg_vehicle_actions.html new file mode 100644 index 00000000000..ed47e7fe125 --- /dev/null +++ b/code/modules/vehicle/tg_vehicles/tg_vehicle_actions.html @@ -0,0 +1 @@ +code/modules/vehicle/tg_vehicles/tg_vehicle_actions.dm - Space Station 13
Space Station 13 - Modules - Types

code/modules/vehicle/tg_vehicles/tg_vehicle_actions.dm

/datum/action/vehicleACTION DATUMS
\ No newline at end of file diff --git a/datum.html b/datum.html new file mode 100644 index 00000000000..61224987b5f --- /dev/null +++ b/datum.html @@ -0,0 +1,226 @@ +/datum - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

datum

Vars

cached_refA cached version of our \ref +The brunt of \ref costs are in creating entries in the string tree (a tree of immutable strings) +This avoids doing that more then once per datum by ensuring ref strings always have a reference to them after they're first pulled
isprocessingUsed by SSprocessing
md5_unique_datum_idMD5'd version of the UID. Used for instances where we dont want to make clients aware of UIDs.
status_traitsStatus traits attached to this datum
tgui_shared_statesglobal

Procs

CanProcCallProc to check if a datum allows proc calls on it
DeleteComponentRemoves the component from the datum
DeleteComponentsTypeRemoves all components of a given type from the datum
GetComponentReturn any component assigned to this datum of the given type
GetComponentsGet all components of a given type that are attached to this datum
GetExactComponentReturn any component assigned to this datum of the exact given type
LoadComponentGet existing component of type, or create it and return a reference to it
MD5_UIDSafety wrapper for getting MD5 UIDs
RegisterSignalRegister to listen for a signal from the passed in target
RegisterSignalsRegisters multiple signals to the same proc.
TakeComponentTransfer this component to another parent
TransferComponentTransfer a single component from the source datum, to the target.
TransferComponentsTransfer all components to target
UIDGets or creates the UID of a datum
UnregisterSignalStop listening to a given signal from target
_AddComponentCreates an instance of new_type in the datum and attaches to it as parent
_AddElementFinds the singleton for the element type given and attaches it to src
_RemoveElementFinds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE
_SendSignalInternal proc to handle most all of the signaling procedure
_clear_signal_refsDo not override this. This proc exists solely to be overriden by /turf. This +allows it to ignore clearing out signals which refer to it, in order to keep +those signals valid after the turf has been changed.
add_traitsProc that handles adding multiple traits to a target via a list. Must have a common source and target.
p_aFunctionally the \a macro, for the cases where you put a bicon between "some [bicon] pop corn"
p_areApplies "is" for singular genders, or "are" for plural ones (e.g. "he is here" Vs. "they are here").
p_doApplies "does" for singular genders, or "do" for plural ones (e.g. "she does stuff" Vs. "they do stuff").
p_esAdds an "es" to the end of a word as appropriate for a particular gender (e.g. "he screeches" and "they screech"). For verb conjugation.
p_haveApplies "has" for singular genders, or "have" for plural ones (e.g. "she has eaten" Vs. "they have eaten").
p_sUsed to add an "s" to the end of a word as appropriate for a particular gender (e.g. "she looks" and "they look"). For verb conjugation.
p_theirApplies one of "their", "its", "his", or "her" as appropriate. Set to TRUE to capitalise.
p_themApplies one of "them", "it", "him", or "her" as appropriate. Set to TRUE to capitalise.
p_themselvesApplies one of "themselves", "itself", "himself", or "herself" as appropriate. Set to TRUE to capitalise.
p_theyApplies one of "they", "it", "he", or "she" as appropriate. Set to TRUE to capitalise.
p_theyreApplies one of "they're", "it's", "he's", or "she's" as appropriate. Set to TRUE to capitalise.
p_theyveApplies one of "they've", "it's", "he's", or "she's" as appropriate. Set to TRUE to capitalise.
p_wereApplies "was" for singular genders, or "were" for plural ones (e.g. "it was huge" Vs. "they were huge").
remove_traitsProc that handles removing multiple traits from a target via a list. Must have a common source and target.
signal_cancel_activate_selfUsed for signal registrars who wish to completely ignore all behavior +in the attack chain from parent types. Should be used sparingly, as +subtypes are meant to build on behavior from the parent type.
signal_cancel_attack_byUsed for signal registrars who wish to completely ignore all behavior +in the attack chain from parent types calling attack_by. Should be +used sparingly, as subtypes are meant to build on behavior from the parent +type.
signal_qdel
string_assoc_listCaches associative lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).
ui_actpublic
ui_assetspublic
ui_closepublic
ui_datapublic
ui_hostprivate
ui_interactExternal tgui definitions, such as src_object APIs.
ui_modal_actCall this from a proc that is called in ui_act() to process modal actions
ui_modal_answerCalls the source's currently assigned modal's (if there is one) on_answer() proc. Private.
ui_modal_bentoOpens a bento input UI modal
ui_modal_booleanOpens a yes/no UI modal
ui_modal_choiceOpens a dropdown input UI modal
ui_modal_clearClears the current modal for a given datum
ui_modal_dataCall this from ui_data() to return modal information if needed
ui_modal_inputOpens a text input UI modal
ui_modal_messageOpens a message UI modal
ui_modal_newRegisters a given modal to a source. Private.
ui_modal_preprocess_answerPasses an answer from JS through the modal's proc.
ui_stateprivate
ui_static_datapublic
ui_statusBase state and helpers for states. Just does some sanity checks, +implement a proper state for in-depth checks.
update_static_datapublic
vv_do_topicThis proc is only called if everything topic-wise is verified. The only verifications that should happen here is things like permission checks! +href_list is a reference, modifying it in these procs WILL change the rest of the proc in topic.dm of admin/view_variables! +This proc is for "high level" actions like admin heal/set species/etc/etc. The low level debugging things should go in admin/view_variables/topic_basic.dm in case this runtimes.

Var Details

cached_ref

A cached version of our \ref +The brunt of \ref costs are in creating entries in the string tree (a tree of immutable strings) +This avoids doing that more then once per datum by ensuring ref strings always have a reference to them after they're first pulled

isprocessing

Used by SSprocessing

md5_unique_datum_id

MD5'd version of the UID. Used for instances where we dont want to make clients aware of UIDs.

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.

Proc Details

CanProcCall

Proc to check if a datum allows proc calls on it

+

Returns TRUE if you can call a proc on the datum, FALSE if you cant

DeleteComponent

Removes the component from the datum

DeleteComponentsType

Removes all components of a given type from the datum

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:

+

MD5_UID

Safety wrapper for getting MD5 UIDs

+

This ensures it exists before reading it

RegisterSignal

Register to listen for a signal from the passed in target

+

This sets up a listening relationship such that when the target object emits a signal +the source datum this proc is called upon, will receive a callback to the given proctype +Return values from procs registered must be a bitfield

+

Arguments:

+

RegisterSignals

Registers multiple signals to the same proc.

TakeComponent

Transfer this component to another parent

+

Component is taken from source datum

+

Arguments:

+

TransferComponent

Transfer a single component from the source datum, to the target.

+

Arguments:

+

TransferComponents

Transfer all components to target

+

All components from source datum are taken

+

Arguments:

+

UID

Gets or creates the UID of a datum

+

BYOND refs are recycled, so this system prevents that. If a datum does not have a UID when this proc is ran, one will be created +Returns the UID of the datum

UnregisterSignal

Stop listening to a given signal from target

+

Breaks the relationship between target and source datum, removing the callback when the signal fires

+

Doesn't care if a registration exists or not

+

Arguments:

+

_AddComponent

Creates an instance of new_type in the datum and attaches to it as parent

+

Sends the COMSIG_COMPONENT_ADDED signal to the datum

+

Returns the component that was created. Or the old component in a dupe situation where COMPONENT_DUPE_UNIQUE was set

+

If this tries to add a component to an incompatible type, the component will be deleted and the result will be null. This is very unperformant, try not to do it

+

Properly handles duplicate situations based on the dupe_mode var

_AddElement

Finds the singleton for the element type given and attaches it to src

_RemoveElement

Finds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE

_SendSignal

Internal proc to handle most all of the signaling procedure

+

Will runtime if used on datums with an empty component list

+

Use the SEND_SIGNAL define instead

_clear_signal_refs

Do not override this. This proc exists solely to be overriden by /turf. This +allows it to ignore clearing out signals which refer to it, in order to keep +those signals valid after the turf has been changed.

add_traits

Proc that handles adding multiple traits to a target via a list. Must have a common source and target.

p_a

Functionally the \a macro, for the cases where you put a bicon between "some [bicon] pop corn"

p_are

Applies "is" for singular genders, or "are" for plural ones (e.g. "he is here" Vs. "they are here").

p_do

Applies "does" for singular genders, or "do" for plural ones (e.g. "she does stuff" Vs. "they do stuff").

p_es

Adds an "es" to the end of a word as appropriate for a particular gender (e.g. "he screeches" and "they screech"). For verb conjugation.

p_have

Applies "has" for singular genders, or "have" for plural ones (e.g. "she has eaten" Vs. "they have eaten").

p_s

Used to add an "s" to the end of a word as appropriate for a particular gender (e.g. "she looks" and "they look"). For verb conjugation.

p_their

Applies one of "their", "its", "his", or "her" as appropriate. Set to TRUE to capitalise.

p_them

Applies one of "them", "it", "him", or "her" as appropriate. Set to TRUE to capitalise.

p_themselves

Applies one of "themselves", "itself", "himself", or "herself" as appropriate. Set to TRUE to capitalise.

p_they

Applies one of "they", "it", "he", or "she" as appropriate. Set to TRUE to capitalise.

p_theyre

Applies one of "they're", "it's", "he's", or "she's" as appropriate. Set to TRUE to capitalise.

p_theyve

Applies one of "they've", "it's", "he's", or "she's" as appropriate. Set to TRUE to capitalise.

p_were

Applies "was" for singular genders, or "were" for plural ones (e.g. "it was huge" Vs. "they were huge").

remove_traits

Proc that handles removing multiple traits from a target via a list. Must have a common source and target.

signal_cancel_activate_self

Used for signal registrars who wish to completely ignore all behavior +in the attack chain from parent types. Should be used sparingly, as +subtypes are meant to build on behavior from the parent type.

signal_cancel_attack_by

Used for signal registrars who wish to completely ignore all behavior +in the attack chain from parent types calling attack_by. Should be +used sparingly, as subtypes are meant to build on behavior from the parent +type.

signal_qdel

Signal qdel

+

Proc intended to be used when someone wants the src datum to be qdeled when a certain signal is sent to them.

+

Example usage: +RegisterSignal(item, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/datum, signal_qdel))

string_assoc_list

Caches associative lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).

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 UI should be updated or not.

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

External tgui definitions, such as src_object APIs.

+

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

+

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_modal_act

Call this from a proc that is called in ui_act() to process modal actions

+

Example: /obj/machinery/chem_master/proc/ui_act_modal +You can then switch based on the return value and show different +modals depending on the answer. +Arguments:

+

ui_modal_answer

Calls the source's currently assigned modal's (if there is one) on_answer() proc. Private.

+

Arguments:

+

ui_modal_bento

Opens a bento input UI modal

+

Internally checks if the answer is in the list of choices. +Arguments:

+

ui_modal_boolean

Opens a yes/no UI modal

+

Arguments:

+

ui_modal_choice

Opens a dropdown input UI modal

+

Internally checks if the answer is in the list of choices. +Arguments:

+

ui_modal_clear

Clears the current modal for a given datum

+

Arguments:

+

ui_modal_data

Call this from ui_data() to return modal information if needed

+

Arguments:

+

ui_modal_input

Opens a text input UI modal

+

Arguments:

+

ui_modal_message

Opens a message UI modal

+

Arguments:

+

ui_modal_new

Registers a given modal to a source. Private.

+

Arguments:

+

ui_modal_preprocess_answer

Passes an answer from JS through the modal's proc.

+

Used namely for cutting the text short if it's longer +than an input modal's max_length. +Arguments:

+

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

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

+

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

vv_do_topic

This proc is only called if everything topic-wise is verified. The only verifications that should happen here is things like permission checks! +href_list is a reference, modifying it in these procs WILL change the rest of the proc in topic.dm of admin/view_variables! +This proc is for "high level" actions like admin heal/set species/etc/etc. The low level debugging things should go in admin/view_variables/topic_basic.dm in case this runtimes.

\ No newline at end of file diff --git a/datum/action.html b/datum/action.html new file mode 100644 index 00000000000..8774e537c19 --- /dev/null +++ b/datum/action.html @@ -0,0 +1,24 @@ +/datum/action - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

action

Vars

action_disabledToggles whether this action is usable or not
background_iconThis is the icon state state for the BACKGROUND underlay icon of the button +(If set to ACTION_BUTTON_DEFAULT_BACKGROUND, uses the hud's default background)
background_icon_stateIcon state of screen object background
button_iconThis is the file for the icon that appears on the button
button_icon_stateThis is the icon state for the icon that appears on the button
default_button_positionWhere any buttons we create should be by default. Accepts screen_loc and location defines
overlay_iconThis is the file for any FOREGROUND overlay icons on the button (such as borders)
overlay_icon_stateThis is the icon state for any FOREGROUND overlay icons on the button (such as borders)
owner_has_controlIf False, the owner of this action does not get a hud and cannot activate it on their own
show_to_observersWhether or not this will be shown to observers
viewersMap of huds viewing a button with our action -> their button

Procs

apply_button_backgroundCreates the background underlay for the button
apply_button_iconApplies our button icon and icon state to the button
apply_button_overlayApplies any overlays to our button
build_all_button_iconsBuilds / updates all buttons we have shared or given out
build_button_iconBuilds the icon of the button.
is_action_activeChecks if our action is actively selected. Used for selecting icons primarily.
link_toLinks the passed target to our action, registering any relevant signals
on_target_icon_updateUpdates our buttons if our target's icon was updated
update_button_nameUpdates the name and description of the button to match our action name and discription.
update_button_statusAny other miscellaneous "status" updates within the action button is handled here, +such as redding out when unavailable or modifying maptext.

Var Details

action_disabled

Toggles whether this action is usable or not

background_icon

This is the icon state state for the BACKGROUND underlay icon of the button +(If set to ACTION_BUTTON_DEFAULT_BACKGROUND, uses the hud's default background)

background_icon_state

Icon state of screen object background

button_icon

This is the file for the icon that appears on the button

button_icon_state

This is the icon state for the icon that appears on the button

default_button_position

Where any buttons we create should be by default. Accepts screen_loc and location defines

overlay_icon

This is the file for any FOREGROUND overlay icons on the button (such as borders)

overlay_icon_state

This is the icon state for any FOREGROUND overlay icons on the button (such as borders)

owner_has_control

If False, the owner of this action does not get a hud and cannot activate it on their own

show_to_observers

Whether or not this will be shown to observers

viewers

Map of huds viewing a button with our action -> their button

Proc Details

apply_button_background

Creates the background underlay for the button

+

button - what button are we editing? +force - whether an update is forced regardless of existing status

apply_button_icon

Applies our button icon and icon state to the button

+

button - what button are we editing? +force - whether an update is forced regardless of existing status

apply_button_overlay

Applies any overlays to our button

+

button - what button are we editing? +force - whether an update is forced regardless of existing status

build_all_button_icons

Builds / updates all buttons we have shared or given out

build_button_icon

Builds the icon of the button.

+

Concept:

+ +

button - which button we are modifying the icon of +force - whether we're forcing a full update

is_action_active

Checks if our action is actively selected. Used for selecting icons primarily.

Links the passed target to our action, registering any relevant signals

on_target_icon_update

Updates our buttons if our target's icon was updated

update_button_name

Updates the name and description of the button to match our action name and discription.

+

button - what button are we editing? +force - whether an update is forced regardless of existing status

update_button_status

Any other miscellaneous "status" updates within the action button is handled here, +such as redding out when unavailable or modifying maptext.

+

button - what button are we editing? +force - whether an update is forced regardless of existing status

\ No newline at end of file diff --git a/datum/action/changeling.html b/datum/action/changeling.html new file mode 100644 index 00000000000..215e1b415c1 --- /dev/null +++ b/datum/action/changeling.html @@ -0,0 +1 @@ +/datum/action/changeling - Space Station 13
Space Station 13 - Modules - TypesVar Details

changeling

Vars

activeIf this power is active or not. Used for toggleable abilities.
bypass_fake_deathIf this power can be used while the changeling has the TRAIT_FAKEDEATH trait.
categoryDatum path used to determine the location and name of the power in changeling evolution menu UI
chemical_costChemical cost to use this power.
clingA reference to the changeling's changeling antag datum.
dna_costThe cost of purchasing the power.
helptextA description of what the power does.
power_typeDetermines whether the power is always given to the changeling or if it must be purchased.
req_dnaThe amount of victims the changeling needs to absorb before they can use this power. Changelings always start with a value of 1.
req_humanIf you need to be in human form to activate this power.
req_statWhat stat value the changeling needs to have to use this power. Will be CONSCIOUS, UNCONSCIOUS or DEAD.

Var Details

active

If this power is active or not. Used for toggleable abilities.

bypass_fake_death

If this power can be used while the changeling has the TRAIT_FAKEDEATH trait.

category

Datum path used to determine the location and name of the power in changeling evolution menu UI

chemical_cost

Chemical cost to use this power.

cling

A reference to the changeling's changeling antag datum.

dna_cost

The cost of purchasing the power.

helptext

A description of what the power does.

power_type

Determines whether the power is always given to the changeling or if it must be purchased.

req_dna

The amount of victims the changeling needs to absorb before they can use this power. Changelings always start with a value of 1.

req_human

If you need to be in human form to activate this power.

req_stat

What stat value the changeling needs to have to use this power. Will be CONSCIOUS, UNCONSCIOUS or DEAD.

\ No newline at end of file diff --git a/datum/action/changeling/biodegrade.html b/datum/action/changeling/biodegrade.html new file mode 100644 index 00000000000..f800c109adf --- /dev/null +++ b/datum/action/changeling/biodegrade.html @@ -0,0 +1 @@ +/datum/action/changeling/biodegrade - Space Station 13
Space Station 13 - Modules - TypesVar Details

biodegrade

Vars

current_handCurrent hand given to human, null is we did not give hand, object if hand is given
handType of acid hand we give to person

Var Details

current_hand

Current hand given to human, null is we did not give hand, object if hand is given

hand

Type of acid hand we give to person

\ No newline at end of file diff --git a/datum/action/changeling/environmental_adaptation.html b/datum/action/changeling/environmental_adaptation.html new file mode 100644 index 00000000000..f856ea6d4a9 --- /dev/null +++ b/datum/action/changeling/environmental_adaptation.html @@ -0,0 +1 @@ +/datum/action/changeling/environmental_adaptation - Space Station 13
Space Station 13 - Modules - TypesVar Details

environmental_adaptation

Vars

is_activeis ability active (we are invisible)?
recharge_slowdownHow much we slow chemical regeneration while active, in chems per second

Var Details

is_active

is ability active (we are invisible)?

recharge_slowdown

How much we slow chemical regeneration while active, in chems per second

\ No newline at end of file diff --git a/datum/action/changeling/evolution_menu.html b/datum/action/changeling/evolution_menu.html new file mode 100644 index 00000000000..502e474bad1 --- /dev/null +++ b/datum/action/changeling/evolution_menu.html @@ -0,0 +1 @@ +/datum/action/changeling/evolution_menu - Space Station 13
Space Station 13 - Modules - TypesVar Details

evolution_menu

Vars

ability_tabsA list containing lists of category and abilities, related to this category. For each ability includes its name, description, helptext and cost. For use with the UI.
purchased_abilitiesA list containing the typepaths of bought changeling abilities. For use with the UI.
view_modeWhich UI view will be displayed. Compact mode will show only power names, and will leave out their descriptions and helptext.

Var Details

ability_tabs

A list containing lists of category and abilities, related to this category. For each ability includes its name, description, helptext and cost. For use with the UI.

purchased_abilities

A list containing the typepaths of bought changeling abilities. For use with the UI.

view_mode

Which UI view will be displayed. Compact mode will show only power names, and will leave out their descriptions and helptext.

\ No newline at end of file diff --git a/datum/action/changeling/spiders.html b/datum/action/changeling/spiders.html new file mode 100644 index 00000000000..4955c75c114 --- /dev/null +++ b/datum/action/changeling/spiders.html @@ -0,0 +1 @@ +/datum/action/changeling/spiders - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

spiders

Vars

is_operatingChecks if changeling is already spawning a spider
spider_counterThis var keeps track of the changeling's spider count

Procs

sting_actionMakes a spider. Good for setting traps and combat.

Var Details

is_operating

Checks if changeling is already spawning a spider

spider_counter

This var keeps track of the changeling's spider count

Proc Details

sting_action

Makes a spider. Good for setting traps and combat.

\ No newline at end of file diff --git a/datum/action/changeling/sting.html b/datum/action/changeling/sting.html new file mode 100644 index 00000000000..7cc2c989825 --- /dev/null +++ b/datum/action/changeling/sting.html @@ -0,0 +1 @@ +/datum/action/changeling/sting - Space Station 13
Space Station 13 - Modules - TypesVar Details

sting

Vars

click_overrideA middle click override used to intercept changeling stings performed on a target.

Var Details

click_override

A middle click override used to intercept changeling stings performed on a target.

\ No newline at end of file diff --git a/datum/action/changeling/weapon.html b/datum/action/changeling/weapon.html new file mode 100644 index 00000000000..9ad218f9bcc --- /dev/null +++ b/datum/action/changeling/weapon.html @@ -0,0 +1 @@ +/datum/action/changeling/weapon - Space Station 13
Space Station 13 - Modules - TypesVar Details

weapon

Vars

recharge_slowdownHow much does the chemical recharge rate get reduced by having this weapon out?

Var Details

recharge_slowdown

How much does the chemical recharge rate get reduced by having this weapon out?

\ No newline at end of file diff --git a/datum/action/cooldown.html b/datum/action/cooldown.html new file mode 100644 index 00000000000..8d5eaa38b92 --- /dev/null +++ b/datum/action/cooldown.html @@ -0,0 +1,9 @@ +/datum/action/cooldown - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cooldown

Preset for an action that has a cooldown.

Vars

active_background_icon_stateThe icon state the background uses when active
active_icon_stateThe active icon state of the spell's button icon, used for editing the icon "on"
active_overlay_icon_stateThe active icon_state of the overlay we apply
base_background_icon_stateThe base icon_state of this action's background
base_icon_stateThe base icon state of the spell's button icon, used for editing the icon "off"
base_overlay_icon_stateThe base icon_state of the overlay we apply
click_cd_overrideThe cooldown added onto the user's next click.
click_to_activateSetting for intercepting clicks before activating the ability
cooldown_roundingSignificant figures to round cooldown to
cooldown_timeThe default cooldown applied when StartCooldown() is called
initialized_actionsList of prerequisite actions that have been initialized
melee_cooldown_timeThe default melee cooldown applied after the ability ends. If set to null, copies cooldown_time.
next_melee_use_timeThe actual next time the owner of this action can melee
next_use_timeThe actual next time this ability can be used
panelThe stat panel this action shows up in the stat panel in. If null, will not show up.
ranged_mousepointerWhat icon to replace our mouse cursor with when active. Optional
sequence_actionsList of prerequisite actions that are used in this sequenced ability, you cannot put other sequenced abilities in this
shared_cooldownShares cooldowns with other abiliies, bitflag
text_cooldownWhether or not you want the cooldown for the ability to display in text form
unset_after_clickIf TRUE, we will unset after using our click intercept.

Procs

ActivateTo be implemented by subtypes (if not generic)
InterceptClickOnIntercepts client owner clicks to activate the ability
PreActivateFor signal calling
ResetCooldownResets the cooldown of this ability
StartCooldownStarts a cooldown time to be shared with similar abilities +Will use default cooldown time if an override is not specified
StartCooldownOthersStarts a cooldown time for other abilities that share a cooldown with this. Has some niche usage with more complicated attack ai! +Will use default cooldown time if an override is not specified
StartCooldownSelfStarts a cooldown time for this ability only +Will use default cooldown time if an override is not specified
create_sequence_actionsInitializes any sequence actions
disableDisables this cooldown action
disable_cooldown_actionsDisables all cooldown actions
enableRe-enables this cooldown action
enable_cooldown_actionsRe-enables all cooldown actions
handle_melee_attackCancels melee attacks if they are on cooldown.
set_click_abilitySet our action as the click override on the passed mob.
set_statpanel_formatFormats the action to be returned to the stat panel.
unset_click_abilityUnset our action as the click override of the passed mob.

Var Details

active_background_icon_state

The icon state the background uses when active

active_icon_state

The active icon state of the spell's button icon, used for editing the icon "on"

active_overlay_icon_state

The active icon_state of the overlay we apply

base_background_icon_state

The base icon_state of this action's background

base_icon_state

The base icon state of the spell's button icon, used for editing the icon "off"

base_overlay_icon_state

The base icon_state of the overlay we apply

click_cd_override

The cooldown added onto the user's next click.

click_to_activate

Setting for intercepting clicks before activating the ability

cooldown_rounding

Significant figures to round cooldown to

cooldown_time

The default cooldown applied when StartCooldown() is called

initialized_actions

List of prerequisite actions that have been initialized

melee_cooldown_time

The default melee cooldown applied after the ability ends. If set to null, copies cooldown_time.

next_melee_use_time

The actual next time the owner of this action can melee

next_use_time

The actual next time this ability can be used

panel

The stat panel this action shows up in the stat panel in. If null, will not show up.

ranged_mousepointer

What icon to replace our mouse cursor with when active. Optional

sequence_actions

List of prerequisite actions that are used in this sequenced ability, you cannot put other sequenced abilities in this

shared_cooldown

Shares cooldowns with other abiliies, bitflag

text_cooldown

Whether or not you want the cooldown for the ability to display in text form

unset_after_click

If TRUE, we will unset after using our click intercept.

Proc Details

Activate

To be implemented by subtypes (if not generic)

InterceptClickOn

Intercepts client owner clicks to activate the ability

PreActivate

For signal calling

ResetCooldown

Resets the cooldown of this ability

StartCooldown

Starts a cooldown time to be shared with similar abilities +Will use default cooldown time if an override is not specified

StartCooldownOthers

Starts a cooldown time for other abilities that share a cooldown with this. Has some niche usage with more complicated attack ai! +Will use default cooldown time if an override is not specified

StartCooldownSelf

Starts a cooldown time for this ability only +Will use default cooldown time if an override is not specified

create_sequence_actions

Initializes any sequence actions

disable

Disables this cooldown action

disable_cooldown_actions

Disables all cooldown actions

enable

Re-enables this cooldown action

enable_cooldown_actions

Re-enables all cooldown actions

handle_melee_attack

Cancels melee attacks if they are on cooldown.

set_click_ability

Set our action as the click override on the passed mob.

set_statpanel_format

Formats the action to be returned to the stat panel.

unset_click_ability

Unset our action as the click override of the passed mob.

+

if refund_cooldown is TRUE, we are being unset by the user clicking the action off +if refund_cooldown is FALSE, we are being forcefully unset, likely by someone actually using the action

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/fire_breath.html b/datum/action/cooldown/mob_cooldown/fire_breath.html new file mode 100644 index 00000000000..8c5c2735b0a --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/fire_breath.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/fire_breath - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

fire_breath

Vars

fire_damageHow much damage do you take when engulfed?
fire_delayTime to wait between spawning each fire turf
fire_rangeThe range of the fire
fire_soundThe sound played when you use this ability
fire_temperatureHow hot is our fire
fire_volume'How much' fire do we expose the turf to?
mech_damageHow much damage to mechs take when engulfed?

Procs

attack_sequenceApply our specific fire breathing shape, in proc form so we can override it in subtypes
burn_turfFinally spawn the actual fire, spawns the fire hotspot in case you want to recolour it or something
fire_lineBreathe fire in a line towards the target, optionally rotated at an offset from the target
on_burn_mobDo something unpleasant to someone we set on fire
progressive_fire_lineCreates fire with a delay on the list of targeted turfs

Var Details

fire_damage

How much damage do you take when engulfed?

fire_delay

Time to wait between spawning each fire turf

fire_range

The range of the fire

fire_sound

The sound played when you use this ability

fire_temperature

How hot is our fire

fire_volume

'How much' fire do we expose the turf to?

mech_damage

How much damage to mechs take when engulfed?

Proc Details

attack_sequence

Apply our specific fire breathing shape, in proc form so we can override it in subtypes

burn_turf

Finally spawn the actual fire, spawns the fire hotspot in case you want to recolour it or something

fire_line

Breathe fire in a line towards the target, optionally rotated at an offset from the target

on_burn_mob

Do something unpleasant to someone we set on fire

progressive_fire_line

Creates fire with a delay on the list of targeted turfs

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/fire_breath/cone.html b/datum/action/cooldown/mob_cooldown/fire_breath/cone.html new file mode 100644 index 00000000000..a78faefce81 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/fire_breath/cone.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/fire_breath/cone - Space Station 13
Space Station 13 - Modules - TypesVar Details

cone

Shoot three lines of fire in a sort of fork pattern approximating a cone

Vars

anglesThe angles relative to the target that shoot lines of fire

Var Details

angles

The angles relative to the target that shoot lines of fire

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/fire_breath/ice.html b/datum/action/cooldown/mob_cooldown/fire_breath/ice.html new file mode 100644 index 00000000000..88c9c82d368 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/fire_breath/ice.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/fire_breath/ice - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ice

Breathe "fire" in a line (it's freezing cold)

Vars

forecast_delayTime to warn people about what we are doing
forecast_overlayOverlay we show when we're about to fire
forecast_overlay_stateIcon state used foroverlay
target_turfWhat turf are we aiming at?

Procs

attack_forecastCharge up before we breathe fire
attack_sequenceApply our specific fire breathing shape, in proc form so we can override it in subtypes
breath_attackActually breathe fire

Var Details

forecast_delay

Time to warn people about what we are doing

forecast_overlay

Overlay we show when we're about to fire

forecast_overlay_state

Icon state used foroverlay

target_turf

What turf are we aiming at?

Proc Details

attack_forecast

Charge up before we breathe fire

attack_sequence

Apply our specific fire breathing shape, in proc form so we can override it in subtypes

breath_attack

Actually breathe fire

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/fire_breath/mass_fire.html b/datum/action/cooldown/mob_cooldown/fire_breath/mass_fire.html new file mode 100644 index 00000000000..8fa8e6e60fb --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/fire_breath/mass_fire.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/fire_breath/mass_fire - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mass_fire

Shoot fire in a whole bunch of directions

Vars

breath_delayHow long do we wait between each spin?
sectorsHow many fire lines do we produce to turn a full circle?
total_spinsHow many full circles do we perform?

Procs

fire_spinBreathe fire in a circle, with a slight angle offset based on which of our several circles it is

Var Details

breath_delay

How long do we wait between each spin?

sectors

How many fire lines do we produce to turn a full circle?

total_spins

How many full circles do we perform?

Proc Details

fire_spin

Breathe fire in a circle, with a slight angle offset based on which of our several circles it is

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/goliath_tentacles.html b/datum/action/cooldown/mob_cooldown/goliath_tentacles.html new file mode 100644 index 00000000000..044352ebec0 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/goliath_tentacles.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/goliath_tentacles - Space Station 13
Space Station 13 - Modules - TypesVar Details

goliath_tentacles

Place some grappling tentacles underfoot

Vars

max_rangeFurthest range we can activate ability at

Var Details

max_range

Furthest range we can activate ability at

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/kidan_princess/martial_rush.html b/datum/action/cooldown/mob_cooldown/kidan_princess/martial_rush.html new file mode 100644 index 00000000000..4878ad52e30 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/kidan_princess/martial_rush.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/kidan_princess/martial_rush - Space Station 13
Space Station 13 - Modules - TypesProc Details

martial_rush

Procs

on_movementLeaves an afterimage behind the mob when they move

Proc Details

on_movement

Leaves an afterimage behind the mob when they move

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/vox_armalis/activate_qani.html b/datum/action/cooldown/mob_cooldown/vox_armalis/activate_qani.html new file mode 100644 index 00000000000..20d6fcb79f9 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/vox_armalis/activate_qani.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/vox_armalis/activate_qani - Space Station 13
Space Station 13 - Modules - TypesProc Details

activate_qani

Procs

dodge_bulletsTries to dodge incoming bullets if we aren't disabled for any reasons
on_movementLeaves an afterimage behind the mob when they move

Proc Details

dodge_bullets

Tries to dodge incoming bullets if we aren't disabled for any reasons

on_movement

Leaves an afterimage behind the mob when they move

\ No newline at end of file diff --git a/datum/action/cooldown/mob_cooldown/vox_armalis/swap_ammo.html b/datum/action/cooldown/mob_cooldown/vox_armalis/swap_ammo.html new file mode 100644 index 00000000000..b470d6f5563 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/vox_armalis/swap_ammo.html @@ -0,0 +1 @@ +/datum/action/cooldown/mob_cooldown/vox_armalis/swap_ammo - Space Station 13
Space Station 13 - Modules - TypesVar Details

swap_ammo

Vars

ammo_typeThe type of ammunition

Var Details

ammo_type

The type of ammunition

\ No newline at end of file diff --git a/datum/action/guardian/reset_guardian.html b/datum/action/guardian/reset_guardian.html new file mode 100644 index 00000000000..7966fa1bcc3 --- /dev/null +++ b/datum/action/guardian/reset_guardian.html @@ -0,0 +1 @@ +/datum/action/guardian/reset_guardian - Space Station 13
Space Station 13 - Modules - TypesProc Details

Reset guardian action

Allows the guardian host to exchange their guardian's player for another.

Procs

reset_cooldownTakes the action button off cooldown and makes it available again.

Proc Details

reset_cooldown

Takes the action button off cooldown and makes it available again.

\ No newline at end of file diff --git a/datum/action/innate/cocoon.html b/datum/action/innate/cocoon.html new file mode 100644 index 00000000000..50657c3a160 --- /dev/null +++ b/datum/action/innate/cocoon.html @@ -0,0 +1 @@ +/datum/action/innate/cocoon - Space Station 13
Space Station 13 - Modules - TypesProc Details

cocoon

Procs

emergeRemoves moth from cocoon, restores burnt wings

Proc Details

emerge

Removes moth from cocoon, restores burnt wings

\ No newline at end of file diff --git a/datum/action/innate/cult/blood_magic.html b/datum/action/innate/cult/blood_magic.html new file mode 100644 index 00000000000..d393e3dc9fc --- /dev/null +++ b/datum/action/innate/cult/blood_magic.html @@ -0,0 +1 @@ +/datum/action/innate/cult/blood_magic - Space Station 13
Space Station 13 - Modules - TypesVar Details

blood_magic

Blood magic handles the creation of blood spells (formerly talismans)

Vars

magic_enhancedIf the magic has been enhanced somehow, likely due to a crimson medallion.

Var Details

magic_enhanced

If the magic has been enhanced somehow, likely due to a crimson medallion.

\ No newline at end of file diff --git a/datum/action/innate/cult/blood_spell.html b/datum/action/innate/cult/blood_spell.html new file mode 100644 index 00000000000..f3283a65c3a --- /dev/null +++ b/datum/action/innate/cult/blood_spell.html @@ -0,0 +1 @@ +/datum/action/innate/cult/blood_spell - Space Station 13
Space Station 13 - Modules - TypesVar Details

blood_spell

The next generation of talismans, handles storage/creation of blood magic

Vars

positionedHave we already been positioned into our starting location?

Var Details

positioned

Have we already been positioned into our starting location?

\ No newline at end of file diff --git a/datum/action/innate/elite_attack.html b/datum/action/innate/elite_attack.html new file mode 100644 index 00000000000..0f9c378b37d --- /dev/null +++ b/datum/action/innate/elite_attack.html @@ -0,0 +1 @@ +/datum/action/innate/elite_attack - Space Station 13
Space Station 13 - Modules - TypesVar Details

elite_attack

Vars

chosen_attack_numThe internal attack ID for the elite's OpenFire() proc to use
chosen_messageThe displayed message into chat when this attack is selected

Var Details

chosen_attack_num

The internal attack ID for the elite's OpenFire() proc to use

chosen_message

The displayed message into chat when this attack is selected

\ No newline at end of file diff --git a/datum/action/item_action/agent_box.html b/datum/action/item_action/agent_box.html new file mode 100644 index 00000000000..ff8352c6300 --- /dev/null +++ b/datum/action/item_action/agent_box.html @@ -0,0 +1 @@ +/datum/action/item_action/agent_box - Space Station 13
Space Station 13 - Modules - TypesVar Details

agent_box

Vars

on_cooldownIf TRUE, the box can't be deployed

Var Details

on_cooldown

If TRUE, the box can't be deployed

\ No newline at end of file diff --git a/datum/action/item_action/mod/activate.html b/datum/action/item_action/mod/activate.html new file mode 100644 index 00000000000..15bc3d93ae2 --- /dev/null +++ b/datum/action/item_action/mod/activate.html @@ -0,0 +1 @@ +/datum/action/item_action/mod/activate - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

activate

Vars

readyFirst time clicking this will set it to TRUE, second time will activate it.

Procs

reset_readyResets the state requiring to be doubleclicked again.

Var Details

ready

First time clicking this will set it to TRUE, second time will activate it.

Proc Details

reset_ready

Resets the state requiring to be doubleclicked again.

\ No newline at end of file diff --git a/datum/action/item_action/mod/pinned_module.html b/datum/action/item_action/mod/pinned_module.html new file mode 100644 index 00000000000..cd0f6373cd1 --- /dev/null +++ b/datum/action/item_action/mod/pinned_module.html @@ -0,0 +1 @@ +/datum/action/item_action/mod/pinned_module - Space Station 13
Space Station 13 - Modules - TypesVar Details

pinned_module

Vars

moduleModule we are linked to.
pinner_uidA ref to the mob we are pinned to.

Var Details

module

Module we are linked to.

pinner_uid

A ref to the mob we are pinned to.

\ No newline at end of file diff --git a/datum/action/item_action/mod_recall.html b/datum/action/item_action/mod_recall.html new file mode 100644 index 00000000000..24b383b1e12 --- /dev/null +++ b/datum/action/item_action/mod_recall.html @@ -0,0 +1 @@ +/datum/action/item_action/mod_recall - Space Station 13
Space Station 13 - Modules - TypesVar Details

mod_recall

Vars

recall_cooldownThe cooldown for the recall.

Var Details

recall_cooldown

The cooldown for the recall.

\ No newline at end of file diff --git a/datum/action/item_action/organ_action/toggle/sensory_enhancer.html b/datum/action/item_action/organ_action/toggle/sensory_enhancer.html new file mode 100644 index 00000000000..8da6f86a1ce --- /dev/null +++ b/datum/action/item_action/organ_action/toggle/sensory_enhancer.html @@ -0,0 +1 @@ +/datum/action/item_action/organ_action/toggle/sensory_enhancer - Space Station 13
Space Station 13 - Modules - TypesVar Details

sensory_enhancer

Vars

injection_amountKeeps track of how much mephedrone we inject into people on activation

Var Details

injection_amount

Keeps track of how much mephedrone we inject into people on activation

\ No newline at end of file diff --git a/datum/action/track_target.html b/datum/action/track_target.html new file mode 100644 index 00000000000..ef61cd6281b --- /dev/null +++ b/datum/action/track_target.html @@ -0,0 +1,2 @@ +/datum/action/track_target - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

track_target

The action associated with the living heart. +Allows a heretic to track sacrifice targets.

Vars

last_tracked_nameThe real name of the last mob we tracked
radial_openWhether the target radial is currently opened.
right_clickedTracks whether we were right clicked or left clicked in our last trigger

Procs

check_menuCallback for the radial to ensure it's closed when not allowed.
get_distance_messageGets the balloon message for who we're tracking.

Var Details

last_tracked_name

The real name of the last mob we tracked

radial_open

Whether the target radial is currently opened.

right_clicked

Tracks whether we were right clicked or left clicked in our last trigger

Proc Details

check_menu

Callback for the radial to ensure it's closed when not allowed.

get_distance_message

Gets the balloon message for who we're tracking.

\ No newline at end of file diff --git a/datum/action_group.html b/datum/action_group.html new file mode 100644 index 00000000000..b3509b70680 --- /dev/null +++ b/datum/action_group.html @@ -0,0 +1,7 @@ +/datum/action_group - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

action_group

Vars

actionsThe action buttons we're managing
column_maxMax amount of buttons we can have per row +Indexes at 1
landingOur landing screen object
locationThe screen location we go by
max_rowsHow many rows of actions we can have at max before we just stop hiding +Indexes at 1
north_offsetThe initial vertical offset of our action buttons
ownerThe hud we're owned by
pixel_horiz_offsetThe pixel horizontal offset of our action buttons
pixel_north_offsetThe pixel vertical offset of our action buttons
row_offsetHow far "ahead" of the first row we start. Lets us "scroll" our rows +Indexes at 1
west_offsetThe initial horizontal offset of our action buttons

Procs

ButtonNumberToScreenCoordsAccepts a number represeting our position in the group, indexes at 0 to make the math nicer
clear_landingClears any landing objects we may currently have
generate_landingGenerates a landing object that can be dropped on to join this group
sizeReturns the amount of objects we're storing at the moment

Var Details

actions

The action buttons we're managing

column_max

Max amount of buttons we can have per row +Indexes at 1

landing

Our landing screen object

location

The screen location we go by

max_rows

How many rows of actions we can have at max before we just stop hiding +Indexes at 1

north_offset

The initial vertical offset of our action buttons

owner

The hud we're owned by

pixel_horiz_offset

The pixel horizontal offset of our action buttons

pixel_north_offset

The pixel vertical offset of our action buttons

row_offset

How far "ahead" of the first row we start. Lets us "scroll" our rows +Indexes at 1

west_offset

The initial horizontal offset of our action buttons

Proc Details

ButtonNumberToScreenCoords

Accepts a number represeting our position in the group, indexes at 0 to make the math nicer

clear_landing

Clears any landing objects we may currently have

generate_landing

Generates a landing object that can be dropped on to join this group

size

Returns the amount of objects we're storing at the moment

\ No newline at end of file diff --git a/datum/admins.html b/datum/admins.html new file mode 100644 index 00000000000..3dc325a724c --- /dev/null +++ b/datum/admins.html @@ -0,0 +1,13 @@ +/datum/admins - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

admins

Vars

href_tokenUnique-to-session randomly generated token given to each admin to help add detail to logs on admin interactions with hrefs
is_localhost_autoadminWas this auto-created for someone connecting from localhost?
marked_datumOur currently linked marked datum
restricted_by_2faTracks if their permissions have been reduced due to a lack of 2fa.
rightsBitflag containing the current rights this admin holder is assigned to
team_switch_tab_indexOur index into GLOB.antagonist_teams, so that admins can have pretty tabs in the Check Teams menu.

Procs

ccbdb_lookup_callbackCCBDB Lookup Callback
check_teamsOpens a window which lists the teams for the round.
create_ccbdb_lookupCCBDB Lookup Initiator
list_teamsReturns HTML content for the "check teams" window.
modify_traitsAllow admin to add or remove traits of datum

Var Details

href_token

Unique-to-session randomly generated token given to each admin to help add detail to logs on admin interactions with hrefs

is_localhost_autoadmin

Was this auto-created for someone connecting from localhost?

marked_datum

Our currently linked marked datum

restricted_by_2fa

Tracks if their permissions have been reduced due to a lack of 2fa.

rights

Bitflag containing the current rights this admin holder is assigned to

team_switch_tab_index

Our index into GLOB.antagonist_teams, so that admins can have pretty tabs in the Check Teams menu.

Proc Details

ccbdb_lookup_callback

CCBDB Lookup Callback

+

Callback assigned in /datum/admins/proc/create_ccbdb_lookup for async operations without a sleep()

+

Arguments:

+

check_teams

Opens a window which lists the teams for the round.

create_ccbdb_lookup

CCBDB Lookup Initiator

+

Checks the configuration before invoking the request to the CCBDB server.

+

Arguments:

+

list_teams

Returns HTML content for the "check teams" window.

modify_traits

Allow admin to add or remove traits of datum

\ No newline at end of file diff --git a/datum/ai_behavior.html b/datum/ai_behavior.html new file mode 100644 index 00000000000..96ed6c0977a --- /dev/null +++ b/datum/ai_behavior.html @@ -0,0 +1,43 @@ +/datum/ai_behavior - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_behavior

Abstract class for an action an AI can take. Can range from movement to grabbing a nearby weapon.

Vars

action_cooldownCooldown between actions performances, defaults to the value of +CLICK_CD_MELEE because that seemed like a nice standard for the speed of +AI behavior
behavior_flagsFlags for extra behavior
required_distanceWhat distance you need to be from the target to perform the action.

Procs

clear_movement_targetClear the controller's movement target only if it was us who last set it
finish_actionCalled when the action is finished. This needs the same args as perform +besides the default ones. This should be used to clear up the blackboard of +any unnecessary or obsolete data, and update the state of the pawn if +necessary once we know whether or not the AI action was successful. +succeeded is TRUE or FALSE depending on whether +/datum/ai_behavior/proc/perform returns AI_BEHAVIOR_SUCCEEDED or +AI_BEHAVIOR_FAILED.
get_cooldownReturns the delay to use for this behavior in the moment. The default +behavior cooldown is CLICK_CD_MELEE, but can be customized; for example, +you may want a mob crawling through vents to move slowly and at a random +pace between pipes.
performCalled by the AI controller when this action is performed. This will +typically require consulting the blackboard for information on the specific +actions desired from this behavior, by passing the relevant blackboard data +keys to this proc. Returns a combination of AI_BEHAVIOR_DELAY or +[AI_BEHAVIOR_INSTANT], determining whether or not a cooldown occurs, and +AI_BEHAVIOR_SUCCEEDED or AI_BEHAVIOR_FAILED. The behavior's +finish_action proc is given TRUE or FALSE depending on whether or not the +return value of perform is marked as successful or unsuccessful.
set_movement_targetHelper proc to ensure consistency in setting the source of the movement target
setupCalled by the AI controller when first being added. Additional arguments +depend on the behavior type. For example, if the behavior involves attacking +a mob, you may require an argument naming the blackboard key which points to +the target. Return FALSE to cancel.

Var Details

action_cooldown

Cooldown between actions performances, defaults to the value of +CLICK_CD_MELEE because that seemed like a nice standard for the speed of +AI behavior

behavior_flags

Flags for extra behavior

required_distance

What distance you need to be from the target to perform the action.

Proc Details

clear_movement_target

Clear the controller's movement target only if it was us who last set it

finish_action

Called when the action is finished. This needs the same args as perform +besides the default ones. This should be used to clear up the blackboard of +any unnecessary or obsolete data, and update the state of the pawn if +necessary once we know whether or not the AI action was successful. +succeeded is TRUE or FALSE depending on whether +/datum/ai_behavior/proc/perform returns AI_BEHAVIOR_SUCCEEDED or +AI_BEHAVIOR_FAILED.

get_cooldown

Returns the delay to use for this behavior in the moment. The default +behavior cooldown is CLICK_CD_MELEE, but can be customized; for example, +you may want a mob crawling through vents to move slowly and at a random +pace between pipes.

perform

Called by the AI controller when this action is performed. This will +typically require consulting the blackboard for information on the specific +actions desired from this behavior, by passing the relevant blackboard data +keys to this proc. Returns a combination of AI_BEHAVIOR_DELAY or +[AI_BEHAVIOR_INSTANT], determining whether or not a cooldown occurs, and +AI_BEHAVIOR_SUCCEEDED or AI_BEHAVIOR_FAILED. The behavior's +finish_action proc is given TRUE or FALSE depending on whether or not the +return value of perform is marked as successful or unsuccessful.

set_movement_target

Helper proc to ensure consistency in setting the source of the movement target

setup

Called by the AI controller when first being added. Additional arguments +depend on the behavior type. For example, if the behavior involves attacking +a mob, you may require an argument naming the blackboard key which points to +the target. Return FALSE to cancel.

\ No newline at end of file diff --git a/datum/ai_behavior/attack_obstructions.html b/datum/ai_behavior/attack_obstructions.html new file mode 100644 index 00000000000..a3430c5beb8 --- /dev/null +++ b/datum/ai_behavior/attack_obstructions.html @@ -0,0 +1 @@ +/datum/ai_behavior/attack_obstructions - Space Station 13
Space Station 13 - Modules - TypesVar Details

attack_obstructions

Something is in our way, get it outta here

Vars

can_attack_dense_objectsFor if you want your mob to be able to attack dense objects
can_attack_turfsIf we should attack walls, be prepared for complaints about breaches

Var Details

can_attack_dense_objects

For if you want your mob to be able to attack dense objects

can_attack_turfs

If we should attack walls, be prepared for complaints about breaches

\ No newline at end of file diff --git a/datum/ai_behavior/basic_melee_attack.html b/datum/ai_behavior/basic_melee_attack.html new file mode 100644 index 00000000000..b988478aff3 --- /dev/null +++ b/datum/ai_behavior/basic_melee_attack.html @@ -0,0 +1 @@ +/datum/ai_behavior/basic_melee_attack - Space Station 13
Space Station 13 - Modules - TypesVar Details

basic_melee_attack

Vars

terminate_after_actiondo we finish this action after hitting once?

Var Details

terminate_after_action

do we finish this action after hitting once?

\ No newline at end of file diff --git a/datum/ai_behavior/basic_ranged_attack.html b/datum/ai_behavior/basic_ranged_attack.html new file mode 100644 index 00000000000..0ee172fabcc --- /dev/null +++ b/datum/ai_behavior/basic_ranged_attack.html @@ -0,0 +1 @@ +/datum/ai_behavior/basic_ranged_attack - Space Station 13
Space Station 13 - Modules - TypesVar Details

basic_ranged_attack

Vars

avoid_friendly_firedo we care about avoiding friendly fire?
chase_rangerange we will try chasing the target before giving up

Var Details

avoid_friendly_fire

do we care about avoiding friendly fire?

chase_range

range we will try chasing the target before giving up

\ No newline at end of file diff --git a/datum/ai_behavior/basic_ranged_attack/minebot.html b/datum/ai_behavior/basic_ranged_attack/minebot.html new file mode 100644 index 00000000000..cadcfb8e388 --- /dev/null +++ b/datum/ai_behavior/basic_ranged_attack/minebot.html @@ -0,0 +1 @@ +/datum/ai_behavior/basic_ranged_attack/minebot - Space Station 13
Space Station 13 - Modules - TypesVar Details

minebot

Vars

minimum_distanceif our target is closer than this distance, finish action

Var Details

minimum_distance

if our target is closer than this distance, finish action

\ No newline at end of file diff --git a/datum/ai_behavior/battle_screech.html b/datum/ai_behavior/battle_screech.html new file mode 100644 index 00000000000..be0806b43b5 --- /dev/null +++ b/datum/ai_behavior/battle_screech.html @@ -0,0 +1 @@ +/datum/ai_behavior/battle_screech - Space Station 13
Space Station 13 - Modules - TypesVar Details

battle_screech

Vars

screechesList of possible screeches the behavior has

Var Details

screeches

List of possible screeches the behavior has

\ No newline at end of file diff --git a/datum/ai_behavior/burrow_away.html b/datum/ai_behavior/burrow_away.html new file mode 100644 index 00000000000..d1cca07e57e --- /dev/null +++ b/datum/ai_behavior/burrow_away.html @@ -0,0 +1 @@ +/datum/ai_behavior/burrow_away - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

burrow_away

Vars

chase_timeHow long until the grub burrows

Procs

burrowBegin the chase to kill the mob in time

Var Details

chase_time

How long until the grub burrows

Proc Details

burrow

Begin the chase to kill the mob in time

\ No newline at end of file diff --git a/datum/ai_behavior/capricious_retaliate.html b/datum/ai_behavior/capricious_retaliate.html new file mode 100644 index 00000000000..b86379c7800 --- /dev/null +++ b/datum/ai_behavior/capricious_retaliate.html @@ -0,0 +1 @@ +/datum/ai_behavior/capricious_retaliate - Space Station 13
Space Station 13 - Modules - TypesProc Details

capricious_retaliate

Add or remove people to our retaliation shitlist just on an arbitrary whim

Procs

failed_targetingCalled if we try but fail to target something

Proc Details

failed_targeting

Called if we try but fail to target something

\ No newline at end of file diff --git a/datum/ai_behavior/find_and_set/ventcrawl.html b/datum/ai_behavior/find_and_set/ventcrawl.html new file mode 100644 index 00000000000..3c0236a8dd4 --- /dev/null +++ b/datum/ai_behavior/find_and_set/ventcrawl.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_and_set/ventcrawl - Space Station 13
Space Station 13 - Modules - TypesProc Details

ventcrawl

Procs

nearby_ventsFind something interesting nearby that we have access to.
search_tacticThis proc assumes that all ventcrawling creatures are omniscient.

Proc Details

nearby_vents

Find something interesting nearby that we have access to.

search_tactic

This proc assumes that all ventcrawling creatures are omniscient.

\ No newline at end of file diff --git a/datum/ai_behavior/find_hunt_target.html b/datum/ai_behavior/find_hunt_target.html new file mode 100644 index 00000000000..4a565d14af3 --- /dev/null +++ b/datum/ai_behavior/find_hunt_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_hunt_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_hunt_target

Finds a specific atom type to hunt.

Vars

search_turf_typesis this only meant to search for turf types?

Var Details

search_turf_types

is this only meant to search for turf types?

\ No newline at end of file diff --git a/datum/ai_behavior/find_mineral_wall.html b/datum/ai_behavior/find_mineral_wall.html new file mode 100644 index 00000000000..d1287dfb0c9 --- /dev/null +++ b/datum/ai_behavior/find_mineral_wall.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_mineral_wall - Space Station 13
Space Station 13 - Modules - TypesProc Details

find_mineral_wall

Procs

check_if_mineableCheck to see if we can get to and mine the turf the mineral is in

Proc Details

check_if_mineable

Check to see if we can get to and mine the turf the mineral is in

\ No newline at end of file diff --git a/datum/ai_behavior/find_mom.html b/datum/ai_behavior/find_mom.html new file mode 100644 index 00000000000..1aa04cc488a --- /dev/null +++ b/datum/ai_behavior/find_mom.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_mom - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_mom

Vars

look_rangerange to look for the mom

Var Details

look_range

range to look for the mom

\ No newline at end of file diff --git a/datum/ai_behavior/find_partner.html b/datum/ai_behavior/find_partner.html new file mode 100644 index 00000000000..45a3c3921f2 --- /dev/null +++ b/datum/ai_behavior/find_partner.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_partner - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_partner

Find a compatible, living partner, if we're also alone.

Vars

max_nearby_popMaximum number of nearby pop
rangeRange to look.

Var Details

max_nearby_pop

Maximum number of nearby pop

range

Range to look.

\ No newline at end of file diff --git a/datum/ai_behavior/find_potential_targets.html b/datum/ai_behavior/find_potential_targets.html new file mode 100644 index 00000000000..416b8e3914a --- /dev/null +++ b/datum/ai_behavior/find_potential_targets.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_potential_targets - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

find_potential_targets

Vars

aggro_range_keyBlackboard key for aggro range, uses vision range if not specified
targets_alliesCan we target allies?
vision_rangeHow far can we see stuff?

Procs

pick_final_targetReturns the desired final target from the filtered list of targets

Var Details

aggro_range_key

Blackboard key for aggro range, uses vision range if not specified

targets_allies

Can we target allies?

vision_range

How far can we see stuff?

Proc Details

pick_final_target

Returns the desired final target from the filtered list of targets

\ No newline at end of file diff --git a/datum/ai_behavior/find_unwebbed_turf.html b/datum/ai_behavior/find_unwebbed_turf.html new file mode 100644 index 00000000000..d82695e8fdd --- /dev/null +++ b/datum/ai_behavior/find_unwebbed_turf.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_unwebbed_turf - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_unwebbed_turf

Find an unwebbed nearby turf and store it

Vars

scan_rangeHow far do we look for unwebbed turfs?
target_keyWhere do we store the target data

Var Details

scan_range

How far do we look for unwebbed turfs?

target_key

Where do we store the target data

\ No newline at end of file diff --git a/datum/ai_behavior/find_unwrapped_target.html b/datum/ai_behavior/find_unwrapped_target.html new file mode 100644 index 00000000000..5e30c65a816 --- /dev/null +++ b/datum/ai_behavior/find_unwrapped_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/find_unwrapped_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_unwrapped_target

Find an unwrapped target and store it

Vars

scan_rangeHow far do we look for unwebbed items?
target_keyWhere do we store the target data

Var Details

scan_range

How far do we look for unwebbed items?

target_key

Where do we store the target data

\ No newline at end of file diff --git a/datum/ai_behavior/goliath_find_diggable_turf.html b/datum/ai_behavior/goliath_find_diggable_turf.html new file mode 100644 index 00000000000..a57efa41ea1 --- /dev/null +++ b/datum/ai_behavior/goliath_find_diggable_turf.html @@ -0,0 +1 @@ +/datum/ai_behavior/goliath_find_diggable_turf - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

goliath_find_diggable_turf

Vars

scan_rangeHow far do we look for turfs?
target_keyWhere do we store the target data

Procs

is_valid_turfReturn true if this is a turf we can dig

Var Details

scan_range

How far do we look for turfs?

target_key

Where do we store the target data

Proc Details

is_valid_turf

Return true if this is a turf we can dig

\ No newline at end of file diff --git a/datum/ai_behavior/hunt_target.html b/datum/ai_behavior/hunt_target.html new file mode 100644 index 00000000000..203e7d36409 --- /dev/null +++ b/datum/ai_behavior/hunt_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/hunt_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

hunt_target

Hunts down a specific atom type.

Vars

always_reset_targetDo we reset the target after attacking something, so we can check for status changes.
hunt_cooldownHow long do we have to wait after a successful hunt?

Var Details

always_reset_target

Do we reset the target after attacking something, so we can check for status changes.

hunt_cooldown

How long do we have to wait after a successful hunt?

\ No newline at end of file diff --git a/datum/ai_behavior/hunt_target/interact_with_target.html b/datum/ai_behavior/hunt_target/interact_with_target.html new file mode 100644 index 00000000000..6a8b703dcf4 --- /dev/null +++ b/datum/ai_behavior/hunt_target/interact_with_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/hunt_target/interact_with_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

interact_with_target

Vars

behavior_intentWhich intent should we use to interact with

Var Details

behavior_intent

Which intent should we use to interact with

\ No newline at end of file diff --git a/datum/ai_behavior/interact_with_target.html b/datum/ai_behavior/interact_with_target.html new file mode 100644 index 00000000000..1b1986dcfe7 --- /dev/null +++ b/datum/ai_behavior/interact_with_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/interact_with_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

interact_with_target

Behavior for general interactions with any targets

Vars

clear_targetShould we be clearing the target after the fact?
intentWhat intent should we be on?

Var Details

clear_target

Should we be clearing the target after the fact?

intent

What intent should we be on?

\ No newline at end of file diff --git a/datum/ai_behavior/interact_with_target/eat_food.html b/datum/ai_behavior/interact_with_target/eat_food.html new file mode 100644 index 00000000000..755a04ff4bc --- /dev/null +++ b/datum/ai_behavior/interact_with_target/eat_food.html @@ -0,0 +1 @@ +/datum/ai_behavior/interact_with_target/eat_food - Space Station 13
Space Station 13 - Modules - TypesVar Details

eat_food

Vars

food_actionsdefault list of actions we take after eating

Var Details

food_actions

default list of actions we take after eating

\ No newline at end of file diff --git a/datum/ai_behavior/monkey_attack_mob.html b/datum/ai_behavior/monkey_attack_mob.html new file mode 100644 index 00000000000..9005901331c --- /dev/null +++ b/datum/ai_behavior/monkey_attack_mob.html @@ -0,0 +1 @@ +/datum/ai_behavior/monkey_attack_mob - Space Station 13
Space Station 13 - Modules - TypesProc Details

monkey_attack_mob

Procs

monkey_attackattack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little

Proc Details

monkey_attack

attack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little

\ No newline at end of file diff --git a/datum/ai_behavior/monkey_equip.html b/datum/ai_behavior/monkey_equip.html new file mode 100644 index 00000000000..38256588332 --- /dev/null +++ b/datum/ai_behavior/monkey_equip.html @@ -0,0 +1,3 @@ +/datum/ai_behavior/monkey_equip - Space Station 13
Space Station 13 - Modules - TypesProc Details

monkey_equip

Procs

equip_itemEquips an item on the monkey +Returns TRUE if it works out, FALSE otherwise

Proc Details

equip_item

Equips an item on the monkey +Returns TRUE if it works out, FALSE otherwise

\ No newline at end of file diff --git a/datum/ai_behavior/ranged_skirmish.html b/datum/ai_behavior/ranged_skirmish.html new file mode 100644 index 00000000000..01ab1592803 --- /dev/null +++ b/datum/ai_behavior/ranged_skirmish.html @@ -0,0 +1 @@ +/datum/ai_behavior/ranged_skirmish - Space Station 13
Space Station 13 - Modules - TypesVar Details

ranged_skirmish

How often will we try to perform our ranged attack?

Vars

avoid_friendly_fireDo we care about shooting friends?

Var Details

avoid_friendly_fire

Do we care about shooting friends?

\ No newline at end of file diff --git a/datum/ai_behavior/relay_message.html b/datum/ai_behavior/relay_message.html new file mode 100644 index 00000000000..b7f9611a9c7 --- /dev/null +++ b/datum/ai_behavior/relay_message.html @@ -0,0 +1 @@ +/datum/ai_behavior/relay_message - Space Station 13
Space Station 13 - Modules - TypesVar Details

relay_message

behavior that allow us to go communicate with other hivebots

Vars

length_of_messagelength of the message we will relay

Var Details

length_of_message

length of the message we will relay

\ No newline at end of file diff --git a/datum/ai_behavior/return_home.html b/datum/ai_behavior/return_home.html new file mode 100644 index 00000000000..a659bc7be38 --- /dev/null +++ b/datum/ai_behavior/return_home.html @@ -0,0 +1 @@ +/datum/ai_behavior/return_home - Space Station 13
Space Station 13 - Modules - TypesVar Details

return_home

Vars

maximum_timemaximum time till next rest
minimum_timeminimum time till next rest

Var Details

maximum_time

maximum time till next rest

minimum_time

minimum time till next rest

\ No newline at end of file diff --git a/datum/ai_behavior/run_away_from_target.html b/datum/ai_behavior/run_away_from_target.html new file mode 100644 index 00000000000..2c0aeec32f7 --- /dev/null +++ b/datum/ai_behavior/run_away_from_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/run_away_from_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

run_away_from_target

Move to a position further away from your current target

Vars

clear_failed_targetsClear target if we finish the action unsuccessfully
run_distanceHow far do we try to run? Further makes for smoother running, but potentially weirder pathfinding

Var Details

clear_failed_targets

Clear target if we finish the action unsuccessfully

run_distance

How far do we try to run? Further makes for smoother running, but potentially weirder pathfinding

\ No newline at end of file diff --git a/datum/ai_behavior/swarmer_find_construction_target.html b/datum/ai_behavior/swarmer_find_construction_target.html new file mode 100644 index 00000000000..758de98120f --- /dev/null +++ b/datum/ai_behavior/swarmer_find_construction_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/swarmer_find_construction_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmer_find_construction_target

Find a nearby clear turf and store it

Vars

scan_rangeHow far do we look for valid turfs?
target_keyWhere do we store the target data

Var Details

scan_range

How far do we look for valid turfs?

target_key

Where do we store the target data

\ No newline at end of file diff --git a/datum/ai_behavior/swirl_around_target.html b/datum/ai_behavior/swirl_around_target.html new file mode 100644 index 00000000000..e13eca6a614 --- /dev/null +++ b/datum/ai_behavior/swirl_around_target.html @@ -0,0 +1 @@ +/datum/ai_behavior/swirl_around_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

swirl_around_target

Vars

swirl_chancechance to swirl

Var Details

swirl_chance

chance to swirl

\ No newline at end of file diff --git a/datum/ai_behavior/target_from_retaliate_list.html b/datum/ai_behavior/target_from_retaliate_list.html new file mode 100644 index 00000000000..62d2a08f145 --- /dev/null +++ b/datum/ai_behavior/target_from_retaliate_list.html @@ -0,0 +1,2 @@ +/datum/ai_behavior/target_from_retaliate_list - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

target_from_retaliate_list

Picks a target from a provided list of atoms who have been pissing you off +You will probably need /datum/element/ai_retaliate to take advantage of this unless you're populating the blackboard yourself

Vars

vision_rangeHow far can we see stuff?

Procs

pick_final_targetReturns the desired final target from the filtered list of enemies

Var Details

vision_range

How far can we see stuff?

Proc Details

pick_final_target

Returns the desired final target from the filtered list of enemies

\ No newline at end of file diff --git a/datum/ai_behavior/travel_towards.html b/datum/ai_behavior/travel_towards.html new file mode 100644 index 00000000000..27ccc42f41d --- /dev/null +++ b/datum/ai_behavior/travel_towards.html @@ -0,0 +1,2 @@ +/datum/ai_behavior/travel_towards - Space Station 13
Space Station 13 - Modules - TypesVar Details

Travel Towards

Moves towards the atom in the passed blackboard key. +Planning continues during this action so it can be interrupted by higher priority actions.

Vars

clear_targetIf true we will get rid of our target on completion
new_movement_typeIf desired, an alternate /datum/ai_movement to use for movement/pathfinding.

Var Details

clear_target

If true we will get rid of our target on completion

new_movement_type

If desired, an alternate /datum/ai_movement to use for movement/pathfinding.

\ No newline at end of file diff --git a/datum/ai_controller.html b/datum/ai_controller.html new file mode 100644 index 00000000000..b30d8b2860d --- /dev/null +++ b/datum/ai_controller.html @@ -0,0 +1,109 @@ +/datum/ai_controller - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_controller

AI controllers are a datumized form of AI that simulates the input a player +would otherwise give to a atom. What this means is that these datums have +ways of interacting with a specific atom and control it. They posses a +"blackboard" with the information the AI knows and has, and will plan actions +it will try to perform through multiple modular subtrees with behaviors.

Vars

able_to_planare we even able to plan?
able_to_runTRUE if we're able to run, FALSE if we aren't +Should not be set manually, override get_able_to_run() instead +Make sure you hook update_able_to_run() in setup_able_to_run() to whatever parameters changing that you added +Otherwise we will not pay attention to them changing
ai_movementReference to the movement datum we use. Is a type on initialize but becomes a ref afterwards.
ai_statusCurrent status of AI (OFF/ON)
ai_traitsBitfield of traits for this AI to handle extra behavior.
behavior_argsStored arguments for behaviors given during their initial creation
behavior_cooldownsCurrent actions and their respective last time ran as an assoc list.
blackboardThis is a list of variables the AI uses and can be mutated by actions.
can_idleCan this AI idle?
consecutive_pathing_attemptsTracks recent pathing attempts, if we fail too many in a row we fail our current plans.
continue_processing_when_clientCan the AI remain in control if there is a client?
current_behaviorsCurrent actions being performed by the AI.
current_movement_targetCurrent movement target of the AI, generally set by decision making.
failed_planning_cooldownCooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end
idle_behaviorThe idle behavior this AI performs when it has no actions.
interesting_distWhat distance should we be checking for interesting things when considering idling/deidling? Defaults to AI_DEFAULT_INTERESTING_DIST
max_target_distanceDistance to give up on target.
movement_delayDelay between movements. This is on the controller so we can keep the movement datum singleton
movement_target_sourceIdentifier for what last touched our movement target, so it can be cleared conditionally
on_failed_planning_timeoutare we currently on failed planning timeout?
our_cellsOur current cell grid.
paused_untilAI paused time
pawnThe atom this controller is controlling.
planned_behaviorsCurrent actions planned to be performed by the AI in the upcoming plan.
planning_subtreesAll subtrees this AI has available. Will run them in order, so make sure +they're in the order you want them to run. On initialization of this +type, it will start as a typepath(s) and get converted to references of +ai_subtrees found in SSai_controllers when init_subtrees() is called

Procs

add_blackboard_keyAdds the passed "thing" to the associated key
add_blackboard_key_assocAdds the value to the inner list at key with the inner key set to "thing" +Throws an error if the key is not a list already, intended only for use with lists
add_blackboard_key_assoc_lazylistSimilar to [proc/add_blackboard_key_assoc], assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist
add_blackboard_key_lazylistAdds the passed "thing" to the associated key, assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist
ai_interactInteract with objects
blackboard_key_existsReturns true if we have a blackboard key with the provided key and it is not qdeleting.
change_ai_movement_typeOverrides the current ai_movement of this controller with a new one
clear_blackboard_keyClears the passed key, resetting it to null
get_able_to_runReturns TRUE if the ai controller can actually run at the moment, FALSE otherwise
get_accessUse this proc to define how your controller defines what access the pawn has for the sake of pathfinding. +Return the access list you want to use.
get_expected_ai_statusGets the AI status we expect the AI controller to be on at this current +moment. Returns AI_STATUS_OFF if it's inhabited by a client and shouldn't be, +if it's dead and cannot act while dead, or is on a z level without clients. +Returns AI_STATUS_ON otherwise.
get_minimum_distanceReturns the minimum required distance to preform one of our current behaviors. +Honestly this should just be cached or something but fuck you
init_subtreesLoops over the subtrees in planning_subtrees and looks at the ai_controllers to grab a reference +Ensure planning_subtrees are typepaths and not instances/references before executing this!
insert_blackboard_keySimilar to [proc/add_blackboard_key], but performs an insertion rather than an add +Throws an error if the key is not a list already, intended only for use with lists
insert_blackboard_key_lazylistSimilar to [proc/insert_blackboard_key_lazylist], but performs an insertion / or rather than an add
on_changed_z_levelCalled when the AI controller pawn changes z levels. +We check if there's any clients on the new one and wake up the AI if there is.
on_pawn_qdeletedTurn the controller off if the pawn has been qdeleted.
on_stat_changedTurn the controller on or off based on if you're alive. +We only register to this if the flag is present so don't need to check again.
override_blackboard_keyHelper to force a key to be a certain thing no matter what's already there
possess_pawnProc to move from one pawn to another. This will destroy the target's existing controller.
post_blackboard_key_setCalled after we set a blackboard key, forwards signal information.
processRuns any actions that are currently running
queue_behaviorCall this to add a behavior to the stack.
remove_from_blackboard_lazylist_keyRemoves a tracked object from a lazylist.
remove_thing_from_blackboard_keyRemove the passed thing from the associated blackboard key
replace_planning_subtreesCompletely replaces the planning_subtrees with a new set based on argument provided. +List provided must contain specifically typepaths
reset_ai_statusSets the AI on or off based on current conditions, call to reset after you've manually disabled it somewhere
select_behaviorsThis is where you decide what actions are taken by the AI.
set_ai_statusThis proc handles changing AI status, and starts/stops processing if required.
set_blackboard_keySets the key to the passed "thing".
set_blackboard_key_assocSets the key at index thing to the passed value
set_blackboard_key_assoc_lazylistSimilar to [proc/set_blackboard_key_assoc] but operates under the assumption the key is a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist
set_movement_targetSets the current movement target, with an optional param to override the movement behavior
sig_remove_from_blackboardSignal proc to go through every key and remove the datum from all keys it finds.
try_possess_pawnAbstract proc for initializing the pawn to the new controller
unpossess_pawnProc for deinitializing the pawn to the old controller

Var Details

able_to_plan

are we even able to plan?

able_to_run

TRUE if we're able to run, FALSE if we aren't +Should not be set manually, override get_able_to_run() instead +Make sure you hook update_able_to_run() in setup_able_to_run() to whatever parameters changing that you added +Otherwise we will not pay attention to them changing

ai_movement

Reference to the movement datum we use. Is a type on initialize but becomes a ref afterwards.

ai_status

Current status of AI (OFF/ON)

ai_traits

Bitfield of traits for this AI to handle extra behavior.

behavior_args

Stored arguments for behaviors given during their initial creation

behavior_cooldowns

Current actions and their respective last time ran as an assoc list.

blackboard

This is a list of variables the AI uses and can be mutated by actions.

+

When an action is performed you pass this list and any relevant keys for +the variables it can mutate.

+

DO NOT set values in the blackboard directly, and especially not if +you're adding a datum reference to this! Use the setters, this is +important for reference handing.

can_idle

Can this AI idle?

consecutive_pathing_attempts

Tracks recent pathing attempts, if we fail too many in a row we fail our current plans.

continue_processing_when_client

Can the AI remain in control if there is a client?

current_behaviors

Current actions being performed by the AI.

current_movement_target

Current movement target of the AI, generally set by decision making.

failed_planning_cooldown

Cooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end

idle_behavior

The idle behavior this AI performs when it has no actions.

interesting_dist

What distance should we be checking for interesting things when considering idling/deidling? Defaults to AI_DEFAULT_INTERESTING_DIST

max_target_distance

Distance to give up on target.

movement_delay

Delay between movements. This is on the controller so we can keep the movement datum singleton

movement_target_source

Identifier for what last touched our movement target, so it can be cleared conditionally

on_failed_planning_timeout

are we currently on failed planning timeout?

our_cells

Our current cell grid.

paused_until

AI paused time

pawn

The atom this controller is controlling.

planned_behaviors

Current actions planned to be performed by the AI in the upcoming plan.

planning_subtrees

All subtrees this AI has available. Will run them in order, so make sure +they're in the order you want them to run. On initialization of this +type, it will start as a typepath(s) and get converted to references of +ai_subtrees found in SSai_controllers when init_subtrees() is called

Proc Details

add_blackboard_key

Adds the passed "thing" to the associated key

+

Works with lists or numbers, but not lazylists.

+

add_blackboard_key_assoc

Adds the value to the inner list at key with the inner key set to "thing" +Throws an error if the key is not a list already, intended only for use with lists

+

add_blackboard_key_assoc_lazylist

Similar to [proc/add_blackboard_key_assoc], assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist

+

add_blackboard_key_lazylist

Adds the passed "thing" to the associated key, assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist

+

ai_interact

Interact with objects

blackboard_key_exists

Returns true if we have a blackboard key with the provided key and it is not qdeleting.

change_ai_movement_type

Overrides the current ai_movement of this controller with a new one

clear_blackboard_key

Clears the passed key, resetting it to null

+

Not intended for use with list keys - use [proc/remove_thing_from_blackboard_key] if you are removing a value from a list at a key

+

get_able_to_run

Returns TRUE if the ai controller can actually run at the moment, FALSE otherwise

get_access

Use this proc to define how your controller defines what access the pawn has for the sake of pathfinding. +Return the access list you want to use.

get_expected_ai_status

Gets the AI status we expect the AI controller to be on at this current +moment. Returns AI_STATUS_OFF if it's inhabited by a client and shouldn't be, +if it's dead and cannot act while dead, or is on a z level without clients. +Returns AI_STATUS_ON otherwise.

get_minimum_distance

Returns the minimum required distance to preform one of our current behaviors. +Honestly this should just be cached or something but fuck you

init_subtrees

Loops over the subtrees in planning_subtrees and looks at the ai_controllers to grab a reference +Ensure planning_subtrees are typepaths and not instances/references before executing this!

insert_blackboard_key

Similar to [proc/add_blackboard_key], but performs an insertion rather than an add +Throws an error if the key is not a list already, intended only for use with lists

+

insert_blackboard_key_lazylist

Similar to [proc/insert_blackboard_key_lazylist], but performs an insertion / or rather than an add

+

on_changed_z_level

Called when the AI controller pawn changes z levels. +We check if there's any clients on the new one and wake up the AI if there is.

on_pawn_qdeleted

Turn the controller off if the pawn has been qdeleted.

on_stat_changed

Turn the controller on or off based on if you're alive. +We only register to this if the flag is present so don't need to check again.

override_blackboard_key

Helper to force a key to be a certain thing no matter what's already there

+

Useful for if you're overriding a list with a new list entirely, +as otherwise it would throw a runtime error from trying to override a list

+

Not necessary to use if you aren't dealing with lists, as set_blackboard_key will clear the existing value +in that case already, but may be useful for clarity.

+

possess_pawn

Proc to move from one pawn to another. This will destroy the target's existing controller.

post_blackboard_key_set

Called after we set a blackboard key, forwards signal information.

process

Runs any actions that are currently running

queue_behavior

Call this to add a behavior to the stack.

remove_from_blackboard_lazylist_key

Removes a tracked object from a lazylist.

remove_thing_from_blackboard_key

Remove the passed thing from the associated blackboard key

+

Intended for use with lists, if you're just clearing a reference from a key use [proc/clear_blackboard_key]

+

replace_planning_subtrees

Completely replaces the planning_subtrees with a new set based on argument provided. +List provided must contain specifically typepaths

reset_ai_status

Sets the AI on or off based on current conditions, call to reset after you've manually disabled it somewhere

select_behaviors

This is where you decide what actions are taken by the AI.

set_ai_status

This proc handles changing AI status, and starts/stops processing if required.

set_blackboard_key

Sets the key to the passed "thing".

+

set_blackboard_key_assoc

Sets the key at index thing to the passed value

+

Assumes the key value is already a list, if not throws an error.

+

set_blackboard_key_assoc_lazylist

Similar to [proc/set_blackboard_key_assoc] but operates under the assumption the key is a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist

+

set_movement_target

Sets the current movement target, with an optional param to override the movement behavior

sig_remove_from_blackboard

Signal proc to go through every key and remove the datum from all keys it finds.

try_possess_pawn

Abstract proc for initializing the pawn to the new controller

unpossess_pawn

Proc for deinitializing the pawn to the old controller

\ No newline at end of file diff --git a/datum/ai_controller/monkey.html b/datum/ai_controller/monkey.html new file mode 100644 index 00000000000..fc04d0779ed --- /dev/null +++ b/datum/ai_controller/monkey.html @@ -0,0 +1 @@ +/datum/ai_controller/monkey - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

monkey

OOK OOK OOK

Vars

trippingIs this mob tripping things?

Procs

TryFindWeaponre-used behavior pattern by monkeys for finding a weapon
retaliateReactive events to being hit

Var Details

tripping

Is this mob tripping things?

Proc Details

TryFindWeapon

re-used behavior pattern by monkeys for finding a weapon

retaliate

Reactive events to being hit

\ No newline at end of file diff --git a/datum/ai_laws.html b/datum/ai_laws.html new file mode 100644 index 00000000000..703d0426432 --- /dev/null +++ b/datum/ai_laws.html @@ -0,0 +1,2 @@ +/datum/ai_laws - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_laws

Vars

unique_aiIs this lawset used by the unique ai trait?

Procs

clear_zeroth_lawsClear Laws
delete_lawRemove Laws
get_state_lawStating Laws
set_state_lawSet
set_zeroth_lawAdd Laws

Var Details

unique_ai

Is this lawset used by the unique ai trait?

Proc Details

clear_zeroth_laws

Clear Laws

delete_law

Remove Laws

get_state_law

Stating Laws

+

Get

set_state_law

Set

set_zeroth_law

Add Laws

\ No newline at end of file diff --git a/datum/ai_movement.html b/datum/ai_movement.html new file mode 100644 index 00000000000..df76ea0c3b3 --- /dev/null +++ b/datum/ai_movement.html @@ -0,0 +1,3 @@ +/datum/ai_movement - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_movement

This datum is an abstract class that can be overriden for different types of movement.

Vars

max_pathing_attemptsHow many times a given controller can fail on their route before they just give up.
moving_controllersAssoc list ist of controllers that are currently moving as key, and what they are moving to as value.
update_moveloop_delayShould this movement update the delay when a moveloop is about to happen?

Procs

allowed_to_moveReturns TRUE if the movement should be allowed, FALSE otherwise.
post_moveAnything to do post-movement.
pre_moveAnything to do before moving; any checks if the pawn should be able to +move should be placed in allowed_to_move() and called by this proc.
start_moving_towardsOverride this to setup the moveloop you want to use.

Var Details

max_pathing_attempts

How many times a given controller can fail on their route before they just give up.

moving_controllers

Assoc list ist of controllers that are currently moving as key, and what they are moving to as value.

update_moveloop_delay

Should this movement update the delay when a moveloop is about to happen?

Proc Details

allowed_to_move

Returns TRUE if the movement should be allowed, FALSE otherwise.

post_move

Anything to do post-movement.

pre_move

Anything to do before moving; any checks if the pawn should be able to +move should be placed in allowed_to_move() and called by this proc.

start_moving_towards

Override this to setup the moveloop you want to use.

\ No newline at end of file diff --git a/datum/ai_movement/basic_avoidance.html b/datum/ai_movement/basic_avoidance.html new file mode 100644 index 00000000000..b1ef2e5b556 --- /dev/null +++ b/datum/ai_movement/basic_avoidance.html @@ -0,0 +1 @@ +/datum/ai_movement/basic_avoidance - Space Station 13
Space Station 13 - Modules - TypesVar Details

basic_avoidance

Uses Byond's basic obstacle avoidance movement

Vars

move_flagsMovement flags to pass to the loop

Var Details

move_flags

Movement flags to pass to the loop

\ No newline at end of file diff --git a/datum/ai_movement/jps.html b/datum/ai_movement/jps.html new file mode 100644 index 00000000000..2c6c84c8f1a --- /dev/null +++ b/datum/ai_movement/jps.html @@ -0,0 +1 @@ +/datum/ai_movement/jps - Space Station 13
Space Station 13 - Modules - TypesVar Details

jps

This movement datum represents smart-pathing

Vars

diagonal_flagshow we deal with diagonal movement, whether we try to avoid them or follow through with them

Var Details

diagonal_flags

how we deal with diagonal movement, whether we try to avoid them or follow through with them

\ No newline at end of file diff --git a/datum/ai_planning_subtree.html b/datum/ai_planning_subtree.html new file mode 100644 index 00000000000..cd8d91fb936 --- /dev/null +++ b/datum/ai_planning_subtree.html @@ -0,0 +1,22 @@ +/datum/ai_planning_subtree - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_planning_subtree

A subtree is attached to a controller and is occasionally called by +/ai_controller/select_behaviors(). This mainly exists to act as a way to +subtype and modify select_behaviors() without needing to subtype the AI +controller itself.

Vars

operational_datumsA list of typepaths of "operational datums" (elements/components) we +absolutely NEED to run. Checked in unit tests, as well as be a nice +reminder to developers that such a thing might be needed. Note that in +the Attach/Inititalize/New (or any future equivalent for these procs), +you will need to add the trait TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM +to the mob in question in order for unit tests to succeed. This will +break obviously enough if you don't do this and declare the required +datum here however.

Procs

select_behaviorsDetermines what behaviors should the controller try processing; if this +returns SUBTREE_RETURN_FINISH_PLANNING then the controller won't go through +the other subtrees should multiple exist in the controller.

Var Details

operational_datums

A list of typepaths of "operational datums" (elements/components) we +absolutely NEED to run. Checked in unit tests, as well as be a nice +reminder to developers that such a thing might be needed. Note that in +the Attach/Inititalize/New (or any future equivalent for these procs), +you will need to add the trait TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM +to the mob in question in order for unit tests to succeed. This will +break obviously enough if you don't do this and declare the required +datum here however.

Proc Details

select_behaviors

Determines what behaviors should the controller try processing; if this +returns SUBTREE_RETURN_FINISH_PLANNING then the controller won't go through +the other subtrees should multiple exist in the controller.

\ No newline at end of file diff --git a/datum/ai_planning_subtree/attack_obstacle_in_path.html b/datum/ai_planning_subtree/attack_obstacle_in_path.html new file mode 100644 index 00000000000..14670fe6be0 --- /dev/null +++ b/datum/ai_planning_subtree/attack_obstacle_in_path.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/attack_obstacle_in_path - Space Station 13
Space Station 13 - Modules - TypesVar Details

attack_obstacle_in_path

If there's something between us and our target then we need to queue a behaviour to make it not be there

Vars

attack_behaviourThe action to execute, extend to add a different cooldown or something
target_keyBlackboard key containing current target

Var Details

attack_behaviour

The action to execute, extend to add a different cooldown or something

target_key

Blackboard key containing current target

\ No newline at end of file diff --git a/datum/ai_planning_subtree/basic_melee_attack_subtree.html b/datum/ai_planning_subtree/basic_melee_attack_subtree.html new file mode 100644 index 00000000000..cfbe20095c4 --- /dev/null +++ b/datum/ai_planning_subtree/basic_melee_attack_subtree.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/basic_melee_attack_subtree - Space Station 13
Space Station 13 - Modules - TypesVar Details

basic_melee_attack_subtree

Vars

end_planningIs this the last thing we do? (if we set a movement target, this will usually be yes)
melee_attack_behaviorWhat do we do in order to attack someone?

Var Details

end_planning

Is this the last thing we do? (if we set a movement target, this will usually be yes)

melee_attack_behavior

What do we do in order to attack someone?

\ No newline at end of file diff --git a/datum/ai_planning_subtree/capricious_retaliate.html b/datum/ai_planning_subtree/capricious_retaliate.html new file mode 100644 index 00000000000..a92e2e6d532 --- /dev/null +++ b/datum/ai_planning_subtree/capricious_retaliate.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/capricious_retaliate - Space Station 13
Space Station 13 - Modules - TypesVar Details

capricious_retaliate

Add or remove people to our retaliation shitlist just on an arbitrary whim

Vars

ignore_factionWhether we should skip checking faction for our decision
targeting_strategy_keyBlackboard key which tells us how to select valid targets

Var Details

ignore_faction

Whether we should skip checking faction for our decision

targeting_strategy_key

Blackboard key which tells us how to select valid targets

\ No newline at end of file diff --git a/datum/ai_planning_subtree/cling_spider_follow.html b/datum/ai_planning_subtree/cling_spider_follow.html new file mode 100644 index 00000000000..a4f62722aa8 --- /dev/null +++ b/datum/ai_planning_subtree/cling_spider_follow.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/cling_spider_follow - Space Station 13
Space Station 13 - Modules - TypesVar Details

cling_spider_follow

Spider follows who created it

Vars

target_keyKey where the owner is stored

Var Details

target_key

Key where the owner is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/conjure_skulls.html b/datum/ai_planning_subtree/conjure_skulls.html new file mode 100644 index 00000000000..d2c17ec774f --- /dev/null +++ b/datum/ai_planning_subtree/conjure_skulls.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/conjure_skulls - Space Station 13
Space Station 13 - Modules - TypesVar Details

conjure_skulls

Run the conjure skulls action

Vars

action_keyKey where the summoning action is stored
target_keyKey where the target is stored

Var Details

action_key

Key where the summoning action is stored

target_key

Key where the target is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/enter_exit_home.html b/datum/ai_planning_subtree/enter_exit_home.html new file mode 100644 index 00000000000..beddb1dc84c --- /dev/null +++ b/datum/ai_planning_subtree/enter_exit_home.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/enter_exit_home - Space Station 13
Space Station 13 - Modules - TypesVar Details

enter_exit_home

Vars

exit_chancechance we exit the home
flyback_chancechance we go back home

Var Details

exit_chance

chance we exit the home

flyback_chance

chance we go back home

\ No newline at end of file diff --git a/datum/ai_planning_subtree/find_and_hunt_target.html b/datum/ai_planning_subtree/find_and_hunt_target.html new file mode 100644 index 00000000000..3a95bc8e6d1 --- /dev/null +++ b/datum/ai_planning_subtree/find_and_hunt_target.html @@ -0,0 +1,4 @@ +/datum/ai_planning_subtree/find_and_hunt_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_and_hunt_target

Tells the AI to find a certain target nearby to hunt. +If a target has been found, we will start to move towards it, and eventually attack it.

Vars

finding_behaviorWhat behavior to execute if we have no target
finish_planningdo we finish planning subtree
hunt_chanceWhat are the chances we hunt something at any given moment
hunt_rangeIn what radius will we hunt
hunt_targetsWhat targets we're hunting for
hunting_behaviorWhat behavior to execute if we do have a target
target_keyWhat key in the blacbkboard do we store our hunting target? +If you want to have multiple hunting behaviors on a controller be sure that this is unique

Var Details

finding_behavior

What behavior to execute if we have no target

finish_planning

do we finish planning subtree

hunt_chance

What are the chances we hunt something at any given moment

hunt_range

In what radius will we hunt

hunt_targets

What targets we're hunting for

hunting_behavior

What behavior to execute if we do have a target

target_key

What key in the blacbkboard do we store our hunting target? +If you want to have multiple hunting behaviors on a controller be sure that this is unique

\ No newline at end of file diff --git a/datum/ai_planning_subtree/find_food.html b/datum/ai_planning_subtree/find_food.html new file mode 100644 index 00000000000..0a144b99b46 --- /dev/null +++ b/datum/ai_planning_subtree/find_food.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/find_food - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_food

Similar to finding a target but looks for food types in the blackboard.

Vars

emotes_blackboard_listKey holding any emotes we play after eating food
finding_behaviorBehavior we use to find the food
food_list_keyKey of foods list
found_food_keyKey where we store our food
search_rangeKey where we store our search range

Var Details

emotes_blackboard_list

Key holding any emotes we play after eating food

finding_behavior

Behavior we use to find the food

food_list_key

Key of foods list

found_food_key

Key where we store our food

search_range

Key where we store our search range

\ No newline at end of file diff --git a/datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee.html b/datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee.html new file mode 100644 index 00000000000..f3a6d2bfb33 --- /dev/null +++ b/datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee - Space Station 13
Space Station 13 - Modules - TypesVar Details

find_nearest_thing_which_attacked_me_to_flee

Find the nearest thing on our list of 'things which have done damage to me' and set it as the flee target

Vars

target_keywhat key should we set the target as
targeting_keythe targeting strategy we use

Var Details

target_key

what key should we set the target as

targeting_key

the targeting strategy we use

\ No newline at end of file diff --git a/datum/ai_planning_subtree/flee_target.html b/datum/ai_planning_subtree/flee_target.html new file mode 100644 index 00000000000..d1e15e12bfc --- /dev/null +++ b/datum/ai_planning_subtree/flee_target.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/flee_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

flee_target

Try to escape from your current target, without performing any other actions.

Vars

flee_behaviourBehaviour to execute in order to flee
hiding_place_keyBlackboard key in which to store selected target's hiding place
target_keyBlackboard key in which to store selected target

Var Details

flee_behaviour

Behaviour to execute in order to flee

hiding_place_key

Blackboard key in which to store selected target's hiding place

target_key

Blackboard key in which to store selected target

\ No newline at end of file diff --git a/datum/ai_planning_subtree/generic_hunger.html b/datum/ai_planning_subtree/generic_hunger.html new file mode 100644 index 00000000000..23ae366cbb9 --- /dev/null +++ b/datum/ai_planning_subtree/generic_hunger.html @@ -0,0 +1,6 @@ +/datum/ai_planning_subtree/generic_hunger - Space Station 13
Space Station 13 - Modules - TypesProc Details

generic_hunger

Procs

select_behaviorsGeneric Hunger Subtree,

Proc Details

select_behaviors

Generic Hunger Subtree,

+

Requires at least a living mob that can hold items.

+

relevant blackboards:

+
\ No newline at end of file diff --git a/datum/ai_planning_subtree/generic_resist.html b/datum/ai_planning_subtree/generic_resist.html new file mode 100644 index 00000000000..f306a807e41 --- /dev/null +++ b/datum/ai_planning_subtree/generic_resist.html @@ -0,0 +1,6 @@ +/datum/ai_planning_subtree/generic_resist - Space Station 13
Space Station 13 - Modules - TypesProc Details

generic_resist

Procs

select_behaviorsGeneric Resist Subtree, resist if it makes sense to!

Proc Details

select_behaviors

Generic Resist Subtree, resist if it makes sense to!

+

Requires nothing beyond a living pawn, makes sense on a good amount of mobs since anything can get buckled.

+

relevant blackboards:

+
\ No newline at end of file diff --git a/datum/ai_planning_subtree/goliath_dig.html b/datum/ai_planning_subtree/goliath_dig.html new file mode 100644 index 00000000000..d9a3d9654ee --- /dev/null +++ b/datum/ai_planning_subtree/goliath_dig.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/goliath_dig - Space Station 13
Space Station 13 - Modules - TypesVar Details

goliath_dig

Vars

target_keyWhere did we store the target data

Var Details

target_key

Where did we store the target data

\ No newline at end of file diff --git a/datum/ai_planning_subtree/hive_communicate.html b/datum/ai_planning_subtree/hive_communicate.html new file mode 100644 index 00000000000..4d76582ea58 --- /dev/null +++ b/datum/ai_planning_subtree/hive_communicate.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/hive_communicate - Space Station 13
Space Station 13 - Modules - TypesVar Details

hive_communicate

Vars

relay_chancechance to go and relay message

Var Details

relay_chance

chance to go and relay message

\ No newline at end of file diff --git a/datum/ai_planning_subtree/lay_eggs.html b/datum/ai_planning_subtree/lay_eggs.html new file mode 100644 index 00000000000..dfa4129371c --- /dev/null +++ b/datum/ai_planning_subtree/lay_eggs.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/lay_eggs - Space Station 13
Space Station 13 - Modules - TypesVar Details

lay_eggs

Run the egg laying behavior

Vars

action_keyKey where the egg laying action is stored

Var Details

action_key

Key where the egg laying action is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/locate_dead_humans.html b/datum/ai_planning_subtree/locate_dead_humans.html new file mode 100644 index 00000000000..b7635631193 --- /dev/null +++ b/datum/ai_planning_subtree/locate_dead_humans.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/locate_dead_humans - Space Station 13
Space Station 13 - Modules - TypesProc Details

locate_dead_humans

Procs

select_behaviorsFind dead humans and report their location on the radio

Proc Details

select_behaviors

Find dead humans and report their location on the radio

\ No newline at end of file diff --git a/datum/ai_planning_subtree/look_for_adult.html b/datum/ai_planning_subtree/look_for_adult.html new file mode 100644 index 00000000000..ff4ee3f03dd --- /dev/null +++ b/datum/ai_planning_subtree/look_for_adult.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/look_for_adult - Space Station 13
Space Station 13 - Modules - TypesVar Details

look_for_adult

Vars

minimum_distancehow far we must be from the mom

Var Details

minimum_distance

how far we must be from the mom

\ No newline at end of file diff --git a/datum/ai_planning_subtree/maintain_distance.html b/datum/ai_planning_subtree/maintain_distance.html new file mode 100644 index 00000000000..6c949f27e79 --- /dev/null +++ b/datum/ai_planning_subtree/maintain_distance.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/maintain_distance - Space Station 13
Space Station 13 - Modules - TypesVar Details

maintain_distance

Step away if too close, or towards if too far

Vars

run_away_behaviorthe run away behavior we will use
target_keyBlackboard key holding atom we want to stay away from
view_distanceHow far do we look for our target?

Var Details

run_away_behavior

the run away behavior we will use

target_key

Blackboard key holding atom we want to stay away from

view_distance

How far do we look for our target?

\ No newline at end of file diff --git a/datum/ai_planning_subtree/make_babies.html b/datum/ai_planning_subtree/make_babies.html new file mode 100644 index 00000000000..e801e16760d --- /dev/null +++ b/datum/ai_planning_subtree/make_babies.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/make_babies - Space Station 13
Space Station 13 - Modules - TypesVar Details

make_babies

Reproduce with a similar mob.

Vars

chancechance to make babies
reproduce_behaviormake babies behavior we will use

Var Details

chance

chance to make babies

reproduce_behavior

make babies behavior we will use

\ No newline at end of file diff --git a/datum/ai_planning_subtree/minebot_mining.html b/datum/ai_planning_subtree/minebot_mining.html new file mode 100644 index 00000000000..fa5fff2e3d7 --- /dev/null +++ b/datum/ai_planning_subtree/minebot_mining.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/minebot_mining - Space Station 13
Space Station 13 - Modules - TypesProc Details

minebot_mining

Procs

select_behaviorsmine walls if we are on automated mining mode

Proc Details

select_behaviors

mine walls if we are on automated mining mode

\ No newline at end of file diff --git a/datum/ai_planning_subtree/monkey_combat.html b/datum/ai_planning_subtree/monkey_combat.html new file mode 100644 index 00000000000..0561cebbc00 --- /dev/null +++ b/datum/ai_planning_subtree/monkey_combat.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/monkey_combat - Space Station 13
Space Station 13 - Modules - TypesProc Details

monkey_combat

Procs

select_behaviorsmonkey combat subtree.

Proc Details

select_behaviors

monkey combat subtree.

\ No newline at end of file diff --git a/datum/ai_planning_subtree/random_speech.html b/datum/ai_planning_subtree/random_speech.html new file mode 100644 index 00000000000..b1f93f6a5a6 --- /dev/null +++ b/datum/ai_planning_subtree/random_speech.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/random_speech - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

random_speech

Vars

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
soundThe sound effects associated with this speech, if any
speakPossible lines of speech the AI can have
speak_verbsThe possible verbs used to perform the speech, if any. Defaults to "says" elsewhere in code.
speech_chanceThe chance of an emote occurring each second

Procs

speakActually perform an action

Var Details

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

sound

The sound effects associated with this speech, if any

speak

Possible lines of speech the AI can have

speak_verbs

The possible verbs used to perform the speech, if any. Defaults to "says" elsewhere in code.

speech_chance

The chance of an emote occurring each second

Proc Details

speak

Actually perform an action

\ No newline at end of file diff --git a/datum/ai_planning_subtree/ranged_skirmish.html b/datum/ai_planning_subtree/ranged_skirmish.html new file mode 100644 index 00000000000..49b3168dd51 --- /dev/null +++ b/datum/ai_planning_subtree/ranged_skirmish.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/ranged_skirmish - Space Station 13
Space Station 13 - Modules - TypesVar Details

ranged_skirmish

Fire a ranged attack without interrupting movement.

Vars

attack_behaviorWhat AI behaviour do we actually run?
max_rangeIf target is further away than this we don't fire
min_rangeIf target is closer than this we don't fire
target_keyBlackboard key holding target atom

Var Details

attack_behavior

What AI behaviour do we actually run?

max_range

If target is further away than this we don't fire

min_range

If target is closer than this we don't fire

target_key

Blackboard key holding target atom

\ No newline at end of file diff --git a/datum/ai_planning_subtree/shapechange_ambush.html b/datum/ai_planning_subtree/shapechange_ambush.html new file mode 100644 index 00000000000..ecacda7c9eb --- /dev/null +++ b/datum/ai_planning_subtree/shapechange_ambush.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/shapechange_ambush - Space Station 13
Space Station 13 - Modules - TypesVar Details

shapechange_ambush

Shapeshift when we have no target, until someone has been nearby for long enough

Vars

ability_keyKey where we keep our ability
minimum_target_timeHow long to lull our target into a false sense of security
target_keyKey where we keep our target

Var Details

ability_key

Key where we keep our ability

minimum_target_time

How long to lull our target into a false sense of security

target_key

Key where we keep our target

\ No newline at end of file diff --git a/datum/ai_planning_subtree/simple_find_target.html b/datum/ai_planning_subtree/simple_find_target.html new file mode 100644 index 00000000000..f7040512254 --- /dev/null +++ b/datum/ai_planning_subtree/simple_find_target.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/simple_find_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

simple_find_target

Vars

target_keyVariable to store target in

Var Details

target_key

Variable to store target in

\ No newline at end of file diff --git a/datum/ai_planning_subtree/spin_mothsilk.html b/datum/ai_planning_subtree/spin_mothsilk.html new file mode 100644 index 00000000000..9c7d015d033 --- /dev/null +++ b/datum/ai_planning_subtree/spin_mothsilk.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/spin_mothsilk - Space Station 13
Space Station 13 - Modules - TypesVar Details

spin_mothsilk

Vars

action_keyKey storing the mothsilk spin action

Var Details

action_key

Key storing the mothsilk spin action

\ No newline at end of file diff --git a/datum/ai_planning_subtree/spin_web.html b/datum/ai_planning_subtree/spin_web.html new file mode 100644 index 00000000000..e90ae26665b --- /dev/null +++ b/datum/ai_planning_subtree/spin_web.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/spin_web - Space Station 13
Space Station 13 - Modules - TypesVar Details

spin_web

Run the spin web behaviour if we have an ability to use for it

Vars

action_keyKey where the web spinning action is stored
target_keyKey where the target turf is stored

Var Details

action_key

Key where the web spinning action is stored

target_key

Key where the target turf is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/swarmer_create_barricade.html b/datum/ai_planning_subtree/swarmer_create_barricade.html new file mode 100644 index 00000000000..1cfddb451b3 --- /dev/null +++ b/datum/ai_planning_subtree/swarmer_create_barricade.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/swarmer_create_barricade - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmer_create_barricade

Run the barricade construction behaviour if we have an ability to use for it

Vars

action_keyKey where the trap action is stored
target_keyKey where the target turf is stored

Var Details

action_key

Key where the trap action is stored

target_key

Key where the target turf is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/swarmer_create_trap.html b/datum/ai_planning_subtree/swarmer_create_trap.html new file mode 100644 index 00000000000..2ecc7b4c489 --- /dev/null +++ b/datum/ai_planning_subtree/swarmer_create_trap.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/swarmer_create_trap - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmer_create_trap

Run the trap construction behaviour if we have an ability to use for it

Vars

action_keyKey where the trap action is stored
target_keyKey where the target turf is stored

Var Details

action_key

Key where the trap action is stored

target_key

Key where the target turf is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/swarmer_replicate.html b/datum/ai_planning_subtree/swarmer_replicate.html new file mode 100644 index 00000000000..17ca9d2c8b2 --- /dev/null +++ b/datum/ai_planning_subtree/swarmer_replicate.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/swarmer_replicate - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmer_replicate

Run the barricade construction behaviour if we have an ability to use for it

Vars

action_keyKey where the trap action is stored

Var Details

action_key

Key where the trap action is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/swarmer_share_resources.html b/datum/ai_planning_subtree/swarmer_share_resources.html new file mode 100644 index 00000000000..f7c9ef7b599 --- /dev/null +++ b/datum/ai_planning_subtree/swarmer_share_resources.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/swarmer_share_resources - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmer_share_resources

Run the resource sharing behavior

Vars

action_keyKey where the share action is stored

Var Details

action_key

Key where the share action is stored

\ No newline at end of file diff --git a/datum/ai_planning_subtree/swirl_around_target.html b/datum/ai_planning_subtree/swirl_around_target.html new file mode 100644 index 00000000000..2f8fd4b8e0f --- /dev/null +++ b/datum/ai_planning_subtree/swirl_around_target.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/swirl_around_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

swirl_around_target

Vars

target_keyVariable to store target in

Var Details

target_key

Variable to store target in

\ No newline at end of file diff --git a/datum/ai_planning_subtree/target_retaliate.html b/datum/ai_planning_subtree/target_retaliate.html new file mode 100644 index 00000000000..047ab9830be --- /dev/null +++ b/datum/ai_planning_subtree/target_retaliate.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/target_retaliate - Space Station 13
Space Station 13 - Modules - TypesVar Details

target_retaliate

Sets the BB target to a mob which you can see and who has recently attacked you

Vars

check_factiondo we check for faction?
hiding_place_keyBlackboard key in which to store selected target's hiding place
target_keyBlackboard key in which to store selected target
targeting_strategy_keyBlackboard key which tells us how to select valid targets

Var Details

check_faction

do we check for faction?

hiding_place_key

Blackboard key in which to store selected target's hiding place

target_key

Blackboard key in which to store selected target

targeting_strategy_key

Blackboard key which tells us how to select valid targets

\ No newline at end of file diff --git a/datum/ai_planning_subtree/targeted_mob_ability.html b/datum/ai_planning_subtree/targeted_mob_ability.html new file mode 100644 index 00000000000..7e669d49103 --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/targeted_mob_ability - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

targeted_mob_ability

Attempts to use a mob ability on a target

Vars

ability_keyBlackboard key for the ability
finish_planningIf true we terminate planning after trying to use the ability.
target_keyBlackboard key for where the target ref is stored
use_ability_behaviourBehaviour to perform using ability

Procs

additional_ability_checksAny additional checks before we queue the behaviour

Var Details

ability_key

Blackboard key for the ability

finish_planning

If true we terminate planning after trying to use the ability.

target_key

Blackboard key for where the target ref is stored

use_ability_behaviour

Behaviour to perform using ability

Proc Details

additional_ability_checks

Any additional checks before we queue the behaviour

\ No newline at end of file diff --git a/datum/ai_planning_subtree/targeted_mob_ability/evil_mech_weaponry.html b/datum/ai_planning_subtree/targeted_mob_ability/evil_mech_weaponry.html new file mode 100644 index 00000000000..72f1182be31 --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability/evil_mech_weaponry.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/targeted_mob_ability/evil_mech_weaponry - Space Station 13
Space Station 13 - Modules - TypesVar Details

evil_mech_weaponry

Vars

weapon_swap_delayMinimum time between any firing

Var Details

weapon_swap_delay

Minimum time between any firing

\ No newline at end of file diff --git a/datum/ai_planning_subtree/targeted_mob_ability/horror_offensive_spellcasting.html b/datum/ai_planning_subtree/targeted_mob_ability/horror_offensive_spellcasting.html new file mode 100644 index 00000000000..284d1fc754f --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability/horror_offensive_spellcasting.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/targeted_mob_ability/horror_offensive_spellcasting - Space Station 13
Space Station 13 - Modules - TypesVar Details

horror_offensive_spellcasting

Vars

horror_global_spellcasting_delayMinimum time between any spells

Var Details

horror_global_spellcasting_delay

Minimum time between any spells

\ No newline at end of file diff --git a/datum/ai_planning_subtree/targeted_mob_ability/kidan_princess_spellcasting.html b/datum/ai_planning_subtree/targeted_mob_ability/kidan_princess_spellcasting.html new file mode 100644 index 00000000000..68678b6c0cc --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability/kidan_princess_spellcasting.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/targeted_mob_ability/kidan_princess_spellcasting - Space Station 13
Space Station 13 - Modules - TypesVar Details

kidan_princess_spellcasting

Vars

kidan_princess_global_spellcasting_delayMinimum time between any spells

Var Details

kidan_princess_global_spellcasting_delay

Minimum time between any spells

\ No newline at end of file diff --git a/datum/ai_planning_subtree/targeted_mob_ability/whale_offensive_spellcasting.html b/datum/ai_planning_subtree/targeted_mob_ability/whale_offensive_spellcasting.html new file mode 100644 index 00000000000..dbebc978f86 --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability/whale_offensive_spellcasting.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/targeted_mob_ability/whale_offensive_spellcasting - Space Station 13
Space Station 13 - Modules - TypesVar Details

whale_offensive_spellcasting

Vars

whale_global_spellcasting_delayMinimum time between any spells

Var Details

whale_global_spellcasting_delay

Minimum time between any spells

\ No newline at end of file diff --git a/datum/ai_planning_subtree/travel_to_point.html b/datum/ai_planning_subtree/travel_to_point.html new file mode 100644 index 00000000000..d6a5767d342 --- /dev/null +++ b/datum/ai_planning_subtree/travel_to_point.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/travel_to_point - Space Station 13
Space Station 13 - Modules - TypesVar Details

travel_to_point

Simply walk to a location

Vars

location_keyBlackboard key where we travel a place we walk to
travel_behaviourWhat do we do in order to travel

Var Details

location_key

Blackboard key where we travel a place we walk to

travel_behaviour

What do we do in order to travel

\ No newline at end of file diff --git a/datum/ai_planning_subtree/use_mob_ability.html b/datum/ai_planning_subtree/use_mob_ability.html new file mode 100644 index 00000000000..14a4f7c7bc2 --- /dev/null +++ b/datum/ai_planning_subtree/use_mob_ability.html @@ -0,0 +1,2 @@ +/datum/ai_planning_subtree/use_mob_ability - Space Station 13
Space Station 13 - Modules - TypesVar Details

use_mob_ability

Simple behaviours which simply try to use an ability whenever it is available. +For something which wants a target try targeted_mob_ability.

Vars

ability_keyBlackboard key for the ability
finish_planningIf true we terminate planning after trying to use the ability.
use_ability_behaviorBehaviour to perform using ability

Var Details

ability_key

Blackboard key for the ability

finish_planning

If true we terminate planning after trying to use the ability.

use_ability_behavior

Behaviour to perform using ability

\ No newline at end of file diff --git a/datum/ai_planning_subtree/warpbots.html b/datum/ai_planning_subtree/warpbots.html new file mode 100644 index 00000000000..13bdd8aba48 --- /dev/null +++ b/datum/ai_planning_subtree/warpbots.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/warpbots - Space Station 13
Space Station 13 - Modules - TypesVar Details

warpbots

Vars

warp_chancechance to summon hivebots

Var Details

warp_chance

chance to summon hivebots

\ No newline at end of file diff --git a/datum/ai_planning_subtree/wrap_target.html b/datum/ai_planning_subtree/wrap_target.html new file mode 100644 index 00000000000..e7215e70f06 --- /dev/null +++ b/datum/ai_planning_subtree/wrap_target.html @@ -0,0 +1 @@ +/datum/ai_planning_subtree/wrap_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

wrap_target

Run the wrap behaviour if we have an ability to use for it

Vars

action_keyKey where the web spinning action is stored
target_keyKey where the target is stored

Var Details

action_key

Key where the web spinning action is stored

target_key

Key where the target is stored

\ No newline at end of file diff --git a/datum/ai_program.html b/datum/ai_program.html new file mode 100644 index 00000000000..e6b5d6fd586 --- /dev/null +++ b/datum/ai_program.html @@ -0,0 +1 @@ +/datum/ai_program - Space Station 13
Space Station 13 - Modules - TypesVar Details

ai_program

The base program type, which holds info about each ability.

Vars

bandwidth_usedHow many upgrades have been bought of this program?
cooldownThe cooldown when the ability is used
costHow much memory does the program cost?
externalIs this program only installable through disk?
installedIs this program installed?
max_levelMax level for passive upgrades
nanite_costHow much does this program cost to use?
power_typeIf the module gives an active ability, use this. Mutually exclusive with upgrade.
program_idInternal ID of the program
unlock_soundSound played when an ability is unlocked
unlock_textText shown when an ability is unlocked
upgradeIf the module gives a passive upgrade, use this. Mutually exclusive with power_type.
upgrade_levelThe level of the upgrade for passives

Var Details

bandwidth_used

How many upgrades have been bought of this program?

cooldown

The cooldown when the ability is used

cost

How much memory does the program cost?

external

Is this program only installable through disk?

installed

Is this program installed?

max_level

Max level for passive upgrades

nanite_cost

How much does this program cost to use?

power_type

If the module gives an active ability, use this. Mutually exclusive with upgrade.

program_id

Internal ID of the program

unlock_sound

Sound played when an ability is unlocked

unlock_text

Text shown when an ability is unlocked

upgrade

If the module gives a passive upgrade, use this. Mutually exclusive with power_type.

upgrade_level

The level of the upgrade for passives

\ No newline at end of file diff --git a/datum/ai_program/enhanced_doors.html b/datum/ai_program/enhanced_doors.html new file mode 100644 index 00000000000..6ddf8f2d91e --- /dev/null +++ b/datum/ai_program/enhanced_doors.html @@ -0,0 +1 @@ +/datum/ai_program/enhanced_doors - Space Station 13
Space Station 13 - Modules - TypesVar Details

enhanced_doors

Vars

original_door_delayTrack the original delay

Var Details

original_door_delay

Track the original delay

\ No newline at end of file diff --git a/datum/ai_program/multimarket_analyser.html b/datum/ai_program/multimarket_analyser.html new file mode 100644 index 00000000000..7863bbd7346 --- /dev/null +++ b/datum/ai_program/multimarket_analyser.html @@ -0,0 +1 @@ +/datum/ai_program/multimarket_analyser - Space Station 13
Space Station 13 - Modules - TypesVar Details

multimarket_analyser

Vars

original_price_modTrack the original modifier

Var Details

original_price_mod

Track the original modifier

\ No newline at end of file diff --git a/datum/announcement_configuration.html b/datum/announcement_configuration.html new file mode 100644 index 00000000000..2914eede6d3 --- /dev/null +++ b/datum/announcement_configuration.html @@ -0,0 +1,3 @@ +/datum/announcement_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

announcement_configuration

Vars

add_logWhether or not to log the announcement when made.
global_announcementGlobal announcements are received regardless of being in range of a +radio, unless you're in the lobby, to prevent metagaming.
log_nameThe name used when describing the announcement type in logs.
soundWhat sound to play when the announcement is made.
styleA CSS class name.

Var Details

add_log

Whether or not to log the announcement when made.

global_announcement

Global announcements are received regardless of being in range of a +radio, unless you're in the lobby, to prevent metagaming.

log_name

The name used when describing the announcement type in logs.

sound

What sound to play when the announcement is made.

style

A CSS class name.

\ No newline at end of file diff --git a/datum/announcer.html b/datum/announcer.html new file mode 100644 index 00000000000..9e1b10c9b83 --- /dev/null +++ b/datum/announcer.html @@ -0,0 +1 @@ +/datum/announcer - Space Station 13
Space Station 13 - Modules - TypesVar Details

announcer

Vars

authorThe name used to sign off on announcements.

Var Details

author

The name used to sign off on announcements.

\ No newline at end of file diff --git a/datum/anomalous_particulate_tracker.html b/datum/anomalous_particulate_tracker.html new file mode 100644 index 00000000000..6edb9c1d66e --- /dev/null +++ b/datum/anomalous_particulate_tracker.html @@ -0,0 +1,7 @@ +/datum/anomalous_particulate_tracker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

anomalous_particulate_tracker

Vars

num_drainedThe total number of gatherings that have been drained, for tracking.
smashesList of tracked influences (reality smashes)
tracked_objectiveholdersList of minds with the objective to get particulate

Procs

add_tracked_mindAdds a mind to the list of people that need things spawned
generate_new_influencesGenerates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.
remove_tracked_mindRemoves a mind from the list of people that need things spawned

Var Details

num_drained

The total number of gatherings that have been drained, for tracking.

smashes

List of tracked influences (reality smashes)

tracked_objectiveholders

List of minds with the objective to get particulate

Proc Details

add_tracked_mind

Adds a mind to the list of people that need things spawned

+

Use this whenever you want to add someone to the list

generate_new_influences

Generates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.

remove_tracked_mind

Removes a mind from the list of people that need things spawned

+

Use this whenever you want to remove someone from the list

\ No newline at end of file diff --git a/datum/antag_org.html b/datum/antag_org.html new file mode 100644 index 00000000000..e577ec2129e --- /dev/null +++ b/datum/antag_org.html @@ -0,0 +1 @@ +/datum/antag_org - Space Station 13
Space Station 13 - Modules - TypesVar Details

antag_org

The lore organization antagonists are attached to. Influences objectives and steal targets.

Vars

chaos_levelEstimation of how much trouble this antag will be for security.
focusUsed for prob() for objectives. Higher focus means the org is less likely to diverge from their favorites.
forced_objectivesIf set, the antag's first objective(s) will be forced to this.
intro_descDescription given to the antagonist on spawn, below 'You are a Traitor!' or similar
nameOrganization's name
objectivesList of objectives favored by this org
targeted_departmentsDepartment(s) targeted by this organization if any
theft_targetsList of theft targets favored by this organization if any

Var Details

chaos_level

Estimation of how much trouble this antag will be for security.

focus

Used for prob() for objectives. Higher focus means the org is less likely to diverge from their favorites.

forced_objectives

If set, the antag's first objective(s) will be forced to this.

intro_desc

Description given to the antagonist on spawn, below 'You are a Traitor!' or similar

name

Organization's name

objectives

List of objectives favored by this org

targeted_departments

Department(s) targeted by this organization if any

theft_targets

List of theft targets favored by this organization if any

\ No newline at end of file diff --git a/datum/antagonist.html b/datum/antagonist.html new file mode 100644 index 00000000000..002a3996695 --- /dev/null +++ b/datum/antagonist.html @@ -0,0 +1,66 @@ +/datum/antagonist - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

antagonist

Vars

antag_datum_blacklistList of other antag datum types that this type can't coexist with.
antag_hud_nameHolds the name of the hud's icon in the .dmi files, i.e "hudtraitor", "hudvampire", etc.
antag_hud_typeHolds the type of antagonist hud this datum will get, i.e. ANTAG_HUD_TRAITOR, ANTAG_HUD_VAMPIRE, etc.
antag_memoryAntagonist datum specific information that appears in the player's notes. Information stored here will be removed when the datum is removed from the player.
blurb_fontIntro Blurb Font
blurb_text_colorIntro Blurbs text colour
blurb_text_outline_widthIntro Blurbs outline width
boss_titleThe title of the players "boss", used for exfil strings
clown_gain_textIf the owner is a clown, this text will be displayed to them when they gain this datum.
clown_removal_textIf the owner is a clown, this text will be displayed to them when they lose this datum.
clown_text_span_classThe spawn class to use for gain/removal clown text
delayed_objectivesDo we have delayed objective giving?
give_objectivesShould we automatically give this antagonist objectives upon them gaining the datum?
in_exchangeIf the antagonist has been chosen for either side on an exchange objective
job_rankUsed to determine if the player jobbanned from this role. Things like SPECIAL_ROLE_TRAITOR should go here to determine the role.
mimickingIf the antagonist can have their spoken voice be something else, this is the "voice" that they will appear as.
nameThe name of the antagonist.
objective_holderList of objectives connected to this datum.
organizationThe organization, if any, this antag is associated with
ownerMind that owns this datum.
replace_bannedShould we replace the role-banned player with a ghost?
roundend_categorySection of roundend report, datums with same category will be displayed together, also default header for the section.
show_in_roundendSet to false to hide the antagonists from roundend report.
silentShould the owner mob get a greeting text? Determines whether or not the greet() proc is called.
special_roleThe special role that will be applied to the owner's special_role var. i.e. SPECIAL_ROLE_TRAITOR, SPECIAL_ROLE_VAMPIRE.
wiki_page_nameThe url page name for this antagonist, appended to the end of the wiki url in the form of: [GLOB.configuration.url.wiki_url]/index.php/[wiki_page_name]

Procs

add_antag_hudAdds this datum's antag hud to antag_mob.
add_antag_objectiveCreate and add an objective of the given type.
add_owner_to_gamemodeAdds the owner to their respective gamemode's list. For example SSticker.mode.traitors |= owner.
apply_innate_effectsThis handles the application of antag huds/special abilities.
can_assign_hijack_objectiveCheck if this antag can be assigned hijack.
can_be_ownedLoops through the owner's antag_datums list and determines if this one is blacklisted by any others.
create_teamCreates a new antagonist team.
custom_blurbThis is the custom blurb message used on login for an antagonist.
detach_from_ownerRemoves owner's dependencies on this antag datum. +For example: removal of antag datum from owner's antag_datums, antag datum related teams etc. +If your /datum/antagonist subtype adds more dependencies on owner - they should be cleared there.
farewellDisplays a message to the antag mob while the datum is being deleted, i.e. "Your powers are gone and you're no longer a vampire!"
finalize_antagGive the antag any final information or items.
forge_basic_objectivesCreate and assign a full set of randomized, basic human traitor objectives. +can_hijack - If you want the 5% chance for the antagonist to be able to roll hijack, only true for traitors
get_antag_objectivesGet all of this antagonist's objectives, including from the team.
get_teamReturns the team the antagonist belongs to, if any.
give_objectivesGive the antagonist their objectives. Base proc, override as needed.
greetDisplays a message and their objectives to the antag mob after the datum is added to them, i.e. "Greetings you are a traitor! etc.
handle_clown_mutationHandles adding and removing the clumsy mutation from clown antags.
has_antag_objectivesDo we have any objectives at all, including from a team. +Faster than get_antag_objectives()
is_bannedChecks if the person trying to receive this datum is role banned from it.
on_body_transferRemoves antagonist datum effects from the old body and applies it to the new one.
on_gainProc called when the datum is given to a mind.
remove_antag_hudRemoves this datum's antag hud from antag_mob.
remove_antag_objectiveComplement to add_antag_objective that removes the objective. +Currently unused.
remove_innate_effectsThis handles the removal of antag huds/special abilities.
remove_owner_from_gamemodeRemoves the owner from their respective gamemode's list. For example SSticker.mode.traitors -= owner.
replace_banned_playerAttempts to replace the role banned antag with a ghost player.
restore_last_hud_and_roleRe-sets the antag hud and special_role of the owner to that of the previous antag datum they had before this one was added.
roll_single_human_objectiveCreate and assign a single randomized human traitor objective. +Step one: Seperate your objectives into objectives that lead to people dying, and objectives that do not. +Objectives that lead to people dying should take up HALF of the pick weight, and non lethal should be the OTHER half. +After that, add it to the switch list. +The kill objective pool weight has been done by putting the old code through a million or so runs to figure out averages, to keep it consistant.
select_organizationSelects and set the organization this antag is associated with. +Base proc, override as needed

Var Details

antag_datum_blacklist

List of other antag datum types that this type can't coexist with.

antag_hud_name

Holds the name of the hud's icon in the .dmi files, i.e "hudtraitor", "hudvampire", etc.

antag_hud_type

Holds the type of antagonist hud this datum will get, i.e. ANTAG_HUD_TRAITOR, ANTAG_HUD_VAMPIRE, etc.

antag_memory

Antagonist datum specific information that appears in the player's notes. Information stored here will be removed when the datum is removed from the player.

blurb_font

Intro Blurb Font

blurb_text_color

Intro Blurbs text colour

blurb_text_outline_width

Intro Blurbs outline width

boss_title

The title of the players "boss", used for exfil strings

clown_gain_text

If the owner is a clown, this text will be displayed to them when they gain this datum.

clown_removal_text

If the owner is a clown, this text will be displayed to them when they lose this datum.

clown_text_span_class

The spawn class to use for gain/removal clown text

delayed_objectives

Do we have delayed objective giving?

give_objectives

Should we automatically give this antagonist objectives upon them gaining the datum?

in_exchange

If the antagonist has been chosen for either side on an exchange objective

job_rank

Used to determine if the player jobbanned from this role. Things like SPECIAL_ROLE_TRAITOR should go here to determine the role.

mimicking

If the antagonist can have their spoken voice be something else, this is the "voice" that they will appear as.

name

The name of the antagonist.

objective_holder

List of objectives connected to this datum.

organization

The organization, if any, this antag is associated with

owner

Mind that owns this datum.

replace_banned

Should we replace the role-banned player with a ghost?

roundend_category

Section of roundend report, datums with same category will be displayed together, also default header for the section.

show_in_roundend

Set to false to hide the antagonists from roundend report.

silent

Should the owner mob get a greeting text? Determines whether or not the greet() proc is called.

special_role

The special role that will be applied to the owner's special_role var. i.e. SPECIAL_ROLE_TRAITOR, SPECIAL_ROLE_VAMPIRE.

wiki_page_name

The url page name for this antagonist, appended to the end of the wiki url in the form of: [GLOB.configuration.url.wiki_url]/index.php/[wiki_page_name]

Proc Details

add_antag_hud

Adds this datum's antag hud to antag_mob.

+

Arguments:

+

add_antag_objective

Create and add an objective of the given type.

+

If the given objective type needs a target, it will try to find a target which isn't already the target of different objective for this antag. +If one cannot be found, it tries one more time. If one still cannot be found, it will be added as a "Free Objective" without a target.

+

Arguments:

+

add_owner_to_gamemode

Adds the owner to their respective gamemode's list. For example SSticker.mode.traitors |= owner.

apply_innate_effects

This handles the application of antag huds/special abilities.

+

Gives the antag mob their assigned hud. +If they're a clown, removes their clumsy mutataion.

+

Arguments:

+

can_assign_hijack_objective

Check if this antag can be assigned hijack.

can_be_owned

Loops through the owner's antag_datums list and determines if this one is blacklisted by any others.

+

If it's in one of their blacklists, return FALSE. It cannot coexist with the datum we're trying to add here.

create_team

Creates a new antagonist team.

custom_blurb

This is the custom blurb message used on login for an antagonist.

detach_from_owner

Removes owner's dependencies on this antag datum. +For example: removal of antag datum from owner's antag_datums, antag datum related teams etc. +If your /datum/antagonist subtype adds more dependencies on owner - they should be cleared there.

farewell

Displays a message to the antag mob while the datum is being deleted, i.e. "Your powers are gone and you're no longer a vampire!"

+

Called in on_removal() if silent is set to FALSE.

finalize_antag

Give the antag any final information or items.

forge_basic_objectives

Create and assign a full set of randomized, basic human traitor objectives. +can_hijack - If you want the 5% chance for the antagonist to be able to roll hijack, only true for traitors

get_antag_objectives

Get all of this antagonist's objectives, including from the team.

get_team

Returns the team the antagonist belongs to, if any.

give_objectives

Give the antagonist their objectives. Base proc, override as needed.

greet

Displays a message and their objectives to the antag mob after the datum is added to them, i.e. "Greetings you are a traitor! etc.

+

Called in on_gain() if silent it set to FALSE.

handle_clown_mutation

Handles adding and removing the clumsy mutation from clown antags.

+

Arguments:

+

has_antag_objectives

Do we have any objectives at all, including from a team. +Faster than get_antag_objectives()

is_banned

Checks if the person trying to receive this datum is role banned from it.

on_body_transfer

Removes antagonist datum effects from the old body and applies it to the new one.

+

Called in the/datum/mind/proc/transfer_to().

+

Arguments:

+

on_gain

Proc called when the datum is given to a mind.

remove_antag_hud

Removes this datum's antag hud from antag_mob.

+

Arguments:

+

remove_antag_objective

Complement to add_antag_objective that removes the objective. +Currently unused.

remove_innate_effects

This handles the removal of antag huds/special abilities.

+

Removes the antag's assigned hud. +If they're a clown, gives them back their clumsy mutataion.

+

Arguments:

+

remove_owner_from_gamemode

Removes the owner from their respective gamemode's list. For example SSticker.mode.traitors -= owner.

replace_banned_player

Attempts to replace the role banned antag with a ghost player.

restore_last_hud_and_role

Re-sets the antag hud and special_role of the owner to that of the previous antag datum they had before this one was added.

+

For example, if the owner has a traitor datum and a vampire datum, both at index 1 and 2 respectively, +After the vampire datum gets removed, it sets the owner's antag hud/role to whatever is set for traitor datum.

roll_single_human_objective

Create and assign a single randomized human traitor objective. +Step one: Seperate your objectives into objectives that lead to people dying, and objectives that do not. +Objectives that lead to people dying should take up HALF of the pick weight, and non lethal should be the OTHER half. +After that, add it to the switch list. +The kill objective pool weight has been done by putting the old code through a million or so runs to figure out averages, to keep it consistant.

select_organization

Selects and set the organization this antag is associated with. +Base proc, override as needed

\ No newline at end of file diff --git a/datum/antagonist/changeling.html b/datum/antagonist/changeling.html new file mode 100644 index 00000000000..a2d108c8de2 --- /dev/null +++ b/datum/antagonist/changeling.html @@ -0,0 +1,51 @@ +/datum/antagonist/changeling - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

changeling

Vars

absorbed_countNumber of victims the changeling has absorbed.
absorbed_dnaList of /datum/dna which have been absorbed through the DNA sting or absorb power.
absorbed_languagesList of /datum/language UIDs, learned from absorbed victims.
acquired_powersA list of instanced /datum/action/changeling the changeling has aquired.
can_respecIf the changeling can respec their purchased abilities.
changelingIDThe changeling's identifier when speaking in the hivemind, i.e. "Mr. Delta 123".
chem_chargesThe current amount of chemicals the changeling has stored.
chem_recharge_rateThe amount of chemicals that recharges per Life() call.
chem_recharge_slowdownAmount of chemical recharge slowdown, calculated as chem_recharge_rate - chem_recharge_slowdown
chem_storageThe total amount of chemicals able to be stored.
chosen_stingThe current sting power the changeling has active.
dna_maxHow many total DNA strands the changeling can store for transformation.
genetic_pointsThe amount of points available to purchase changeling abilities.
innate_powersA list of /datum/action/changeling typepaths with a power_type of CHANGELING_INNATE_POWER.
is_absorbingIf the changeling is in the process of absorbing someone.
protected_dnaList of /datum/dna which are not lost when the changeling has no more room for DNA.
purchaseable_powersA list of /datum/action/changeling typepaths with a power_type of CHANGELING_PURCHASABLE_POWER.
regeneratingIf the changeling is in the process of regenerating from their fake death.
sting_rangeThe range of changeling stings.

Procs

absorb_dnaAbsorb the the target's DNA and their languages.
add_new_languagesStore the languages from the new_languages list into the absorbed_languages list. Teaches the changeling the new languages.
can_absorb_dnaReturns TRUE if the changeling can absorb the target mob's DNA.
get_dnaGets a /datum/dna that matches the passed in tDNA. Also used as a check to see if the changeling has this DNA already stored.
get_powers_of_typeGets a list of changeling action typepaths based on the passed in power_type.
give_powerGives the changeling the passed in power. Subtracts the cost of the power from our genetic points.
remove_changeling_powersRemoves a changeling's abilities.
remove_specific_powerRemoves all power_type abilities that the changeling has. Refunds the cost of the power from our genetic points.
remove_unnatural_languagesRemoves all the languages the mob L has absorbed throughout their life as a changeling and should no longer have.
respecResets a changeling to the point they were when they first became a changeling, i.e no genetic points to spend, no non-innate powers, etc.
select_dnaPrompt the changeling with a list of names associated with their stored DNA. Return a /datum/dna based on the name chosen.
store_dnaStore the target DNA. If the DNA belongs to one of the changeling's "escape with identity" objectives, make the DNA protected.
trim_dnaClears the most "stale" DNA from the absorbed_dna list.
try_respecRespec the changeling's powers after first checking if they're able to respec.
update_languagesTeach the changeling every language in the absorbed_language list. Already known languages will be ignored.
using_stale_dnaDetermines if the changeling's current DNA is stale.

Var Details

absorbed_count

Number of victims the changeling has absorbed.

absorbed_dna

List of /datum/dna which have been absorbed through the DNA sting or absorb power.

absorbed_languages

List of /datum/language UIDs, learned from absorbed victims.

acquired_powers

A list of instanced /datum/action/changeling the changeling has aquired.

can_respec

If the changeling can respec their purchased abilities.

changelingID

The changeling's identifier when speaking in the hivemind, i.e. "Mr. Delta 123".

chem_charges

The current amount of chemicals the changeling has stored.

chem_recharge_rate

The amount of chemicals that recharges per Life() call.

chem_recharge_slowdown

Amount of chemical recharge slowdown, calculated as chem_recharge_rate - chem_recharge_slowdown

chem_storage

The total amount of chemicals able to be stored.

chosen_sting

The current sting power the changeling has active.

dna_max

How many total DNA strands the changeling can store for transformation.

genetic_points

The amount of points available to purchase changeling abilities.

innate_powers

A list of /datum/action/changeling typepaths with a power_type of CHANGELING_INNATE_POWER.

is_absorbing

If the changeling is in the process of absorbing someone.

protected_dna

List of /datum/dna which are not lost when the changeling has no more room for DNA.

purchaseable_powers

A list of /datum/action/changeling typepaths with a power_type of CHANGELING_PURCHASABLE_POWER.

regenerating

If the changeling is in the process of regenerating from their fake death.

sting_range

The range of changeling stings.

Proc Details

absorb_dna

Absorb the the target's DNA and their languages.

+

Arguments:

+

add_new_languages

Store the languages from the new_languages list into the absorbed_languages list. Teaches the changeling the new languages.

+

Arguments:

+

can_absorb_dna

Returns TRUE if the changeling can absorb the target mob's DNA.

+

Arguments:

+

get_dna

Gets a /datum/dna that matches the passed in tDNA. Also used as a check to see if the changeling has this DNA already stored.

+

Arguments:

+

get_powers_of_type

Gets a list of changeling action typepaths based on the passed in power_type.

+

Arguments:

+

give_power

Gives the changeling the passed in power. Subtracts the cost of the power from our genetic points.

+

Arugments:

+

remove_changeling_powers

Removes a changeling's abilities.

+

Arguments:

+

remove_specific_power

Removes all power_type abilities that the changeling has. Refunds the cost of the power from our genetic points.

+

Arugments:

+

remove_unnatural_languages

Removes all the languages the mob L has absorbed throughout their life as a changeling and should no longer have.

+

Ignores languages the player has chosen from character creation, and species languages from the changeling mob's current species.

+

Arguments:

+

respec

Resets a changeling to the point they were when they first became a changeling, i.e no genetic points to spend, no non-innate powers, etc.

select_dna

Prompt the changeling with a list of names associated with their stored DNA. Return a /datum/dna based on the name chosen.

+

Arguments:

+

store_dna

Store the target DNA. If the DNA belongs to one of the changeling's "escape with identity" objectives, make the DNA protected.

+

Arguments:

+

trim_dna

Clears the most "stale" DNA from the absorbed_dna list.

try_respec

Respec the changeling's powers after first checking if they're able to respec.

update_languages

Teach the changeling every language in the absorbed_language list. Already known languages will be ignored.

using_stale_dna

Determines if the changeling's current DNA is stale.

\ No newline at end of file diff --git a/datum/antagonist/heretic.html b/datum/antagonist/heretic.html new file mode 100644 index 00000000000..0c0315cd547 --- /dev/null +++ b/datum/antagonist/heretic.html @@ -0,0 +1,44 @@ +/datum/antagonist/heretic - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

heretic

The heretic antagonist itself.

Vars

all_sac_targetsList of all sacrifice target's names, used for end of round report
ascendedWhether we've ascended! (Completed one of the final rituals)
blacklisted_rune_turfsA blacklist of turfs we cannot scribe on.
drawing_runeWhether we're drawing a rune or not
feast_of_owlsWether we are allowed to ascend
force_unlock_ascensionA variable for admins to tweak to allow ascending.
heretic_pathThe path our heretic has chosen. Mostly used for flavor.
high_value_sacrificesA list of TOTAL how many high value sacrifices completed. (Heads of staff)
knowledge_pointsA sum of how many knowledge points this heretic CURRENTLY has. Used to research.
list_of_our_monstersA list of all the monsters the heretic has active.
living_heart_organ_slotThe organ slot we place our Living Heart in.
mindslave_limitThe maximum mindslave limit. Applies to berserks as well
mindslavesWho do we currently have under our mindslavery?
monster_limitWhat is the limit of monsters we can have as a heretic?
our_menuOur research menu
passive_gain_timerThe time between gaining influence passively. The heretic gain +1 knowledge points every this duration of time.
researched_knowledgeAssoc list of [typepath] = [knowledge instance]. A list of all knowledge this heretic's reserached.
rewards_givenSimpler version of above used to limit amount of loot that can be hoarded
rust_strengthControls what types of turf we can spread rust to, increases as we unlock more powerful rust abilites
sac_targetsLazy assoc list of [refs to humans] to [image previews of the human]. Humans that we have as sacrifice targets.
scribing_toolsA static typecache of all tools we can scribe with.
total_sacrificesA list of TOTAL how many sacrifices completed. (Includes high value sacrifices)
unlocked_heretic_itemsList that keeps track of which items have been gifted to the heretic after a cultist was sacrificed. Used to alter drop chances to reduce dupes.

Procs

add_sacrifice_targetAdd [target] as a sacrifice target for the heretic. +Generates a preview image and associates it with a weakref of the mob.
admin_change_pointsAdmin proc for easily adding / removing knowledge points.
admin_give_focusAdmin proc for giving a heretic a focus.
can_ascendChecks to see if our heretic can currently ascend.
check_mansus_grasp_offhandCallback to check that the user's still got their Mansus Grasp out when drawing a rune.
draw_runeThe actual process of drawing a rune.
forge_primary_objectivesCreate our objectives for our heretic.
gain_knowledgeLearns the passed [typepath] of knowledge, creating a knowledge datum +and adding it to our researched knowledge list.
get_knowledgeCheck if the wanted type-path is in the list of research knowledge.
get_researchable_knowledgeGet a list of all knowledge TYPEPATHS that we can currently research.
get_ritualsGet a list of all rituals this heretic can invoke on a rune. +Iterates over all of our knowledge and, if we can invoke it, adds it to our list.
give_living_heartAdmin proc for giving a heretic a Living Heart easily.
has_living_heartHelper to determine if a Heretic
increase_rust_strengthMakes our heretic more able to rust things. +if side_path_only is set to TRUE, this function does nothing for rust heretics.
on_cult_sacrificedSignal proc for COMSIG_LIVING_CULT_SACRIFICED to reward cultists for sacrificing a heretic
on_target_deletedSignal proc for COMSIG_PARENT_QDELETING registered on sac targets +if sacrifice targets are deleted (gibbed, dusted, whatever), free their slot and reference
passive_influence_gainIncrements knowledge by one. +Used in callbacks for passive gain over time.
remove_sacrifice_targetRemoves [target] from the heretic's sacrifice list. +Returns FALSE if no one was removed, TRUE otherwise
remove_targetAdmin proc for removing a mob from a heretic's sac list.
try_draw_runeAttempt to draw a rune on [target_turf].

Var Details

all_sac_targets

List of all sacrifice target's names, used for end of round report

ascended

Whether we've ascended! (Completed one of the final rituals)

blacklisted_rune_turfs

A blacklist of turfs we cannot scribe on.

drawing_rune

Whether we're drawing a rune or not

feast_of_owls

Wether we are allowed to ascend

force_unlock_ascension

A variable for admins to tweak to allow ascending.

heretic_path

The path our heretic has chosen. Mostly used for flavor.

high_value_sacrifices

A list of TOTAL how many high value sacrifices completed. (Heads of staff)

knowledge_points

A sum of how many knowledge points this heretic CURRENTLY has. Used to research.

list_of_our_monsters

A list of all the monsters the heretic has active.

living_heart_organ_slot

The organ slot we place our Living Heart in.

mindslave_limit

The maximum mindslave limit. Applies to berserks as well

mindslaves

Who do we currently have under our mindslavery?

monster_limit

What is the limit of monsters we can have as a heretic?

our_menu

Our research menu

passive_gain_timer

The time between gaining influence passively. The heretic gain +1 knowledge points every this duration of time.

researched_knowledge

Assoc list of [typepath] = [knowledge instance]. A list of all knowledge this heretic's reserached.

rewards_given

Simpler version of above used to limit amount of loot that can be hoarded

rust_strength

Controls what types of turf we can spread rust to, increases as we unlock more powerful rust abilites

sac_targets

Lazy assoc list of [refs to humans] to [image previews of the human]. Humans that we have as sacrifice targets.

scribing_tools

A static typecache of all tools we can scribe with.

total_sacrifices

A list of TOTAL how many sacrifices completed. (Includes high value sacrifices)

unlocked_heretic_items

List that keeps track of which items have been gifted to the heretic after a cultist was sacrificed. Used to alter drop chances to reduce dupes.

Proc Details

add_sacrifice_target

Add [target] as a sacrifice target for the heretic. +Generates a preview image and associates it with a weakref of the mob.

admin_change_points

Admin proc for easily adding / removing knowledge points.

admin_give_focus

Admin proc for giving a heretic a focus.

can_ascend

Checks to see if our heretic can currently ascend.

+

Returns FALSE if not all of our objectives are complete, or TRUE otherwise.

check_mansus_grasp_offhand

Callback to check that the user's still got their Mansus Grasp out when drawing a rune.

+

Arguments

+

draw_rune

The actual process of drawing a rune.

+

Arguments

+

forge_primary_objectives

Create our objectives for our heretic.

gain_knowledge

Learns the passed [typepath] of knowledge, creating a knowledge datum +and adding it to our researched knowledge list.

+

Returns TRUE if the knowledge was added successfully. FALSE otherwise.

get_knowledge

Check if the wanted type-path is in the list of research knowledge.

get_researchable_knowledge

Get a list of all knowledge TYPEPATHS that we can currently research.

get_rituals

Get a list of all rituals this heretic can invoke on a rune. +Iterates over all of our knowledge and, if we can invoke it, adds it to our list.

+

Returns an associated list of [knowledge name] to [knowledge datum] sorted by knowledge priority.

give_living_heart

Admin proc for giving a heretic a Living Heart easily.

has_living_heart

Helper to determine if a Heretic

+ +

Returns HERETIC_NO_HEART_ORGAN if they have no heart (organ) at all, +Returns HERETIC_NO_LIVING_HEART if they have a heart (organ) but it's not a living one, +and returns HERETIC_HAS_LIVING_HEART if they have a living heart

increase_rust_strength

Makes our heretic more able to rust things. +if side_path_only is set to TRUE, this function does nothing for rust heretics.

on_cult_sacrificed

Signal proc for COMSIG_LIVING_CULT_SACRIFICED to reward cultists for sacrificing a heretic

on_target_deleted

Signal proc for COMSIG_PARENT_QDELETING registered on sac targets +if sacrifice targets are deleted (gibbed, dusted, whatever), free their slot and reference

passive_influence_gain

Increments knowledge by one. +Used in callbacks for passive gain over time.

remove_sacrifice_target

Removes [target] from the heretic's sacrifice list. +Returns FALSE if no one was removed, TRUE otherwise

remove_target

Admin proc for removing a mob from a heretic's sac list.

try_draw_rune

Attempt to draw a rune on [target_turf].

+

Arguments

+
\ No newline at end of file diff --git a/datum/antagonist/mindflayer.html b/datum/antagonist/mindflayer.html new file mode 100644 index 00000000000..f9045b0ff47 --- /dev/null +++ b/datum/antagonist/mindflayer.html @@ -0,0 +1,31 @@ +/datum/antagonist/mindflayer - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mindflayer

Vars

ability_listA list of all powers and passives mindflayers can buy
can_pick_capstoneIf the mindflayer can still pick a stage 4 ability
category_stageA list of the categories and their associated stages of the power
drain_amountThe base brain damage dealt per tick of the drain
drain_multiplierHow fast the flayer's touch drains
drained_humansList for keeping track of who has already been drained
harvestingThe current person being drained
has_notifiedHave we notified that our victim does not give swarms from draining
powersThe list of all purchased spell and passive objects
total_swarms_gatheredThe total points of brain damage the flayer has harvested, only used for logging purposes.
usable_swarmsThe current amount of swarms the mind flayer has access to purchase with

Procs

add_abilityAdds an ability to a mindflayer if they don't already have it, upgrades it if they do. +Arguments:
add_passiveAdds a passive to a mindflayer if they don't already have it, upgrades it if they do. +Arguments:
check_special_stage_abilityChecks if we are eligible to get a special ability for reaching the third stage in a given subclass
check_valid_harvestChecks for any reason that you should not be able to drain someone for. +Returns either true or false, if the harvest will work or not.
get_passives_of_typeGets a list of mind flayer passive typepaths based on the passed in passive_type.
get_spells_of_typeGets a list of mind flayer spell typepaths based on the passed in spell_type. (Thanks for the code SteelSlayer)
handle_harvestBegins draining the brain of H, gains swarms equal to the amount of brain damage dealt per tick. Upgrades can increase the amount of damage per tick.
handle_mindflayerThis is the proc that gets called every tick of life(), use this for updating something that should update every few seconds
has_passiveChecks if a mindflayer has a given passive already
has_spellChecks if a mindflayer has a given spell already

Var Details

ability_list

A list of all powers and passives mindflayers can buy

can_pick_capstone

If the mindflayer can still pick a stage 4 ability

category_stage

A list of the categories and their associated stages of the power

drain_amount

The base brain damage dealt per tick of the drain

drain_multiplier

How fast the flayer's touch drains

drained_humans

List for keeping track of who has already been drained

harvesting

The current person being drained

has_notified

Have we notified that our victim does not give swarms from draining

powers

The list of all purchased spell and passive objects

total_swarms_gathered

The total points of brain damage the flayer has harvested, only used for logging purposes.

usable_swarms

The current amount of swarms the mind flayer has access to purchase with

Proc Details

add_ability

Adds an ability to a mindflayer if they don't already have it, upgrades it if they do. +Arguments:

+

add_passive

Adds a passive to a mindflayer if they don't already have it, upgrades it if they do. +Arguments:

+

check_special_stage_ability

Checks if we are eligible to get a special ability for reaching the third stage in a given subclass

check_valid_harvest

Checks for any reason that you should not be able to drain someone for. +Returns either true or false, if the harvest will work or not.

get_passives_of_type

Gets a list of mind flayer passive typepaths based on the passed in passive_type.

+

Arguments:

+

get_spells_of_type

Gets a list of mind flayer spell typepaths based on the passed in spell_type. (Thanks for the code SteelSlayer)

+

Arguments:

+

handle_harvest

Begins draining the brain of H, gains swarms equal to the amount of brain damage dealt per tick. Upgrades can increase the amount of damage per tick.

handle_mindflayer

This is the proc that gets called every tick of life(), use this for updating something that should update every few seconds

has_passive

Checks if a mindflayer has a given passive already

+

has_spell

Checks if a mindflayer has a given spell already

+
\ No newline at end of file diff --git a/datum/antagonist/mindslave.html b/datum/antagonist/mindslave.html new file mode 100644 index 00000000000..ff0caac9efe --- /dev/null +++ b/datum/antagonist/mindslave.html @@ -0,0 +1 @@ +/datum/antagonist/mindslave - Space Station 13
Space Station 13 - Modules - TypesVar Details

mindslave

Vars

greet_textCustom greeting text if you don't want to use the basic greeting. Specify this when making a new mindslave datum with New().
masterA reference to the mind who minslaved us.
master_hud_nameThe hudicon for the mindslaves master

Var Details

greet_text

Custom greeting text if you don't want to use the basic greeting. Specify this when making a new mindslave datum with New().

master

A reference to the mind who minslaved us.

master_hud_name

The hudicon for the mindslaves master

\ No newline at end of file diff --git a/datum/antagonist/space_ninja.html b/datum/antagonist/space_ninja.html new file mode 100644 index 00000000000..207e4cbca39 --- /dev/null +++ b/datum/antagonist/space_ninja.html @@ -0,0 +1 @@ +/datum/antagonist/space_ninja - Space Station 13
Space Station 13 - Modules - TypesVar Details

space_ninja

Vars

mission_goalNumber of missions needed to complete

Var Details

mission_goal

Number of missions needed to complete

\ No newline at end of file diff --git a/datum/antagonist/traitor.html b/datum/antagonist/traitor.html new file mode 100644 index 00000000000..a85846a6459 --- /dev/null +++ b/datum/antagonist/traitor.html @@ -0,0 +1 @@ +/datum/antagonist/traitor - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

traitor

Vars

give_codewordsShould the traitor get codewords?
give_uplinkShould we give the traitor their uplink?
is_roundstartWhether this traitor was assigned during round start
sending_backstabHave we / are we sending a backstab message at this time. If we are, do not send another.

Procs

add_law_zeroGives traitor AIs, and their connected cyborgs, a law 0. Additionally gives the AI their choose modules action button.
can_assign_hijack_objectiveHelper functions for hijack pop checks
finalize_antagGive human traitors their uplink, and AI traitors their law 0. Play the traitor an alert sound.
forge_ai_objectivesCreate and assign a full set of AI traitor objectives.
forge_human_objectivesCreate and assign a full set of randomized human traitor objectives.
get_living_security_players_countSame as above but only count Sec
give_codewordsNotify the traitor of their codewords and write them to antag_memory (notes).
give_uplinkGives a traitor human their uplink, and uplink code.

Var Details

give_codewords

Should the traitor get codewords?

Should we give the traitor their uplink?

is_roundstart

Whether this traitor was assigned during round start

sending_backstab

Have we / are we sending a backstab message at this time. If we are, do not send another.

Proc Details

add_law_zero

Gives traitor AIs, and their connected cyborgs, a law 0. Additionally gives the AI their choose modules action button.

can_assign_hijack_objective

Helper functions for hijack pop checks

finalize_antag

Give human traitors their uplink, and AI traitors their law 0. Play the traitor an alert sound.

forge_ai_objectives

Create and assign a full set of AI traitor objectives.

forge_human_objectives

Create and assign a full set of randomized human traitor objectives.

get_living_security_players_count

Same as above but only count Sec

give_codewords

Notify the traitor of their codewords and write them to antag_memory (notes).

Gives a traitor human their uplink, and uplink code.

\ No newline at end of file diff --git a/datum/antagonist/uplifted_primitive.html b/datum/antagonist/uplifted_primitive.html new file mode 100644 index 00000000000..3bcf6a9e7c4 --- /dev/null +++ b/datum/antagonist/uplifted_primitive.html @@ -0,0 +1 @@ +/datum/antagonist/uplifted_primitive - Space Station 13
Space Station 13 - Modules - TypesVar Details

uplifted_primitive

Vars

initial_speciesThe species of the owner at the time this datum was added.
nest_uidThe UID of the nest built by the owner.
potential_objectivesThe list of objective types which can be selected from when picking a personal objective.

Var Details

initial_species

The species of the owner at the time this datum was added.

nest_uid

The UID of the nest built by the owner.

potential_objectives

The list of objective types which can be selected from when picking a personal objective.

\ No newline at end of file diff --git a/datum/antagonist/vampire.html b/datum/antagonist/vampire.html new file mode 100644 index 00000000000..1a260315b49 --- /dev/null +++ b/datum/antagonist/vampire.html @@ -0,0 +1,18 @@ +/datum/antagonist/vampire - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

vampire

Vars

drained_humanslist of the peoples UIDs that we have drained, and how much blood from each one
drainingwho the vampire is draining of blood
has_lairdid the vampire build a lair?
iscloakinghandles the vampire cloak toggle
nullifiedNullrods and holywater make their abilities cost more
powerslist of available powers and passives
subclasswhat vampire subclass the vampire is.
upgrade_tiersa list of powers that all vampires unlock and at what blood level they unlock them, the rest of their powers are found in the vampire_subclass datum

Procs

adjust_bloodHandles unique drain ID checks and increases vampire's total and usable blood by blood_amount. Checks for ability upgrades.
change_subclassRemove the vampire's current subclass and add the specified one.
clear_subclassRemove and delete the vampire's current subclass and all associated abilities.
remove_all_powersRemoves all of the vampire's current powers.
subtract_usable_bloodSafely subtract vampire's bloodusable. Clamped between 0 and bloodtotal.

Var Details

drained_humans

list of the peoples UIDs that we have drained, and how much blood from each one

draining

who the vampire is draining of blood

has_lair

did the vampire build a lair?

iscloaking

handles the vampire cloak toggle

nullified

Nullrods and holywater make their abilities cost more

powers

list of available powers and passives

subclass

what vampire subclass the vampire is.

upgrade_tiers

a list of powers that all vampires unlock and at what blood level they unlock them, the rest of their powers are found in the vampire_subclass datum

Proc Details

adjust_blood

Handles unique drain ID checks and increases vampire's total and usable blood by blood_amount. Checks for ability upgrades.

+

Arguments:

+

change_subclass

Remove the vampire's current subclass and add the specified one.

+

Arguments:

+

clear_subclass

Remove and delete the vampire's current subclass and all associated abilities.

+

Arguments:

+

remove_all_powers

Removes all of the vampire's current powers.

subtract_usable_blood

Safely subtract vampire's bloodusable. Clamped between 0 and bloodtotal.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/antagonist/wizard/adept.html b/datum/antagonist/wizard/adept.html new file mode 100644 index 00000000000..28b3f4b7a86 --- /dev/null +++ b/datum/antagonist/wizard/adept.html @@ -0,0 +1 @@ +/datum/antagonist/wizard/adept - Space Station 13
Space Station 13 - Modules - TypesVar Details

adept

Vars

defense_spellsPotential defensive spell list
mobility_spellsPotential mobility spell list
offense_spellsPotential offensive spell list
support_itemsPotential support item list
support_spellsPotential support spell list

Var Details

defense_spells

Potential defensive spell list

mobility_spells

Potential mobility spell list

offense_spells

Potential offensive spell list

support_items

Potential support item list

support_spells

Potential support spell list

\ No newline at end of file diff --git a/datum/antagonist/wizard/apprentice.html b/datum/antagonist/wizard/apprentice.html new file mode 100644 index 00000000000..9b93a9fd5f7 --- /dev/null +++ b/datum/antagonist/wizard/apprentice.html @@ -0,0 +1 @@ +/datum/antagonist/wizard/apprentice - Space Station 13
Space Station 13 - Modules - TypesVar Details

apprentice

Vars

class_typeThe class type of this apprentice,
my_teacherTemporary reference to a mob for purposes of objectives, and general text for the apprentice.

Var Details

class_type

The class type of this apprentice,

my_teacher

Temporary reference to a mob for purposes of objectives, and general text for the apprentice.

\ No newline at end of file diff --git a/datum/antagonist/wizard/construct.html b/datum/antagonist/wizard/construct.html new file mode 100644 index 00000000000..ea58c5747c9 --- /dev/null +++ b/datum/antagonist/wizard/construct.html @@ -0,0 +1 @@ +/datum/antagonist/wizard/construct - Space Station 13
Space Station 13 - Modules - TypesVar Details

construct

Vars

my_creatorTemporary reference to a mob for purposes of objectives, and general text for the apprentice.

Var Details

my_creator

Temporary reference to a mob for purposes of objectives, and general text for the apprentice.

\ No newline at end of file diff --git a/datum/asset.html b/datum/asset.html new file mode 100644 index 00000000000..0fc5ed36ddb --- /dev/null +++ b/datum/asset.html @@ -0,0 +1,3 @@ +/datum/asset - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

asset

Vars

earlyWhether or not this asset should be loaded in the "early assets" SS

Procs

ensure_readyStub that allows us to react to something trying to get us +Not useful here, more handy for sprite sheets
get_serialized_url_mappingsReturns a cached tgui message of URL mappings

Var Details

early

Whether or not this asset should be loaded in the "early assets" SS

Proc Details

ensure_ready

Stub that allows us to react to something trying to get us +Not useful here, more handy for sprite sheets

get_serialized_url_mappings

Returns a cached tgui message of URL mappings

\ No newline at end of file diff --git a/datum/asset/json.html b/datum/asset/json.html new file mode 100644 index 00000000000..003c715c841 --- /dev/null +++ b/datum/asset/json.html @@ -0,0 +1 @@ +/datum/asset/json - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

json

A subtype to generate a JSON file from a list

Vars

nameThe filename, will be suffixed with ".json"

Procs

generateReturns the data that will be JSON encoded

Var Details

name

The filename, will be suffixed with ".json"

Proc Details

generate

Returns the data that will be JSON encoded

\ No newline at end of file diff --git a/datum/asset/simple.html b/datum/asset/simple.html new file mode 100644 index 00000000000..9bacf4b2f16 --- /dev/null +++ b/datum/asset/simple.html @@ -0,0 +1 @@ +/datum/asset/simple - Space Station 13
Space Station 13 - Modules - TypesVar 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 browse_rsc when cdn asset 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 browse_rsc when cdn asset transports are enabled

\ No newline at end of file diff --git a/datum/asset/simple/icon_states.html b/datum/asset/simple/icon_states.html new file mode 100644 index 00000000000..47b142810b6 --- /dev/null +++ b/datum/asset/simple/icon_states.html @@ -0,0 +1 @@ +/datum/asset/simple/icon_states - Space Station 13
Space Station 13 - Modules - TypesVar Details

icon_states

Generates assets based on iconstates of a single icon

Vars

generic_icon_namesGenerate icon filenames using GENERATE_ASSET_NAME instead the "[prefix].[icon_state_name].png" format
prefixUsed in asset name generation, (asset_name = "[prefix].[icon_state_name].png")

Var Details

generic_icon_names

Generate icon filenames using GENERATE_ASSET_NAME instead the "[prefix].[icon_state_name].png" format

prefix

Used in asset name generation, (asset_name = "[prefix].[icon_state_name].png")

\ No newline at end of file diff --git a/datum/asset/simple/namespaced.html b/datum/asset/simple/namespaced.html new file mode 100644 index 00000000000..f1c1190efdb --- /dev/null +++ b/datum/asset/simple/namespaced.html @@ -0,0 +1,7 @@ +/datum/asset/simple/namespaced - Space Station 13
Space Station 13 - Modules - TypesVar 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.

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.

\ No newline at end of file diff --git a/datum/asset/spritesheet.html b/datum/asset/spritesheet.html new file mode 100644 index 00000000000..2125de4d07f --- /dev/null +++ b/datum/asset/spritesheet.html @@ -0,0 +1,9 @@ +/datum/asset/spritesheet - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

spritesheet

Vars

sizes"32x32" -> list(10, icon/normal, icon/stripped)
sprites"foo_bar" -> list("32x32", 5)

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

Var Details

sizes

"32x32" -> list(10, icon/normal, icon/stripped)

sprites

"foo_bar" -> list("32x32", 5)

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:

+
\ No newline at end of file diff --git a/datum/asset_cache_item.html b/datum/asset_cache_item.html new file mode 100644 index 00000000000..9b91ade3deb --- /dev/null +++ b/datum/asset_cache_item.html @@ -0,0 +1,11 @@ +/datum/asset_cache_item - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

asset_cache_item

An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.

Vars

extour file extension e.g. .png, .gif, etc
hashmd5() of the file this asset item represents.
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?
namethe name of this asset item, becomes the key in SSassets.cache list
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
resourcethe file this asset represents

Procs

NewPass in a valid file_hash if you have one to save it from needing to do it again. +Pass in a valid dmi file path string e.g. "icons/path/to/dmi_file.dmi" to make generating the hash less expensive

Var Details

ext

our file extension e.g. .png, .gif, etc

hash

md5() of the file this asset item represents.

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?

name

the name of this asset item, becomes the key in SSassets.cache list

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

resource

the file this asset represents

Proc Details

New

Pass in a valid file_hash if you have one to save it from needing to do it again. +Pass in a valid dmi file path string e.g. "icons/path/to/dmi_file.dmi" to make generating the hash less expensive

\ No newline at end of file diff --git a/datum/asset_transport.html b/datum/asset_transport.html new file mode 100644 index 00000000000..b0b1b666c3e --- /dev/null +++ b/datum/asset_transport.html @@ -0,0 +1,28 @@ +/datum/asset_transport - Space Station 13
Space Station 13 - Modules - TypesVar 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 SSassets.transport.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. +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 SSassets.transport.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. +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum.

+

Arguments:

+

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

\ No newline at end of file diff --git a/datum/asset_transport/webroot.html b/datum/asset_transport/webroot.html new file mode 100644 index 00000000000..e583086add5 --- /dev/null +++ b/datum/asset_transport/webroot.html @@ -0,0 +1,11 @@ +/datum/asset_transport/webroot - Space Station 13
Space Station 13 - Modules - TypesProc 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.

\ No newline at end of file diff --git a/datum/atom_hud.html b/datum/atom_hud.html new file mode 100644 index 00000000000..e1e3ff9b963 --- /dev/null +++ b/datum/atom_hud.html @@ -0,0 +1 @@ +/datum/atom_hud - Space Station 13
Space Station 13 - Modules - TypesVar Details

atom_hud

Vars

ignore_invisibility_checkDo we ignore the invisibility check? Used by anom huds so we can see our stuff.

Var Details

ignore_invisibility_check

Do we ignore the invisibility check? Used by anom huds so we can see our stuff.

\ No newline at end of file diff --git a/datum/atom_hud/data/pressure.html b/datum/atom_hud/data/pressure.html new file mode 100644 index 00000000000..999b6c463f2 --- /dev/null +++ b/datum/atom_hud/data/pressure.html @@ -0,0 +1 @@ +/datum/atom_hud/data/pressure - Space Station 13
Space Station 13 - Modules - TypesProc Details

pressure

Procs

add_hud_toPressure hud is special, because it doesn't use hudatoms. SSair manages its images, so tell SSair to add the initial set.

Proc Details

add_hud_to

Pressure hud is special, because it doesn't use hudatoms. SSair manages its images, so tell SSair to add the initial set.

\ No newline at end of file diff --git a/datum/attack_info.html b/datum/attack_info.html new file mode 100644 index 00000000000..83f66033a90 --- /dev/null +++ b/datum/attack_info.html @@ -0,0 +1,2 @@ +/datum/attack_info - Space Station 13
Space Station 13 - Modules - TypesVar Details

attack_info

A datum storing information about attacks an atom has received. +Only contains attacker name/ckey right now but could be expanded.

Vars

last_attacker_ckeyCkey of the player who performed the last attack.
last_attacker_nameName of the mob who performed the last attack.
last_attacker_weaponName and type of the weapon that the last attack was performed with.

Var Details

last_attacker_ckey

Ckey of the player who performed the last attack.

last_attacker_name

Name of the mob who performed the last attack.

last_attacker_weapon

Name and type of the weapon that the last attack was performed with.

\ No newline at end of file diff --git a/datum/barsign.html b/datum/barsign.html new file mode 100644 index 00000000000..dab19370aeb --- /dev/null +++ b/datum/barsign.html @@ -0,0 +1 @@ +/datum/barsign - Space Station 13
Space Station 13 - Modules - TypesVar Details

barsign

Vars

hiddenSigns that should never be accessed by players via the selection menu.
syndicateSigns that have a syndicate theme. Normally accessed by emagging the sign.

Var Details

hidden

Signs that should never be accessed by players via the selection menu.

syndicate

Signs that have a syndicate theme. Normally accessed by emagging the sign.

\ No newline at end of file diff --git a/datum/beam.html b/datum/beam.html new file mode 100644 index 00000000000..923227c3a1e --- /dev/null +++ b/datum/beam.html @@ -0,0 +1,31 @@ +/datum/beam - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

beam

Vars

beam_colorThe color of the beam we're drawing.
beam_typethe objects placed in the elements list
elementslist of beam objects. These have their visuals set by the visuals var which is created on starting
iconicon used by the beam.
icon_stateicon state of the main segments of the beam
max_distanceThe beam will qdel if it's longer than this many tiles.
originwhere the beam goes from
targetwhere the beam goes to
use_get_turfShould we use a turf for origin/target's x and y values instead
visualsThis is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Procs

DrawCreates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.
StartProc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.
redrawingTriggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.

Var Details

beam_color

The color of the beam we're drawing.

beam_type

the objects placed in the elements list

elements

list of beam objects. These have their visuals set by the visuals var which is created on starting

icon

icon used by the beam.

icon_state

icon state of the main segments of the beam

max_distance

The beam will qdel if it's longer than this many tiles.

origin

where the beam goes from

target

where the beam goes to

use_get_turf

Should we use a turf for origin/target's x and y values instead

visuals

This is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Proc Details

Draw

Creates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.

Start

Proc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.

redrawing

Triggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.

+

Arguments: +mover: either the origin of the beam or the target of the beam that moved. +oldloc: from where mover moved. +direction: in what direction mover moved from.

\ No newline at end of file diff --git a/datum/bitfield.html b/datum/bitfield.html new file mode 100644 index 00000000000..2579eb98e9c --- /dev/null +++ b/datum/bitfield.html @@ -0,0 +1 @@ +/datum/bitfield - Space Station 13
Space Station 13 - Modules - TypesVar 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

\ No newline at end of file diff --git a/datum/body_accessory.html b/datum/body_accessory.html new file mode 100644 index 00000000000..e28ee99db0f --- /dev/null +++ b/datum/body_accessory.html @@ -0,0 +1 @@ +/datum/body_accessory - Space Station 13
Space Station 13 - Modules - TypesVar Details

body_accessory

Vars

has_behindIf true, adds an underlay (in addition to the regular overlay!) to the character sprite, with the state "[icon_state]_BEHIND".

Var Details

has_behind

If true, adds an underlay (in addition to the regular overlay!) to the character sprite, with the state "[icon_state]_BEHIND".

\ No newline at end of file diff --git a/datum/browser.html b/datum/browser.html new file mode 100644 index 00000000000..32651c215a2 --- /dev/null +++ b/datum/browser.html @@ -0,0 +1 @@ +/datum/browser - Space Station 13
Space Station 13 - Modules - TypesVar Details

browser

Vars

atom_uidUID of the host atom
contentHTML content of the browser datum
head_contentHeader HTML content of the browser datum
include_default_stylesheetShould default stylesheets be loaded
scriptsAssoc list of script files for use by the datum
stylesheetsAssoc list of stylesheets for use by the datum
window_idwindow_id is used as the window name for browse and onclose calls
window_optionsVarious options to control elements such as titlebar buttons for the window

Var Details

atom_uid

UID of the host atom

content

HTML content of the browser datum

head_content

Header HTML content of the browser datum

include_default_stylesheet

Should default stylesheets be loaded

scripts

Assoc list of script files for use by the datum

stylesheets

Assoc list of stylesheets for use by the datum

window_id

window_id is used as the window name for browse and onclose calls

window_options

Various options to control elements such as titlebar buttons for the window

\ No newline at end of file diff --git a/datum/buildmode_mode/tilting.html b/datum/buildmode_mode/tilting.html new file mode 100644 index 00000000000..b9336b849fa --- /dev/null +++ b/datum/buildmode_mode/tilting.html @@ -0,0 +1 @@ +/datum/buildmode_mode/tilting - Space Station 13
Space Station 13 - Modules - TypesVar Details

tilting

Vars

tilterThe thing we're tilting over

Var Details

tilter

The thing we're tilting over

\ No newline at end of file diff --git a/datum/cachedbook.html b/datum/cachedbook.html new file mode 100644 index 00000000000..bb9de1bb95d --- /dev/null +++ b/datum/cachedbook.html @@ -0,0 +1 @@ +/datum/cachedbook - Space Station 13
Space Station 13 - Modules - TypesProc Details

cachedbook

Datum used to cache the SQL DB books locally in order to achieve a performance gain.

Procs

LoadFromRowhelper proc to turn our returned query rows into a cachedbook datum

Proc Details

LoadFromRow

helper proc to turn our returned query rows into a cachedbook datum

\ No newline at end of file diff --git a/datum/callback/verb_callback.html b/datum/callback/verb_callback.html new file mode 100644 index 00000000000..4635a8e8a52 --- /dev/null +++ b/datum/callback/verb_callback.html @@ -0,0 +1 @@ +/datum/callback/verb_callback - Space Station 13
Space Station 13 - Modules - TypesVar Details

verb_callback

like normal callbacks but they also record their creation time for measurement purposes

Vars

creation_timethe tick this callback datum was created in. used for testing latency

Var Details

creation_time

the tick this callback datum was created in. used for testing latency

\ No newline at end of file diff --git a/datum/camerachunk.html b/datum/camerachunk.html new file mode 100644 index 00000000000..937bf97d6d6 --- /dev/null +++ b/datum/camerachunk.html @@ -0,0 +1,4 @@ +/datum/camerachunk - Space Station 13
Space Station 13 - Modules - TypesProc Details

camerachunk

A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed. +Allows camera eyes to stream these chunks and know what they can and cannot see.

Procs

NewCreate a new camera chunk, since the chunks are made as they are needed.
addAdd a camera eye to the chunk, then update if changed.
add_cameraAdds a camera to the chunk if it has not already been added.
camera_movedHandles each movement by a camera that has been added to the chunk.
has_changedUpdates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will +instead be flagged to update the next time a camera eye moves near it.
removeRemove a camera eye from the chunk, then update if changed.
remove_cameraRemoves a camera from the chunk.
updateGathers the visible turfs from cameras and puts them into the appropiate lists.
visibility_changedCalled when a chunk has changed. I.E: A wall was deleted.

Proc Details

New

Create a new camera chunk, since the chunks are made as they are needed.

add

Add a camera eye to the chunk, then update if changed.

add_camera

Adds a camera to the chunk if it has not already been added.

camera_moved

Handles each movement by a camera that has been added to the chunk.

has_changed

Updates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will +instead be flagged to update the next time a camera eye moves near it.

remove

Remove a camera eye from the chunk, then update if changed.

remove_camera

Removes a camera from the chunk.

update

Gathers the visible turfs from cameras and puts them into the appropiate lists.

visibility_changed

Called when a chunk has changed. I.E: A wall was deleted.

\ No newline at end of file diff --git a/datum/cameranet.html b/datum/cameranet.html new file mode 100644 index 00000000000..bba501b45fa --- /dev/null +++ b/datum/cameranet.html @@ -0,0 +1,9 @@ +/datum/cameranet - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cameranet

Vars

camerasThe cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Destroy().
chunksThe chunks of the map, mapping the areas that the cameras can see.

Procs

add_cameraAdd a camera to a chunk.
check_camera_visReturns 1 if a mob is on a viewable turf, otherwise returns 0.
chunk_generatedReturns the chunk at (x, y, z) if it exists, otherwise returns null.
get_camera_chunkReturns the chunk at (x, y, z) if it exists, otherwise returns a new chunk at that location.
major_chunk_changePrivate method for updating the chunk an atom is in, and all surrounding chunks. +add will be added as a camera to the chunk of its current location and all surrounding chunks. +remove will be removed as a camera from the chunk of its current location and all surrounding chunks. +update will not be added or removed as a camera, but its surrounding chunks will be updated. +These parameters are mutually exclusive.
remove_cameraRemoves a camera from a chunk.
update_portable_cameraRefreshes the chunk location of a portable camera. Used by Cyborgs.
update_visibilityUpdates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open.
visibilityUpdates what the camera network can see.

Var Details

cameras

The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Destroy().

chunks

The chunks of the map, mapping the areas that the cameras can see.

Proc Details

add_camera

Add a camera to a chunk.

check_camera_vis

Returns 1 if a mob is on a viewable turf, otherwise returns 0.

chunk_generated

Returns the chunk at (x, y, z) if it exists, otherwise returns null.

get_camera_chunk

Returns the chunk at (x, y, z) if it exists, otherwise returns a new chunk at that location.

major_chunk_change

Private method for updating the chunk an atom is in, and all surrounding chunks. +add will be added as a camera to the chunk of its current location and all surrounding chunks. +remove will be removed as a camera from the chunk of its current location and all surrounding chunks. +update will not be added or removed as a camera, but its surrounding chunks will be updated. +These parameters are mutually exclusive.

remove_camera

Removes a camera from a chunk.

update_portable_camera

Refreshes the chunk location of a portable camera. Used by Cyborgs.

update_visibility

Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open.

visibility

Updates what the camera network can see.

\ No newline at end of file diff --git a/datum/can_pass_info.html b/datum/can_pass_info.html new file mode 100644 index 00000000000..8f710c9ef7f --- /dev/null +++ b/datum/can_pass_info.html @@ -0,0 +1,8 @@ +/datum/can_pass_info - Space Station 13
Space Station 13 - Modules - TypesVar Details

can_pass_info

Holds all information about what an atom can move through +Passed into CanPathfindPass to provide context for a pathing attempt

+

Also used to check if using a cached path_map is safe +There are some vars here that are unused. They exist to cover cases where caller_ref is used +They're the properties of caller_ref used in those cases. +It's kinda annoying, but there's some proc chains we can't convert to this datum

Vars

accessWhat access we have, airlocks, windoors, etc
anchoredAre we anchored
buckled_infoIf our mob is buckled to something, what's it like
camera_typeCameras have a lot of BS can_z_move overrides +Let's avoid this
can_ventcrawlCan we ventcrawl?
has_gravityDo we have gravity
incapacitatedIs our mob incapacitated
incorporeal_moveIs our mob incorporeal
is_botAre we a bot?
is_droneAre we a drone?
is_flyingAre we flying?
is_livingAre we a living mob?
is_megafaunaAre we megafauna?
is_movableAre we a movable? This seems weird but some of our pathfind checks do check for this
is_observerAre we a ghost? (they have effectively unique pathfinding)
mob_sizeWhat is the size of our mob
movement_typeWhat sort of movement do we have. Mirrors /atom/movable/movement_type
no_idIf we have no id, public airlocks are walls
pass_flagsWhat we can pass through. Mirrors /atom/movable/pass_flags
pulling_infoPass information for the object we are pulling, if any
rider_infoIf our mob has a rider, what does it look like
thrownAre we being thrown?

Var Details

access

What access we have, airlocks, windoors, etc

anchored

Are we anchored

buckled_info

If our mob is buckled to something, what's it like

camera_type

Cameras have a lot of BS can_z_move overrides +Let's avoid this

can_ventcrawl

Can we ventcrawl?

has_gravity

Do we have gravity

incapacitated

Is our mob incapacitated

incorporeal_move

Is our mob incorporeal

is_bot

Are we a bot?

is_drone

Are we a drone?

is_flying

Are we flying?

is_living

Are we a living mob?

is_megafauna

Are we megafauna?

is_movable

Are we a movable? This seems weird but some of our pathfind checks do check for this

is_observer

Are we a ghost? (they have effectively unique pathfinding)

mob_size

What is the size of our mob

movement_type

What sort of movement do we have. Mirrors /atom/movable/movement_type

no_id

If we have no id, public airlocks are walls

pass_flags

What we can pass through. Mirrors /atom/movable/pass_flags

pulling_info

Pass information for the object we are pulling, if any

rider_info

If our mob has a rider, what does it look like

thrown

Are we being thrown?

\ No newline at end of file diff --git a/datum/candidate_poll.html b/datum/candidate_poll.html new file mode 100644 index 00000000000..e00febdbc4c --- /dev/null +++ b/datum/candidate_poll.html @@ -0,0 +1,13 @@ +/datum/candidate_poll - Space Station 13
Space Station 13 - Modules - TypesProc Details

candidate_poll

Procs

remove_candidateAttempts to remove a signed-up mob from a poll.
sign_upAttempts to sign a (controlled) mob up
time_leftReturns the time left for a poll
trim_candidatesDeletes any candidates who may have disconnected from the list

Proc Details

remove_candidate

Attempts to remove a signed-up mob from a poll.

+

Arguments:

+

sign_up

Attempts to sign a (controlled) mob up

+

Will fail if the mob is already signed up or the poll's timer ran out. +Does not check for eligibility +Arguments:

+

time_left

Returns the time left for a poll

trim_candidates

Deletes any candidates who may have disconnected from the list

\ No newline at end of file diff --git a/datum/card_deck_table_tracker.html b/datum/card_deck_table_tracker.html new file mode 100644 index 00000000000..f288114ae4c --- /dev/null +++ b/datum/card_deck_table_tracker.html @@ -0,0 +1 @@ +/datum/card_deck_table_tracker - Space Station 13
Space Station 13 - Modules - TypesVar Details

card_deck_table_tracker

Vars

debugIndicate field activity with colors on the field's turfs.
deck_uidThe UID of the deck
floorsThe list of floors from which a player can access the card field.
hostThe deck we're tracking.
max_table_distanceHow far away you can be (in terms of table squares).
max_total_distanceHow far away you can be (euclidean distance).
tablesThe list of tables that the card deck's location is contiguous with.

Var Details

debug

Indicate field activity with colors on the field's turfs.

deck_uid

The UID of the deck

floors

The list of floors from which a player can access the card field.

host

The deck we're tracking.

max_table_distance

How far away you can be (in terms of table squares).

max_total_distance

How far away you can be (euclidean distance).

tables

The list of tables that the card deck's location is contiguous with.

\ No newline at end of file diff --git a/datum/cell_tracker.html b/datum/cell_tracker.html new file mode 100644 index 00000000000..f4becd317be --- /dev/null +++ b/datum/cell_tracker.html @@ -0,0 +1,13 @@ +/datum/cell_tracker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cell_tracker

Spatial gridmap, cell tracking

+

This datum exists to make the large, repeated "everything in some range" pattern faster +Rather then just refreshing against everything, we track all the cells in range of the passed in "window" +This lets us do entered/left logic, and make ordinarially quite expensive logic much cheaper

+

Note: This system should not be used for things who have strict requirements about what is NOT in their processed entries +It should instead only be used for logic that only really cares about limiting how much gets "entered" in any one call +Because we apply this limitation, we can do things to make our code much less prone to unneeded work

Vars

inner_window_x_radiusThe height (y radius) of our inner window
inner_window_y_radiusThe width (x radius) of our inner window
outer_window_x_radiusThe height (y radius) of our outer window
outer_window_y_radiusThe width (x radius) of our outer window

Procs

NewAccepts a width and height to use for this tracker +Also accepts the ratio to use between inner and outer window. Optional, defaults to 2
recalculate_cellsRecalculates our member list, returns a list in the form list(new members, old members) for reaction +Accepts the turf to use as our "center"
recalculate_type_membersReturns a list of newly and formerly joined spatial grid managed objects of type [type] in the form list(new, old) +Takes the center of our window as input
set_boundsTakes a width and height, and uses them to set the inner window, and interpolate the outer window

Var Details

inner_window_x_radius

The height (y radius) of our inner window

inner_window_y_radius

The width (x radius) of our inner window

outer_window_x_radius

The height (y radius) of our outer window

outer_window_y_radius

The width (x radius) of our outer window

Proc Details

New

Accepts a width and height to use for this tracker +Also accepts the ratio to use between inner and outer window. Optional, defaults to 2

recalculate_cells

Recalculates our member list, returns a list in the form list(new members, old members) for reaction +Accepts the turf to use as our "center"

recalculate_type_members

Returns a list of newly and formerly joined spatial grid managed objects of type [type] in the form list(new, old) +Takes the center of our window as input

set_bounds

Takes a width and height, and uses them to set the inner window, and interpolate the outer window

\ No newline at end of file diff --git a/datum/changeling_power_category.html b/datum/changeling_power_category.html new file mode 100644 index 00000000000..523b8062e1b --- /dev/null +++ b/datum/changeling_power_category.html @@ -0,0 +1 @@ +/datum/changeling_power_category - Space Station 13
Space Station 13 - Modules - TypesVar Details

changeling_power_category

Vars

nameThe name of the category
priorityThe number used to determine category position in changeling evolution menu UI

Var Details

name

The name of the category

priority

The number used to determine category position in changeling evolution menu UI

\ No newline at end of file diff --git a/datum/character_save.html b/datum/character_save.html new file mode 100644 index 00000000000..6935c75c4dc --- /dev/null +++ b/datum/character_save.html @@ -0,0 +1,13 @@ +/datum/character_save - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

character_save

Vars

body_accessoryThe body accessory name of the mob (e.g. wings, tail).
custom_emotesCustom emote text ("name" = "emote text")
cyborg_brain_typeIf a spawned cyborg should have an MMI, a positronic, or a robobrain. MMI by default
from_dbIs this character from the DB?
pda_ringtoneThe ringtone their PDA should start with
quirksA list/JSON of the quirk datums to attach to the character
runechat_colorRunechat color
slot_numberCharacter slot number, used for saves and stuff.
valid_saveIs this character valid to be picked? This is necessary to avoid someone getting a bald human called "Character 30"

Procs

SetChoiceslimit - The amount of jobs allowed per column. Defaults to 17 to make it look nice. +splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice. +widthPerColumn - Screen's width for every column. +height - Screen's height. +1366x768 is a common screen resolution, and increasing widthPerColumn or height to above 400 and 700, +will result in the window being placed outside the screen for these users. If we get more jobs than limit x 3, increase limit.
loadLoad in and process the database's information on the player's character save. +The order of indices here is the relative order from get_query() in 20-load-characters.dm.

Var Details

body_accessory

The body accessory name of the mob (e.g. wings, tail).

custom_emotes

Custom emote text ("name" = "emote text")

cyborg_brain_type

If a spawned cyborg should have an MMI, a positronic, or a robobrain. MMI by default

from_db

Is this character from the DB?

pda_ringtone

The ringtone their PDA should start with

quirks

A list/JSON of the quirk datums to attach to the character

runechat_color

Runechat color

slot_number

Character slot number, used for saves and stuff.

valid_save

Is this character valid to be picked? This is necessary to avoid someone getting a bald human called "Character 30"

Proc Details

SetChoices

limit - The amount of jobs allowed per column. Defaults to 17 to make it look nice. +splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice. +widthPerColumn - Screen's width for every column. +height - Screen's height. +1366x768 is a common screen resolution, and increasing widthPerColumn or height to above 400 and 700, +will result in the window being placed outside the screen for these users. If we get more jobs than limit x 3, increase limit.

load

Load in and process the database's information on the player's character save. +The order of indices here is the relative order from get_query() in 20-load-characters.dm.

\ No newline at end of file diff --git a/datum/chat_payload.html b/datum/chat_payload.html new file mode 100644 index 00000000000..411e3a9f63d --- /dev/null +++ b/datum/chat_payload.html @@ -0,0 +1 @@ +/datum/chat_payload - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

chat_payload

Stores information about a chat payload

Vars

contentMessage we are sending
resendsResend count
sequenceSequence number of this payload

Procs

get_content_as_htmlReturns an HTML-encoded message from our contents.
into_messageConverts the chat payload into a JSON string

Var Details

content

Message we are sending

resends

Resend count

sequence

Sequence number of this payload

Proc Details

get_content_as_html

Returns an HTML-encoded message from our contents.

into_message

Converts the chat payload into a JSON string

\ No newline at end of file diff --git a/datum/chatmessage.html b/datum/chatmessage.html new file mode 100644 index 00000000000..14c94900897 --- /dev/null +++ b/datum/chatmessage.html @@ -0,0 +1,35 @@ +/datum/chatmessage - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Chat Message Overlay

Datum for generating a message overlay on the map

Vars

animate_lifespanOur animation lifespan, how long this message will last
animate_startWhen we started animating the message
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
messageThe visual element of the chat messsage
message_locThe location in which the message is appearing
owned_byThe client who heard this message

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
finish_image_generationfinishes the image generation after the MeasureText() call in generate_image(). +necessary because after that call the proc can resume at the end of the tick and cause overtime.
generate_imageGenerates a chat message image representation
get_current_alphaReturns the current alpha of the message based on the time spent
on_parent_qdelCalls qdel on the chatmessage when its parent is deleted, used to register qdel signal
sanitize_colorEnsures a colour is bright enough for the system

Var Details

animate_lifespan

Our animation lifespan, how long this message will last

animate_start

When we started animating the message

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

message

The visual element of the chat messsage

message_loc

The location in which the message is appearing

owned_by

The client who heard this message

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:

+

finish_image_generation

finishes the image generation after the MeasureText() call in generate_image(). +necessary because after that call the proc can resume at the end of the tick and cause overtime.

generate_image

Generates a chat message image representation

+

Arguments:

+

get_current_alpha

Returns the current alpha of the message based on the time spent

on_parent_qdel

Calls qdel on the chatmessage when its parent is deleted, used to register qdel signal

sanitize_color

Ensures a colour is bright enough for the system

+

This proc is used to brighten parts of a colour up if its too dark, and looks bad

+

Arguments:

+
\ No newline at end of file diff --git a/datum/chemical_production_mode.html b/datum/chemical_production_mode.html new file mode 100644 index 00000000000..05b8bc47923 --- /dev/null +++ b/datum/chemical_production_mode.html @@ -0,0 +1,5 @@ +/datum/chemical_production_mode - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

chemical_production_mode

Vars

production_iconFontAwesome icon name

Procs

configure_itempublic

Var Details

production_icon

FontAwesome icon name

Proc Details

configure_item

public

+

Configures the icon of the specified container P.

+

required data Data persistent through invocations in the same loop. +required R The reagents used to make the item P. +required P The container to configure.

\ No newline at end of file diff --git a/datum/chemical_reaction.html b/datum/chemical_reaction.html new file mode 100644 index 00000000000..f5350430930 --- /dev/null +++ b/datum/chemical_reaction.html @@ -0,0 +1,9 @@ +/datum/chemical_reaction - Space Station 13
Space Station 13 - Modules - TypesVar Details

chemical_reaction

Vars

required_containerThe container required for the reaction to happen. +Leave this null if you want the reaction to happen anywhere.
required_otherExtra requirements for the reaction to happen.
required_reagentsA list of IDs of the required reagents.
result_amountThis is the amount of the resulting reagent this recipe will produce. +It's recommended you set this to the total volume of all required reagents.

Var Details

required_container

The container required for the reaction to happen. +Leave this null if you want the reaction to happen anywhere.

required_other

Extra requirements for the reaction to happen.

required_reagents

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.

result_amount

This is the amount of the resulting reagent this recipe will produce. +It's recommended you set this to the total volume of all required reagents.

\ No newline at end of file diff --git a/datum/chemical_reaction/acapulco_de_noche.html b/datum/chemical_reaction/acapulco_de_noche.html new file mode 100644 index 00000000000..575666a07d7 --- /dev/null +++ b/datum/chemical_reaction/acapulco_de_noche.html @@ -0,0 +1 @@ +/datum/chemical_reaction/acapulco_de_noche - Space Station 13
Space Station 13 - Modules - TypesVar Details

acapulco_de_noche

Vars

nameBy mazapan

Var Details

name

By mazapan

\ No newline at end of file diff --git a/datum/chemical_reaction/hanky_panky.html b/datum/chemical_reaction/hanky_panky.html new file mode 100644 index 00000000000..6cc401e7a08 --- /dev/null +++ b/datum/chemical_reaction/hanky_panky.html @@ -0,0 +1 @@ +/datum/chemical_reaction/hanky_panky - Space Station 13
Space Station 13 - Modules - TypesVar Details

hanky_panky

Vars

nameBy mazapan

Var Details

name

By mazapan

\ No newline at end of file diff --git a/datum/chemical_reaction/matadora_beer.html b/datum/chemical_reaction/matadora_beer.html new file mode 100644 index 00000000000..72ec779c411 --- /dev/null +++ b/datum/chemical_reaction/matadora_beer.html @@ -0,0 +1 @@ +/datum/chemical_reaction/matadora_beer - Space Station 13
Space Station 13 - Modules - TypesVar Details

matadora_beer

Vars

nameBy mazapan

Var Details

name

By mazapan

\ No newline at end of file diff --git a/datum/chemical_reaction/michelada.html b/datum/chemical_reaction/michelada.html new file mode 100644 index 00000000000..08914ae9623 --- /dev/null +++ b/datum/chemical_reaction/michelada.html @@ -0,0 +1 @@ +/datum/chemical_reaction/michelada - Space Station 13
Space Station 13 - Modules - TypesVar Details

michelada

Vars

nameBy mazapan

Var Details

name

By mazapan

\ No newline at end of file diff --git a/datum/chemical_reaction/unclegits_specialmilk.html b/datum/chemical_reaction/unclegits_specialmilk.html new file mode 100644 index 00000000000..1895143d6a1 --- /dev/null +++ b/datum/chemical_reaction/unclegits_specialmilk.html @@ -0,0 +1 @@ +/datum/chemical_reaction/unclegits_specialmilk - Space Station 13
Space Station 13 - Modules - TypesVar Details

unclegits_specialmilk

Vars

nameBy Ralph & Ume

Var Details

name

By Ralph & Ume

\ No newline at end of file diff --git a/datum/chemical_reaction/vampiro.html b/datum/chemical_reaction/vampiro.html new file mode 100644 index 00000000000..0b60fb9d6ec --- /dev/null +++ b/datum/chemical_reaction/vampiro.html @@ -0,0 +1 @@ +/datum/chemical_reaction/vampiro - Space Station 13
Space Station 13 - Modules - TypesVar Details

vampiro

Vars

nameBy mazapan

Var Details

name

By mazapan

\ No newline at end of file diff --git a/datum/chemical_reaction/zombie.html b/datum/chemical_reaction/zombie.html new file mode 100644 index 00000000000..9e0c74d7175 --- /dev/null +++ b/datum/chemical_reaction/zombie.html @@ -0,0 +1 @@ +/datum/chemical_reaction/zombie - Space Station 13
Space Station 13 - Modules - TypesVar Details

zombie

Vars

amt_req_curesThe amount of reagents to pick from get_possible_cures()
cure_levelThe cure level of the reagent, level 4 cure requires level 3 cure, which requires level 2 cure, etc
required_symptomA virus symptom required to complete this chemical reaction

Var Details

amt_req_cures

The amount of reagents to pick from get_possible_cures()

cure_level

The cure level of the reagent, level 4 cure requires level 3 cure, which requires level 2 cure, etc

required_symptom

A virus symptom required to complete this chemical reaction

\ No newline at end of file diff --git a/datum/click_intercept.html b/datum/click_intercept.html new file mode 100644 index 00000000000..f44c0a9574a --- /dev/null +++ b/datum/click_intercept.html @@ -0,0 +1,11 @@ +/datum/click_intercept - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Click intercept datum

Datum which is intended to be stored by a client's click_intercept variable. +Used to override normal clicking behavior when clicking on an object. +While active, a mob's ClickOn proc will redirect to the InterceptClickOn() proc instead.

Vars

buttonsAny atom/movable/screen/buttons the client is meant to receive when assigned this click intercept datum.
holderA reference to the client which is assigned this click intercept datum.

Procs

InterceptClickOnCalled in various mob's ClickOn procs, which happens when they click on an object in the world.
create_buttonsBase proc, intended to be overriden. Code that adds datum specific buttons to the list of buttons, should go here.
quitCalled when you want to cancel a client's click intercept and return to normal clicking.

Var Details

buttons

Any atom/movable/screen/buttons the client is meant to receive when assigned this click intercept datum.

holder

A reference to the client which is assigned this click intercept datum.

Proc Details

InterceptClickOn

Called in various mob's ClickOn procs, which happens when they click on an object in the world.

+

If the mob's client.click_intercept variable is set to something other than null, calls the InterceptClickOn proc for that click intercept datum. Aka, this proc.

+

If you return TRUE, click on ends the click. Otherwise, normal clicking happens +Arguments:

+

create_buttons

Base proc, intended to be overriden. Code that adds datum specific buttons to the list of buttons, should go here.

quit

Called when you want to cancel a client's click intercept and return to normal clicking.

\ No newline at end of file diff --git a/datum/click_intercept/give.html b/datum/click_intercept/give.html new file mode 100644 index 00000000000..6ac3aef3b5c --- /dev/null +++ b/datum/click_intercept/give.html @@ -0,0 +1 @@ +/datum/click_intercept/give - Space Station 13
Space Station 13 - Modules - TypesVar Details

Give click intercept

While a mob has this intercept, left clicking on a carbon mob will attempt to offer their currently held item to that mob.

Vars

item_offeredIf the intercept user has succesfully offered the item to another player.

Var Details

item_offered

If the intercept user has succesfully offered the item to another player.

\ No newline at end of file diff --git a/datum/client_login_processor.html b/datum/client_login_processor.html new file mode 100644 index 00000000000..202223934ec --- /dev/null +++ b/datum/client_login_processor.html @@ -0,0 +1,26 @@ +/datum/client_login_processor - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Client Login Processor Framework

The holder class for all client data processing

+

This framework is designed for loading in client data from the database. +Login processors have their own queries, which will be put into one async batch and +executed at the same time, to reduce the time it takes for a client to login. +Login processors can also be given priorities to have things fire in specific orders +EG: Load their preferences before their job bans, etc etc

+

When creating these, please name the files with the priority at the start, and the typepath after +EG: 10-load_preferences.dm +This makes it easier to track stuff down -AA07

+

Also if you have used other languages before with "interface" types (Java, C# (Microsoft Java), etc), +treat this class as one of those. /datum/client_login_processor/proc/get_query and +/datum/client_login_processor/proc/process_result MUST be overriden.

Vars

priorityThe login priority. A lower priority will fire first

Procs

get_queryQuery Getter
process_resultResult Processor

Var Details

priority

The login priority. A lower priority will fire first

Proc Details

get_query

Query Getter

+

Gets the DB query for this login processor

+

Takes the client as an arg instead of just the ckey incase we need more data (IP, CID, etc). +Returns a DB query datum.

+

Arguments:

+

process_result

Result Processor

+

Takes the (now executed) query and the client and parses the required data out +Note: This can be a no-op if you want to just update the DB, just return on the override

+

Arguments:

+
\ No newline at end of file diff --git a/datum/cloning_data.html b/datum/cloning_data.html new file mode 100644 index 00000000000..bed0bb16f4e --- /dev/null +++ b/datum/cloning_data.html @@ -0,0 +1,5 @@ +/datum/cloning_data - Space Station 13
Space Station 13 - Modules - TypesVar Details

cloning_data

A datum to store the information gained by scanning a patient OR the fixes to be made to their body.

Vars

genetic_infoThe patient's DNA
limbsThe patient's external organs (limbs) and their data, stored as an associated list of lists. +List format: limb = list(brute, burn, status, missing, name, max damage)
mindUIDA reference to the patient's mind.
nameThe patient's name.
organsThe patient's internal organs and their data, stored as an associated list of lists. +List format: organ = list(damage, status, missing, name, max damage, organ tag)
quirksWhat quirks the patient has

Var Details

genetic_info

The patient's DNA

limbs

The patient's external organs (limbs) and their data, stored as an associated list of lists. +List format: limb = list(brute, burn, status, missing, name, max damage)

mindUID

A reference to the patient's mind.

name

The patient's name.

organs

The patient's internal organs and their data, stored as an associated list of lists. +List format: organ = list(damage, status, missing, name, max damage, organ tag)

quirks

What quirks the patient has

\ No newline at end of file diff --git a/datum/code_revision.html b/datum/code_revision.html new file mode 100644 index 00000000000..7df46855a63 --- /dev/null +++ b/datum/code_revision.html @@ -0,0 +1,8 @@ +/datum/code_revision - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

code_revision

Code Revision Datum

+

Allows the server code to be aware of the Git environment it is running in, and lets commit hash be viewed

Vars

commit_dateDate that this commit was made
commit_hashCurrent commit hash the server is running
origin_commitOrigin commit (Only set if running TGS, and will only be different if the server is running testmerges)
testmergesList of testmerges (If applicable)

Procs

get_testmerge_chatmessageTestmerge Chat Message Helper
log_infoCode Revision Logging Helper

Var Details

commit_date

Date that this commit was made

commit_hash

Current commit hash the server is running

origin_commit

Origin commit (Only set if running TGS, and will only be different if the server is running testmerges)

testmerges

List of testmerges (If applicable)

Proc Details

get_testmerge_chatmessage

Testmerge Chat Message Helper

+

Formats testmerged PRs into a nice message +Arguments:

+

log_info

Code Revision Logging Helper

+

Small proc to simplify logging all this stuff

\ No newline at end of file diff --git a/datum/cogbar.html b/datum/cogbar.html new file mode 100644 index 00000000000..210cbdc6c3b --- /dev/null +++ b/datum/cogbar.html @@ -0,0 +1,20 @@ +/datum/cogbar - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Cogbar

Represents that the user is busy doing something.

+

The cogbar is a visual representation in the game that indicates to other players +that a user is currently busy with an action. This class handles the creation, +display, and removal of the cog animation.

Vars

blankThe blank image that overlaps the cog - hides it from the source user
cogThe visible element to other players
offset_yThe offset of the icon
userWho's doing the thing
user_clientThe user client

Procs

DestroyCleans up the cogbar instance, removing overlays and images associated with the user.
NewInitializes a new instance of the cogbar for the specified user.
add_cog_to_userAdds the cog to the user, visible by other players +Adds the cog overlay to the user, making it visible to other players.
on_user_deleteWhen the user is deleted, remove the cog +Handles the cleanup when the associated user is deleted.
removeRemoves the cog from the user +Initiates the removal process for the cog overlay.

Var Details

blank

The blank image that overlaps the cog - hides it from the source user

cog

The visible element to other players

offset_y

The offset of the icon

user

Who's doing the thing

user_client

The user client

Proc Details

Destroy

Cleans up the cogbar instance, removing overlays and images associated with the user.

+

This method ensures that all visual elements are properly removed when the cogbar instance is destroyed

New

Initializes a new instance of the cogbar for the specified user.

+

This constructor sets up the user and user client properties, adds the cog overlay +to the user, and registers a signal to handle user deletion.

+

@param user - The user for whom the cogbar is created.

add_cog_to_user

Adds the cog to the user, visible by other players +Adds the cog overlay to the user, making it visible to other players.

+

This function creates the cog overlay with appropriate properties and +initiates the animation to fade it in. Additionally, a blank image is +added to the user's client to hide the cog from the user's own perspective.

on_user_delete

When the user is deleted, remove the cog +Handles the cleanup when the associated user is deleted.

+

This function is triggered by a signal and ensures that the cogbar instance is properly destroyed

remove

Removes the cog from the user +Initiates the removal process for the cog overlay.

+

This function fades out the cog overlay and schedules the cogbar instance +for deletion after the animation completes.

\ No newline at end of file diff --git a/datum/color_matrix.html b/datum/color_matrix.html new file mode 100644 index 00000000000..9c8de3e1bce --- /dev/null +++ b/datum/color_matrix.html @@ -0,0 +1 @@ +/datum/color_matrix - Space Station 13
Space Station 13 - Modules - TypesProc Details

color_matrix

A color matrix allows us to set the color of an atom in a list form, thus allowing us to change color in more flexible ways. For example, we can set the brightness and contrast of the bloom and exposure of lamps

Procs

NewValue can be color as text (e.g. "#735184") that will set matrix to be the same color / number that will set the saturation of matrix / the color list itself, contrast as number, brightness as number
hex2valueHandles values from 00 to FF.

Proc Details

New

Value can be color as text (e.g. "#735184") that will set matrix to be the same color / number that will set the saturation of matrix / the color list itself, contrast as number, brightness as number

hex2value

Handles values from 00 to FF.

\ No newline at end of file diff --git a/datum/component.html b/datum/component.html new file mode 100644 index 00000000000..e968d5b9fb8 --- /dev/null +++ b/datum/component.html @@ -0,0 +1,31 @@ +/datum/component - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Component

The component datum

+

A component should be a single standalone unit +of functionality, that works by receiving signals from it's parent +object to provide some single functionality (i.e a slippery component) +that makes the object it's attached to cause people to slip over. +Useful when you want shared behaviour independent of type inheritance

Vars

can_transferOnly set to true if you are able to properly transfer this component
dupe_modeDefines how duplicate existing components are handled when added to a datum
dupe_typeThe type to check for duplication
parentThe datum this components belongs to

Procs

DestroyProperly removes the component from parent and cleans up references
InheritComponentCalled on a component when a component of the same type was added to the same parent
InitializeCalled during component creation with the same arguments as in new excluding parent.
NewCreate a new component.
PostTransferCallback Just after a component is transferred
PreTransferCallback Just before this component is transferred
RegisterWithParentRegister the component with the parent object
RemoveComponentDeletes the component and removes it from parent.
UnlinkComponentRemoves 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

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

Deletes the component and removes it from parent.

UnlinkComponent

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

\ No newline at end of file diff --git a/datum/component/action_item_overlay.html b/datum/component/action_item_overlay.html new file mode 100644 index 00000000000..28c21673ac1 --- /dev/null +++ b/datum/component/action_item_overlay.html @@ -0,0 +1,2 @@ +/datum/component/action_item_overlay - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

action_item_overlay

Apply to an action to allow it to take an item +and apply it as an overlay of the action button

Vars

item_appearanceThe appearance of the item we've applied
item_callbackCallback that dictates what item the component uses to apply as an overlay.
item_uidUID of the item the component uses to apply as an overlay.

Procs

on_overlays_appliedSignal proc for COMSIG_ACTION_OVERLAY_APPLY, applies the item appearance if possible.

Var Details

item_appearance

The appearance of the item we've applied

item_callback

Callback that dictates what item the component uses to apply as an overlay.

item_uid

UID of the item the component uses to apply as an overlay.

Proc Details

on_overlays_applied

Signal proc for COMSIG_ACTION_OVERLAY_APPLY, applies the item appearance if possible.

\ No newline at end of file diff --git a/datum/component/aggro_emote.html b/datum/component/aggro_emote.html new file mode 100644 index 00000000000..9d0e66b1c5f --- /dev/null +++ b/datum/component/aggro_emote.html @@ -0,0 +1 @@ +/datum/component/aggro_emote - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

aggro_emote

A component for ai-controlled atoms which plays a sound if they switch to a living target which they can attack

Vars

aggro_soundAggro sound
aggro_volumeVolume for the sound
emote_chanceChance to play an emote
emote_listList of emotes to play
living_onlyIf we want to limit emotes to only play at mobs
minimum_chanceMinimum chance to play an emote
say_listList of possible things to say
sound_varyDoes the sound vary
subtract_chanceChance to subtract every time we play an emote (permanently)
target_keyBlackboard key in which target data is stored

Procs

on_target_changedWhen we get a new target, see if we want to bark at it

Var Details

aggro_sound

Aggro sound

aggro_volume

Volume for the sound

emote_chance

Chance to play an emote

emote_list

List of emotes to play

living_only

If we want to limit emotes to only play at mobs

minimum_chance

Minimum chance to play an emote

say_list

List of possible things to say

sound_vary

Does the sound vary

subtract_chance

Chance to subtract every time we play an emote (permanently)

target_key

Blackboard key in which target data is stored

Proc Details

on_target_changed

When we get a new target, see if we want to bark at it

\ No newline at end of file diff --git a/datum/component/ai_retaliate_advanced.html b/datum/component/ai_retaliate_advanced.html new file mode 100644 index 00000000000..5a14c3295e5 --- /dev/null +++ b/datum/component/ai_retaliate_advanced.html @@ -0,0 +1,3 @@ +/datum/component/ai_retaliate_advanced - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_retaliate_advanced

Attached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information. +Differs from the element as it passes new entries through a callback.

Vars

post_retaliate_callbackCallback to a mob for custom behaviour

Procs

on_attackedAdd an attacking atom to a blackboard list of things which attacked us

Var Details

post_retaliate_callback

Callback to a mob for custom behaviour

Proc Details

on_attacked

Add an attacking atom to a blackboard list of things which attacked us

\ No newline at end of file diff --git a/datum/component/ai_target_timer.html b/datum/component/ai_target_timer.html new file mode 100644 index 00000000000..0e072e3e1e6 --- /dev/null +++ b/datum/component/ai_target_timer.html @@ -0,0 +1 @@ +/datum/component/ai_target_timer - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_target_timer

Increments a blackboard key while the attached mob is engaged with a particular target, does nothing else on its own

Vars

increment_keyBlackboard key to store data inside
last_targetThe last target we had
reset_clock_timerTimer used to see if you
target_keyBlackboard key to watch to indicate whether we are 'in combat'
time_on_targetAmount of time we have spent focused on one target

Procs

changed_targetWhen we get a new target, reset the timer and start processing
finalise_losing_targetCalled if we have had no target for long enough
lost_targetWhen we lose our target, start a short timer in case we reacquire it very quickly
store_current_timeStore the current time on our timer in our blackboard key

Var Details

increment_key

Blackboard key to store data inside

last_target

The last target we had

reset_clock_timer

Timer used to see if you

target_key

Blackboard key to watch to indicate whether we are 'in combat'

time_on_target

Amount of time we have spent focused on one target

Proc Details

changed_target

When we get a new target, reset the timer and start processing

finalise_losing_target

Called if we have had no target for long enough

lost_target

When we lose our target, start a short timer in case we reacquire it very quickly

store_current_time

Store the current time on our timer in our blackboard key

\ No newline at end of file diff --git a/datum/component/anti_magic.html b/datum/component/anti_magic.html new file mode 100644 index 00000000000..dc72f4e1671 --- /dev/null +++ b/datum/component/anti_magic.html @@ -0,0 +1,21 @@ +/datum/component/anti_magic - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

anti_magic

This provides different types of magic resistance on an object

Vars

alert_caster_on_equipWhether we should, on equipping, alert the caster that this item can block any of their spells +This changes between true and false on equip and drop, don't set it outright to something
antimagic_flagsA bitflag with the types of magic resistance on the object
chargesThe amount of times the object can protect the user from magic +Set to INFINITY to have, well, infinite charges.
drain_antimagicThe callback invoked when we have been drained a antimagic charge
expirationThe callback invoked when twe have been depleted of all charges
inventory_flagsThe inventory slot the object must be located at in order to activate

Procs

InitializeAdds magic resistances to an object
restrict_casting_magiccannot cast magic with the same type of antimagic present

Var Details

alert_caster_on_equip

Whether we should, on equipping, alert the caster that this item can block any of their spells +This changes between true and false on equip and drop, don't set it outright to something

antimagic_flags

A bitflag with the types of magic resistance on the object

charges

The amount of times the object can protect the user from magic +Set to INFINITY to have, well, infinite charges.

drain_antimagic

The callback invoked when we have been drained a antimagic charge

expiration

The callback invoked when twe have been depleted of all charges

inventory_flags

The inventory slot the object must be located at in order to activate

Proc Details

Initialize

Adds magic resistances to an object

+

Magic resistance will prevent magic from affecting the user if it has the correct resistance +against the type of magic being used

+

args:

+ +

antimagic bitflags: (see code/__DEFINES/magic.dm)

+

restrict_casting_magic

cannot cast magic with the same type of antimagic present

\ No newline at end of file diff --git a/datum/component/aura_healing.html b/datum/component/aura_healing.html new file mode 100644 index 00000000000..26ebf1abf38 --- /dev/null +++ b/datum/component/aura_healing.html @@ -0,0 +1,4 @@ +/datum/component/aura_healing - Space Station 13
Space Station 13 - Modules - TypesVar Details

aura_healing

Applies healing to those in the area. +Will provide them with an alert while they're in range, as well as +give them a healing particle. +Can be applied to those only with a trait conditionally.

Vars

blood_healAmount of blood to heal over a second
brute_healBrute damage to heal over a second
burn_healBurn damage to heal over a second
current_alertsA list of being healed to active alerts
healing_colorThe color to give the healing visual
last_heal_effect_timeCooldown between showing the heal effect
limit_to_traitTrait to limit healing to, if set
rangeThe range of which to heal
requires_visibilityWhether or not you must be a visible object of the parent
simple_healAmount of damage to heal on simple mobs over a second
stamina_healStamina damage to heal over a second
suffocation_healSuffocation damage to heal over a second
toxin_healToxin damage to heal over a second

Var Details

blood_heal

Amount of blood to heal over a second

brute_heal

Brute damage to heal over a second

burn_heal

Burn damage to heal over a second

current_alerts

A list of being healed to active alerts

healing_color

The color to give the healing visual

last_heal_effect_time

Cooldown between showing the heal effect

limit_to_trait

Trait to limit healing to, if set

range

The range of which to heal

requires_visibility

Whether or not you must be a visible object of the parent

simple_heal

Amount of damage to heal on simple mobs over a second

stamina_heal

Stamina damage to heal over a second

suffocation_heal

Suffocation damage to heal over a second

toxin_heal

Toxin damage to heal over a second

\ No newline at end of file diff --git a/datum/component/automatic_fire.html b/datum/component/automatic_fire.html new file mode 100644 index 00000000000..c082846a33e --- /dev/null +++ b/datum/component/automatic_fire.html @@ -0,0 +1,3 @@ +/datum/component/automatic_fire - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

automatic_fire

Vars

allow_akimboShould dual wielding be allowed?
autofire_shot_delayTime between individual shots.
current_windup_reductionthe reduction to shot delay for windup
mouse_statusThis seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar.
timeridTimer for tracking the spindown reset timings
windup_autofirewindup autofire vars +Whether the delay between shots increases over time, simulating a spooling weapon
windup_autofire_capHow high of a reduction that current_windup_reduction can reach
windup_autofire_reduction_multiplierthe percentage of autfire_shot_delay that is added to current_windup_reduction
windup_spindownHow long it takes for weapons that have spooled-up to reset back to the original firing speed

Procs

windup_resetReset for our windup, resetting everything back to initial values after a variable set amount of time (determined by var/windup_spindown).

Var Details

allow_akimbo

Should dual wielding be allowed?

autofire_shot_delay

Time between individual shots.

current_windup_reduction

the reduction to shot delay for windup

mouse_status

This seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar.

timerid

Timer for tracking the spindown reset timings

windup_autofire

windup autofire vars +Whether the delay between shots increases over time, simulating a spooling weapon

windup_autofire_cap

How high of a reduction that current_windup_reduction can reach

windup_autofire_reduction_multiplier

the percentage of autfire_shot_delay that is added to current_windup_reduction

windup_spindown

How long it takes for weapons that have spooled-up to reset back to the original firing speed

Proc Details

windup_reset

Reset for our windup, resetting everything back to initial values after a variable set amount of time (determined by var/windup_spindown).

\ No newline at end of file diff --git a/datum/component/boomerang.html b/datum/component/boomerang.html new file mode 100644 index 00000000000..bbddab30aca --- /dev/null +++ b/datum/component/boomerang.html @@ -0,0 +1,20 @@ +/datum/component/boomerang - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

boomerang

If an object is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. +Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.

Vars

boomerang_throw_rangeHow far should the boomerang try to travel to return to the thrower?
last_boomerang_throwThis cooldown prevents our 2 throwing signals from firing too often based on how we implement those signals within thrown impacts.
thrower_easy_catch_enabledIf this boomerang is thrown, does it re-enable the throwers throw mode?

Procs

aerodynamic_swingProc that triggers when the thrown boomerang has been fully thrown, rethrowing the boomerang back to the thrower, and producing visible feedback.
prepare_throwProc'd before the first thrown is performed in order to gather information regarding each throw as well as handle throw_mode as necessary.
return_hit_throwProc that triggers when the thrown boomerang hits an object.
return_missed_throwProc that triggers when the thrown boomerang does not hit a target.

Var Details

boomerang_throw_range

How far should the boomerang try to travel to return to the thrower?

last_boomerang_throw

This cooldown prevents our 2 throwing signals from firing too often based on how we implement those signals within thrown impacts.

thrower_easy_catch_enabled

If this boomerang is thrown, does it re-enable the throwers throw mode?

Proc Details

aerodynamic_swing

Proc that triggers when the thrown boomerang has been fully thrown, rethrowing the boomerang back to the thrower, and producing visible feedback.

+

prepare_throw

Proc'd before the first thrown is performed in order to gather information regarding each throw as well as handle throw_mode as necessary.

+

return_hit_throw

Proc that triggers when the thrown boomerang hits an object.

+

return_missed_throw

Proc that triggers when the thrown boomerang does not hit a target.

+
\ No newline at end of file diff --git a/datum/component/boss_music.html b/datum/component/boss_music.html new file mode 100644 index 00000000000..718e73c5187 --- /dev/null +++ b/datum/component/boss_music.html @@ -0,0 +1,5 @@ +/datum/component/boss_music - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

boss_music

Attaches to a hostile simplemob and plays that music while they have a target.

Vars

boss_trackThe music track we will play to players.
music_callbacksList of callback timers, used to clear out mobs listening to boss music after track_duration.
players_listening_uidsList of all mobs listening to the boss music currently. Cleared on Destroy or after track_duration.
track_durationHow long the track is, used to clear players out when the music is supposed to end.

Procs

clear_targetRemoves old_target from the list of players listening, and stops their music if it is still playing. +This allows them to have music played again if they re-enter combat with this fauna.
on_mob_deathCalled when a mob listening to boss music dies- ends their music early.
on_target_foundHandles giving the boss music to a new target the fauna has received. +Keeps track of them to not repeatedly overwrite its own track.

Var Details

boss_track

The music track we will play to players.

music_callbacks

List of callback timers, used to clear out mobs listening to boss music after track_duration.

players_listening_uids

List of all mobs listening to the boss music currently. Cleared on Destroy or after track_duration.

track_duration

How long the track is, used to clear players out when the music is supposed to end.

Proc Details

clear_target

Removes old_target from the list of players listening, and stops their music if it is still playing. +This allows them to have music played again if they re-enter combat with this fauna.

on_mob_death

Called when a mob listening to boss music dies- ends their music early.

on_target_found

Handles giving the boss music to a new target the fauna has received. +Keeps track of them to not repeatedly overwrite its own track.

\ No newline at end of file diff --git a/datum/component/breed.html b/datum/component/breed.html new file mode 100644 index 00000000000..0375d46f549 --- /dev/null +++ b/datum/component/breed.html @@ -0,0 +1 @@ +/datum/component/breed - Space Station 13
Space Station 13 - Modules - TypesVar Details

breed

Vars

baby_pathsweighted list of the possible baby types
breed_keyAI key we set when we're ready to breed
breed_timertime to wait after breeding
can_breed_withadditional mobs we can breed with
post_birthcallback after we give birth to the child
ready_to_breedare we ready to breed?

Var Details

baby_paths

weighted list of the possible baby types

breed_key

AI key we set when we're ready to breed

breed_timer

time to wait after breeding

can_breed_with

additional mobs we can breed with

post_birth

callback after we give birth to the child

ready_to_breed

are we ready to breed?

\ No newline at end of file diff --git a/datum/component/caltrop.html b/datum/component/caltrop.html new file mode 100644 index 00000000000..82c95ca287b --- /dev/null +++ b/datum/component/caltrop.html @@ -0,0 +1 @@ +/datum/component/caltrop - Space Station 13
Space Station 13 - Modules - TypesVar Details

caltrop

Vars

crossed_connectionsgiven to connect_loc to listen for something moving over target
flagsShoebypassing, walking interaction, silence
max_damageMaximum damage when crossed
min_damageMinimum damage when crossed
probabilityProbability of stunning and doing daamge
weaken_durationDuration of weaken when crossed

Var Details

crossed_connections

given to connect_loc to listen for something moving over target

flags

Shoebypassing, walking interaction, silence

max_damage

Maximum damage when crossed

min_damage

Minimum damage when crossed

probability

Probability of stunning and doing daamge

weaken_duration

Duration of weaken when crossed

\ No newline at end of file diff --git a/datum/component/codeword_hearing.html b/datum/component/codeword_hearing.html new file mode 100644 index 00000000000..c2d2c0c51d7 --- /dev/null +++ b/datum/component/codeword_hearing.html @@ -0,0 +1,6 @@ +/datum/component/codeword_hearing - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

codeword_hearing

Component that allows for highlighting of words or phrases in chat based on regular expressions.

+

Hooks into /mob/proc/combine_message to wrap every regex match in the message +between tags with the provided span class. This modifies the output that +is sent to the parent's chat window.

+

Removal of this component should be done by calling [GetComponents(/datum/component/codeword_hearing)] +on the parent and then iterating through all components calling [delete_if_from_source(source)].

Vars

replace_regexRegex for matching words or phrases you want highlighted.
sourceThe source of this component. Used to identify the source in delete_if_from_source since this component is COMPONENT_DUPE_ALLOWED.
span_classThe to use for highlighting matches.

Procs

delete_if_from_sourceSince a parent can have multiple of these components on them simultaneously, this allows a datum to delete components from a specific source.

Var Details

replace_regex

Regex for matching words or phrases you want highlighted.

source

The source of this component. Used to identify the source in delete_if_from_source since this component is COMPONENT_DUPE_ALLOWED.

span_class

The to use for highlighting matches.

Proc Details

delete_if_from_source

Since a parent can have multiple of these components on them simultaneously, this allows a datum to delete components from a specific source.

\ No newline at end of file diff --git a/datum/component/connect_containers.html b/datum/component/connect_containers.html new file mode 100644 index 00000000000..e340df31751 --- /dev/null +++ b/datum/component/connect_containers.html @@ -0,0 +1,3 @@ +/datum/component/connect_containers - Space Station 13
Space Station 13 - Modules - TypesVar Details

connect_containers

This component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
trackedThe atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves.

Var Details

connections

An assoc list of signal -> procpath to register to the loc this object is on.

tracked

The atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves.

\ No newline at end of file diff --git a/datum/component/connect_loc_behalf.html b/datum/component/connect_loc_behalf.html new file mode 100644 index 00000000000..4928db96a7e --- /dev/null +++ b/datum/component/connect_loc_behalf.html @@ -0,0 +1,4 @@ +/datum/component/connect_loc_behalf - Space Station 13
Space Station 13 - Modules - TypesVar Details

connect_loc_behalf

This component behaves similar to connect_loc, hooking into a signal on a tracked object's turf +It has the ability to react to that signal on behalf of a separate listener however +This has great use, primarily for components, but it carries with it some overhead +So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.

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.

\ No newline at end of file diff --git a/datum/component/connect_mob_behalf.html b/datum/component/connect_mob_behalf.html new file mode 100644 index 00000000000..d864a391988 --- /dev/null +++ b/datum/component/connect_mob_behalf.html @@ -0,0 +1,3 @@ +/datum/component/connect_mob_behalf - Space Station 13
Space Station 13 - Modules - TypesVar Details

connect_mob_behalf

This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful

Vars

connectionsAn assoc list of signal -> procpath to register to the mob our client "owns"
trackedThe master client we're working with
tracked_mobThe mob we're currently tracking

Var Details

connections

An assoc list of signal -> procpath to register to the mob our client "owns"

tracked

The master client we're working with

tracked_mob

The mob we're currently tracking

\ No newline at end of file diff --git a/datum/component/connect_range.html b/datum/component/connect_range.html new file mode 100644 index 00000000000..9cc7fbdd15d --- /dev/null +++ b/datum/component/connect_range.html @@ -0,0 +1,5 @@ +/datum/component/connect_range - Space Station 13
Space Station 13 - Modules - TypesVar Details

connect_range

This component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them. +Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener. +Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
rangeThe component will hook into signals only on turfs not farther from tracked than this.
trackedThe atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves (if it's a movable).
turfsThe turfs currently connected to this component
works_in_containersWhether the component works when the movable isn't directly located on a turf.

Var Details

connections

An assoc list of signal -> procpath to register to the loc this object is on.

range

The component will hook into signals only on turfs not farther from tracked than this.

tracked

The atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves (if it's a movable).

turfs

The turfs currently connected to this component

works_in_containers

Whether the component works when the movable isn't directly located on a turf.

\ No newline at end of file diff --git a/datum/component/construct_held_body.html b/datum/component/construct_held_body.html new file mode 100644 index 00000000000..1f8a14ac815 --- /dev/null +++ b/datum/component/construct_held_body.html @@ -0,0 +1,2 @@ +/datum/component/construct_held_body - Space Station 13
Space Station 13 - Modules - TypesVar Details

construct_held_body

A component for tracking and manipulating bodies held inside constructs/shades +Will drop the body/brain when the parent dies or is deleted.

Vars

held_bodyA reference to either a mob, or a brain organ that is held inside our parent. Will drop when parent dies/is deleted

Var Details

held_body

A reference to either a mob, or a brain organ that is held inside our parent. Will drop when parent dies/is deleted

\ No newline at end of file diff --git a/datum/component/corpse_description.html b/datum/component/corpse_description.html new file mode 100644 index 00000000000..9b3ce28ca97 --- /dev/null +++ b/datum/component/corpse_description.html @@ -0,0 +1,2 @@ +/datum/component/corpse_description - Space Station 13
Space Station 13 - Modules - TypesVar Details

corpse_description

Mapping component which adds examine text to a corpse that is removed on revival (in case for some reason someone revives your space ruin mob) +For immersive environmental story telling

Vars

description_textWhat do we display on examine?
naive_descriptionWhat do we display if examined by a clown?

Var Details

description_text

What do we display on examine?

naive_description

What do we display if examined by a clown?

\ No newline at end of file diff --git a/datum/component/damage_aura.html b/datum/component/damage_aura.html new file mode 100644 index 00000000000..d18ddeb4548 --- /dev/null +++ b/datum/component/damage_aura.html @@ -0,0 +1,2 @@ +/datum/component/damage_aura - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

damage_aura

Applies a status effect and deals damage to people in the area. +Will deal more damage the more people are present.

Vars

blood_damageAmount of blood to damage over a second
brute_damageBrute damage to damage over a second
burn_damageBurn damage to damage over a second
current_ownerSets a special set of conditions for the owner
damage_messageIf set, gives a message when damaged
immune_factionsWhich factions are immune to the damage aura
last_damage_effect_timeDeclares the cooldown timer for the damage aura effect to take place
message_probabilityProbability for above.
rangeThe range of which to damage
requires_visibilityWhether or not you must be a visible object of the parent
simple_damageAmount of damage to damage on simple mobs over a second
stamina_damageStamina damage to damage over a second
suffocation_damageSuffocation damage to damage over a second
toxin_damageToxin damage to damage over a second

Procs

check_requirementsThe requirements for the mob to be effected by the damage aura.
owner_effectWhat effect the damage aura has if it has an owner.

Var Details

blood_damage

Amount of blood to damage over a second

brute_damage

Brute damage to damage over a second

burn_damage

Burn damage to damage over a second

current_owner

Sets a special set of conditions for the owner

damage_message

If set, gives a message when damaged

immune_factions

Which factions are immune to the damage aura

last_damage_effect_time

Declares the cooldown timer for the damage aura effect to take place

message_probability

Probability for above.

range

The range of which to damage

requires_visibility

Whether or not you must be a visible object of the parent

simple_damage

Amount of damage to damage on simple mobs over a second

stamina_damage

Stamina damage to damage over a second

suffocation_damage

Suffocation damage to damage over a second

toxin_damage

Toxin damage to damage over a second

Proc Details

check_requirements

The requirements for the mob to be effected by the damage aura.

owner_effect

What effect the damage aura has if it has an owner.

\ No newline at end of file diff --git a/datum/component/deadchat_control.html b/datum/component/deadchat_control.html new file mode 100644 index 00000000000..a406ea91b29 --- /dev/null +++ b/datum/component/deadchat_control.html @@ -0,0 +1,10 @@ +/datum/component/deadchat_control - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

deadchat_control

Deadchat Plays Things - The Componenting

+

Allows deadchat to control stuff and things by typing commands into chat. +These commands will then trigger callbacks to execute procs!

Vars

ckey_to_cooldownAssoc list of ckey:value pairings. In DEADCHAT_DEMOCRACY_MODE, value is the player's vote. In DEADCHAT_ANARCHY_MODE, value is world.time when their cooldown expires.
deadchat_modeA bitfield containing the mode which this component uses (DEADCHAT_DEMOCRACY_MODE or DEADCHAT_ANARCHY_MODE) and other settings)
generated_point_of_interestSet to true if a point of interest was created for an object, and needs to be removed if deadchat control is removed. Needed for preventing objects from having two points of interest.
input_cooldownIn DEADCHAT_DEMOCRACY_MODE, this is how long players have to vote on an input. In DEADCHAT_ANARCHY_MODE, this is how long between inputs for each unique player.
inputsAssoc list of key-chat command string, value-callback pairs. list("right" = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), src, EAST))
on_removalCallback invoked when this component is Destroy()ed to allow the parent to return to a non-deadchat controlled state.
orbitersList of everything orbitting this component's parent.
timeridThe id for the DEADCHAT_DEMOCRACY_MODE looping vote timer.

Procs

_stepDummy to call since we can't proc reference builtins
end_cooldownRemoves the ghost from the ckey_to_cooldown list and lets them know they are free to submit a command for the parent again.
on_examineInforms any examiners to the inputs available as part of deadchat control, as well as the current operating mode and cooldowns.
waive_automutePrevents messages used to control the parent from counting towards the automute threshold for repeated identical messages.

Var Details

ckey_to_cooldown

Assoc list of ckey:value pairings. In DEADCHAT_DEMOCRACY_MODE, value is the player's vote. In DEADCHAT_ANARCHY_MODE, value is world.time when their cooldown expires.

deadchat_mode

A bitfield containing the mode which this component uses (DEADCHAT_DEMOCRACY_MODE or DEADCHAT_ANARCHY_MODE) and other settings)

generated_point_of_interest

Set to true if a point of interest was created for an object, and needs to be removed if deadchat control is removed. Needed for preventing objects from having two points of interest.

input_cooldown

In DEADCHAT_DEMOCRACY_MODE, this is how long players have to vote on an input. In DEADCHAT_ANARCHY_MODE, this is how long between inputs for each unique player.

inputs

Assoc list of key-chat command string, value-callback pairs. list("right" = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), src, EAST))

on_removal

Callback invoked when this component is Destroy()ed to allow the parent to return to a non-deadchat controlled state.

orbiters

List of everything orbitting this component's parent.

timerid

The id for the DEADCHAT_DEMOCRACY_MODE looping vote timer.

Proc Details

_step

Dummy to call since we can't proc reference builtins

end_cooldown

Removes the ghost from the ckey_to_cooldown list and lets them know they are free to submit a command for the parent again.

on_examine

Informs any examiners to the inputs available as part of deadchat control, as well as the current operating mode and cooldowns.

waive_automute

Prevents messages used to control the parent from counting towards the automute threshold for repeated identical messages.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/component/deadchat_control/cardinal_movement.html b/datum/component/deadchat_control/cardinal_movement.html new file mode 100644 index 00000000000..0882dfbdae5 --- /dev/null +++ b/datum/component/deadchat_control/cardinal_movement.html @@ -0,0 +1,3 @@ +/datum/component/deadchat_control/cardinal_movement - Space Station 13
Space Station 13 - Modules - TypesProc Details

cardinal_movement

Procs

InitializeDeadchat Moves Things

Proc Details

Initialize

Deadchat Moves Things

+

A special variant of the deadchat_control component that comes pre-baked with all the hottest inputs for a spicy +singularity or vomit goose.

\ No newline at end of file diff --git a/datum/component/deadchat_control/human.html b/datum/component/deadchat_control/human.html new file mode 100644 index 00000000000..f8c292a4077 --- /dev/null +++ b/datum/component/deadchat_control/human.html @@ -0,0 +1,3 @@ +/datum/component/deadchat_control/human - Space Station 13
Space Station 13 - Modules - TypesProc Details

human

Procs

InitializeDeadchat Moves Things

Proc Details

Initialize

Deadchat Moves Things

+

A special variant of the deadchat_control component that comes pre-baked with basic inputs for moving humans around, +with special behavior that has them resist while moving.

\ No newline at end of file diff --git a/datum/component/deadchat_control/immovable_rod.html b/datum/component/deadchat_control/immovable_rod.html new file mode 100644 index 00000000000..7efee0e84c0 --- /dev/null +++ b/datum/component/deadchat_control/immovable_rod.html @@ -0,0 +1,3 @@ +/datum/component/deadchat_control/immovable_rod - Space Station 13
Space Station 13 - Modules - TypesProc Details

immovable_rod

Procs

InitializeDeadchat Moves Things

Proc Details

Initialize

Deadchat Moves Things

+

A special variant of the deadchat_control component that comes pre-baked with all the hottest inputs for spicy +immovable rod.

\ No newline at end of file diff --git a/datum/component/death_linked.html b/datum/component/death_linked.html new file mode 100644 index 00000000000..262fc8818f9 --- /dev/null +++ b/datum/component/death_linked.html @@ -0,0 +1,2 @@ +/datum/component/death_linked - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

death_linked

+

When the owner of this component dies it also gibs a linked mob

Vars

linked_mob_uidThe mob that also dies when the user dies

Procs

on_deathsignal called by the stat of the target changing

Var Details

linked_mob_uid

The mob that also dies when the user dies

Proc Details

on_death

signal called by the stat of the target changing

\ No newline at end of file diff --git a/datum/component/debris.html b/datum/component/debris.html new file mode 100644 index 00000000000..c568ba04cae --- /dev/null +++ b/datum/component/debris.html @@ -0,0 +1 @@ +/datum/component/debris - Space Station 13
Space Station 13 - Modules - TypesVar Details

debris

Vars

debrisIcon state of debris when impacted by a projectile
debris_amountAmount of debris particles
debris_scaleScale of particle debris
debris_velocityVelocity of debris particles

Var Details

debris

Icon state of debris when impacted by a projectile

debris_amount

Amount of debris particles

debris_scale

Scale of particle debris

debris_velocity

Velocity of debris particles

\ No newline at end of file diff --git a/datum/component/defib.html b/datum/component/defib.html new file mode 100644 index 00000000000..67dc9fdd31c --- /dev/null +++ b/datum/component/defib.html @@ -0,0 +1,18 @@ +/datum/component/defib - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

defib

Vars

actual_unit_uiduid to an item that should be making noise and handling things that our direct parent shouldn't be concerned with.
busyIf the defib is actively performing a defib cycle
charge_soundSound for defib windup.
combatIf it should penetrate space suits
cooldownCooldown length for this defib in deciseconds
emag_proofIf true, this cannot be emagged.
emp_proofIf true, EMPs will have no effect.
fail_soundSound when the defib fails.
heart_attack_chanceIf combat is true, this determines whether or not it should always cause a heart attack.
on_cooldownWhether or not we're currently on cooldown
roboticIf this is being used by a borg or not, with necessary safeties applied if so.
safetyWhether the safeties are enabled or not
safety_off_soundSound when the defib's safety is disabled.
safety_on_soundSound when the defib's safety is enabled.
speed_multiplierHow fast the defib should work.
success_soundSound when the defib is successful.
zap_soundSound when the defib shocks the patient.

Procs

InitializeCreate a new defibrillation component.
defibrillatePerform a defibrillation.
fibrillateInflict stamina loss (and possibly inflict cardiac arrest) on someone.
get_effect_targetGet the "parent" that effects (emags, EMPs) should be applied onto.
trigger_defibStart the defibrillation process when triggered by a signal.

Var Details

actual_unit_uid

uid to an item that should be making noise and handling things that our direct parent shouldn't be concerned with.

busy

If the defib is actively performing a defib cycle

charge_sound

Sound for defib windup.

combat

If it should penetrate space suits

cooldown

Cooldown length for this defib in deciseconds

emag_proof

If true, this cannot be emagged.

emp_proof

If true, EMPs will have no effect.

fail_sound

Sound when the defib fails.

heart_attack_chance

If combat is true, this determines whether or not it should always cause a heart attack.

on_cooldown

Whether or not we're currently on cooldown

robotic

If this is being used by a borg or not, with necessary safeties applied if so.

safety

Whether the safeties are enabled or not

safety_off_sound

Sound when the defib's safety is disabled.

safety_on_sound

Sound when the defib's safety is enabled.

speed_multiplier

How fast the defib should work.

success_sound

Sound when the defib is successful.

zap_sound

Sound when the defib shocks the patient.

Proc Details

Initialize

Create a new defibrillation component.

+

Arguments:

+

defibrillate

Perform a defibrillation.

fibrillate

Inflict stamina loss (and possibly inflict cardiac arrest) on someone.

+

Arguments:

+

get_effect_target

Get the "parent" that effects (emags, EMPs) should be applied onto.

trigger_defib

Start the defibrillation process when triggered by a signal.

\ No newline at end of file diff --git a/datum/component/direct_explosive_trap.html b/datum/component/direct_explosive_trap.html new file mode 100644 index 00000000000..6a711e114fc --- /dev/null +++ b/datum/component/direct_explosive_trap.html @@ -0,0 +1 @@ +/datum/component/direct_explosive_trap - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

direct_explosive_trap

Responds to certain signals and 'explodes' on the person using the item.

Vars

explosive_checkOptional additional target checks before we go off
explosive_forceAmount of force to apply
saboteurAn optional mob to inform about explosions
triggering_signalsSignals which set off the bomb, must pass a mob as the first non-source argument

Procs

bomb_expiredCalled if we sit too long without going off
explodeBlow up
on_bomber_deletedDon't hang a reference to the person who placed the bomb
on_examinedLet people know something is up

Var Details

explosive_check

Optional additional target checks before we go off

explosive_force

Amount of force to apply

saboteur

An optional mob to inform about explosions

triggering_signals

Signals which set off the bomb, must pass a mob as the first non-source argument

Proc Details

bomb_expired

Called if we sit too long without going off

explode

Blow up

on_bomber_deleted

Don't hang a reference to the person who placed the bomb

on_examined

Let people know something is up

\ No newline at end of file diff --git a/datum/component/drift.html b/datum/component/drift.html new file mode 100644 index 00000000000..f5ce5073d01 --- /dev/null +++ b/datum/component/drift.html @@ -0,0 +1,3 @@ +/datum/component/drift - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

drift

Component that handles drifting +Manages a movement loop that actually does the legwork of moving someone +Alongside dealing with the post movement input blocking required to make things look nice

Vars

delayedHave we been delayed? IE: active, but not working right this second?

Procs

InitializeAccepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start
stopped_pullingIf we're pulling something and stop, we want it to continue at our rate and such

Var Details

delayed

Have we been delayed? IE: active, but not working right this second?

Proc Details

Initialize

Accepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start

stopped_pulling

If we're pulling something and stop, we want it to continue at our rate and such

\ No newline at end of file diff --git a/datum/component/effect_remover.html b/datum/component/effect_remover.html new file mode 100644 index 00000000000..6caea4192f3 --- /dev/null +++ b/datum/component/effect_remover.html @@ -0,0 +1 @@ +/datum/component/effect_remover - Space Station 13
Space Station 13 - Modules - TypesVar Details

effect_remover

Vars

effects_we_clearA typecache of all effects we can clear with our item.
on_clear_callbackCallback invoked with removal is done.
success_feedbackLine sent to the user on successful removal.
success_forcesayLine forcesaid by the user on successful removal.
time_to_removeIf above 0, how long it takes while standing still to remove the effect.

Var Details

effects_we_clear

A typecache of all effects we can clear with our item.

on_clear_callback

Callback invoked with removal is done.

success_feedback

Line sent to the user on successful removal.

success_forcesay

Line forcesaid by the user on successful removal.

time_to_remove

If above 0, how long it takes while standing still to remove the effect.

\ No newline at end of file diff --git a/datum/component/emissive_blocker.html b/datum/component/emissive_blocker.html new file mode 100644 index 00000000000..7ca994bd7ec --- /dev/null +++ b/datum/component/emissive_blocker.html @@ -0,0 +1 @@ +/datum/component/emissive_blocker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

emissive_blocker

Vars

stored_blockerStores either the mutable_appearance or a list of them

Procs

update_generic_blockUpdates the generic blocker when the icon_state is changed

Var Details

stored_blocker

Stores either the mutable_appearance or a list of them

Proc Details

update_generic_block

Updates the generic blocker when the icon_state is changed

\ No newline at end of file diff --git a/datum/component/event_tracker.html b/datum/component/event_tracker.html new file mode 100644 index 00000000000..b75e18e663b --- /dev/null +++ b/datum/component/event_tracker.html @@ -0,0 +1 @@ +/datum/component/event_tracker - Space Station 13
Space Station 13 - Modules - TypesVar Details

event_tracker

Vars

categoryCategory to list the event thing under

Var Details

category

Category to list the event thing under

\ No newline at end of file diff --git a/datum/component/footstep.html b/datum/component/footstep.html new file mode 100644 index 00000000000..8ff1672e956 --- /dev/null +++ b/datum/component/footstep.html @@ -0,0 +1 @@ +/datum/component/footstep - Space Station 13
Space Station 13 - Modules - TypesVar 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.
sound_varyWhether or not to add variation to the sounds played
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

play_simplestep_machinePrepares a footstep for machine walking
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/simulated/floor (eventually /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.

sound_vary

Whether or not to add variation to the sounds played

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

play_simplestep_machine

Prepares a footstep for machine walking

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/simulated/floor (eventually /turf/open)

\ No newline at end of file diff --git a/datum/component/forces_doors_open.html b/datum/component/forces_doors_open.html new file mode 100644 index 00000000000..0a0193c66b4 --- /dev/null +++ b/datum/component/forces_doors_open.html @@ -0,0 +1,2 @@ +/datum/component/forces_doors_open - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

forces_doors_open

/datum/component/forces_doors_open

+

This component allows item to pry open doors.

Vars

can_force_open_while_poweredWhether the airlock can be forced open while powered.
can_force_open_while_unpoweredWhether the airlock can be forced open while unpowered.
can_open_firedoorsWhether the firedoor can be opened.
no_soundIndicates whether no sound should be played when opening.
open_soundThe sound played when the airlock is forced open.
time_to_openThe time it takes to open the airlock when forced

Procs

check_intentcheck is user in harm intent
open_powered_airlockopen airlock with delay
open_unpowered_dooropen door without checks
try_to_force_open_airlocktry to force open airlock
try_to_open_firedoortry to open firedoor

Var Details

can_force_open_while_powered

Whether the airlock can be forced open while powered.

can_force_open_while_unpowered

Whether the airlock can be forced open while unpowered.

can_open_firedoors

Whether the firedoor can be opened.

no_sound

Indicates whether no sound should be played when opening.

open_sound

The sound played when the airlock is forced open.

time_to_open

The time it takes to open the airlock when forced

Proc Details

check_intent

check is user in harm intent

open_powered_airlock

open airlock with delay

open_unpowered_door

open door without checks

try_to_force_open_airlock

try to force open airlock

try_to_open_firedoor

try to open firedoor

\ No newline at end of file diff --git a/datum/component/forces_doors_open/mantis.html b/datum/component/forces_doors_open/mantis.html new file mode 100644 index 00000000000..dc1d6ab7cef --- /dev/null +++ b/datum/component/forces_doors_open/mantis.html @@ -0,0 +1 @@ +/datum/component/forces_doors_open/mantis - Space Station 13
Space Station 13 - Modules - TypesProc Details

mantis

Procs

on_interactsubtype for mantis blades

Proc Details

on_interact

subtype for mantis blades

\ No newline at end of file diff --git a/datum/component/ghost_direct_control.html b/datum/component/ghost_direct_control.html new file mode 100644 index 00000000000..d193f025f56 --- /dev/null +++ b/datum/component/ghost_direct_control.html @@ -0,0 +1 @@ +/datum/component/ghost_direct_control - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ghost_direct_control

Component which lets ghosts click on a mob to take control of it

Vars

after_assumed_controlCallback run after someone successfully takes over the body
assumed_control_messageMessage to display upon successful possession
awaiting_ghostsIf we're currently awaiting the results of a ghost poll
ban_typeType of ban you can get to prevent you from accepting this role
extra_control_checksAny extra checks which need to run before we take over
is_antag_spawnerIs this an antagonist spawner, so we check ROLE_SYNDICATE

Procs

assume_direct_controlGrant possession of our mob, component is now no longer required
attempt_possessionWe got far enough to establish that this mob is a valid target, let's try to posssess it
on_examinedInform ghosts that they can possess this
on_ghost_clickedA ghost clicked on us, they want to get in this body
on_loginWhen someone assumes control, get rid of our component
request_ghost_controlSend out a request for a brain

Var Details

after_assumed_control

Callback run after someone successfully takes over the body

assumed_control_message

Message to display upon successful possession

awaiting_ghosts

If we're currently awaiting the results of a ghost poll

ban_type

Type of ban you can get to prevent you from accepting this role

extra_control_checks

Any extra checks which need to run before we take over

is_antag_spawner

Is this an antagonist spawner, so we check ROLE_SYNDICATE

Proc Details

assume_direct_control

Grant possession of our mob, component is now no longer required

attempt_possession

We got far enough to establish that this mob is a valid target, let's try to posssess it

on_examined

Inform ghosts that they can possess this

on_ghost_clicked

A ghost clicked on us, they want to get in this body

on_login

When someone assumes control, get rid of our component

request_ghost_control

Send out a request for a brain

\ No newline at end of file diff --git a/datum/component/inherent_radioactivity.html b/datum/component/inherent_radioactivity.html new file mode 100644 index 00000000000..04f7c5fc2db --- /dev/null +++ b/datum/component/inherent_radioactivity.html @@ -0,0 +1 @@ +/datum/component/inherent_radioactivity - Space Station 13
Space Station 13 - Modules - TypesVar Details

inherent_radioactivity

Vars

contaminate_cdContamination cooldown in seconds

Var Details

contaminate_cd

Contamination cooldown in seconds

\ No newline at end of file diff --git a/datum/component/jetpack.html b/datum/component/jetpack.html new file mode 100644 index 00000000000..e8b00da0d1e --- /dev/null +++ b/datum/component/jetpack.html @@ -0,0 +1,9 @@ +/datum/component/jetpack - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

jetpack

Vars

activation_signalThe signal we listen for as an activation
check_on_moveChecks to ensure if we can move & if we can activate
deactivation_signalThe signal we listen for as a de-activation
effect_typeThe typepath to instansiate our trail as, when we need it
return_flagThe return flag our parent expects for a failed activation
stabilizeIf we should stabilize ourselves when not drifting
trailThe effect system for the jet pack trail

Procs

InitializeArguments:
block_starting_visualsBasically, tell the drift component not to do its starting visuals, because they look dumb for us
ignore_ending_blockIf we're on, don't let the drift component block movements at the end since we can speed
thrustReturns true if the thrust went well, false otherwise

Var Details

activation_signal

The signal we listen for as an activation

check_on_move

Checks to ensure if we can move & if we can activate

deactivation_signal

The signal we listen for as a de-activation

effect_type

The typepath to instansiate our trail as, when we need it

return_flag

The return flag our parent expects for a failed activation

stabilize

If we should stabilize ourselves when not drifting

trail

The effect system for the jet pack trail

Proc Details

Initialize

Arguments:

+

block_starting_visuals

Basically, tell the drift component not to do its starting visuals, because they look dumb for us

ignore_ending_block

If we're on, don't let the drift component block movements at the end since we can speed

thrust

Returns true if the thrust went well, false otherwise

\ No newline at end of file diff --git a/datum/component/label.html b/datum/component/label.html new file mode 100644 index 00000000000..cec36d2ce1e --- /dev/null +++ b/datum/component/label.html @@ -0,0 +1,17 @@ +/datum/component/label - Space Station 13
Space Station 13 - Modules - TypesVar 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

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.
apply_labelApplies a label to the name of the parent in the format of: "parent_name (label)"
on_update_nameThis 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.
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

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.

apply_label

Applies a label to the name of the parent in the format of: "parent_name (label)"

on_update_name

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:

+

remove_label

Removes the label from the parent's name

\ No newline at end of file diff --git a/datum/component/label/goal.html b/datum/component/label/goal.html new file mode 100644 index 00000000000..c53ffd3232f --- /dev/null +++ b/datum/component/label/goal.html @@ -0,0 +1,3 @@ +/datum/component/label/goal - Space Station 13
Space Station 13 - Modules - TypesProc Details

goal

A verson of the label component specific to labelling goal items.

Procs

InheritComponentThis proc will fire after the parent is hit by a hand labeler which is trying to apply another goal label. +Since the parent already has a goal label, it will remove the old one from the parent's name, and apply the new one.
on_examineAdds detailed information to the examine text.

Proc Details

InheritComponent

This proc will fire after the parent is hit by a hand labeler which is trying to apply another goal label. +Since the parent already has a goal label, it will remove the old one from the parent's name, and apply the new one.

on_examine

Adds detailed information to the examine text.

\ No newline at end of file diff --git a/datum/component/leash.html b/datum/component/leash.html new file mode 100644 index 00000000000..ef111de479d --- /dev/null +++ b/datum/component/leash.html @@ -0,0 +1,2 @@ +/datum/component/leash - Space Station 13
Space Station 13 - Modules - TypesVar Details

leash

Keeps the parent within the distance of its owner as naturally as possible, +but teleporting if necessary.

Vars

distanceThe maximum distance you can move from your owner
force_teleport_in_effectThe object type to create on the new turf when forcibly teleporting out
force_teleport_out_effectThe object type to create on the old turf when forcibly teleporting out
ownerThe owner of the leash. If this is qdeleted, the leash is as well.

Var Details

distance

The maximum distance you can move from your owner

force_teleport_in_effect

The object type to create on the new turf when forcibly teleporting out

force_teleport_out_effect

The object type to create on the old turf when forcibly teleporting out

owner

The owner of the leash. If this is qdeleted, the leash is as well.

\ No newline at end of file diff --git a/datum/component/living_heart.html b/datum/component/living_heart.html new file mode 100644 index 00000000000..d391669e1eb --- /dev/null +++ b/datum/component/living_heart.html @@ -0,0 +1,5 @@ +/datum/component/living_heart - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Living Heart Component

Applied to a heart to turn it into a heretic's 'living heart'. +The living heart is what they use to track people they need to sacrifice.

+

This component handles the action associated with it - +if the organ is removed, the action should be deleted

Vars

actionThe action we create and give to our heart.

Procs

on_organ_removedSignal proc for COMSIG_ORGAN_REMOVED.

Var Details

action

The action we create and give to our heart.

Proc Details

on_organ_removed

Signal proc for COMSIG_ORGAN_REMOVED.

+

If the organ is removed, the component will remove itself.

\ No newline at end of file diff --git a/datum/component/multitile.html b/datum/component/multitile.html new file mode 100644 index 00000000000..803b2a0d339 --- /dev/null +++ b/datum/component/multitile.html @@ -0,0 +1 @@ +/datum/component/multitile - Space Station 13
Space Station 13 - Modules - TypesVar Details

multitile

Lets multitile objects have dense walls around them based on the coordinate map

Vars

all_fillersReference to all fillers

Var Details

all_fillers

Reference to all fillers

\ No newline at end of file diff --git a/datum/component/obeys_commands.html b/datum/component/obeys_commands.html new file mode 100644 index 00000000000..2fb197babe9 --- /dev/null +++ b/datum/component/obeys_commands.html @@ -0,0 +1,2 @@ +/datum/component/obeys_commands - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Obeys Commands Component

Manages a list of pet command datums, allowing you to boss it around +Creates a radial menu of pet commands when this creature is alt-clicked, if it has any

Vars

available_commandsList of commands you can give to the owner of this component

Procs

InitializeThe available_commands parameter should be passed as a list of typepaths
add_friendAdd someone to our friends list
on_examineAdd a note about whether they will follow the instructions of the inspecting mob
remove_friendRemove someone from our friends list

Var Details

available_commands

List of commands you can give to the owner of this component

Proc Details

Initialize

The available_commands parameter should be passed as a list of typepaths

add_friend

Add someone to our friends list

on_examine

Add a note about whether they will follow the instructions of the inspecting mob

remove_friend

Remove someone from our friends list

\ No newline at end of file diff --git a/datum/component/orbiter.html b/datum/component/orbiter.html new file mode 100644 index 00000000000..874fe70449b --- /dev/null +++ b/datum/component/orbiter.html @@ -0,0 +1,33 @@ +/datum/component/orbiter - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

orbiter

Vars

orbit_dataCached transforms from before the orbiter started orbiting, to be restored on stopping their orbit
orbiter_listList of observers orbiting the parent

Procs

InheritComponentSee atom/movable/proc/orbit for parameter definitions
InitializeSee atom/movable/proc/orbit for parameter definitions
begin_orbitSee atom/movable/proc/orbit for parameter definitions
end_orbitEnd the orbit and clean up our transformation. +If this removes the last atom orbiting us, then qdel ourselves. +Howver, if refreshing == TRUE, src will not be qdeleted if this leaves us with 0 orbiters.
get_cached_transformGet cached transform of the given orbiter.
get_orbit_paramsGet the given orbiter's orbit parameters bitfield
get_orbiter_layerGet the layer the given orbiter was on before they started orbiting
handle_parent_moveThe actual implementation function of the move react. +if you're trying to call this from a signal, call parent_move_react instead. +This implementation is separate so the orbited atom's old location and new location can be passed in separately.
is_in_hierarchyReturns TRUE if atom_to_find is transitively a parent of src.
on_intermediate_moveCalled when an intermediate (somewhere between the topmost and the orbited) atom moves. +This atom will now become the leader.
on_remove_childCallback fired when an item is removed from a tracked atom. +Removes all orbit-related signals up its hierarchy and moves orbiters to the current child. +As this will never be called by a turf, this should not conflict with parent_move_react.
orbiter_move_reactCalled when the orbiter themselves moves.
parent_move_reactSignal handler for COMSIG_MOVABLE_MOVED. Special wrapper to handle the arguments that come from the signal. +If you want to call this directly, just call handle_parent_move.
register_signalsRegister signals up the hierarchy, adding them to each parent (and their parent, and so on) up to the turf they're on. +The last atom in the hierarchy (the one whose .loc is the turf) becomes the leader, the atom ghosts will follow. +Registers on_intermediate_move for every non-leader atom so that if they move (removing them from the hierarchy), they will be set as the new leader. +Also registers on_remove_child to remove signals up the hierarchy when a child gets removed. +start: the first atom to register signals on. If start isn't inside of anything (or if its .loc is a turf), then it will become the leader. +Returns the new "leader", the atom that ghosts will follow.
remove_signalsRemove all orbit-related signals in the object hierarchy above start.
store_orbit_dataorbit data helper functions +Store a collection of data for an orbiter. +orbiter: orbiter atom itself. The orbiter's transform and layer at this point will be captured and cached. +orbit_flags: bitfield consisting of flags describing the orbit.

Var Details

orbit_data

Cached transforms from before the orbiter started orbiting, to be restored on stopping their orbit

orbiter_list

List of observers orbiting the parent

Proc Details

InheritComponent

See atom/movable/proc/orbit for parameter definitions

Initialize

See atom/movable/proc/orbit for parameter definitions

begin_orbit

See atom/movable/proc/orbit for parameter definitions

end_orbit

End the orbit and clean up our transformation. +If this removes the last atom orbiting us, then qdel ourselves. +Howver, if refreshing == TRUE, src will not be qdeleted if this leaves us with 0 orbiters.

get_cached_transform

Get cached transform of the given orbiter.

get_orbit_params

Get the given orbiter's orbit parameters bitfield

get_orbiter_layer

Get the layer the given orbiter was on before they started orbiting

handle_parent_move

The actual implementation function of the move react. +if you're trying to call this from a signal, call parent_move_react instead. +This implementation is separate so the orbited atom's old location and new location can be passed in separately.

is_in_hierarchy

Returns TRUE if atom_to_find is transitively a parent of src.

on_intermediate_move

Called when an intermediate (somewhere between the topmost and the orbited) atom moves. +This atom will now become the leader.

on_remove_child

Callback fired when an item is removed from a tracked atom. +Removes all orbit-related signals up its hierarchy and moves orbiters to the current child. +As this will never be called by a turf, this should not conflict with parent_move_react.

orbiter_move_react

Called when the orbiter themselves moves.

parent_move_react

Signal handler for COMSIG_MOVABLE_MOVED. Special wrapper to handle the arguments that come from the signal. +If you want to call this directly, just call handle_parent_move.

register_signals

Register signals up the hierarchy, adding them to each parent (and their parent, and so on) up to the turf they're on. +The last atom in the hierarchy (the one whose .loc is the turf) becomes the leader, the atom ghosts will follow. +Registers on_intermediate_move for every non-leader atom so that if they move (removing them from the hierarchy), they will be set as the new leader. +Also registers on_remove_child to remove signals up the hierarchy when a child gets removed. +start: the first atom to register signals on. If start isn't inside of anything (or if its .loc is a turf), then it will become the leader. +Returns the new "leader", the atom that ghosts will follow.

remove_signals

Remove all orbit-related signals in the object hierarchy above start.

store_orbit_data

orbit data helper functions +Store a collection of data for an orbiter. +orbiter: orbiter atom itself. The orbiter's transform and layer at this point will be captured and cached. +orbit_flags: bitfield consisting of flags describing the orbit.

\ No newline at end of file diff --git a/datum/component/parry.html b/datum/component/parry.html new file mode 100644 index 00000000000..bff1516798a --- /dev/null +++ b/datum/component/parry.html @@ -0,0 +1 @@ +/datum/component/parry - Space Station 13
Space Station 13 - Modules - TypesVar Details

parry

Vars

examine_textText to be shown to users who examine the parent. Will list which type of attacks it can parry.
no_parry_soundDo we wish to mute the parry sound?
parry_cooldownthe time between parry attempts
parry_time_out_timethe max time since time_parried that the shield is still considered "active"
parryable_attack_typesthe attack types that are considered for parrying
requires_activationDoes this item require activation? This is for activation based items or energy weapons.
requires_two_handsDoes this item have a require a condition to meet before being able to parry? This is for two handed weapons that can parry. (Default: FALSE)
stamina_coefficientstamina_coefficient * damage * time_since_time_parried = stamina damage taken per non perfect parry
stamina_constantthe flat amount of damage the shield user takes per non-perfect parry
time_parriedthe world.time we last parried at

Var Details

examine_text

Text to be shown to users who examine the parent. Will list which type of attacks it can parry.

no_parry_sound

Do we wish to mute the parry sound?

parry_cooldown

the time between parry attempts

parry_time_out_time

the max time since time_parried that the shield is still considered "active"

parryable_attack_types

the attack types that are considered for parrying

requires_activation

Does this item require activation? This is for activation based items or energy weapons.

requires_two_hands

Does this item have a require a condition to meet before being able to parry? This is for two handed weapons that can parry. (Default: FALSE)

stamina_coefficient

stamina_coefficient * damage * time_since_time_parried = stamina damage taken per non perfect parry

stamina_constant

the flat amount of damage the shield user takes per non-perfect parry

time_parried

the world.time we last parried at

\ No newline at end of file diff --git a/datum/component/radioactive.html b/datum/component/radioactive.html new file mode 100644 index 00000000000..68b696bb094 --- /dev/null +++ b/datum/component/radioactive.html @@ -0,0 +1 @@ +/datum/component/radioactive - Space Station 13
Space Station 13 - Modules - TypesVar Details

radioactive

Vars

hl3_release_datethe half-life measured in ticks

Var Details

hl3_release_date

the half-life measured in ticks

\ No newline at end of file diff --git a/datum/component/ranged_attacks.html b/datum/component/ranged_attacks.html new file mode 100644 index 00000000000..61a4a743b71 --- /dev/null +++ b/datum/component/ranged_attacks.html @@ -0,0 +1 @@ +/datum/component/ranged_attacks - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ranged_attacks

Configurable ranged attack for basic mobs.

Vars

burst_intervalsintervals between shots
burst_shotshow many shots we will fire
casing_typeWhat kind of casing do we use to fire?
cooldown_timeTime to wait between shots
fire_cooldownTracks time between shots
projectile_soundSound to play when we fire our projectile
projectile_typeWhat kind of projectile to we fire? Use only one of this or casing_type

Procs

async_fire_ranged_attackActually fire the damn thing

Var Details

burst_intervals

intervals between shots

burst_shots

how many shots we will fire

casing_type

What kind of casing do we use to fire?

cooldown_time

Time to wait between shots

fire_cooldown

Tracks time between shots

projectile_sound

Sound to play when we fire our projectile

projectile_type

What kind of projectile to we fire? Use only one of this or casing_type

Proc Details

async_fire_ranged_attack

Actually fire the damn thing

\ No newline at end of file diff --git a/datum/component/regenerator.html b/datum/component/regenerator.html new file mode 100644 index 00000000000..8a800cbccd9 --- /dev/null +++ b/datum/component/regenerator.html @@ -0,0 +1,2 @@ +/datum/component/regenerator - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Regenerator component

A mob with this component will regenerate its health over time, as long as it has not received damage +in the last X seconds. Taking any damage will reset this cooldown.

Vars

brute_per_secondBrute reagined every second
burn_per_secondBurn reagined every second
ignore_damage_typesList of damage types we don't care about, in case you want to only remove this with fire damage or something
outline_colourColour of regeneration animation, or none if you don't want one
oxy_per_secondOxygen reagined every second
regen_checkCallback for adding special checks for whether or not we can start regenning
regeneration_delayYou will only regain health if you haven't been hurt for this many seconds
regeneration_start_timerWhen this timer completes we start restoring health, it is a timer rather than a cooldown so we can do something on its completion
tox_per_secondToxin reagined every second

Procs

on_take_damageWhen you take damage, reset the cooldown and start processing
should_be_regenningChecks if the passed mob is in a valid state to be regenerating
start_regeneratingStart processing health regeneration, and show animation if provided

Var Details

brute_per_second

Brute reagined every second

burn_per_second

Burn reagined every second

ignore_damage_types

List of damage types we don't care about, in case you want to only remove this with fire damage or something

outline_colour

Colour of regeneration animation, or none if you don't want one

oxy_per_second

Oxygen reagined every second

regen_check

Callback for adding special checks for whether or not we can start regenning

regeneration_delay

You will only regain health if you haven't been hurt for this many seconds

regeneration_start_timer

When this timer completes we start restoring health, it is a timer rather than a cooldown so we can do something on its completion

tox_per_second

Toxin reagined every second

Proc Details

on_take_damage

When you take damage, reset the cooldown and start processing

should_be_regenning

Checks if the passed mob is in a valid state to be regenerating

start_regenerating

Start processing health regeneration, and show animation if provided

\ No newline at end of file diff --git a/datum/component/riding.html b/datum/component/riding.html new file mode 100644 index 00000000000..11d649392cf --- /dev/null +++ b/datum/component/riding.html @@ -0,0 +1,15 @@ +/datum/component/riding - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

riding

This is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.

+

This component lives for as long as at least one mob is buckled to the parent. Once all mobs are unbuckled, the component is deleted, until another mob is buckled in +and we make a new riding component, so on and so forth until the sun explodes.

Vars

allowed_turf_typecacheallow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.
can_force_unbucklecan anyone other than the rider unbuckle the rider?
directional_vehicle_layers["[DIRECTION]"] = layer. Don't set it for a direction for default, set a direction to null for no change.
directional_vehicle_offsetssame as above but instead of layer you have a list(px, py)
forbid_turf_typecacheallow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.
keytypeIf the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on the actual vehicle object in their +[/obj/vehicle/var/key_type] variable because the vehicle objects still have a few special checks/functions of their own I'm not porting over to the riding component +quite yet. Make sure if you define it on the vehicle, you define it here too.
message_cooldownFor telling someone they can't drive
override_allow_spacemoveWe don't need roads where we're going if this is TRUE, allow normal movement in space tiles
ride_check_flagsRide check flags defined for the specific riding component types, so we know if we need arms, legs, or whatever. +Takes additional flags from the ridable element and the buckle proc (buckle_mob_flags) for riding cyborgs/humans in case we need to reserve arms
riding_offsetsposition_of_user = list(dir = list(px, py)), or RIDING_OFFSET_ALL for a generic one.
vehicle_move_cooldownFor telling someone they can't drive
vehicle_move_delayTick delay between movements, lower = faster, higher = slower

Procs

driver_moveEvery time the driver tries to move, this is called to see if they can actually drive and move the vehicle (via relaymove)
handle_specialsThis proc handles all of the proc calls to things like set_vehicle_dir_layer() that a type of riding datum needs to call on creation
handle_vehicle_layerSome ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs
keycheckThis proc is used to see if we have the appropriate key to drive this atom, if such a key is needed. Returns FALSE if we don't have what we need to drive.
on_rider_try_pullThis proc is called when the rider attempts to grab something, preventing them from doing so.
ride_checkCheck to see if we have all of the necessary bodyparts and not-falling-over statuses we need to stay onboard. +If not and if consequences is TRUE, well, there'll be consequences.
unequip_buckle_inhandscurrently replicated from ridable because we need this behavior here too, see if we can deal with that
vehicle_bumpSo we can check all occupants when we bump a door to see if anyone has access
vehicle_mob_buckleThis proc is called when a rider buckles, allowing for offsets to be set properly
vehicle_mob_unbuckleThis proc is called when a rider unbuckles, whether they chose to or not. If there's no more riders, this will be the riding component's death knell.
vehicle_movedThis is called after the ridden atom is successfully moved and is used to handle icon stuff
vehicle_turnedTurning is like moving

Var Details

allowed_turf_typecache

allow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.

can_force_unbuckle

can anyone other than the rider unbuckle the rider?

directional_vehicle_layers

["[DIRECTION]"] = layer. Don't set it for a direction for default, set a direction to null for no change.

directional_vehicle_offsets

same as above but instead of layer you have a list(px, py)

forbid_turf_typecache

allow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.

keytype

If the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on the actual vehicle object in their +[/obj/vehicle/var/key_type] variable because the vehicle objects still have a few special checks/functions of their own I'm not porting over to the riding component +quite yet. Make sure if you define it on the vehicle, you define it here too.

message_cooldown

For telling someone they can't drive

override_allow_spacemove

We don't need roads where we're going if this is TRUE, allow normal movement in space tiles

ride_check_flags

Ride check flags defined for the specific riding component types, so we know if we need arms, legs, or whatever. +Takes additional flags from the ridable element and the buckle proc (buckle_mob_flags) for riding cyborgs/humans in case we need to reserve arms

riding_offsets

position_of_user = list(dir = list(px, py)), or RIDING_OFFSET_ALL for a generic one.

vehicle_move_cooldown

For telling someone they can't drive

vehicle_move_delay

Tick delay between movements, lower = faster, higher = slower

Proc Details

driver_move

Every time the driver tries to move, this is called to see if they can actually drive and move the vehicle (via relaymove)

handle_specials

This proc handles all of the proc calls to things like set_vehicle_dir_layer() that a type of riding datum needs to call on creation

+

The original riding component had these procs all called from the ridden object itself through the use of GetComponent() and LoadComponent() +This was obviously problematic for componentization, but while lots of the variables being set were able to be moved to component variables, +the proc calls couldn't be. Thus, anything that has to do an initial proc call should be handled here.

handle_vehicle_layer

Some ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs

keycheck

This proc is used to see if we have the appropriate key to drive this atom, if such a key is needed. Returns FALSE if we don't have what we need to drive.

+

Still needs to be neatened up and spruced up with proper OOP, as a result of vehicles having their own key handling from other ridable atoms

on_rider_try_pull

This proc is called when the rider attempts to grab something, preventing them from doing so.

ride_check

Check to see if we have all of the necessary bodyparts and not-falling-over statuses we need to stay onboard. +If not and if consequences is TRUE, well, there'll be consequences.

unequip_buckle_inhands

currently replicated from ridable because we need this behavior here too, see if we can deal with that

vehicle_bump

So we can check all occupants when we bump a door to see if anyone has access

vehicle_mob_buckle

This proc is called when a rider buckles, allowing for offsets to be set properly

vehicle_mob_unbuckle

This proc is called when a rider unbuckles, whether they chose to or not. If there's no more riders, this will be the riding component's death knell.

vehicle_moved

This is called after the ridden atom is successfully moved and is used to handle icon stuff

vehicle_turned

Turning is like moving

\ No newline at end of file diff --git a/datum/component/riding/vehicle.html b/datum/component/riding/vehicle.html new file mode 100644 index 00000000000..edfd9584004 --- /dev/null +++ b/datum/component/riding/vehicle.html @@ -0,0 +1 @@ +/datum/component/riding/vehicle - Space Station 13
Space Station 13 - Modules - TypesProc Details

vehicle

Procs

handle_rideThis handles the actual movement for vehicles once /datum/component/riding/vehicle/proc/driver_move has given us the green light

Proc Details

handle_ride

This handles the actual movement for vehicles once /datum/component/riding/vehicle/proc/driver_move has given us the green light

\ No newline at end of file diff --git a/datum/component/riding/vehicle/scooter/skateboard.html b/datum/component/riding/vehicle/scooter/skateboard.html new file mode 100644 index 00000000000..94780fa8896 --- /dev/null +++ b/datum/component/riding/vehicle/scooter/skateboard.html @@ -0,0 +1 @@ +/datum/component/riding/vehicle/scooter/skateboard - Space Station 13
Space Station 13 - Modules - TypesVar Details

skateboard

Vars

can_slow_downIf TRUE, the vehicle will be slower (but safer) to ride on walk intent.

Var Details

can_slow_down

If TRUE, the vehicle will be slower (but safer) to ride on walk intent.

\ No newline at end of file diff --git a/datum/component/riding/vehicle/scooter/skateboard/hover.html b/datum/component/riding/vehicle/scooter/skateboard/hover.html new file mode 100644 index 00000000000..db3829b87f5 --- /dev/null +++ b/datum/component/riding/vehicle/scooter/skateboard/hover.html @@ -0,0 +1 @@ +/datum/component/riding/vehicle/scooter/skateboard/hover - Space Station 13
Space Station 13 - Modules - TypesProc Details

hover

This one lets the rider ignore gravity, move in zero g and so on, but only on ground turfs or at most one z-level above them.

Procs

check_driftingMakes sure the vehicle isn't drifting while it can be maneuvered.
check_gravMakes sure that the vehicle is grav-less if capable of zero-g movement. Forced gravity will honestly screw this.
hover_checkMakes sure that the hoverboard can move in zero-g in (open) space but only there's a ground turf on the z-level below.

Proc Details

check_drifting

Makes sure the vehicle isn't drifting while it can be maneuvered.

check_grav

Makes sure that the vehicle is grav-less if capable of zero-g movement. Forced gravity will honestly screw this.

hover_check

Makes sure that the hoverboard can move in zero-g in (open) space but only there's a ground turf on the z-level below.

\ No newline at end of file diff --git a/datum/component/scope.html b/datum/component/scope.html new file mode 100644 index 00000000000..7d0bd8ccaa9 --- /dev/null +++ b/datum/component/scope.html @@ -0,0 +1,13 @@ +/datum/component/scope - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

scope

A component that allows players to use the item to zoom out. Mainly intended for firearms, but now works with other items too.

Vars

flagsFlags for scoping. Check code\__DEFINES\flags.dm
item_action_typeif not null, an item action will be added. Redundant if the mode is ZOOM_METHOD_RIGHT_CLICK or ZOOM_METHOD_WIELD.
range_modifierHow far the view can be moved from the player. At 1, it can be moved by the player's view distance; other values scale linearly.
time_to_scopeTime to scope up, if you want the scope to take time to boot up. Used by the LWAP
trackerFullscreen object we use for tracking.
tracker_owner_ckeyThe owner of the tracker's ckey. For comparing with the current owner mob, in case the client has left it (e.g. ghosted).
trait_to_addA trait you want to add when scoped in to the mob.
zoom_methodThe method which we zoom in and out

Procs

get_targetWe find and return the best target to hit on a given turf.
stop_zoomingWe stop zooming, canceling processing, resetting stuff back to normal and deleting our tracker.
zoomWe start zooming by adding our tracker overlay and starting our processing.

Var Details

flags

Flags for scoping. Check code\__DEFINES\flags.dm

item_action_type

if not null, an item action will be added. Redundant if the mode is ZOOM_METHOD_RIGHT_CLICK or ZOOM_METHOD_WIELD.

range_modifier

How far the view can be moved from the player. At 1, it can be moved by the player's view distance; other values scale linearly.

time_to_scope

Time to scope up, if you want the scope to take time to boot up. Used by the LWAP

tracker

Fullscreen object we use for tracking.

tracker_owner_ckey

The owner of the tracker's ckey. For comparing with the current owner mob, in case the client has left it (e.g. ghosted).

trait_to_add

A trait you want to add when scoped in to the mob.

zoom_method

The method which we zoom in and out

Proc Details

get_target

We find and return the best target to hit on a given turf.

+

Arguments:

+

stop_zooming

We stop zooming, canceling processing, resetting stuff back to normal and deleting our tracker.

+

Arguments:

+

zoom

We start zooming by adding our tracker overlay and starting our processing.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/component/shelved.html b/datum/component/shelved.html new file mode 100644 index 00000000000..45ff233c152 --- /dev/null +++ b/datum/component/shelved.html @@ -0,0 +1 @@ +/datum/component/shelved - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shelved

A component for items stored on shelves, propagated by /datum/component/shelver components.

Vars

original_appearance_flagsA copy of the shelved object's original appearance flags, to restore after removing from the shelf.
original_layerA copy of the shelved object's original layer, to restore after removing from the shelf.
original_transformA copy of the shelved object's original transform, to restore after removing from the shelf.
shelf_uidThe UID of the object acting as the shelf
shuttle_movingAre we currently being moved by a shuttle? Prevents us from falling off the shelf in transport.

Procs

on_movable_movedGeneric handler for if anything moves us off our original shelf position, such as atmos pressure.

Var Details

original_appearance_flags

A copy of the shelved object's original appearance flags, to restore after removing from the shelf.

original_layer

A copy of the shelved object's original layer, to restore after removing from the shelf.

original_transform

A copy of the shelved object's original transform, to restore after removing from the shelf.

shelf_uid

The UID of the object acting as the shelf

shuttle_moving

Are we currently being moved by a shuttle? Prevents us from falling off the shelf in transport.

Proc Details

on_movable_moved

Generic handler for if anything moves us off our original shelf position, such as atmos pressure.

\ No newline at end of file diff --git a/datum/component/shelver.html b/datum/component/shelver.html new file mode 100644 index 00000000000..254e4c95e99 --- /dev/null +++ b/datum/component/shelver.html @@ -0,0 +1,9 @@ +/datum/component/shelver - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shelver

Vars

allowed_subtypesA list of types whose subtypes are valid to place on this shelf. Used in addition to [allowed_types].
allowed_typesA list of types which are are valid to place on this shelf.
default_rotationThe default rotation transformation for objects placed on the shelf.
default_scaleThe default scale transformation for objects placed on the shelf.
placement_zonesA list whose keys are a 4-tuple of (left, bottom, right, top) bounding boxes to position details. +Position details include "x" and "y" as pixel offsets, and "layer" as appearance layer for a placed object.
random_pickup_locationsWhether objects auto-shelved by the component are placed in random order on the shelf.
used_placesA list of slots, one per placement zone. Either empty, or containing the UID of the object in that place.

Procs

add_itemAdd an item to the shelf.

Var Details

allowed_subtypes

A list of types whose subtypes are valid to place on this shelf. Used in addition to [allowed_types].

allowed_types

A list of types which are are valid to place on this shelf.

default_rotation

The default rotation transformation for objects placed on the shelf.

default_scale

The default scale transformation for objects placed on the shelf.

placement_zones

A list whose keys are a 4-tuple of (left, bottom, right, top) bounding boxes to position details. +Position details include "x" and "y" as pixel offsets, and "layer" as appearance layer for a placed object.

random_pickup_locations

Whether objects auto-shelved by the component are placed in random order on the shelf.

used_places

A list of slots, one per placement zone. Either empty, or containing the UID of the object in that place.

Proc Details

add_item

Add an item to the shelf.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/component/shielded.html b/datum/component/shielded.html new file mode 100644 index 00000000000..7dc08723633 --- /dev/null +++ b/datum/component/shielded.html @@ -0,0 +1,3 @@ +/datum/component/shielded - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shielded

The shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.

Vars

charge_add_cdThe cooldown tracking when we last replenished a charge
charge_increment_delayOnce we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes
charge_recoveryHow many charges we recover on each charge increment
current_chargesHow many charges we currently have
lose_multiple_chargesShould the shield lose charges equal to the damage dealt by a hit?
max_chargesHow many charges we can have max, and how many we start with
on_hit_effectsA callback for the sparks/message that play when a charge is used, see /datum/component/shielded/proc/default_run_hit_callback
recently_hit_cdThe cooldown tracking when we were last hit
recharge_pathThe item we use for recharging
recharge_start_delayHow long we have to avoid being hit to replenish charges. If set to 0, we never recharge lost charges
shield_iconWhat icon is used when someone has a functional shield up
shield_icon_fileWhat .dmi we're pulling the shield icon from
shield_inhandDo we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work
show_charge_as_alphaShould the shield's alpha change to show its remaining charge
wearerThe person currently wearing us

Procs

actually_run_hit_callbackThe wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler
default_run_hit_callbackDefault on_hit proc, since cult robes are stupid and have different descriptions/sparks
lost_wearerEither we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem
on_equippedCheck if we've been equipped to a valid slot to shield
on_hit_reactThis proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. +It then runs the callback in /datum/component/shielded/var/on_hit_effects which handles the messages/sparks (so the visuals)
on_update_overlaysUsed to draw the shield overlay on the wearer

Var Details

charge_add_cd

The cooldown tracking when we last replenished a charge

charge_increment_delay

Once we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes

charge_recovery

How many charges we recover on each charge increment

current_charges

How many charges we currently have

lose_multiple_charges

Should the shield lose charges equal to the damage dealt by a hit?

max_charges

How many charges we can have max, and how many we start with

on_hit_effects

A callback for the sparks/message that play when a charge is used, see /datum/component/shielded/proc/default_run_hit_callback

recently_hit_cd

The cooldown tracking when we were last hit

recharge_path

The item we use for recharging

recharge_start_delay

How long we have to avoid being hit to replenish charges. If set to 0, we never recharge lost charges

shield_icon

What icon is used when someone has a functional shield up

shield_icon_file

What .dmi we're pulling the shield icon from

shield_inhand

Do we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work

show_charge_as_alpha

Should the shield's alpha change to show its remaining charge

wearer

The person currently wearing us

Proc Details

actually_run_hit_callback

The wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler

default_run_hit_callback

Default on_hit proc, since cult robes are stupid and have different descriptions/sparks

lost_wearer

Either we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem

on_equipped

Check if we've been equipped to a valid slot to shield

on_hit_react

This proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. +It then runs the callback in /datum/component/shielded/var/on_hit_effects which handles the messages/sparks (so the visuals)

on_update_overlays

Used to draw the shield overlay on the wearer

\ No newline at end of file diff --git a/datum/component/slippery.html b/datum/component/slippery.html new file mode 100644 index 00000000000..241b981d746 --- /dev/null +++ b/datum/component/slippery.html @@ -0,0 +1,5 @@ +/datum/component/slippery - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Slip Component

This is a component that can be applied to any movable atom (mob or obj).

+

While the atom has this component, any human mob that walks over it will have a chance to slip. +Duration, tiles moved, and so on, depend on what variables are passed in when the component is added.

Vars

default_connectionswhat we give to connect_loc by default, makes slippable mobs moving over us slip
descriptionText that gets displayed in the slip proc, i.e. "user slips on [description]"
horizontal_requiredTRUE the player will only slip if the mob this datum is attached to is horizontal
knockdownThe amount of knockdown to apply after slip.
slip_alwaysFALSE if you want no slip shoes to make you immune to the slip
slip_chanceThe chance that walking over the parent will slip you.
slip_tilesThe amount of tiles someone will be moved after slip.
slip_verbThe verb that players will see when someone slips on the parent. In the form of "You [slip_verb]ped on".
walking_is_safeTRUE If this slip can be avoided by walking.

Procs

slipCalled whenever the parent receives the ATOM_ENTERED signal.

Var Details

default_connections

what we give to connect_loc by default, makes slippable mobs moving over us slip

description

Text that gets displayed in the slip proc, i.e. "user slips on [description]"

horizontal_required

TRUE the player will only slip if the mob this datum is attached to is horizontal

knockdown

The amount of knockdown to apply after slip.

slip_always

FALSE if you want no slip shoes to make you immune to the slip

slip_chance

The chance that walking over the parent will slip you.

slip_tiles

The amount of tiles someone will be moved after slip.

slip_verb

The verb that players will see when someone slips on the parent. In the form of "You [slip_verb]ped on".

walking_is_safe

TRUE If this slip can be avoided by walking.

Proc Details

slip

Called whenever the parent receives the ATOM_ENTERED signal.

+

Calls the victim's slip() proc with the component's variables as arguments. +Additionally calls the parent's after_slip() proc on the victim.

\ No newline at end of file diff --git a/datum/component/special_tastes.html b/datum/component/special_tastes.html new file mode 100644 index 00000000000..04341e537b9 --- /dev/null +++ b/datum/component/special_tastes.html @@ -0,0 +1,3 @@ +/datum/component/special_tastes - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

special_tastes

Allows humanoids to eat arbitrary items

Vars

edible_itemsassociated list of item to reagents and tastes +Typepath = (list(reagents = list(reagents), tastes = list(tastes)); Ex: list(/obj/item/stack/sheet/mineral/silver = list("reagents" = list("nutriment" = 5, "vitamin" = 1), "tastes" = list("metal and blood" = 1)))

Procs

attempt_ingestcheck if item is in the list of potential food
attempt_to_eatHandle eating and nutrition gain from eating minerals
turn_into_foodTurn the item into food, can only be eaten in 1 bite to prevent creating a half-eaten item that those without the trait can also eat.

Var Details

edible_items

associated list of item to reagents and tastes +Typepath = (list(reagents = list(reagents), tastes = list(tastes)); Ex: list(/obj/item/stack/sheet/mineral/silver = list("reagents" = list("nutriment" = 5, "vitamin" = 1), "tastes" = list("metal and blood" = 1)))

Proc Details

attempt_ingest

check if item is in the list of potential food

attempt_to_eat

Handle eating and nutrition gain from eating minerals

turn_into_food

Turn the item into food, can only be eaten in 1 bite to prevent creating a half-eaten item that those without the trait can also eat.

\ No newline at end of file diff --git a/datum/component/squeak.html b/datum/component/squeak.html new file mode 100644 index 00000000000..3e28979f8fd --- /dev/null +++ b/datum/component/squeak.html @@ -0,0 +1 @@ +/datum/component/squeak - Space Station 13
Space Station 13 - Modules - TypesVar Details

squeak

Vars

item_connectionswhat we set connect_loc to if parent is an item
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

item_connections

what we set connect_loc to if parent is an item

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.

\ No newline at end of file diff --git a/datum/component/sticky.html b/datum/component/sticky.html new file mode 100644 index 00000000000..c6ca8b2acce --- /dev/null +++ b/datum/component/sticky.html @@ -0,0 +1 @@ +/datum/component/sticky - Space Station 13
Space Station 13 - Modules - TypesVar Details

sticky

Vars

attached_toThe atom we are stickied to
drop_on_attached_destroyDo we drop on attached_to's destroy? If not, we qdel
overlayOur priority overlay put on top of attached_to

Var Details

attached_to

The atom we are stickied to

drop_on_attached_destroy

Do we drop on attached_to's destroy? If not, we qdel

overlay

Our priority overlay put on top of attached_to

\ No newline at end of file diff --git a/datum/component/surgery_initiator.html b/datum/component/surgery_initiator.html new file mode 100644 index 00000000000..981ded7f130 --- /dev/null +++ b/datum/component/surgery_initiator.html @@ -0,0 +1,17 @@ +/datum/component/surgery_initiator - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Surgery Initiator

Allows an item to start (or prematurely stop) a surgical operation.

Vars

can_cancelIf true, can be used with a cautery in the off-hand to cancel a surgery.
can_cancel_before_firstIf true, the initial step will be cancellable by just using the tool again. Should be FALSE for any tool that actually has a first surgery step.
can_start_on_standerIf true, can start surgery on someone while they're standing up. +Seeing as how we really don't support this (yet), it's much nicer to selectively enable this if we want it.
forced_surgeryIf present, this surgery TYPE will be attempted when the item is used. +Useful for things like limb reattachments that don't need a scalpel.
germ_prevention_qualityHow effective this is at preventing infections. +0 = preventing nothing, 1 = preventing any infection
surgery_start_soundThe sound to play when starting surgeries
valid_starting_typesBitfield for the types of surgeries that this can start. +Note that in cases where organs are missing, this will be ignored. +Also, note that for anything sharp, SURGERY_INITIATOR_ORGANIC should be set as well.

Procs

InitializeCreate a new surgery initiating component.
attempt_cancel_surgeryDoes the surgery de-initiation.
do_initiate_surgery_momentMeat and potatoes of starting surgery.
initiate_surgery_momentDoes the surgery initiation.
on_parent_sharpness_changeKeep tabs on the attached item's sharpness. +This component gets added in atoms when they're made sharp as well.
show_starting_messageHandle to allow for easily overriding the message shown

Var Details

can_cancel

If true, can be used with a cautery in the off-hand to cancel a surgery.

can_cancel_before_first

If true, the initial step will be cancellable by just using the tool again. Should be FALSE for any tool that actually has a first surgery step.

can_start_on_stander

If true, can start surgery on someone while they're standing up. +Seeing as how we really don't support this (yet), it's much nicer to selectively enable this if we want it.

forced_surgery

If present, this surgery TYPE will be attempted when the item is used. +Useful for things like limb reattachments that don't need a scalpel.

germ_prevention_quality

How effective this is at preventing infections. +0 = preventing nothing, 1 = preventing any infection

surgery_start_sound

The sound to play when starting surgeries

valid_starting_types

Bitfield for the types of surgeries that this can start. +Note that in cases where organs are missing, this will be ignored. +Also, note that for anything sharp, SURGERY_INITIATOR_ORGANIC should be set as well.

Proc Details

Initialize

Create a new surgery initiating component.

+

Arguments:

+

attempt_cancel_surgery

Does the surgery de-initiation.

do_initiate_surgery_moment

Meat and potatoes of starting surgery.

initiate_surgery_moment

Does the surgery initiation.

on_parent_sharpness_change

Keep tabs on the attached item's sharpness. +This component gets added in atoms when they're made sharp as well.

show_starting_message

Handle to allow for easily overriding the message shown

\ No newline at end of file diff --git a/datum/component/tameable.html b/datum/component/tameable.html new file mode 100644 index 00000000000..3441f82fd2d --- /dev/null +++ b/datum/component/tameable.html @@ -0,0 +1 @@ +/datum/component/tameable - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tameable

This component lets you make specific mobs tameable by feeding them

Vars

bonus_tame_chanceAdded success chance after every failed tame attempt.
current_tame_chanceCurrent chance to tame on interaction
tame_chanceStarting success chance for taming.
uniqueIf true, this atom can only be domesticated by one person

Procs

already_friendsCheck if the passed mob is already considered one of our friends
on_tameRan once taming succeeds

Var Details

bonus_tame_chance

Added success chance after every failed tame attempt.

current_tame_chance

Current chance to tame on interaction

tame_chance

Starting success chance for taming.

unique

If true, this atom can only be domesticated by one person

Proc Details

already_friends

Check if the passed mob is already considered one of our friends

on_tame

Ran once taming succeeds

\ No newline at end of file diff --git a/datum/component/tilted.html b/datum/component/tilted.html new file mode 100644 index 00000000000..9eecfae72b5 --- /dev/null +++ b/datum/component/tilted.html @@ -0,0 +1,2 @@ +/datum/component/tilted - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tilted

A component that should be attached to things that have been tilted over, and can be righted. +This can optionally block normal attack_hand interactions

Vars

block_interactionsWhether we should block any interactions with it
rotated_angleThe angle by which we rotated as a result of tilting. Should help us avoid cases where something gets tilted until it's upright.
untilt_durationHow long it should take to untilt

Procs

untiltUntilt a tilted object.

Var Details

block_interactions

Whether we should block any interactions with it

rotated_angle

The angle by which we rotated as a result of tilting. Should help us avoid cases where something gets tilted until it's upright.

untilt_duration

How long it should take to untilt

Proc Details

untilt

Untilt a tilted object.

\ No newline at end of file diff --git a/datum/component/tippable.html b/datum/component/tippable.html new file mode 100644 index 00000000000..7db38f86b21 --- /dev/null +++ b/datum/component/tippable.html @@ -0,0 +1,30 @@ +/datum/component/tippable - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tippable

Tippable component. For making mobs able to be tipped, like cows and medibots.

Vars

is_tippedWhether the mob is currently tipped.
post_tipped_callbackCallback to additional behavior after successfully tipping the mob.
post_untipped_callbackCallback to additional behavior after being untipped.
pre_tipped_callbackCallback to additional behavior before being tipped (on try_tip). Return anything from this callback to cancel the tip.
self_right_timeTime it takes for the mob to right itself. Can be 0 for instant self-righting, or null, to never self-right.
self_untip_timerThe timer given until they untip themselves
tip_timeTime it takes to tip the mob. Can be 0, for instant tipping.
untip_timeTime it takes to untip the mob. Can also be 0, for instant untip.

Procs

do_tipActually tip over the mob, setting it to tipped. +Also invoking any callbacks we have, with the tipper as the argument, +and set a timer to right our self-right our tipped mob if we can.
do_untipActually untip over the mob, setting it to untipped. +Also invoke any untip callbacks we have, with the untipper as the argument.
interact_with_tippableAttempt to interact with [source], either tipping it or helping it up.
right_selfProc called after a timer to have a tipped mob un-tip itself after a certain length of time. +Sets our mob to untipped and invokes the untipped callback without any arguments if we have one.
set_tipped_statusToggles our tipped status between tipped or untipped (TRUE or FALSE) +also handles rotating our mob and adding immobilization traits
try_tipTry to tip over [tipped_mob]. +If the mob is dead, or optional callback returns a value, or our do-after fails, we don't tip the mob. +Otherwise, upon completing of the do_after, tip over the mob.
try_untipTry to untip a mob that has been tipped. +After a do-after is completed, we untip the mob.

Var Details

is_tipped

Whether the mob is currently tipped.

post_tipped_callback

Callback to additional behavior after successfully tipping the mob.

post_untipped_callback

Callback to additional behavior after being untipped.

pre_tipped_callback

Callback to additional behavior before being tipped (on try_tip). Return anything from this callback to cancel the tip.

self_right_time

Time it takes for the mob to right itself. Can be 0 for instant self-righting, or null, to never self-right.

self_untip_timer

The timer given until they untip themselves

tip_time

Time it takes to tip the mob. Can be 0, for instant tipping.

untip_time

Time it takes to untip the mob. Can also be 0, for instant untip.

Proc Details

do_tip

Actually tip over the mob, setting it to tipped. +Also invoking any callbacks we have, with the tipper as the argument, +and set a timer to right our self-right our tipped mob if we can.

+

tipped_mob - the mob who was tipped +tipper - the mob who tipped the tipped_mob

do_untip

Actually untip over the mob, setting it to untipped. +Also invoke any untip callbacks we have, with the untipper as the argument.

+

tipped_mob - the mob who was tipped +tipper - the mob who tipped the tipped_mob

interact_with_tippable

Attempt to interact with [source], either tipping it or helping it up.

+

source - the mob being tipped over +user - the mob interacting with source

right_self

Proc called after a timer to have a tipped mob un-tip itself after a certain length of time. +Sets our mob to untipped and invokes the untipped callback without any arguments if we have one.

+

tipped_mob - the mob who was tipped, and is freeing itself

set_tipped_status

Toggles our tipped status between tipped or untipped (TRUE or FALSE) +also handles rotating our mob and adding immobilization traits

+

tipped_mob - the mob we're setting to tipped or untipped +new_status - the tipped status we're setting the mob to - TRUE for tipped, FALSE for untipped

try_tip

Try to tip over [tipped_mob]. +If the mob is dead, or optional callback returns a value, or our do-after fails, we don't tip the mob. +Otherwise, upon completing of the do_after, tip over the mob.

+

tipped_mob - the mob being tipped over +tipper - the mob tipping the tipped_mob

try_untip

Try to untip a mob that has been tipped. +After a do-after is completed, we untip the mob.

+

tipped_mob - the mob who is tipped +untipper - the mob who is untipping the tipped_mob

\ No newline at end of file diff --git a/datum/component/two_handed.html b/datum/component/two_handed.html new file mode 100644 index 00000000000..6c2bfc13c42 --- /dev/null +++ b/datum/component/two_handed.html @@ -0,0 +1,26 @@ +/datum/component/two_handed - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

two_handed

Two Handed Component

+

When applied to an item it will make it two handed

Vars

attacksoundPlay sound on attack when wielded
force_multiplierThe multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded
force_unwieldedThe force of the item when unweilded
force_wieldedThe force of the item when weilded
icon_wieldedThe icon that will be used when wielded
offhand_itemReference to the offhand created for the item
only_sharp_when_wieldedWhether or not the object is only sharp when wielded. If it's never sharp, ignore this.
require_twohandsDoes it have to be held in both hands
sharpened_increaseThe amount of increase recived from sharpening the item
unwield_callbackA callback on the parent to be called when the item is unwielded
unwieldsoundPlay sound when unwielded
wield_callbackA callback on the parent to be called when the item is wielded
wieldedAre we holding the two handed item properly
wieldsoundPlay sound when wielded

Procs

InitializeTwo Handed component
check_unwieldedCheck if item is unwielded
on_attack_selfTriggered on attack self of the item containing the component
on_destroyTriggered on destroy of the component's offhand
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_swapping_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 on attack when wielded

force_multiplier

The multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded

force_unwielded

The force of the item when unweilded

force_wielded

The force of the item when weilded

icon_wielded

The icon that will be used when wielded

offhand_item

Reference to the offhand created for the item

only_sharp_when_wielded

Whether or not the object is only sharp when wielded. If it's never sharp, ignore this.

require_twohands

Does it have to be held in both hands

sharpened_increase

The amount of increase recived from sharpening the item

unwield_callback

A callback on the parent to be called when the item is unwielded

unwieldsound

Play sound when unwielded

wield_callback

A callback on the parent to be called when the item is wielded

wielded

Are we holding the two handed item properly

wieldsound

Play sound when wielded

Proc Details

Initialize

Two Handed component

+

vars:

+

check_unwielded

Check if item is unwielded

+

returns TRUE if unwielded

on_attack_self

Triggered on attack self of the item containing the component

on_destroy

Triggered on destroy of the component's offhand

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_swapping_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:

+
\ No newline at end of file diff --git a/datum/component/viral_contamination.html b/datum/component/viral_contamination.html new file mode 100644 index 00000000000..fc702b098cb --- /dev/null +++ b/datum/component/viral_contamination.html @@ -0,0 +1 @@ +/datum/component/viral_contamination - Space Station 13
Space Station 13 - Modules - TypesVar Details

viral_contamination

Vars

virusesAsoc list of virus Ids to virus refs.

Var Details

viruses

Asoc list of virus Ids to virus refs.

\ No newline at end of file diff --git a/datum/configuration_section.html b/datum/configuration_section.html new file mode 100644 index 00000000000..3bef09993d5 --- /dev/null +++ b/datum/configuration_section.html @@ -0,0 +1 @@ +/datum/configuration_section - Space Station 13
Space Station 13 - Modules - TypesVar Details

configuration_section

Vars

protection_stateSee __config_defines.dm

Var Details

protection_state

See __config_defines.dm

\ No newline at end of file diff --git a/datum/configuration_section/admin_configuration.html b/datum/configuration_section/admin_configuration.html new file mode 100644 index 00000000000..c54a0baa4f6 --- /dev/null +++ b/datum/configuration_section/admin_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/admin_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

admin_configuration

Config holder for all admin related things

Vars

allow_admin_ooc_colourDo we want to allow admins to set their own OOC colour?
ckey_rank_mapAssoc list of admin ckeys and their ranks. key: ckey | value: rank name
common_cid_mapAssoc list of CIDs which shouldnt be banned due to mass collisions
enable_localhost_autoadminDo we want to auto enable admin rights if you connect from localhost?
rank_colour_mapAssoc list of admin ranks and their colours. key: rank | value: rank colour
rank_rights_mapAssoc list of admin ranks and their stuff. key: rank name string | value: list of rights
use_database_adminsDo we want to load admins from the database?

Var Details

allow_admin_ooc_colour

Do we want to allow admins to set their own OOC colour?

ckey_rank_map

Assoc list of admin ckeys and their ranks. key: ckey | value: rank name

common_cid_map

Assoc list of CIDs which shouldnt be banned due to mass collisions

enable_localhost_autoadmin

Do we want to auto enable admin rights if you connect from localhost?

rank_colour_map

Assoc list of admin ranks and their colours. key: rank | value: rank colour

rank_rights_map

Assoc list of admin ranks and their stuff. key: rank name string | value: list of rights

use_database_admins

Do we want to load admins from the database?

\ No newline at end of file diff --git a/datum/configuration_section/afk_configuration.html b/datum/configuration_section/afk_configuration.html new file mode 100644 index 00000000000..5e62adb2374 --- /dev/null +++ b/datum/configuration_section/afk_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/afk_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

afk_configuration

Config holder for all AFK related things

Vars

auto_cryo_minutesMinutes before someone is auto moved to cryo
auto_despawn_minutesMinutes before someone is auto despawned
ssd_auto_cryo_minutesTime before SSD people are auto cryo'd
warning_minutesMinutes before someone gets an AFK warning

Var Details

auto_cryo_minutes

Minutes before someone is auto moved to cryo

auto_despawn_minutes

Minutes before someone is auto despawned

ssd_auto_cryo_minutes

Time before SSD people are auto cryo'd

warning_minutes

Minutes before someone gets an AFK warning

\ No newline at end of file diff --git a/datum/configuration_section/asset_cache_configuration.html b/datum/configuration_section/asset_cache_configuration.html new file mode 100644 index 00000000000..9150ff56f3a --- /dev/null +++ b/datum/configuration_section/asset_cache_configuration.html @@ -0,0 +1,17 @@ +/datum/configuration_section/asset_cache_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

asset_cache_configuration

Vars

asset_cdn_urlURL the asset_cdn_webroot can be accessed from. +For best results the webserver powering this should return a long cache validity time, +as all assets sent via this transport use hash based urls +if you want to test this locally, you simpily run the localhost-asset-webroot-server.py python3 script +to host assets stored in data/asset-store/ via http://localhost:58715/
asset_cdn_webrootLocal folder to save assets to. +Assets will be saved in the format of asset.MD5HASH.EXT or in namespaces/hash/ +as ASSET_FILE_NAME or asset.MD5HASH.EXT
asset_simple_preloadWhether to make server passively send all browser assets to each client in the background +(instead of waiting for them to be needed)
asset_transportType of asset transport that will be used for asset delivery. +Available options are "simple" or "webroot".

Var Details

asset_cdn_url

URL the asset_cdn_webroot can be accessed from. +For best results the webserver powering this should return a long cache validity time, +as all assets sent via this transport use hash based urls +if you want to test this locally, you simpily run the localhost-asset-webroot-server.py python3 script +to host assets stored in data/asset-store/ via http://localhost:58715/

asset_cdn_webroot

Local folder to save assets to. +Assets will be saved in the format of asset.MD5HASH.EXT or in namespaces/hash/ +as ASSET_FILE_NAME or asset.MD5HASH.EXT

asset_simple_preload

Whether to make server passively send all browser assets to each client in the background +(instead of waiting for them to be needed)

asset_transport

Type of asset transport that will be used for asset delivery. +Available options are "simple" or "webroot".

\ No newline at end of file diff --git a/datum/configuration_section/custom_sprites_configuration.html b/datum/configuration_section/custom_sprites_configuration.html new file mode 100644 index 00000000000..50d7aa22b33 --- /dev/null +++ b/datum/configuration_section/custom_sprites_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/custom_sprites_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

custom_sprites_configuration

Config holder for all things regarding custom sprites

Vars

ai_core_ckeysList of ckeys that have custom AI core skins
ai_hologram_ckeysList of ckeys that have custom AI hologram skins
cyborg_ckeysList of ckeys that have custom cyborg skins
fluff_undershirtsA list of ckeys to available undershirt fluff accessories
ipc_screen_mapAssoc of ckeys that have custom pAI screens. Key: ckey | value: list of icon states
pai_holoform_ckeysList of ckeys that have custom pAI holoforms

Var Details

ai_core_ckeys

List of ckeys that have custom AI core skins

ai_hologram_ckeys

List of ckeys that have custom AI hologram skins

cyborg_ckeys

List of ckeys that have custom cyborg skins

fluff_undershirts

A list of ckeys to available undershirt fluff accessories

ipc_screen_map

Assoc of ckeys that have custom pAI screens. Key: ckey | value: list of icon states

pai_holoform_ckeys

List of ckeys that have custom pAI holoforms

\ No newline at end of file diff --git a/datum/configuration_section/database_configuration.html b/datum/configuration_section/database_configuration.html new file mode 100644 index 00000000000..14c7b420225 --- /dev/null +++ b/datum/configuration_section/database_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/database_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

database_configuration

Config holder for all database related things

Vars

addressAddress of the SQL server
async_query_timeoutTime in seconds for async queries to time out
async_thread_limitThread limit for async queries
dbDatabase name
enabledSQL enabled or not
passwordSQL password
portPort of the SQL server
usernameSQL usename
versionWhat SQL version are we on

Var Details

address

Address of the SQL server

async_query_timeout

Time in seconds for async queries to time out

async_thread_limit

Thread limit for async queries

db

Database name

enabled

SQL enabled or not

password

SQL password

port

Port of the SQL server

username

SQL usename

version

What SQL version are we on

\ No newline at end of file diff --git a/datum/configuration_section/discord_configuration.html b/datum/configuration_section/discord_configuration.html new file mode 100644 index 00000000000..8d8c13bd5b4 --- /dev/null +++ b/datum/configuration_section/discord_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/discord_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

discord_configuration

Config holder for all things relating to discord webhooks

Vars

admin_role_idAdmin role to ping if no admins are online. Disables if empty string
admin_webhook_urlsList of all URLs for the admin webhooks
forward_all_ahelpsDo we want to forward all ahelps or just ones sent with no active admins
main_webhook_urlsList of all URLs for the main webhooks
mentor_role_idMentor role to ping if no mentors are online. Disables if empty string
mentor_webhook_urlsList of all URLs for the mentor webhooks
webhooks_enabledAre webhooks enabled at all

Var Details

admin_role_id

Admin role to ping if no admins are online. Disables if empty string

admin_webhook_urls

List of all URLs for the admin webhooks

forward_all_ahelps

Do we want to forward all ahelps or just ones sent with no active admins

main_webhook_urls

List of all URLs for the main webhooks

mentor_role_id

Mentor role to ping if no mentors are online. Disables if empty string

mentor_webhook_urls

List of all URLs for the mentor webhooks

webhooks_enabled

Are webhooks enabled at all

\ No newline at end of file diff --git a/datum/configuration_section/event_configuration.html b/datum/configuration_section/event_configuration.html new file mode 100644 index 00000000000..43f7e047e94 --- /dev/null +++ b/datum/configuration_section/event_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/event_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

event_configuration

Config holder for all stuff relating to ingame random events

Vars

blob_highpop_triggerthe population needed to allow blobs to split consciousness
delay_lower_boundAssoc list of lower bounds of event delays. key: severity | value: delay (deciseconds)
delay_upper_boundAssoc list of lower bounds of event delays. key: severity | value: delay (deciseconds)
enable_random_eventsDo we want to enable random events at all
expected_round_lengthExpected time of a round in deciseconds
first_run_timesAssoc list of when the first event in a group can run. key: severity | value: assoc list with upper and low bounds (key: "upper"/"lower" | value: time in deciseconds)

Var Details

blob_highpop_trigger

the population needed to allow blobs to split consciousness

delay_lower_bound

Assoc list of lower bounds of event delays. key: severity | value: delay (deciseconds)

delay_upper_bound

Assoc list of lower bounds of event delays. key: severity | value: delay (deciseconds)

enable_random_events

Do we want to enable random events at all

expected_round_length

Expected time of a round in deciseconds

first_run_times

Assoc list of when the first event in a group can run. key: severity | value: assoc list with upper and low bounds (key: "upper"/"lower" | value: time in deciseconds)

\ No newline at end of file diff --git a/datum/configuration_section/gamemode_configuration.html b/datum/configuration_section/gamemode_configuration.html new file mode 100644 index 00000000000..e1f5c8c99da --- /dev/null +++ b/datum/configuration_section/gamemode_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/gamemode_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

gamemode_configuration

Config holder for everything regarding gamemodes

Vars

add_random_station_traitsShould we generate random station traits at game start?
antag_account_age_restrictionShould antags be restricted based on account age?
disable_certain_round_early_endRounds such as rev, wizard and malf end instantly when the antag has won. Enable the setting below to not do that.
enable_gamemode_player_limitEnable player limits on gamemodes? Disabling can be useful for testing
gamemode_namesAssoc list of gamemode names (key: config-tag | value: mode name)
gamemodesList of all gamemodes (value: config-tag)
min_players_hijack_midroundMinimum alive crew required for midround hijack objectives
min_players_hijack_roundstartMinimum readied up players required for roundstart hijack objectives
min_security_hijack_midroundMinimum living security required for midround hijack objectives
prevent_mindshield_antagsPrevent mindshield roles getting antagonist status
probabilitiesAssoc list of gamemode probabilities (key: config-tag | value: probability)
traitor_objectives_amountAmount of objectives traitors should get. Does not include escape or hijack.
traitor_scalingScale amount of traitors with population
votable_modesList of all gamemodes that can be voted for, (value: config-tag)

Var Details

add_random_station_traits

Should we generate random station traits at game start?

antag_account_age_restriction

Should antags be restricted based on account age?

disable_certain_round_early_end

Rounds such as rev, wizard and malf end instantly when the antag has won. Enable the setting below to not do that.

enable_gamemode_player_limit

Enable player limits on gamemodes? Disabling can be useful for testing

gamemode_names

Assoc list of gamemode names (key: config-tag | value: mode name)

gamemodes

List of all gamemodes (value: config-tag)

min_players_hijack_midround

Minimum alive crew required for midround hijack objectives

min_players_hijack_roundstart

Minimum readied up players required for roundstart hijack objectives

min_security_hijack_midround

Minimum living security required for midround hijack objectives

prevent_mindshield_antags

Prevent mindshield roles getting antagonist status

probabilities

Assoc list of gamemode probabilities (key: config-tag | value: probability)

traitor_objectives_amount

Amount of objectives traitors should get. Does not include escape or hijack.

traitor_scaling

Scale amount of traitors with population

votable_modes

List of all gamemodes that can be voted for, (value: config-tag)

\ No newline at end of file diff --git a/datum/configuration_section/general_configuration.html b/datum/configuration_section/general_configuration.html new file mode 100644 index 00000000000..093e08b281f --- /dev/null +++ b/datum/configuration_section/general_configuration.html @@ -0,0 +1,3 @@ +/datum/configuration_section/general_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

general_configuration

Config holder for all general/misc things

Vars

allow_antag_hudAllow players to use AntagHUD?
allow_character_metadataAllow character OOC notes
allow_holidaysAnnounce holidays (christmas, halloween, etc etc)
auto_disable_oocAuto disable OOC on roundstart?
base_loadout_pointsAmount of loadout points non-donors should get
bomb_capBomb cap (Devastation) Other values will be calculated around this
breakable_bonesDo we want to allow bones to break?
byond_account_age_thresholdBYOND account age threshold for first join alerts
chicken_hatched_capCap for chickens
cryo_penalty_periodRespawnability loss penalty for eary cryoing (minutes)
developer_express_startAuto start the game if on a local test server
disable_ambient_noiseDisable ambient sound and white noise
disable_cid_warning_popupDisable a popup if 2 users are on the same CID?
disable_lobby_musicDisable lobby music?
enable_auto_muteEnable auto muting in all chat channels
enable_auto_profilerEnable automatic profiling to profile.json
enable_cloningEnable/disable cloning
enable_default_weather_eventsEnable weather events initialized by SSweather. New weather events can still +be added during the round if this is disabled.
enable_night_shiftsEnable night-shift lighting?
enable_ooc_emojiEnable OOC emojis?
enable_revival_pod_plantsEnable/disable revival pod plants
enabled_cid_randomiser_busterEnable CID randomiser buster?
forbid_singulo_possessionForbid admins from posessing and flying the singulo round
ghost_interactionAllow ghosts to spin chairs round
guest_banBan all Guest BYOND accounts
lobby_timeTime in seconds for the pregame lobby. Measured in seconds
max_client_cid_historyMax CIDs a client can have history of before a warning is thrown
minimum_client_buildMinimum client build. Keep above 1421 due to exploits
monkey_cube_capCap for monkey cube monkey spawns
popup_admin_pmForce open a PM window when replied to? This is very annoying
random_ai_lawsetEnable random AI lawsets from the default=TRUE pool
randomise_shift_timeRandomise shift time instead of it always being 12:00?
reactionary_explosionsEnable to make explosions react to obstacles instead of ignoring them
respawn_delayTime to wait before you can respawn as a new character.
respawn_enabledEnable respawns by default?
restart_timeoutDefault timeout for world reboot. Measured in seconds
restrict_antag_hud_rejoinForbid players from rejoining if they use AntagHUD?
revival_brain_lifeTime for a brain to keep its spark of life (deciseconds)
roundstart_observer_periodObservers count as roundstart if they join from the main menu before this time (in minutes). Set to 0 to allow only-pregame start observers.
server_featuresServer features in a newline
server_nameServer name for the BYOND hub
server_tag_lineTagline for the hub entry
ssd_warningShow a warning to players to make them accept touching an SSD
starlightEnable/disable starlight to light up space
start_now_confirmationGive a confirm button for the "Start Now" verb

Var Details

allow_antag_hud

Allow players to use AntagHUD?

allow_character_metadata

Allow character OOC notes

allow_holidays

Announce holidays (christmas, halloween, etc etc)

auto_disable_ooc

Auto disable OOC on roundstart?

base_loadout_points

Amount of loadout points non-donors should get

bomb_cap

Bomb cap (Devastation) Other values will be calculated around this

breakable_bones

Do we want to allow bones to break?

byond_account_age_threshold

BYOND account age threshold for first join alerts

chicken_hatched_cap

Cap for chickens

cryo_penalty_period

Respawnability loss penalty for eary cryoing (minutes)

developer_express_start

Auto start the game if on a local test server

disable_ambient_noise

Disable ambient sound and white noise

disable_cid_warning_popup

Disable a popup if 2 users are on the same CID?

disable_lobby_music

Disable lobby music?

enable_auto_mute

Enable auto muting in all chat channels

enable_auto_profiler

Enable automatic profiling to profile.json

enable_cloning

Enable/disable cloning

enable_default_weather_events

Enable weather events initialized by SSweather. New weather events can still +be added during the round if this is disabled.

enable_night_shifts

Enable night-shift lighting?

enable_ooc_emoji

Enable OOC emojis?

enable_revival_pod_plants

Enable/disable revival pod plants

enabled_cid_randomiser_buster

Enable CID randomiser buster?

forbid_singulo_possession

Forbid admins from posessing and flying the singulo round

ghost_interaction

Allow ghosts to spin chairs round

guest_ban

Ban all Guest BYOND accounts

lobby_time

Time in seconds for the pregame lobby. Measured in seconds

max_client_cid_history

Max CIDs a client can have history of before a warning is thrown

minimum_client_build

Minimum client build. Keep above 1421 due to exploits

monkey_cube_cap

Cap for monkey cube monkey spawns

popup_admin_pm

Force open a PM window when replied to? This is very annoying

random_ai_lawset

Enable random AI lawsets from the default=TRUE pool

randomise_shift_time

Randomise shift time instead of it always being 12:00?

reactionary_explosions

Enable to make explosions react to obstacles instead of ignoring them

respawn_delay

Time to wait before you can respawn as a new character.

respawn_enabled

Enable respawns by default?

restart_timeout

Default timeout for world reboot. Measured in seconds

restrict_antag_hud_rejoin

Forbid players from rejoining if they use AntagHUD?

revival_brain_life

Time for a brain to keep its spark of life (deciseconds)

roundstart_observer_period

Observers count as roundstart if they join from the main menu before this time (in minutes). Set to 0 to allow only-pregame start observers.

server_features

Server features in a newline

server_name

Server name for the BYOND hub

server_tag_line

Tagline for the hub entry

ssd_warning

Show a warning to players to make them accept touching an SSD

starlight

Enable/disable starlight to light up space

start_now_confirmation

Give a confirm button for the "Start Now" verb

\ No newline at end of file diff --git a/datum/configuration_section/ipintel_configuration.html b/datum/configuration_section/ipintel_configuration.html new file mode 100644 index 00000000000..4f90d1fc77a --- /dev/null +++ b/datum/configuration_section/ipintel_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/ipintel_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

ipintel_configuration

Config holder for all things relating to IPIntel

Vars

bad_rating0-1 float for percentage threshold to kick people out
contact_emailIPIntel contact email. Required.
details_urlDetails URL for more info on an IP, including ASN. IP is tacked straight on the end.
enabledIs IPIntel enabled
hours_save_badHow many hours to save bad matches for. Cached due to rate limits
hours_save_goodHow many hours to save good matches for. Cached due to rate limits
ipintel_domainIPIntel Domain. Do not prefix with a protocol
playtime_ignore_thresholdDo not proxy-check players with more hours than the below threshold
whitelist_modeAre we in whitelist mode (Auto-kick people who are on proxies/VPNs)

Var Details

bad_rating

0-1 float for percentage threshold to kick people out

contact_email

IPIntel contact email. Required.

details_url

Details URL for more info on an IP, including ASN. IP is tacked straight on the end.

enabled

Is IPIntel enabled

hours_save_bad

How many hours to save bad matches for. Cached due to rate limits

hours_save_good

How many hours to save good matches for. Cached due to rate limits

ipintel_domain

IPIntel Domain. Do not prefix with a protocol

playtime_ignore_threshold

Do not proxy-check players with more hours than the below threshold

whitelist_mode

Are we in whitelist mode (Auto-kick people who are on proxies/VPNs)

\ No newline at end of file diff --git a/datum/configuration_section/job_configuration.html b/datum/configuration_section/job_configuration.html new file mode 100644 index 00000000000..c6a8d2e73bd --- /dev/null +++ b/datum/configuration_section/job_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/job_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

job_configuration

Config holder for all job related things

Vars

allow_aiAllow non-admins to play as AI
allow_skeleton_crew_accessWill the crew be given extended access if the manifest count is low enough?
assistant_limitLimit amount of assistants?
assistant_maint_accessGrant assistants maint access
assistant_security_ratioIf yes to above, ratio of assistants per security officer (IE: 4:1)
enable_exp_admin_bypassAllow admins to bypass EXP restrictions
enable_exp_restrictionsLockout jobs based on EXP
enable_exp_trackingEnable EXP logging and tracking
enable_job_amount_overridesEnable loading of job overrides from the config
guest_job_banPrevent guests from playing high profile roles
highpop_job_mapMap of job:amount for highpop. key: Job | value: amount
lowpop_job_mapMap of job:amount for lowpop. key: Job | value: amount
restrict_jobs_on_account_ageDo we want to restrict jobs based on account age
restrict_jobs_on_account_age_admin_bypassAllow admins to bypass age-based job restrictions
skeleton_crew_escape_thresholdNumber of crew on the manifest needed to disable skeleton crew access
skeleton_crew_thresholdNumber of crew on the manifest needed to activate skeleton crew access

Var Details

allow_ai

Allow non-admins to play as AI

allow_skeleton_crew_access

Will the crew be given extended access if the manifest count is low enough?

assistant_limit

Limit amount of assistants?

assistant_maint_access

Grant assistants maint access

assistant_security_ratio

If yes to above, ratio of assistants per security officer (IE: 4:1)

enable_exp_admin_bypass

Allow admins to bypass EXP restrictions

enable_exp_restrictions

Lockout jobs based on EXP

enable_exp_tracking

Enable EXP logging and tracking

enable_job_amount_overrides

Enable loading of job overrides from the config

guest_job_ban

Prevent guests from playing high profile roles

highpop_job_map

Map of job:amount for highpop. key: Job | value: amount

lowpop_job_map

Map of job:amount for lowpop. key: Job | value: amount

restrict_jobs_on_account_age

Do we want to restrict jobs based on account age

restrict_jobs_on_account_age_admin_bypass

Allow admins to bypass age-based job restrictions

skeleton_crew_escape_threshold

Number of crew on the manifest needed to disable skeleton crew access

skeleton_crew_threshold

Number of crew on the manifest needed to activate skeleton crew access

\ No newline at end of file diff --git a/datum/configuration_section/lighting_effects_configuration.html b/datum/configuration_section/lighting_effects_configuration.html new file mode 100644 index 00000000000..fb409899913 --- /dev/null +++ b/datum/configuration_section/lighting_effects_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/lighting_effects_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

lighting_effects_configuration

Config holder for all ligting effect related things

Vars

exposure_brightness_baseBrightness of exposure effect independent of light_power
exposure_brightness_powerBrightness of exposure effect that depends on light_power
exposure_contrast_baseContrast of exposure effect independent of light_power
exposure_contrast_powerContrast of exposure effect that depends on light_power
glow_brightness_baseBrightness of bloom effect independent of light_power
glow_brightness_powerBrightness of bloom effect that depends on light_power
glow_contrast_baseContrast of bloom effect independent of light_power
glow_contrast_powerContrast of bloom effect that depends on light_power

Var Details

exposure_brightness_base

Brightness of exposure effect independent of light_power

exposure_brightness_power

Brightness of exposure effect that depends on light_power

exposure_contrast_base

Contrast of exposure effect independent of light_power

exposure_contrast_power

Contrast of exposure effect that depends on light_power

glow_brightness_base

Brightness of bloom effect independent of light_power

glow_brightness_power

Brightness of bloom effect that depends on light_power

glow_contrast_base

Contrast of bloom effect independent of light_power

glow_contrast_power

Contrast of bloom effect that depends on light_power

\ No newline at end of file diff --git a/datum/configuration_section/logging_configuration.html b/datum/configuration_section/logging_configuration.html new file mode 100644 index 00000000000..d4ba92ed0b8 --- /dev/null +++ b/datum/configuration_section/logging_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/logging_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

logging_configuration

Config holder for all things regarding logging

Vars

access_loggingLog client access (login/logout)
admin_loggingLog admin actions
admin_warning_loggingLog admin warning messages
adminchat_loggingLog asay messages
attack_loggingEnable logging of attacks between players
debug_loggingLog debug messages
emote_loggingEnable logging of emotes
game_loggingLog game events (roundstart, results, a lot of other things)
href_loggingLog hrefs
ooc_loggingLog OOC messages
pda_loggingEnable logging of PDA messages
runtime_loggingEnable runtime logging
say_loggingLog ingame say messages
vote_loggingEnable logging of votes and their results
whisper_loggingEnable logging of whipers
world_loggingEnable world.log output logging

Var Details

access_logging

Log client access (login/logout)

admin_logging

Log admin actions

admin_warning_logging

Log admin warning messages

adminchat_logging

Log asay messages

attack_logging

Enable logging of attacks between players

debug_logging

Log debug messages

emote_logging

Enable logging of emotes

game_logging

Log game events (roundstart, results, a lot of other things)

href_logging

Log hrefs

ooc_logging

Log OOC messages

pda_logging

Enable logging of PDA messages

runtime_logging

Enable runtime logging

say_logging

Log ingame say messages

vote_logging

Enable logging of votes and their results

whisper_logging

Enable logging of whipers

world_logging

Enable world.log output logging

\ No newline at end of file diff --git a/datum/configuration_section/mc_configuration.html b/datum/configuration_section/mc_configuration.html new file mode 100644 index 00000000000..3b110b719d2 --- /dev/null +++ b/datum/configuration_section/mc_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/mc_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

mc_configuration

Config holder for all things regarding the MC

Vars

base_tickrateBase MC tick rate
highpop_disable_thresholdMC Highpop disable threshold
highpop_enable_thresholdMC Highpop enable threshold
highpop_tickrateHighpop MC tickrate
ticklagServer ticklag
world_init_tick_limitTick limit % during world Init

Var Details

base_tickrate

Base MC tick rate

highpop_disable_threshold

MC Highpop disable threshold

highpop_enable_threshold

MC Highpop enable threshold

highpop_tickrate

Highpop MC tickrate

ticklag

Server ticklag

world_init_tick_limit

Tick limit % during world Init

\ No newline at end of file diff --git a/datum/configuration_section/metrics_configuration.html b/datum/configuration_section/metrics_configuration.html new file mode 100644 index 00000000000..2593a6fbbce --- /dev/null +++ b/datum/configuration_section/metrics_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/metrics_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

metrics_configuration

Config holder for stuff relating to metrics management

Vars

enable_metricsAre metrics enabled or disabled
metrics_api_tokenEndpoint authorisation API key
metrics_endpointEndpoint to send metrics to, including protocol

Var Details

enable_metrics

Are metrics enabled or disabled

metrics_api_token

Endpoint authorisation API key

metrics_endpoint

Endpoint to send metrics to, including protocol

\ No newline at end of file diff --git a/datum/configuration_section/movement_configuration.html b/datum/configuration_section/movement_configuration.html new file mode 100644 index 00000000000..cf01d3fefa9 --- /dev/null +++ b/datum/configuration_section/movement_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/movement_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

movement_configuration

Config holder for values relating to mob movement speeds

Vars

alien_delayMove delay for xenomorphs
animal_delayMove delay for other simple animals
base_run_speedBase run speed before modifiers
base_walk_speedBase walk speed before modifiers
crawling_speed_reductioncrawling speed modifier
human_delayMove delay for humanoids
robot_delayMove delay for cyborgs
slime_delayMove delay for slimes (xenobio, not slimepeople)

Var Details

alien_delay

Move delay for xenomorphs

animal_delay

Move delay for other simple animals

base_run_speed

Base run speed before modifiers

base_walk_speed

Base walk speed before modifiers

crawling_speed_reduction

crawling speed modifier

human_delay

Move delay for humanoids

robot_delay

Move delay for cyborgs

slime_delay

Move delay for slimes (xenobio, not slimepeople)

\ No newline at end of file diff --git a/datum/configuration_section/overflow_configuration.html b/datum/configuration_section/overflow_configuration.html new file mode 100644 index 00000000000..257ca82e5e6 --- /dev/null +++ b/datum/configuration_section/overflow_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/overflow_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

overflow_configuration

Config holder for all overflow-server related things

Vars

overflow_server_locationLocation of the overflow server
overflow_whitelistList of ckeys who will never be routed to the overflow server
reroute_capAmount of players before reroute server is used. 0 to disable.

Var Details

overflow_server_location

Location of the overflow server

overflow_whitelist

List of ckeys who will never be routed to the overflow server

reroute_cap

Amount of players before reroute server is used. 0 to disable.

\ No newline at end of file diff --git a/datum/configuration_section/redis_configuration.html b/datum/configuration_section/redis_configuration.html new file mode 100644 index 00000000000..c1080e0e057 --- /dev/null +++ b/datum/configuration_section/redis_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/redis_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

redis_configuration

Config holder for all redis related things

Vars

connstringRedis connection string. Includes passphrase if needed.
enabledRedis enabled or not

Var Details

connstring

Redis connection string. Includes passphrase if needed.

enabled

Redis enabled or not

\ No newline at end of file diff --git a/datum/configuration_section/ruin_configuration.html b/datum/configuration_section/ruin_configuration.html new file mode 100644 index 00000000000..7f9f426e1fa --- /dev/null +++ b/datum/configuration_section/ruin_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/ruin_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

ruin_configuration

Config holder for all things regarding space ruins and lavaland ruins

Vars

active_lava_ruinsList of all active lavaland ruins
active_space_ruinsList of all active space ruins
enable_lavalandEnable lavaland generation.
enable_ruinsGlobally enable and disable placing of all ruins across lavaland and space.
enable_spaceEnable space z-level generation.
lavaland_ruin_budget_maxMaximum budget for lavaland ruins
lavaland_ruin_budget_minMinimum budget for lavaland ruins
maximum_lavaland_zlevelsMaximum number of extra lavaland zlevels to generate
maximum_space_zlevelsMaximum number of extra space zlevels to generate
minimum_lavaland_zlevelsMinimum number of extra lavaland zlevels to generate
minimum_space_zlevelsMinimum number of extra space zlevels to generate
space_ruin_budget_maxMaximum budget for space ruins
space_ruin_budget_minMinimum budget for space ruins

Var Details

active_lava_ruins

List of all active lavaland ruins

active_space_ruins

List of all active space ruins

enable_lavaland

Enable lavaland generation.

enable_ruins

Globally enable and disable placing of all ruins across lavaland and space.

enable_space

Enable space z-level generation.

lavaland_ruin_budget_max

Maximum budget for lavaland ruins

lavaland_ruin_budget_min

Minimum budget for lavaland ruins

maximum_lavaland_zlevels

Maximum number of extra lavaland zlevels to generate

maximum_space_zlevels

Maximum number of extra space zlevels to generate

minimum_lavaland_zlevels

Minimum number of extra lavaland zlevels to generate

minimum_space_zlevels

Minimum number of extra space zlevels to generate

space_ruin_budget_max

Maximum budget for space ruins

space_ruin_budget_min

Minimum budget for space ruins

\ No newline at end of file diff --git a/datum/configuration_section/system_configuration.html b/datum/configuration_section/system_configuration.html new file mode 100644 index 00000000000..cdf4e97bdcc --- /dev/null +++ b/datum/configuration_section/system_configuration.html @@ -0,0 +1,3 @@ +/datum/configuration_section/system_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

system_configuration

Config holder for stuff relating to server backend management and secrets

Vars

api_hostInternal API host
api_keyInternal API key
enable_multi_instance_supportDo we want to enable instancing stuff at all?
external_tos_handlerAre we using an external handler for TOS
github_api_tokenGithub API token
instance_idServer instance ID
internal_ipServer internal IP
is_productionIs this server a production server (Has higher security and requires 2FA)
override_mapMap datum of the map to use, overriding the defaults, and data/next_map.txt
shutdown_on_rebootDo we want the server to kill on reboot instead of keeping the same DD session
shutdown_shell_commandIf above is true, you can run a shell command
toast_on_init_completeAssoc list of region names and their server IPs. Used for geo-routing. +Send a system toast on init completion?
topic_ip_ratelimit_bypassList of IP addresses which bypass world topic rate limiting
topic_keyPassword for authorising world/Topic requests
ytdlp_urlThe URL for a ss13-yt-wrap server (https://github.com/Absolucy/ss13-yt-wrap) to use.

Var Details

api_host

Internal API host

api_key

Internal API key

enable_multi_instance_support

Do we want to enable instancing stuff at all?

external_tos_handler

Are we using an external handler for TOS

github_api_token

Github API token

instance_id

Server instance ID

internal_ip

Server internal IP

is_production

Is this server a production server (Has higher security and requires 2FA)

override_map

Map datum of the map to use, overriding the defaults, and data/next_map.txt

shutdown_on_reboot

Do we want the server to kill on reboot instead of keeping the same DD session

shutdown_shell_command

If above is true, you can run a shell command

toast_on_init_complete

Assoc list of region names and their server IPs. Used for geo-routing. +Send a system toast on init completion?

topic_ip_ratelimit_bypass

List of IP addresses which bypass world topic rate limiting

topic_key

Password for authorising world/Topic requests

ytdlp_url

The URL for a ss13-yt-wrap server (https://github.com/Absolucy/ss13-yt-wrap) to use.

\ No newline at end of file diff --git a/datum/configuration_section/url_configuration.html b/datum/configuration_section/url_configuration.html new file mode 100644 index 00000000000..36dbc7c3d6c --- /dev/null +++ b/datum/configuration_section/url_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/url_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

url_configuration

Config holder for all the server URLs

Vars

banappeals_urlURL for the server ban appeals forum
centcom_ban_db_urlURL for the CentCom Ban DB API
discord_forum_urlURL for a discord invite going via the forums
discord_urlURL for a direct discord invite
donations_urlURL for server donations
exploit_urlURL for the server exploit report locaion
forum_link_urlURL for linking ingame accounts and forum accounts. Token is appended to end
forum_playerinfo_urlURL for pulling player info on webtools
forum_urlURL for the server forums
github_urlURL for the server github repository
round_stats_urlURL for the stats page
rsc_urlsList of URLs for the server RSC data
rules_urlURL for the server rules
server_urlServer URL for auto-reconnecting people at end round
wiki_urlURL for the server wiki

Var Details

banappeals_url

URL for the server ban appeals forum

centcom_ban_db_url

URL for the CentCom Ban DB API

discord_forum_url

URL for a discord invite going via the forums

discord_url

URL for a direct discord invite

donations_url

URL for server donations

exploit_url

URL for the server exploit report locaion

URL for linking ingame accounts and forum accounts. Token is appended to end

forum_playerinfo_url

URL for pulling player info on webtools

forum_url

URL for the server forums

github_url

URL for the server github repository

round_stats_url

URL for the stats page

rsc_urls

List of URLs for the server RSC data

rules_url

URL for the server rules

server_url

Server URL for auto-reconnecting people at end round

wiki_url

URL for the server wiki

\ No newline at end of file diff --git a/datum/configuration_section/vote_configuration.html b/datum/configuration_section/vote_configuration.html new file mode 100644 index 00000000000..736da561c6e --- /dev/null +++ b/datum/configuration_section/vote_configuration.html @@ -0,0 +1 @@ +/datum/configuration_section/vote_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

vote_configuration

Config holder for stuff relating to the ingame vote system

Vars

autotransfer_initial_timeTime before the first shuttle vote (deciseconds)
autotransfer_interval_timeTime between subsequent shuttle votes if the first one is not successful (deciseconds)
disable_default_voteDefault to players not voting
enable_map_votingEnable map voting?
map_vote_day_typesDictionary of day number (string) to vote string
non_repeating_mapsIf TRUE, you will not be able to vote for the current map
prevent_dead_votingPrevent dead players from voting
vote_timeHow long will a vote last for in deciseconds

Var Details

autotransfer_initial_time

Time before the first shuttle vote (deciseconds)

autotransfer_interval_time

Time between subsequent shuttle votes if the first one is not successful (deciseconds)

disable_default_vote

Default to players not voting

enable_map_voting

Enable map voting?

map_vote_day_types

Dictionary of day number (string) to vote string

non_repeating_maps

If TRUE, you will not be able to vote for the current map

prevent_dead_voting

Prevent dead players from voting

vote_time

How long will a vote last for in deciseconds

\ No newline at end of file diff --git a/datum/construction.html b/datum/construction.html new file mode 100644 index 00000000000..c7147b755fc --- /dev/null +++ b/datum/construction.html @@ -0,0 +1 @@ +/datum/construction - Space Station 13
Space Station 13 - Modules - TypesVar Details

construction

Vars

taskpathPath of job objective completed.

Var Details

taskpath

Path of job objective completed.

\ No newline at end of file diff --git a/datum/construction/mecha.html b/datum/construction/mecha.html new file mode 100644 index 00000000000..305fe33b3df --- /dev/null +++ b/datum/construction/mecha.html @@ -0,0 +1 @@ +/datum/construction/mecha - Space Station 13
Space Station 13 - Modules - TypesProc Details

mecha

Procs

custom_actionConstruction datums

Proc Details

custom_action

Construction datums

\ No newline at end of file diff --git a/datum/contractor_hub.html b/datum/contractor_hub.html new file mode 100644 index 00000000000..c0ec75b727e --- /dev/null +++ b/datum/contractor_hub.html @@ -0,0 +1,27 @@ +/datum/contractor_hub - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Syndicate Hub

Describes and manages the contracts and rewards for a single contractor.

Vars

completed_contractsThe number of completed contracts.
contractor_uplinkThe contractor uplink associated to this hub.
contractsThe contracts offered by the hub.
current_contractThe current contract in progress.
dead_penaltyTC reward multiplier if the target was extracted DEAD. Should be a penalty so between 0 and 1. +The final amount is rounded up.
difficulty_tc_thresholdsCompleting every contract at a given difficulty will always result in a sum of TC greater or equal than the difficulty's threshold. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => number
num_contractsThe number of contracts to generate initially.
ownerThe contractor associated to this hub.
pageCurrent UI page index.
purchasesList of purchases that can be done for Rep.
repAmount of Contractor Rep available for spending.
rep_per_completionHow much Contractor Rep to earn per contract completion.
reward_tc_availableAmount of telecrystals available for redeeming.
reward_tc_paid_outTotal amount of paid out telecrystals since the start.
targetsList of targets from each contract in /datum/contractor_hub/var/contracts. +Used to make sure two contracts from the same hub don't have the same target.
tc_variationMaximum variation a single contract's TC reward can have upon generation. +In other words: final_reward = CEILING((tc_threshold / num_contracts) * (1 - (rand(0, 100) / 100) * tc_variation), 1)

Procs

calculate_tc_rewardGenerates an amount of TC to be used as a contract reward for the given difficulty.
claim_tcGives any unclaimed TC to the given mob.
first_loginCalled when the loading animation completes for the first time.
generate_contractsRegenerates a list of contracts for the contractor to take up.
is_user_authorizedReturns whether the given mob is allowed to connect to the uplink.
on_completionCalled when a /datum/syndicate_contract has been completed.

Var Details

completed_contracts

The number of completed contracts.

The contractor uplink associated to this hub.

contracts

The contracts offered by the hub.

current_contract

The current contract in progress.

dead_penalty

TC reward multiplier if the target was extracted DEAD. Should be a penalty so between 0 and 1. +The final amount is rounded up.

difficulty_tc_thresholds

Completing every contract at a given difficulty will always result in a sum of TC greater or equal than the difficulty's threshold. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => number

num_contracts

The number of contracts to generate initially.

owner

The contractor associated to this hub.

page

Current UI page index.

purchases

List of purchases that can be done for Rep.

rep

Amount of Contractor Rep available for spending.

rep_per_completion

How much Contractor Rep to earn per contract completion.

reward_tc_available

Amount of telecrystals available for redeeming.

reward_tc_paid_out

Total amount of paid out telecrystals since the start.

targets

List of targets from each contract in /datum/contractor_hub/var/contracts. +Used to make sure two contracts from the same hub don't have the same target.

tc_variation

Maximum variation a single contract's TC reward can have upon generation. +In other words: final_reward = CEILING((tc_threshold / num_contracts) * (1 - (rand(0, 100) / 100) * tc_variation), 1)

Proc Details

calculate_tc_reward

Generates an amount of TC to be used as a contract reward for the given difficulty.

+

Arguments:

+

claim_tc

Gives any unclaimed TC to the given mob.

+

Arguments:

+

first_login

Called when the loading animation completes for the first time.

generate_contracts

Regenerates a list of contracts for the contractor to take up.

is_user_authorized

Returns whether the given mob is allowed to connect to the uplink.

+

Arguments:

+

on_completion

Called when a /datum/syndicate_contract has been completed.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/controller.html b/datum/controller.html new file mode 100644 index 00000000000..91443163418 --- /dev/null +++ b/datum/controller.html @@ -0,0 +1 @@ +/datum/controller - Space Station 13
Space Station 13 - Modules - TypesProc Details

controller

Procs

log_startup_progressStandardized method for tracking startup times.

Proc Details

log_startup_progress

Standardized method for tracking startup times.

\ No newline at end of file diff --git a/datum/controller/global_vars.html b/datum/controller/global_vars.html new file mode 100644 index 00000000000..7cedc91fbb4 --- /dev/null +++ b/datum/controller/global_vars.html @@ -0,0 +1,49 @@ +/datum/controller/global_vars - Space Station 13
Space Station 13 - Modules - TypesVar Details

global_vars

Vars

AdminProcCallCountHow many procs have been called
AdminProcCallSpamPreventionList to handle proc call spam prevention
AdminProcCallerWho is currently calling procs
BSACooldownIs admin BSA (damage a user) currently on cooldown?
LastAdminCalledProcLast proc called
LastAdminCalledTargetLast target to have a proc called on it
LastAdminCalledTargetUIDUID of the admin who last called
PDAsGlobal list of all PDAs in the world
acid_overlayACID
active_security_positionsActive security roles
admin_mutes_assocAssociative list of people who are muted via admin mutes
admin_objective_listStores objective names as list keys, and their corresponding typepaths as list values.
admin_permission_namesAssoc list of admin permission names
admin_statetgui state: admin_state
ai_controllers_by_statusBasic AI controllers based on status
ai_controllers_by_zlevelBasic AI controllers based on their z level
ai_nodesStores a list of all AI resource nodes
ai_subtreesAll basic AI subtrees
allNewscastersGlobal list that contains all existing newscasters in the world.
all_objectivesStores a reference to every objective which currently exists.
all_sacrifice_targetsStores a reference to every heretic sacrifice target.
all_voice_of_god_triggersUsed to stop listeners with silly or clown-esque (first) names such as "Honk" or "Flip" from screwing up certain commands.
always_statetgui state: always_state
anomaly_smash_trackWe want anomalous_particulate_tracker to exist only once and be accessible from anywhere.
blurb_witnessesList of ckeys that have seen a blurb of a given key.
can_pass_info_varsList of vars on /datum/can_pass_info to use when checking two instances for equality
character_physiquesGlobal list for descriptors
client_fps_optionsBest FPS options for clients. A regular list that has only divisors of 1000
command_head_positionsOnly roles that are command of departments, for revolution and similar stuff
command_positionsAll roles that are within the command category
configurationGlobal configuration datum holder for all the config sections
conscious_statetgui state: conscious_state
deep_inventory_statetgui state: deep_inventory_state
default_statetgui state: default_state
disable_explosionsAre explosions currently disabled for EORG?
dna_activity_boundsDNA 2: The Spaghetti Strikes Back
dna_mutationsAssoc list. Key = type of the mutation, value = the mutation
dooc_enabledIs OOC currently enabled for dead people?
dsay_enabledIs deadchat currently enabled?
em_mask_matrixA globaly cached version of EM_MASK_MATRIX for quick access.
enter_allowedAllow new players to enter the game?
frozen_atom_listFreeze Mob/Mech Verb -- Ported from NSS Pheonix (Unbound Travels)//////
game_yearThe current game year
ghost_hud_panelStores an instance of /datum/ui_module/ghost_hud_panel so that ghosts can use this to open their HUD panel.
glide_size_multiplierCompensating for time dilation
global_singulo_idAmount of singulos created during the round(note that this will include teslas as well)
gravity_generatorsGlobal list of all active gravity generators. Keyed by the Z level
hands_statetgui state: hands_state
heretic_sacrifice_landmarksA global assoc list of all landmarks that denote a heretic sacrifice location. [string heretic path] = [landmark].
heretic_start_knowledgeGlobal list of all heretic knowledge that have is_starting_knowledge = TRUE. List of PATHS.
hostile_machinesList of objects that AIs will treat as targets
hudsGLOBAL HUD LIST
human_adjacent_statetgui state: human_adjacent_state
icon_dimensionsCache of the width and height of icon files, to avoid repeating the same expensive operation
inventory_statetgui state: inventory_state
join_motdJoin MOTD for the server
join_tosJoin TOS for the server
known_advanced_diseaseslist of known advanced disease ids. If an advanced disease isn't here it will display as unknown disease on scanners +Initialized with the id of the flu and cold samples from the virologist's fridge in the pandemic's init
library_catalogLibrary Catalog global is for storing a library catalog datum that will track book, category, and report lists for the library
log_pulltypesA list of types of objects we want to record in admin logs when +a player starts pulling them.
looc_enabledIs LOOC currently enabled?
looping_soundsList of looping sounds
marker_beacon_colorsMarker Beacons
mod_link_idsGlobal list of all ids associated to a /datum/mod_link instance
mod_themesGlobal list of all /datum/mod_theme
mouse_respawn_timeAmount of time (in minutes) that must pass between a player dying as a mouse and repawning as a mouse
multiverseMultiverse Blade
news_networkThe feed network singleton. Contains all channels (which contain all stories).
next_unique_datum_idThe next UID to be used (Increments by 1 for each UID)
nologeventAre we in a no-log event (EORG, highlander, etc)?
not_incapacitated_statetgui state: not_incapacitated_state
not_incapacitated_turf_statetgui state: not_incapacitated_turf_state
notcontained_statetgui state: notcontained_state
observer_statetgui state: observer_state
ooc_enabledIs OOC currently enabled?
physical_obscured_statetgui state: physical_obscured_state
physical_statetgui state: physical_state
ragnarok_kill_countUsed to track warrior/servant deaths
rcd_listList of entertainment telescreens connected to the "news" cameranet
reality_smash_trackWe want reality_smash_tracker to exist only once and be accessible from anywhere.
rnd_tech_id_to_nameAssoc list of all RND techs with ID to name
scanned_organswhat xeno organs have been scanned today?
security_positionsRoles that include any semblence of security, mostly for jobbans
seeds_cached_base64_iconsStores a list of the cached seed icons. Used in the seed extractor and the gene modder
self_statetgui state: self_state
slower_restartWill our restart be slower?
smokes_activeCounter for the current amount of smoke
sparks_activeCounter for the current amount of sparks
special_role_timesMinimum age (in days) for accounts to play these roles.
strippable_statetgui state: strippable_state
swarmer_blacklistBlacklist of types that swarmers should not touch
target_interested_atomsStatic typecache list of things we are interested in +Consider this a union of the for loop and the hearers call from below +Must be kept up to date with the contents of hostile_machines
tcomms_machinesGlobal list for all telecomms machines in the world
tesla_containmentList of things that restrain teslas.
tgs_logLog of TGS stuff that can be viewed ingame
tilt_critsList of possible crits from things tipping over
trait_name_mapvalue -> trait name, generated on use from trait_by_type global
ui_loginstgui login
ui_modalsui modals
uid_logLog of all UIDs created in the round. Assoc list with type as key and amount as value
unplanned_controllersBasic AI controllers that are currently performing idled behaviors
viewer_statetgui state: viewer_state
voice_of_god_commandsList of all voice of god commands
wire_color_directoryList of wire colors for each object type of that round. One for airlocks, one for vendors, etc.
world_topic_handlersList of all world topic handler datums. Populated inside makeDatumRefLists()
world_topic_spam_prevention_handlersList of all world topic spam prevention handlers. See code/modules/world_topic/_spam_prevention_handler.dm

Var Details

AdminProcCallCount

How many procs have been called

AdminProcCallSpamPrevention

List to handle proc call spam prevention

AdminProcCaller

Who is currently calling procs

BSACooldown

Is admin BSA (damage a user) currently on cooldown?

LastAdminCalledProc

Last proc called

LastAdminCalledTarget

Last target to have a proc called on it

LastAdminCalledTargetUID

UID of the admin who last called

PDAs

Global list of all PDAs in the world

acid_overlay

ACID

active_security_positions

Active security roles

admin_mutes_assoc

Associative list of people who are muted via admin mutes

admin_objective_list

Stores objective names as list keys, and their corresponding typepaths as list values.

admin_permission_names

Assoc list of admin permission names

admin_state

tgui state: admin_state

+

Checks that the user is an admin, end-of-story.

ai_controllers_by_status

Basic AI controllers based on status

ai_controllers_by_zlevel

Basic AI controllers based on their z level

ai_nodes

Stores a list of all AI resource nodes

ai_subtrees

All basic AI subtrees

allNewscasters

Global list that contains all existing newscasters in the world.

all_objectives

Stores a reference to every objective which currently exists.

all_sacrifice_targets

Stores a reference to every heretic sacrifice target.

all_voice_of_god_triggers

Used to stop listeners with silly or clown-esque (first) names such as "Honk" or "Flip" from screwing up certain commands.

always_state

tgui state: always_state

+

Always grants the user UI_INTERACTIVE. Period.

anomaly_smash_track

We want anomalous_particulate_tracker to exist only once and be accessible from anywhere.

blurb_witnesses

List of ckeys that have seen a blurb of a given key.

can_pass_info_vars

List of vars on /datum/can_pass_info to use when checking two instances for equality

character_physiques

Global list for descriptors

client_fps_options

Best FPS options for clients. A regular list that has only divisors of 1000

command_head_positions

Only roles that are command of departments, for revolution and similar stuff

command_positions

All roles that are within the command category

configuration

Global configuration datum holder for all the config sections

conscious_state

tgui state: conscious_state

+

Only checks if the user is conscious.

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.

+

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

disable_explosions

Are explosions currently disabled for EORG?

dna_activity_bounds

DNA 2: The Spaghetti Strikes Back

+

@author N3X15 nexisentertainment@gmail.com

dna_mutations

Assoc list. Key = type of the mutation, value = the mutation

dooc_enabled

Is OOC currently enabled for dead people?

dsay_enabled

Is deadchat currently enabled?

em_mask_matrix

A globaly cached version of EM_MASK_MATRIX for quick access.

enter_allowed

Allow new players to enter the game?

frozen_atom_list

Freeze Mob/Mech Verb -- Ported from NSS Pheonix (Unbound Travels)//////

+

Allows admin's to right click on any mob/mech and freeze them in place.

game_year

The current game year

ghost_hud_panel

Stores an instance of /datum/ui_module/ghost_hud_panel so that ghosts can use this to open their HUD panel.

glide_size_multiplier

Compensating for time dilation

global_singulo_id

Amount of singulos created during the round(note that this will include teslas as well)

gravity_generators

Global list of all active gravity generators. Keyed by the Z level

hands_state

tgui state: hands_state

+

Checks that the src_object is in the user's hands.

heretic_sacrifice_landmarks

A global assoc list of all landmarks that denote a heretic sacrifice location. [string heretic path] = [landmark].

heretic_start_knowledge

Global list of all heretic knowledge that have is_starting_knowledge = TRUE. List of PATHS.

hostile_machines

List of objects that AIs will treat as targets

huds

GLOBAL HUD LIST

human_adjacent_state

tgui state: human_adjacent_state

+

In addition to default checks, only allows interaction for a +human adjacent user.

icon_dimensions

Cache of the width and height of icon files, to avoid repeating the same expensive operation

inventory_state

tgui state: inventory_state

+

Checks that the src_object is in the user's top-level (hand, ear, pocket, belt, etc) inventory.

join_motd

Join MOTD for the server

join_tos

Join TOS for the server

known_advanced_diseases

list of known advanced disease ids. If an advanced disease isn't here it will display as unknown disease on scanners +Initialized with the id of the flu and cold samples from the virologist's fridge in the pandemic's init

library_catalog

Library Catalog global is for storing a library catalog datum that will track book, category, and report lists for the library

log_pulltypes

A list of types of objects we want to record in admin logs when +a player starts pulling them.

looc_enabled

Is LOOC currently enabled?

looping_sounds

List of looping sounds

marker_beacon_colors

Marker Beacons

Global list of all ids associated to a /datum/mod_link instance

mod_themes

Global list of all /datum/mod_theme

mouse_respawn_time

Amount of time (in minutes) that must pass between a player dying as a mouse and repawning as a mouse

multiverse

Multiverse Blade

news_network

The feed network singleton. Contains all channels (which contain all stories).

next_unique_datum_id

The next UID to be used (Increments by 1 for each UID)

nologevent

Are we in a no-log event (EORG, highlander, etc)?

not_incapacitated_state

tgui state: not_incapacitated_state

+

Checks that the user isn't incapacitated

not_incapacitated_turf_state

tgui state: not_incapacitated_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf

notcontained_state

tgui state: notcontained_state

+

Checks that the user is not inside src_object, and then makes the +default checks.

observer_state

tgui state: observer_state

+

Checks that the user is an observer/ghost.

ooc_enabled

Is OOC currently enabled?

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.

ragnarok_kill_count

Used to track warrior/servant deaths

rcd_list

List of entertainment telescreens connected to the "news" cameranet

reality_smash_track

We want reality_smash_tracker to exist only once and be accessible from anywhere.

rnd_tech_id_to_name

Assoc list of all RND techs with ID to name

scanned_organs

what xeno organs have been scanned today?

security_positions

Roles that include any semblence of security, mostly for jobbans

seeds_cached_base64_icons

Stores a list of the cached seed icons. Used in the seed extractor and the gene modder

self_state

tgui state: self_state

+

Only checks that the user and src_object are the same.

slower_restart

Will our restart be slower?

smokes_active

Counter for the current amount of smoke

sparks_active

Counter for the current amount of sparks

special_role_times

Minimum age (in days) for accounts to play these roles.

strippable_state

tgui state: strippable_state

+

Checks if user can strip the mob src_object

swarmer_blacklist

Blacklist of types that swarmers should not touch

target_interested_atoms

Static typecache list of things we are interested in +Consider this a union of the for loop and the hearers call from below +Must be kept up to date with the contents of hostile_machines

tcomms_machines

Global list for all telecomms machines in the world

tesla_containment

List of things that restrain teslas.

tgs_log

Log of TGS stuff that can be viewed ingame

tilt_crits

List of possible crits from things tipping over

trait_name_map

value -> trait name, generated on use from trait_by_type global

ui_logins

tgui login

+

Allows the handling of logins using IDs within tgui.

+

Two key procs:

+ +

How to use (DM side):

+
    +
  1. Call /obj/proc/ui_login_act at the start of your ui_act() proc
  2. +
  3. Call /obj/proc/ui_login_data in your ui_data() proc while passing the data list
  4. +
  5. In your object, call /obj/proc/ui_login_get to get the current login state.
  6. +
  7. Optional: call /obj/proc/ui_login_attackby in your attackby__legacy__attackchain() to make the login process easier.
  8. +
+

How to use (JS side): Use the and interfaces.

ui_modals

ui modals

+

Allows creation of modals within tgui.

uid_log

Log of all UIDs created in the round. Assoc list with type as key and amount as value

unplanned_controllers

Basic AI controllers that are currently performing idled behaviors

viewer_state

tgui state: viewer_state

+

State for only viewing, regardless of distance. Different from observer_state, which grants interactivity exclusively if an observer/admin.

voice_of_god_commands

List of all voice of god commands

wire_color_directory

List of wire colors for each object type of that round. One for airlocks, one for vendors, etc.

world_topic_handlers

List of all world topic handler datums. Populated inside makeDatumRefLists()

world_topic_spam_prevention_handlers

List of all world topic spam prevention handlers. See code/modules/world_topic/_spam_prevention_handler.dm

\ No newline at end of file diff --git a/datum/controller/master.html b/datum/controller/master.html new file mode 100644 index 00000000000..3ca1dc45fe5 --- /dev/null +++ b/datum/controller/master.html @@ -0,0 +1,3 @@ +/datum/controller/master - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

master

Vars

current_runlevelFor scheduling different subsystems for different stages of the round
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
initializations_finished_with_no_players_logged_inDid inits finish with no one logged in
iterationHow many times have we ran
last_init_infoLast reported init info
last_processedThe last subsystem to be fire()'d.
last_runworld.time of last fire, for tracking lag outside of the mc
make_runtimeSet this to 1 to debug the MC with a detailed stack trace. Do not set on a production server.
map_loadingAre we loading in a new map?
processingAre we processing (higher values increase the processing delay by n ticks)
queue_headStart of queue linked list
queue_priority_countRunning total so that we don't have to loop thru the queue each run to split up the tick
queue_priority_count_bgSame, but for background subsystems
queue_tailEnd of queue linked list (used for appending to the list)
random_seedRandom seed generated for randomness if entropy is required
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)
sleep_offline_after_initializationsDo we want to sleep until players log in?
ss_in_init_orderCache for the loading screen - cleared after
subsystemsList of subsystems to fire().

Procs

RunQueueRunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors

Var Details

current_runlevel

For scheduling different subsystems for different stages of the round

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

initializations_finished_with_no_players_logged_in

Did inits finish with no one logged in

iteration

How many times have we ran

last_init_info

Last reported init info

last_processed

The last subsystem to be fire()'d.

last_run

world.time of last fire, for tracking lag outside of the mc

make_runtime

Set this to 1 to debug the MC with a detailed stack trace. Do not set on a production server.

map_loading

Are we loading in a new map?

processing

Are we processing (higher values increase the processing delay by n ticks)

queue_head

Start of queue linked list

queue_priority_count

Running total so that we don't have to loop thru the queue each run to split up the tick

queue_priority_count_bg

Same, but for background subsystems

queue_tail

End of queue linked list (used for appending to the list)

random_seed

Random seed generated for randomness if entropy is required

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)

sleep_offline_after_initializations

Do we want to sleep until players log in?

ss_in_init_order

Cache for the loading screen - cleared after

subsystems

List of subsystems to fire().

Proc Details

RunQueue

RunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors

\ No newline at end of file diff --git a/datum/controller/subsystem.html b/datum/controller/subsystem.html new file mode 100644 index 00000000000..84f745770db --- /dev/null +++ b/datum/controller/subsystem.html @@ -0,0 +1,18 @@ +/datum/controller/subsystem - Space Station 13
Space Station 13 - Modules - TypesVar 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)
cpu_displayTab to display in under the MC subtabs
failure_strikesHow many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!
fire_sleep_countAmount of times the subsystem has slept during fire()
flags[Subsystem Flags][SS_NO_INIT] 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()
offline_implicationsWhat are the implications of this SS being offlined?
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.
ss_idSS ID - Again, change this but keep it snake_case
stateTracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping
tick_allocation_avgHow much of a tick (in percents of a tick) do we get allocated by the mc on avg.
tick_allocation_lastHow much of a tick (in percents of a tick) were we allocated last fire.
tick_overrunRunning average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing
tick_usageRunning average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run
ticksTracks how many fires the subsystem takes to complete a run on average.
times_firedTracks the amount of completed runs for the subsystem
waitTime to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Procs

PreInitdatum/controller/subsystem/New()
enqueueQueue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)
firepreviously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.
get_costReturns what to display as the ms cost for this subsystem.
get_metricsReturns the metrics for the subsystem.
igniteThis is used so the mc knows when the subsystem sleeps. do not override.
last_taskAllows a subsystem to report what it was doing in case of a silent crash.
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)

cpu_display

Tab to display in under the MC subtabs

failure_strikes

How many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!

fire_sleep_count

Amount of times the subsystem has slept during fire()

flags

[Subsystem Flags][SS_NO_INIT] 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()

offline_implications

What are the implications of this SS being offlined?

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.

ss_id

SS ID - Again, change this but keep it snake_case

state

Tracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping

tick_allocation_avg

How much of a tick (in percents of a tick) do we get allocated by the mc on avg.

tick_allocation_last

How much of a tick (in percents of a tick) were we allocated last fire.

tick_overrun

Running average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing

tick_usage

Running average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run

ticks

Tracks how many fires the subsystem takes to complete a run on average.

times_fired

Tracks the amount of completed runs for the subsystem

wait

Time to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Proc Details

PreInit

datum/controller/subsystem/New()

enqueue

Queue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)

fire

previously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.

get_cost

Returns what to display as the ms cost for this subsystem.

get_metrics

Returns the metrics for the subsystem.

+

This can be overriden on subtypes for variables that could affect tick usage +Example: ATs on SSair

ignite

This is used so the mc knows when the subsystem sleeps. do not override.

last_task

Allows a subsystem to report what it was doing in case of a silent crash.

postpone

Causes the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)

update_nextfire

\ No newline at end of file diff --git a/datum/controller/subsystem/ai_controllers.html b/datum/controller/subsystem/ai_controllers.html new file mode 100644 index 00000000000..ce870890c78 --- /dev/null +++ b/datum/controller/subsystem/ai_controllers.html @@ -0,0 +1 @@ +/datum/controller/subsystem/ai_controllers - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_controllers

Vars

our_costThe tick cost of all active AI, calculated on fire.
planning_statusType of status we are interested in running
summing_costThe tick cost of all currently processed AI, being summed together

Procs

on_max_z_changedCalled when the max Z level was changed, updating our coverage.
setup_subtreesCreates all instances of ai_subtrees and assigns them to the ai_subtrees list.

Var Details

our_cost

The tick cost of all active AI, calculated on fire.

planning_status

Type of status we are interested in running

summing_cost

The tick cost of all currently processed AI, being summed together

Proc Details

on_max_z_changed

Called when the max Z level was changed, updating our coverage.

setup_subtrees

Creates all instances of ai_subtrees and assigns them to the ai_subtrees list.

\ No newline at end of file diff --git a/datum/controller/subsystem/air.html b/datum/controller/subsystem/air.html new file mode 100644 index 00000000000..90b6b87eee0 --- /dev/null +++ b/datum/controller/subsystem/air.html @@ -0,0 +1 @@ +/datum/controller/subsystem/air - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

air

Vars

added_bound_mixturesThe number of bound mixtures that were added during this processing cycle.
atmos_machineryThe set of active atmos machinery. Length shown in SS Info as AM.
bound_mixturesThe set of current bound mixtures. Shown in SS Info as BM:x+y, where x is the length at the start of the most recent processing, and y is the number of mixtures that have been added during processing.
cost_atmos_machineryThe cost of a pass through atmos machinery, shown in SS Info's C block as AM.
cost_bound_mixturesThe cost of a pass through bound gas mixtures, shown in SS Info's C block as BM.
cost_fullHow long we took for a full pass through the subsystem. Custom-tracked version of cost.
cost_hotspotsThe cost of a pass through hotspots, shown in SS Info's C block as HS.
cost_interesting_tilesThe cost of a pass through interesting tiles, shown in SS Info's C block as IT.
cost_milla_tickThe cost of a MILLA tick in ms, shown in SS Info's C block as MT.
cost_pipenetsThe cost of a pass through pipenets, shown in SS Info's C block as PN.
cost_pipenets_to_buildThe cost of a pass through building pipenets, shown in SS Info's C block as DPN.
cost_pressure_tilesThe cost of a pass through loading pressure tiles, shown in SS Info's C block as PT.
cost_windy_tilesThe cost of a pass through windy tiles, shown in SS Info's C block as WT.
currentpartWhich step we're currently on, used to let us resume if our time budget elapses.
currentrunAn arbitrary list of stuff currently being processed.
hotspot_countThe length of the most recent hotspot list, shown in SS Info as HS.
hotspotsThe set of tiles that are currently on fire.
in_milla_safe_codeAre we currently running in a MILLA-safe context, i.e. is milla_idle guaranteed to be TRUE. Nothing outside of this file should change this.
interesting_tile_countThe length of the most recent interesting tiles list, shown in SS Info as IT.
last_bound_mixturesThe number of bound mixtures we saw when we last stopped processing them.
last_complete_tickWhen did we last finish running a complete tick?
last_tick_startWhen did we last start a tick?
machinery_to_constructA list of atmos machinery to set up in Initialize.
milla_idleIs MILLA currently idle? TRUE if the MILLA tick has finished, meaning data is fresh and changes can be made. FALSE if MILLA is currently running a tick, meaning data is from last tick and changes cannot be made.
milla_tickAnd that means we also nee a replacement for times_fired.
new_hotspotsThe set of tiles that are still on fire after this tick.
new_windy_tilesThe set of tiles that are still experiencing wind after this tick.
original_bound_mixturesThe original length of bound_mixtures.
pipenetsThe set of active pipenets. Length shown in SS Info as PN.
pipenets_to_buildThe set of pipenets that need to be built. Length shown in SS Info as PTB.
pressure_hud_usersThe people who were using the pressure HUD last tick.
pressure_overlay_alphaWhat alpha to use for the pressure overlay. Applies to everyone using the overlay.
pressure_xThe coordinates of the pressure image we're currently loading.
self_waitHow long we actually wait between ticks. Will round up to the next server tick.
sleepersWhat sleeping callbacks are currently running?
time_sleptHow long we spent sleeping while waiting for MILLA to finish the last tick, shown in SS Info's C block as ZZZ.
waiting_for_syncA list of callbacks waiting for MILLA to finish its tick and enter synchronous mode.
was_pausedMC seems to not be good at tracking whether SSair pauses, so track that ourselves.
windy_tile_countThe length of the most recent windy tiles list, shown in SS Info as WT.
windy_tilesThe set of tiles that are currently experiencing wind.

Procs

sleepable_synchronizeSimilar to addtimer, but triggers once MILLA enters synchronous mode. This version allows for sleeping if it's absolutely necessary.
synchronizeSimilar to addtimer, but triggers once MILLA enters synchronous mode.

Var Details

added_bound_mixtures

The number of bound mixtures that were added during this processing cycle.

atmos_machinery

The set of active atmos machinery. Length shown in SS Info as AM.

bound_mixtures

The set of current bound mixtures. Shown in SS Info as BM:x+y, where x is the length at the start of the most recent processing, and y is the number of mixtures that have been added during processing.

cost_atmos_machinery

The cost of a pass through atmos machinery, shown in SS Info's C block as AM.

cost_bound_mixtures

The cost of a pass through bound gas mixtures, shown in SS Info's C block as BM.

cost_full

How long we took for a full pass through the subsystem. Custom-tracked version of cost.

cost_hotspots

The cost of a pass through hotspots, shown in SS Info's C block as HS.

cost_interesting_tiles

The cost of a pass through interesting tiles, shown in SS Info's C block as IT.

cost_milla_tick

The cost of a MILLA tick in ms, shown in SS Info's C block as MT.

cost_pipenets

The cost of a pass through pipenets, shown in SS Info's C block as PN.

cost_pipenets_to_build

The cost of a pass through building pipenets, shown in SS Info's C block as DPN.

cost_pressure_tiles

The cost of a pass through loading pressure tiles, shown in SS Info's C block as PT.

cost_windy_tiles

The cost of a pass through windy tiles, shown in SS Info's C block as WT.

currentpart

Which step we're currently on, used to let us resume if our time budget elapses.

currentrun

An arbitrary list of stuff currently being processed.

hotspot_count

The length of the most recent hotspot list, shown in SS Info as HS.

hotspots

The set of tiles that are currently on fire.

in_milla_safe_code

Are we currently running in a MILLA-safe context, i.e. is milla_idle guaranteed to be TRUE. Nothing outside of this file should change this.

interesting_tile_count

The length of the most recent interesting tiles list, shown in SS Info as IT.

last_bound_mixtures

The number of bound mixtures we saw when we last stopped processing them.

last_complete_tick

When did we last finish running a complete tick?

last_tick_start

When did we last start a tick?

machinery_to_construct

A list of atmos machinery to set up in Initialize.

milla_idle

Is MILLA currently idle? TRUE if the MILLA tick has finished, meaning data is fresh and changes can be made. FALSE if MILLA is currently running a tick, meaning data is from last tick and changes cannot be made.

milla_tick

And that means we also nee a replacement for times_fired.

new_hotspots

The set of tiles that are still on fire after this tick.

new_windy_tiles

The set of tiles that are still experiencing wind after this tick.

original_bound_mixtures

The original length of bound_mixtures.

pipenets

The set of active pipenets. Length shown in SS Info as PN.

pipenets_to_build

The set of pipenets that need to be built. Length shown in SS Info as PTB.

pressure_hud_users

The people who were using the pressure HUD last tick.

pressure_overlay_alpha

What alpha to use for the pressure overlay. Applies to everyone using the overlay.

pressure_x

The coordinates of the pressure image we're currently loading.

self_wait

How long we actually wait between ticks. Will round up to the next server tick.

sleepers

What sleeping callbacks are currently running?

time_slept

How long we spent sleeping while waiting for MILLA to finish the last tick, shown in SS Info's C block as ZZZ.

waiting_for_sync

A list of callbacks waiting for MILLA to finish its tick and enter synchronous mode.

was_paused

MC seems to not be good at tracking whether SSair pauses, so track that ourselves.

windy_tile_count

The length of the most recent windy tiles list, shown in SS Info as WT.

windy_tiles

The set of tiles that are currently experiencing wind.

Proc Details

sleepable_synchronize

Similar to addtimer, but triggers once MILLA enters synchronous mode. This version allows for sleeping if it's absolutely necessary.

synchronize

Similar to addtimer, but triggers once MILLA enters synchronous mode.

\ No newline at end of file diff --git a/datum/controller/subsystem/ambience.html b/datum/controller/subsystem/ambience.html new file mode 100644 index 00000000000..66062a3f5e9 --- /dev/null +++ b/datum/controller/subsystem/ambience.html @@ -0,0 +1 @@ +/datum/controller/subsystem/ambience - Space Station 13
Space Station 13 - Modules - TypesVar Details

ambience

Vars

ambience_listening_clientsAssoc list of listening client - next ambience time

Var Details

ambience_listening_clients

Assoc list of listening client - next ambience time

\ No newline at end of file diff --git a/datum/controller/subsystem/assets.html b/datum/controller/subsystem/assets.html new file mode 100644 index 00000000000..529e3bae102 --- /dev/null +++ b/datum/controller/subsystem/assets.html @@ -0,0 +1 @@ +/datum/controller/subsystem/assets - Space Station 13
Space Station 13 - Modules - TypesVar Details

assets

Vars

cacheContains /datum/asset_cache_item

Var Details

cache

Contains /datum/asset_cache_item

\ No newline at end of file diff --git a/datum/controller/subsystem/blackbox.html b/datum/controller/subsystem/blackbox.html new file mode 100644 index 00000000000..70f3034f02d --- /dev/null +++ b/datum/controller/subsystem/blackbox.html @@ -0,0 +1,48 @@ +/datum/controller/subsystem/blackbox - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

blackbox

Vars

feedbackList of all recorded feedback
research_levelsList of highest tech levels attained that isn't lost lost by destruction of RD computers
sealedIs it time to stop tracking stats?
versionsAssociative list of any feedback variables that have had their format changed since creation and their current version, remember to update this

Procs

LogBroadcastRadio broadcast logging helper
ReportDeathDeath reporting proc
SealBlackbox Sealer
ShutdownShutdown Helper
find_feedback_datumHelper to find and return a feeedback datum
log_researchResearch level broadcast logging helper
record_feedbackMain feedback recording proc
record_feedback_recurse_listRecursive list recorder

Var Details

feedback

List of all recorded feedback

research_levels

List of highest tech levels attained that isn't lost lost by destruction of RD computers

sealed

Is it time to stop tracking stats?

versions

Associative list of any feedback variables that have had their format changed since creation and their current version, remember to update this

Proc Details

LogBroadcast

Radio broadcast logging helper

+

Called during [/proc/broadcast_message()] to log a message to the blackbox. +Translates the specific frequency to a name

+

Arguments:

+

ReportDeath

Death reporting proc

+

Called when humans and cyborgs die, and logs death info to the death table

+

Arguments:

+

Seal

Blackbox Sealer

+

Seals the blackbox, preventing new data from being stored. This is to avoid data being bloated during end round grief

Shutdown

Shutdown Helper

+

Dumps all feedback stats to the DB. Doesnt get much simpler than that.

find_feedback_datum

Helper to find and return a feeedback datum

+

Pass in a feedback datum key and key_type to do a lookup. +It will create the feedback datum if it doesnt exist

+

Arguments:

+

log_research

Research level broadcast logging helper

+

This is called on R&D updates for a safe way of logging tech levels if an R&D console is destroyed

+

Arguments:

+

record_feedback

Main feedback recording proc

+

This is the bulk of this subsystem and is in charge of creating and using the variables. +See .github/USING_FEEDBACK_DATA.md for instructions +Note that feedback is not recorded to the DB during this function. That happens at round end.

+

Arguments:

+

record_feedback_recurse_list

Recursive list recorder

+

Used by the above proc for nested tallies

+

Arguments:

+
\ No newline at end of file diff --git a/datum/controller/subsystem/chat.html b/datum/controller/subsystem/chat.html new file mode 100644 index 00000000000..5ac94613ab3 --- /dev/null +++ b/datum/controller/subsystem/chat.html @@ -0,0 +1 @@ +/datum/controller/subsystem/chat - Space Station 13
Space Station 13 - Modules - TypesVar Details

chat

Vars

client_to_payloadsAssociates a ckey with a list of messages to send to them.
client_to_reliability_historyAssociates a ckey with an associative list of their last CHAT_RELIABILITY_HISTORY_SIZE messages.
client_to_sequence_numberAssociates a ckey with their next sequence number.

Var Details

client_to_payloads

Associates a ckey with a list of messages to send to them.

client_to_reliability_history

Associates a ckey with an associative list of their last CHAT_RELIABILITY_HISTORY_SIZE messages.

client_to_sequence_number

Associates a ckey with their next sequence number.

\ No newline at end of file diff --git a/datum/controller/subsystem/cleanup.html b/datum/controller/subsystem/cleanup.html new file mode 100644 index 00000000000..b411bbccf88 --- /dev/null +++ b/datum/controller/subsystem/cleanup.html @@ -0,0 +1 @@ +/datum/controller/subsystem/cleanup - Space Station 13
Space Station 13 - Modules - TypesVar Details

cleanup

Vars

lists_to_cleanA list of global lists we want the subsystem to clean.

Var Details

lists_to_clean

A list of global lists we want the subsystem to clean.

\ No newline at end of file diff --git a/datum/controller/subsystem/dbcore.html b/datum/controller/subsystem/dbcore.html new file mode 100644 index 00000000000..f1d08df0878 --- /dev/null +++ b/datum/controller/subsystem/dbcore.html @@ -0,0 +1,39 @@ +/datum/controller/subsystem/dbcore - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

dbcore

Vars

active_queriesList of currenty processing queries
connectionConnection handle. This is an arbitrary handle returned from rustlibs.
failed_connection_timeoutTimeout of failed connections
failed_connectionsAmount of failed connections
last_errorLast error to occur
schema_validIs the DB schema valid
total_errorsSQL errors that have occured mid round

Procs

CheckSchemaVersionSchema Version Checker
ConnectConnection Creator
DisconnectDisconnection Handler
ErrorMsgError Message Helper
IsConnectedIsConnected Helper
MassExecuteHandler to allow many queries to be executed en masse
NewQueryNew Query Invoker
ReportErrorError Reporting Helper
SetRoundEndRound End Time Setter
SetRoundIDRound ID Setter
SetRoundStartRound End Time Setter
ShutdownShutdown Handler

Var Details

active_queries

List of currenty processing queries

connection

Connection handle. This is an arbitrary handle returned from rustlibs.

failed_connection_timeout

Timeout of failed connections

failed_connections

Amount of failed connections

last_error

Last error to occur

schema_valid

Is the DB schema valid

total_errors

SQL errors that have occured mid round

Proc Details

CheckSchemaVersion

Schema Version Checker

+

Basically verifies that the DB schema in the config is the same as the version the game is expecting. +If it is a valid version, the DB will then connect.

Connect

Connection Creator

+

This proc basically does a few sanity checks before connecting, then attempts to make a connection +When connecting, rustlibs will initialize a thread pool for queries to use to run asynchronously

Disconnect

Disconnection Handler

+

Tells the DLL to clean up any open connections. +This will also reset the failed connection counter

ErrorMsg

Error Message Helper

+

Returns the last error that the subsystem encountered. +Will always report "Database disabled by configuration" if the DB is disabled.

IsConnected

IsConnected Helper

+

Short helper to check if the DB is connected or not. +Does a few sanity checks, then asks the DLL if we are properly connected

MassExecute

Handler to allow many queries to be executed en masse

+

Feed this proc a list of queries and it will execute them all at once, by the power of async magic!

+

Arguments:

+

NewQuery

New Query Invoker

+

Checks to make sure this query isnt being invoked by admin fuckery, then returns a new /datum/db_query

+

Arguments:

+

ReportError

Error Reporting Helper

+

Pretty much just sets last_error to the error argument

+

Arguments:

+

SetRoundEnd

Round End Time Setter

+

Called during SSticker.declare_completion() +Sets the time that the round ended in the DB, as well as some other params

SetRoundID

Round ID Setter

+

Called during world/New() at the earliest point +Declares a round ID in the database and assigns it to a global. Also ensures that server address and ports are set

SetRoundStart

Round End Time Setter

+

Called during SSticker.setup() +Sets the time that the round started in the DB

Shutdown

Shutdown Handler

+

Called during world/Reboot() as part of the MC shutdown +Finalises a round in the DB before disconnecting.

\ No newline at end of file diff --git a/datum/controller/subsystem/debugview.html b/datum/controller/subsystem/debugview.html new file mode 100644 index 00000000000..ddd5887575a --- /dev/null +++ b/datum/controller/subsystem/debugview.html @@ -0,0 +1 @@ +/datum/controller/subsystem/debugview - Space Station 13
Space Station 13 - Modules - TypesVar Details

debugview

Vars

processingList of clients currently processing

Var Details

processing

List of clients currently processing

\ No newline at end of file diff --git a/datum/controller/subsystem/economy.html b/datum/controller/subsystem/economy.html new file mode 100644 index 00000000000..4ea9150d02a --- /dev/null +++ b/datum/controller/subsystem/economy.html @@ -0,0 +1,9 @@ +/datum/controller/subsystem/economy - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

economy

Vars

account_counterTotal amount of account created during the round, neccesary for generating unique account ids
cargo_account///CARGO VARIABLES///// +the department account tethered to this supply console, we keep a ref here for shuttle operations
centcom_messageRemarks from Centcom on how well you checked the last order.
credits_per_designcredits gained per research design sold
credits_per_easy_reagent_goalcredits gained for each secondary goal completed +These get split in 3, one part for Cargo, one for the department, +and one part for the person who requested the goal.
credits_per_intelcredits gained per intel sold
credits_per_manifestcredits gained per slip returned
credits_per_mechcredits gained per working mech sold
credits_per_plasmacredits gained per plasma sold
credits_per_salvagepoints gained per salvage sold
credits_per_virology_goalpoints gained per virology goal
current_10_minute_spendingamount of money spent in this 15 minute slot during the round
delivery_listCrates that will be on next shuttle
discovered_plantsTypepaths for unusual plants we've already sent CentComm, associated with their potencies
economy_datalist of vars that will be tracked throughout the round (a new entry for each key list will be added every 15 minutes)
fine_for_loose_cargocredits lost for sending unsecured cargo
fine_for_messy_shuttlecredits lost for sending a messy shuttle
fine_for_selling_trashcredits lost for sending unwanted items
money_account_databasesList of all money account databases existing in the round
next_data_checktime to next stats check
next_mail_delayTime until the next mail shipment
next_paycheck_delay///Paycheck Variables///// +time to next payday
ordernumCurrent Order number
pack_price_modifierThe modifier on crate prices to multiple the price by.
payday_counttotal paydays this round
request_listRequested crates, waiting for approval by department heads
shopping_listApproved Crates, waiting to be delivered
space_credits_createdThe amount of space credits that have been created out of thin air, does not include credits created at round-start
space_credits_destroyedThe amount of space credits that have been irreversibly deleted/removed from the round
supply_packsFull list of all available supply packs to purchase
total_credit_transfersThe amount of transfers (that are worth more than a few credits) that have been accepted during the round
total_space_cashThe absolute total amount of space cash (not to be confused with credits) in the round, does not count space credits in money accounts
total_space_creditsThe absolute total amount of space credits in various economy systems, does not count space cash
total_vendor_transactionsthe amount of venor purchases during the round

Procs

generate_supply_orderSupply Stuff
paydayPaycheck Stuff

Var Details

account_counter

Total amount of account created during the round, neccesary for generating unique account ids

cargo_account

///CARGO VARIABLES///// +the department account tethered to this supply console, we keep a ref here for shuttle operations

centcom_message

Remarks from Centcom on how well you checked the last order.

credits_per_design

credits gained per research design sold

credits_per_easy_reagent_goal

credits gained for each secondary goal completed +These get split in 3, one part for Cargo, one for the department, +and one part for the person who requested the goal.

credits_per_intel

credits gained per intel sold

credits_per_manifest

credits gained per slip returned

credits_per_mech

credits gained per working mech sold

credits_per_plasma

credits gained per plasma sold

credits_per_salvage

points gained per salvage sold

credits_per_virology_goal

points gained per virology goal

current_10_minute_spending

amount of money spent in this 15 minute slot during the round

delivery_list

Crates that will be on next shuttle

discovered_plants

Typepaths for unusual plants we've already sent CentComm, associated with their potencies

economy_data

list of vars that will be tracked throughout the round (a new entry for each key list will be added every 15 minutes)

fine_for_loose_cargo

credits lost for sending unsecured cargo

fine_for_messy_shuttle

credits lost for sending a messy shuttle

fine_for_selling_trash

credits lost for sending unwanted items

money_account_databases

List of all money account databases existing in the round

next_data_check

time to next stats check

next_mail_delay

Time until the next mail shipment

next_paycheck_delay

///Paycheck Variables///// +time to next payday

ordernum

Current Order number

pack_price_modifier

The modifier on crate prices to multiple the price by.

payday_count

total paydays this round

request_list

Requested crates, waiting for approval by department heads

shopping_list

Approved Crates, waiting to be delivered

space_credits_created

The amount of space credits that have been created out of thin air, does not include credits created at round-start

space_credits_destroyed

The amount of space credits that have been irreversibly deleted/removed from the round

supply_packs

Full list of all available supply packs to purchase

total_credit_transfers

The amount of transfers (that are worth more than a few credits) that have been accepted during the round

total_space_cash

The absolute total amount of space cash (not to be confused with credits) in the round, does not count space credits in money accounts

total_space_credits

The absolute total amount of space credits in various economy systems, does not count space cash

total_vendor_transactions

the amount of venor purchases during the round

Proc Details

generate_supply_order

Supply Stuff

payday

Paycheck Stuff

\ No newline at end of file diff --git a/datum/controller/subsystem/events.html b/datum/controller/subsystem/events.html new file mode 100644 index 00000000000..f1c1f6e1ba0 --- /dev/null +++ b/datum/controller/subsystem/events.html @@ -0,0 +1 @@ +/datum/controller/subsystem/events - Space Station 13
Space Station 13 - Modules - TypesVar Details

events

Vars

debug_resourcesArtificial staffing for debug purpouses

Var Details

debug_resources

Artificial staffing for debug purpouses

\ No newline at end of file diff --git a/datum/controller/subsystem/ghost_spawns.html b/datum/controller/subsystem/ghost_spawns.html new file mode 100644 index 00000000000..111cd820b37 --- /dev/null +++ b/datum/controller/subsystem/ghost_spawns.html @@ -0,0 +1,30 @@ +/datum/controller/subsystem/ghost_spawns - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ghost_spawns

Vars

currently_pollingList of polls currently ongoing, to be checked on next fire()
next_poll_to_finishThe poll that's closest to finishing
polls_activeWhether there are active polls or not
total_pollsNumber of polls performed since the start

Procs

is_eligibleReturns whether an observer is eligible to be an event mob
poll_candidatesPolls for candidates with a question and a preview of the role
polling_finishedCalled by the subsystem when a poll's timer runs out

Var Details

currently_polling

List of polls currently ongoing, to be checked on next fire()

next_poll_to_finish

The poll that's closest to finishing

polls_active

Whether there are active polls or not

total_polls

Number of polls performed since the start

Proc Details

is_eligible

Returns whether an observer is eligible to be an event mob

+

Arguments:

+

poll_candidates

Polls for candidates with a question and a preview of the role

+

This proc replaces /proc/pollCandidates. +Should NEVER be used in a proc that has waitfor set to FALSE/0 (due to #define UNTIL) +Arguments:

+

polling_finished

Called by the subsystem when a poll's timer runs out

+

Can be called manually to finish a poll prematurely +Arguments:

+
\ No newline at end of file diff --git a/datum/controller/subsystem/heartbeat.html b/datum/controller/subsystem/heartbeat.html new file mode 100644 index 00000000000..091f67d9114 --- /dev/null +++ b/datum/controller/subsystem/heartbeat.html @@ -0,0 +1 @@ +/datum/controller/subsystem/heartbeat - Space Station 13
Space Station 13 - Modules - TypesVar Details

heartbeat

Vars

last_heartbeatLast time we got a heartbeat from TGS
warning_trippedHas a warning been sent this round?

Var Details

last_heartbeat

Last time we got a heartbeat from TGS

warning_tripped

Has a warning been sent this round?

\ No newline at end of file diff --git a/datum/controller/subsystem/http.html b/datum/controller/subsystem/http.html new file mode 100644 index 00000000000..f42d129b928 --- /dev/null +++ b/datum/controller/subsystem/http.html @@ -0,0 +1,5 @@ +/datum/controller/subsystem/http - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

http

Vars

active_async_requestsList of all async HTTP requests in the processing chain
logging_enabledVariable to define if logging is enabled or not. Disabled by default since we know the requests the server is making. Enable with VV if you need to debug requests
total_requestsTotal requests the SS has processed in a round

Procs

create_async_requestAsync request creator
make_blocking_requestBlocking request creator

Var Details

active_async_requests

List of all async HTTP requests in the processing chain

logging_enabled

Variable to define if logging is enabled or not. Disabled by default since we know the requests the server is making. Enable with VV if you need to debug requests

total_requests

Total requests the SS has processed in a round

Proc Details

create_async_request

Async request creator

+

Generates an async request, and adds it to the subsystem's processing list +These should be used as they do not lock the entire DD process up as they execute inside their own thread pool inside RUSTG

make_blocking_request

Blocking request creator

+

Generates a blocking request, executes it, logs the info then cleanly returns the response +Exists as a proof of concept, and should never be used

\ No newline at end of file diff --git a/datum/controller/subsystem/input.html b/datum/controller/subsystem/input.html new file mode 100644 index 00000000000..282fa985f61 --- /dev/null +++ b/datum/controller/subsystem/input.html @@ -0,0 +1 @@ +/datum/controller/subsystem/input - Space Station 13
Space Station 13 - Modules - TypesVar Details

input

Vars

processingList of clients whose input to process in loop.

Var Details

processing

List of clients whose input to process in loop.

\ No newline at end of file diff --git a/datum/controller/subsystem/jobs.html b/datum/controller/subsystem/jobs.html new file mode 100644 index 00000000000..83f5ec79487 --- /dev/null +++ b/datum/controller/subsystem/jobs.html @@ -0,0 +1 @@ +/datum/controller/subsystem/jobs - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

jobs

Vars

drunken_spawningDo we spawn people drunkenly due to the party last night?
job_selectorJob selector, used for roundstart and late join job assignment
late_arrivals_spawningDo we spawn everyone at shuttle due to late arivals?
skeleton_crewIs the crew count below the skeleton crew threshold?
skeleton_revoke_timerHolds a reference to the skeleton timer until it's finished or killed.
station_departmentslist of station departments and their associated roles and economy payments

Procs

format_jobs_for_id_computerReturns a list of jobs keyed by name to UI color for the job transfer selection.

Var Details

drunken_spawning

Do we spawn people drunkenly due to the party last night?

job_selector

Job selector, used for roundstart and late join job assignment

late_arrivals_spawning

Do we spawn everyone at shuttle due to late arivals?

skeleton_crew

Is the crew count below the skeleton crew threshold?

skeleton_revoke_timer

Holds a reference to the skeleton timer until it's finished or killed.

station_departments

list of station departments and their associated roles and economy payments

Proc Details

format_jobs_for_id_computer

Returns a list of jobs keyed by name to UI color for the job transfer selection.

\ No newline at end of file diff --git a/datum/controller/subsystem/late_mapping.html b/datum/controller/subsystem/late_mapping.html new file mode 100644 index 00000000000..4f2ce18922a --- /dev/null +++ b/datum/controller/subsystem/late_mapping.html @@ -0,0 +1 @@ +/datum/controller/subsystem/late_mapping - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

late_mapping

Vars

maze_generatorsList of all maze generators to process

Procs

maintenance_miceRandomly spawns mice in maintenance instead of being purely fixed spawn points

Var Details

maze_generators

List of all maze generators to process

Proc Details

maintenance_mice

Randomly spawns mice in maintenance instead of being purely fixed spawn points

\ No newline at end of file diff --git a/datum/controller/subsystem/machines.html b/datum/controller/subsystem/machines.html new file mode 100644 index 00000000000..ee20f53f190 --- /dev/null +++ b/datum/controller/subsystem/machines.html @@ -0,0 +1 @@ +/datum/controller/subsystem/machines - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

machines

Vars

all_machinesAll machines, not just those that are processing.
machines_by_typeAssociative list of all machines that exist.
powernetsAll regional powernets (/datum/regional_powernet) in the world

Procs

get_by_typeGets a list of all machines that are either the passed type or a subtype.
register_machineRegisters a machine with the machine subsystem; should only be called by the machine itself during its creation.
unregister_machineRemoves a machine from the machine subsystem; should only be called by the machine itself inside Destroy.

Var Details

all_machines

All machines, not just those that are processing.

machines_by_type

Associative list of all machines that exist.

powernets

All regional powernets (/datum/regional_powernet) in the world

Proc Details

get_by_type

Gets a list of all machines that are either the passed type or a subtype.

register_machine

Registers a machine with the machine subsystem; should only be called by the machine itself during its creation.

unregister_machine

Removes a machine from the machine subsystem; should only be called by the machine itself inside Destroy.

\ No newline at end of file diff --git a/datum/controller/subsystem/mapping.html b/datum/controller/subsystem/mapping.html new file mode 100644 index 00000000000..509473af2e5 --- /dev/null +++ b/datum/controller/subsystem/mapping.html @@ -0,0 +1,5 @@ +/datum/controller/subsystem/mapping - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mapping

Vars

caves_themeWhat primary cave theme we have picked for cave generation today.
emergency_shuttle_idThe emergency shuttle to load at Centcom in late_mapping
environmentsA mapping of environment names to MILLA environment IDs.
existing_station_areasList of areas that exist on the station this shift
existing_station_areas_typesTypes of areas that exist on the station this shift
gamma_armory_shuttle_idThe Gamma Armory shuttle to load at Centcom in late_mapping.
ghostteleportlocsList of all areas that can be accessed via IC and OOC means
last_mapWhat map was used last round?
lavaland_ruins_placerRuin placement manager for lavaland levels.
lavaland_themeWhat do we have as the lavaland theme today?
lists_to_reserveList of lists of turfs to reserve
map_datumWhat map datum are we using
next_mapWhat map will be used next round
space_ruins_placerRuin placement manager for space levels.
teleportlocsList of all areas that can be accessed via IC means
trader_shuttle_idThe trader shuttle to load at Centcom in late_mapping.

Procs

initialize_reserved_levelSets up a z level as reserved +This is not for wiping reserved levels, use wipe_reservations() for that. +If this is called after SSatom init, it will call Initialize on all turfs on the passed z, as its name promises
lazy_load_templateLazy loads a template on a lazy-loaded z-level.
request_turf_block_reservationRequests a /datum/turf_reservation based on the given width, height.
unreserve_turfsSchedules a group of turfs to be handed back to the reservation system's control

Var Details

caves_theme

What primary cave theme we have picked for cave generation today.

emergency_shuttle_id

The emergency shuttle to load at Centcom in late_mapping

environments

A mapping of environment names to MILLA environment IDs.

existing_station_areas

List of areas that exist on the station this shift

existing_station_areas_types

Types of areas that exist on the station this shift

gamma_armory_shuttle_id

The Gamma Armory shuttle to load at Centcom in late_mapping.

ghostteleportlocs

List of all areas that can be accessed via IC and OOC means

last_map

What map was used last round?

lavaland_ruins_placer

Ruin placement manager for lavaland levels.

lavaland_theme

What do we have as the lavaland theme today?

lists_to_reserve

List of lists of turfs to reserve

map_datum

What map datum are we using

next_map

What map will be used next round

space_ruins_placer

Ruin placement manager for space levels.

teleportlocs

List of all areas that can be accessed via IC means

trader_shuttle_id

The trader shuttle to load at Centcom in late_mapping.

Proc Details

initialize_reserved_level

Sets up a z level as reserved +This is not for wiping reserved levels, use wipe_reservations() for that. +If this is called after SSatom init, it will call Initialize on all turfs on the passed z, as its name promises

lazy_load_template

Lazy loads a template on a lazy-loaded z-level.

request_turf_block_reservation

Requests a /datum/turf_reservation based on the given width, height.

unreserve_turfs

Schedules a group of turfs to be handed back to the reservation system's control

\ No newline at end of file diff --git a/datum/controller/subsystem/metrics.html b/datum/controller/subsystem/metrics.html new file mode 100644 index 00000000000..43ef22a69b8 --- /dev/null +++ b/datum/controller/subsystem/metrics.html @@ -0,0 +1 @@ +/datum/controller/subsystem/metrics - Space Station 13
Space Station 13 - Modules - TypesVar Details

metrics

Vars

world_init_timeThe real time of day the server started. Used to calculate time drift

Var Details

world_init_time

The real time of day the server started. Used to calculate time drift

\ No newline at end of file diff --git a/datum/controller/subsystem/mobs.html b/datum/controller/subsystem/mobs.html new file mode 100644 index 00000000000..a47091f9118 --- /dev/null +++ b/datum/controller/subsystem/mobs.html @@ -0,0 +1 @@ +/datum/controller/subsystem/mobs - Space Station 13
Space Station 13 - Modules - TypesVar Details

mobs

Vars

xenobiology_mobsThe amount of Xenobiology mobs (and their offspring) that exist in the world. Used for mob capping. Excludes Slimes

Var Details

xenobiology_mobs

The amount of Xenobiology mobs (and their offspring) that exist in the world. Used for mob capping. Excludes Slimes

\ No newline at end of file diff --git a/datum/controller/subsystem/movement.html b/datum/controller/subsystem/movement.html new file mode 100644 index 00000000000..746ca4ccb14 --- /dev/null +++ b/datum/controller/subsystem/movement.html @@ -0,0 +1 @@ +/datum/controller/subsystem/movement - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

movement

Vars

bucketsAssoc list of "target time" -> list(things to process). Used for quick lookup
canonical_timeThe time we started our last fire at
sorted_bucketsSorted list of list(target time, bucket to process)
visual_delayThe visual delay of the subsystem

Procs

pour_bucketProcesses a bucket of movement loops (This should only ever be called by fire(), it exists to prevent runtime fuckery)
smash_bucketRemoves a bucket from our system. You only need to pass in the time, but if you pass in the index of the list you save us some work

Var Details

buckets

Assoc list of "target time" -> list(things to process). Used for quick lookup

canonical_time

The time we started our last fire at

sorted_buckets

Sorted list of list(target time, bucket to process)

visual_delay

The visual delay of the subsystem

Proc Details

pour_bucket

Processes a bucket of movement loops (This should only ever be called by fire(), it exists to prevent runtime fuckery)

smash_bucket

Removes a bucket from our system. You only need to pass in the time, but if you pass in the index of the list you save us some work

\ No newline at end of file diff --git a/datum/controller/subsystem/movement/ai_movement.html b/datum/controller/subsystem/movement/ai_movement.html new file mode 100644 index 00000000000..810c1906195 --- /dev/null +++ b/datum/controller/subsystem/movement/ai_movement.html @@ -0,0 +1 @@ +/datum/controller/subsystem/movement/ai_movement - Space Station 13
Space Station 13 - Modules - TypesVar Details

ai_movement

Vars

movement_typesan assoc list of all ai_movement types. Assoc type to instance

Var Details

movement_types

an assoc list of all ai_movement types. Assoc type to instance

\ No newline at end of file diff --git a/datum/controller/subsystem/pathfinder.html b/datum/controller/subsystem/pathfinder.html new file mode 100644 index 00000000000..853912759f1 --- /dev/null +++ b/datum/controller/subsystem/pathfinder.html @@ -0,0 +1,11 @@ +/datum/controller/subsystem/pathfinder - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

pathfinder

Vars

active_pathingList of pathfind datums we are currently trying to process
currentmapsList of uncheccked source_to_map entries
currentrunList of pathfind datums being ACTIVELY processed. exists to make subsystem stats readable
source_to_mapsAssoc list of target turf -> list(/datum/path_map) centered on the turf

Procs

build_mapInitiates a SSSP run. Returns true if we're good, FALSE if something's failed
can_pass_build_mapInitiates a SSSP run from a pass_info datum. Returns true if we're good, FALSE if something's failed
get_valid_mapTakes a set of pathfind info, returns the first valid pathmap that would work if one exists +Optionally takes a max age to accept (defaults to 0 seconds) and a minimum acceptable range +If include_building is true and we can only find a building path, ew'll use that instead. tho we will wait for it to finish first
get_valid_mapsTakes a set of pathfind info, returns all valid pathmaps that would work +Takes an optional minimum range arg
path_map_cacheCaches the passed in path_map, allowing for reuse in future
pathfindInitiates a pathfind. Returns true if we're good, FALSE if something's failed
run_pathfindBegins to handle a pathfinding run based off the input /datum/pathfind datum +You should not use this, it exists to allow for shenanigans. You do not know how to do shenanigans
swarmed_pathfindInitiates a swarmed pathfind. Returns TRUE if we're good, FALSE if something's failed +If a valid pathmap exists for the TARGET turf we'll use that, otherwise we have to build a new one
ventcrawl_pathfindInitiates a pathfind. Returns true if we're good, FALSE if something's failed

Var Details

active_pathing

List of pathfind datums we are currently trying to process

currentmaps

List of uncheccked source_to_map entries

currentrun

List of pathfind datums being ACTIVELY processed. exists to make subsystem stats readable

source_to_maps

Assoc list of target turf -> list(/datum/path_map) centered on the turf

Proc Details

build_map

Initiates a SSSP run. Returns true if we're good, FALSE if something's failed

can_pass_build_map

Initiates a SSSP run from a pass_info datum. Returns true if we're good, FALSE if something's failed

get_valid_map

Takes a set of pathfind info, returns the first valid pathmap that would work if one exists +Optionally takes a max age to accept (defaults to 0 seconds) and a minimum acceptable range +If include_building is true and we can only find a building path, ew'll use that instead. tho we will wait for it to finish first

get_valid_maps

Takes a set of pathfind info, returns all valid pathmaps that would work +Takes an optional minimum range arg

path_map_cache

Caches the passed in path_map, allowing for reuse in future

pathfind

Initiates a pathfind. Returns true if we're good, FALSE if something's failed

run_pathfind

Begins to handle a pathfinding run based off the input /datum/pathfind datum +You should not use this, it exists to allow for shenanigans. You do not know how to do shenanigans

swarmed_pathfind

Initiates a swarmed pathfind. Returns TRUE if we're good, FALSE if something's failed +If a valid pathmap exists for the TARGET turf we'll use that, otherwise we have to build a new one

ventcrawl_pathfind

Initiates a pathfind. Returns true if we're good, FALSE if something's failed

\ No newline at end of file diff --git a/datum/controller/subsystem/persistent_data.html b/datum/controller/subsystem/persistent_data.html new file mode 100644 index 00000000000..5f24506a3f4 --- /dev/null +++ b/datum/controller/subsystem/persistent_data.html @@ -0,0 +1,7 @@ +/datum/controller/subsystem/persistent_data - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

persistent_data

Vars

data_savedSet to true after a the end of the round to prevent griefing being saved
registered_atomsList of atoms registered into the subsystem for persistent data storage. Can be anything at all

Procs

registerProc to register an atom with SSpersistent_data

Var Details

data_saved

Set to true after a the end of the round to prevent griefing being saved

registered_atoms

List of atoms registered into the subsystem for persistent data storage. Can be anything at all

Proc Details

register

Proc to register an atom with SSpersistent_data

+

This will add any provided atom to the list of registered atoms, and add it to the Initialization queue +If the system has already initialized, it calls persistent_load() at that moment

+

Arguments:

+
\ No newline at end of file diff --git a/datum/controller/subsystem/ping.html b/datum/controller/subsystem/ping.html new file mode 100644 index 00000000000..b9574959040 --- /dev/null +++ b/datum/controller/subsystem/ping.html @@ -0,0 +1 @@ +/datum/controller/subsystem/ping - Space Station 13
Space Station 13 - Modules - TypesVar Details

ping

Vars

current_runList used each time SS fires to track which clients have been processed so far

Var Details

current_run

List used each time SS fires to track which clients have been processed so far

\ No newline at end of file diff --git a/datum/controller/subsystem/processing/ai_behaviors.html b/datum/controller/subsystem/processing/ai_behaviors.html new file mode 100644 index 00000000000..9412acd1086 --- /dev/null +++ b/datum/controller/subsystem/processing/ai_behaviors.html @@ -0,0 +1,5 @@ +/datum/controller/subsystem/processing/ai_behaviors - Space Station 13
Space Station 13 - Modules - TypesVar Details

ai_behaviors

Vars

ai_behaviorsList of all ai_behavior singletons, key is the typepath while assigned +value is a newly created instance of the typepath. See setup_ai_behaviors().
targeting_strategiesList of all targeting_strategy singletons, key is the typepath while assigned +value is a newly created instance of the typepath. See setup_targeting_strats().

Var Details

ai_behaviors

List of all ai_behavior singletons, key is the typepath while assigned +value is a newly created instance of the typepath. See setup_ai_behaviors().

targeting_strategies

List of all targeting_strategy singletons, key is the typepath while assigned +value is a newly created instance of the typepath. See setup_targeting_strats().

\ No newline at end of file diff --git a/datum/controller/subsystem/processing/dcs.html b/datum/controller/subsystem/processing/dcs.html new file mode 100644 index 00000000000..7580d9bfa8a --- /dev/null +++ b/datum/controller/subsystem/processing/dcs.html @@ -0,0 +1,7 @@ +/datum/controller/subsystem/processing/dcs - Space Station 13
Space Station 13 - Modules - TypesProc 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
rotate_decalsRemove old decals and apply new decals after rotation as necessary

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

rotate_decals

Remove old decals and apply new decals after rotation as necessary

\ No newline at end of file diff --git a/datum/controller/subsystem/processing/instruments.html b/datum/controller/subsystem/processing/instruments.html new file mode 100644 index 00000000000..0e9cda072f2 --- /dev/null +++ b/datum/controller/subsystem/processing/instruments.html @@ -0,0 +1,17 @@ +/datum/controller/subsystem/processing/instruments - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc 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.

Procs

get_instrumentReturns the instrument datum at the given ID or path
initialize_instrument_dataInitializes all instrument datums
on_song_delCalled when a datum/song is deleted
on_song_newCalled when a datum/song is created
reserve_instrument_channelReserves a sound channel for a given instrument datum

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.

Proc Details

get_instrument

Returns the instrument datum at the given ID or path

+

Arguments:

+

initialize_instrument_data

Initializes all instrument datums

on_song_del

Called when a datum/song is deleted

+

Arguments:

+

on_song_new

Called when a datum/song is created

+

Arguments:

+

reserve_instrument_channel

Reserves a sound channel for a given instrument datum

+

Arguments:

+
\ No newline at end of file diff --git a/datum/controller/subsystem/processing/projectiles.html b/datum/controller/subsystem/processing/projectiles.html new file mode 100644 index 00000000000..a1ac210cd8e --- /dev/null +++ b/datum/controller/subsystem/processing/projectiles.html @@ -0,0 +1 @@ +/datum/controller/subsystem/processing/projectiles - Space Station 13
Space Station 13 - Modules - TypesVar Details

projectiles

Vars

global_iterations_per_moveMaximum iterations a move can perform.
global_max_tick_movesMaximum moves a projectile can make per tick.
global_pixel_speedHow many pixels one iteration can move a projectile.

Var Details

global_iterations_per_move

Maximum iterations a move can perform.

global_max_tick_moves

Maximum moves a projectile can make per tick.

global_pixel_speed

How many pixels one iteration can move a projectile.

\ No newline at end of file diff --git a/datum/controller/subsystem/processing/radiation.html b/datum/controller/subsystem/processing/radiation.html new file mode 100644 index 00000000000..1190456fc62 --- /dev/null +++ b/datum/controller/subsystem/processing/radiation.html @@ -0,0 +1 @@ +/datum/controller/subsystem/processing/radiation - Space Station 13
Space Station 13 - Modules - TypesVar Details

radiation

Vars

all_radiationsLazy list of all radioactive components

Var Details

all_radiations

Lazy list of all radioactive components

\ No newline at end of file diff --git a/datum/controller/subsystem/processing/station.html b/datum/controller/subsystem/processing/station.html new file mode 100644 index 00000000000..1d512b5b694 --- /dev/null +++ b/datum/controller/subsystem/processing/station.html @@ -0,0 +1 @@ +/datum/controller/subsystem/processing/station - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

station

Vars

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

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.

\ No newline at end of file diff --git a/datum/controller/subsystem/profiler.html b/datum/controller/subsystem/profiler.html new file mode 100644 index 00000000000..e0d49b304f4 --- /dev/null +++ b/datum/controller/subsystem/profiler.html @@ -0,0 +1 @@ +/datum/controller/subsystem/profiler - Space Station 13
Space Station 13 - Modules - TypesVar Details

profiler

Vars

mfetch_costTime it took to fetch map profile data (ms)
mwrite_costTime it took to write the map file (ms)
nfetch_costTime it took to fetch normal profile data (ms)
nwrite_costTime it took to write the normal file (ms)
send_encode_costTime it took to encode the data for redis (ms)
send_ffi_costTime it took to send the stuff down FFI for redis (ms)

Var Details

mfetch_cost

Time it took to fetch map profile data (ms)

mwrite_cost

Time it took to write the map file (ms)

nfetch_cost

Time it took to fetch normal profile data (ms)

nwrite_cost

Time it took to write the normal file (ms)

send_encode_cost

Time it took to encode the data for redis (ms)

send_ffi_cost

Time it took to send the stuff down FFI for redis (ms)

\ No newline at end of file diff --git a/datum/controller/subsystem/queue.html b/datum/controller/subsystem/queue.html new file mode 100644 index 00000000000..f7cb4e94e4a --- /dev/null +++ b/datum/controller/subsystem/queue.html @@ -0,0 +1 @@ +/datum/controller/subsystem/queue - Space Station 13
Space Station 13 - Modules - TypesVar Details

queue

Vars

last_letin_timeLast world.time we let a ckey in. 3 second delay between each letin to avoid a mass bubble
persist_queueWhether to persist these settings over multiple rounds
queue_bypass_listList of ckeys allowed to bypass queue this round
queue_enabledWhether the queue is enabled or not
queue_thresholdThreshold of players to queue new people

Var Details

last_letin_time

Last world.time we let a ckey in. 3 second delay between each letin to avoid a mass bubble

persist_queue

Whether to persist these settings over multiple rounds

queue_bypass_list

List of ckeys allowed to bypass queue this round

queue_enabled

Whether the queue is enabled or not

queue_threshold

Threshold of players to queue new people

\ No newline at end of file diff --git a/datum/controller/subsystem/redis.html b/datum/controller/subsystem/redis.html new file mode 100644 index 00000000000..c2171bf8ff3 --- /dev/null +++ b/datum/controller/subsystem/redis.html @@ -0,0 +1 @@ +/datum/controller/subsystem/redis - Space Station 13
Space Station 13 - Modules - TypesVar Details

redis

Vars

connectedAre we connected
queueMessage queue (If messages are sent before the SS has init'd)
subbed_channelsAmount of subscribed channels on the redis server

Var Details

connected

Are we connected

queue

Message queue (If messages are sent before the SS has init'd)

subbed_channels

Amount of subscribed channels on the redis server

\ No newline at end of file diff --git a/datum/controller/subsystem/research.html b/datum/controller/subsystem/research.html new file mode 100644 index 00000000000..0e376ae328b --- /dev/null +++ b/datum/controller/subsystem/research.html @@ -0,0 +1 @@ +/datum/controller/subsystem/research - Space Station 13
Space Station 13 - Modules - TypesVar Details

research

Vars

backupsList of R&D backups - Key = datum ID, value = /datum/rnd_backup

Var Details

backups

List of R&D backups - Key = datum ID, value = /datum/rnd_backup

\ No newline at end of file diff --git a/datum/controller/subsystem/security_level.html b/datum/controller/subsystem/security_level.html new file mode 100644 index 00000000000..f7372a4adad --- /dev/null +++ b/datum/controller/subsystem/security_level.html @@ -0,0 +1,29 @@ +/datum/controller/subsystem/security_level - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

security_level

Vars

available_levelsA list of initialised security level datums
current_security_levelCurrently set security level
security_level_set_timer_idOption reference of a timer id of the latest set security level. Only set when security level is changed to one with set_delay > 0

Procs

announce_security_levelHandles announcements of the newly set security level
do_set_levelActually sets the security level after the announcement
get_colored_current_security_level_nameReturns security level name formatted with it's color
get_current_level_as_numberReturns the current security level as a number +In case the subsystem hasn't finished initializing yet, returns default security level
get_current_level_as_textReturns the current security level as text
number_level_to_textConverts a number security level to a text
pre_set_levelDo things before the actual security level set, like executing security level specific pre change behavior
set_levelSets a new security level as our current level
text_level_to_numberConverts a text security level to a number

Var Details

available_levels

A list of initialised security level datums

current_security_level

Currently set security level

security_level_set_timer_id

Option reference of a timer id of the latest set security level. Only set when security level is changed to one with set_delay > 0

Proc Details

announce_security_level

Handles announcements of the newly set security level

+

Arguments:

+

do_set_level

Actually sets the security level after the announcement

+

Sends COMSIG_SECURITY_LEVEL_CHANGED in the end

+

Arguments:

+

get_colored_current_security_level_name

Returns security level name formatted with it's color

get_current_level_as_number

Returns the current security level as a number +In case the subsystem hasn't finished initializing yet, returns default security level

get_current_level_as_text

Returns the current security level as text

number_level_to_text

Converts a number security level to a text

+

Arguments:

+

pre_set_level

Do things before the actual security level set, like executing security level specific pre change behavior

+

Arguments:

+

set_level

Sets a new security level as our current level

+

This is how everything should change the security level

+

Arguments:

+

text_level_to_number

Converts a text security level to a number

+

Arguments:

+
\ No newline at end of file diff --git a/datum/controller/subsystem/shuttle.html b/datum/controller/subsystem/shuttle.html new file mode 100644 index 00000000000..6884735cd60 --- /dev/null +++ b/datum/controller/subsystem/shuttle.html @@ -0,0 +1,3 @@ +/datum/controller/subsystem/shuttle - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shuttle

Vars

custom_escape_shuttle_loadingWhether or not a custom shuttle is currently loading at centcomm.
custom_shuttle_orderedWhether or not a custom shuttle has been ordered.
emergency_locked_inHave we locked in the emergency shuttle, to prevent people from breaking things / wasting player money?
hostile_environmentsThings blocking escape shuttle from leaving.
mobile_docking_portsA list of all the mobile docking ports.
refuel_delayDefault refuel delay
shuttle_loan_UIDThe current shuttle loan event, if any.
stationary_docking_portsA list of all the stationary docking ports.
supply_shuttle_turfsSupply shuttle turfs to make mail be put down faster
transit_docking_portsA list of all the transit docking ports.
transit_request_failuresAn associative list of the mobile docking ports that have failed a transit request, with the amount of times they've actually failed that transit request, up to MAX_TRANSIT_REQUEST_RETRIES
transit_requestersA list of all the mobile docking ports currently requesting a spot in hyperspace.
transit_utilizedHow many turfs our shuttles are currently utilizing in reservation space

Procs

load_templateLoads a shuttle from the template into a cordon. Returns its docking port if successful.
replace_shuttleCreate a new shuttle and replace the emergency shuttle with it. +if loaded shuttle is passed in, a new one will not be loaded.
transit_space_clearingGotta manage our space brother

Var Details

custom_escape_shuttle_loading

Whether or not a custom shuttle is currently loading at centcomm.

custom_shuttle_ordered

Whether or not a custom shuttle has been ordered.

emergency_locked_in

Have we locked in the emergency shuttle, to prevent people from breaking things / wasting player money?

hostile_environments

Things blocking escape shuttle from leaving.

mobile_docking_ports

A list of all the mobile docking ports.

refuel_delay

Default refuel delay

shuttle_loan_UID

The current shuttle loan event, if any.

stationary_docking_ports

A list of all the stationary docking ports.

supply_shuttle_turfs

Supply shuttle turfs to make mail be put down faster

transit_docking_ports

A list of all the transit docking ports.

transit_request_failures

An associative list of the mobile docking ports that have failed a transit request, with the amount of times they've actually failed that transit request, up to MAX_TRANSIT_REQUEST_RETRIES

transit_requesters

A list of all the mobile docking ports currently requesting a spot in hyperspace.

transit_utilized

How many turfs our shuttles are currently utilizing in reservation space

Proc Details

load_template

Loads a shuttle from the template into a cordon. Returns its docking port if successful.

replace_shuttle

Create a new shuttle and replace the emergency shuttle with it. +if loaded shuttle is passed in, a new one will not be loaded.

transit_space_clearing

Gotta manage our space brother

\ No newline at end of file diff --git a/datum/controller/subsystem/sounds.html b/datum/controller/subsystem/sounds.html new file mode 100644 index 00000000000..0588b32613a --- /dev/null +++ b/datum/controller/subsystem/sounds.html @@ -0,0 +1,15 @@ +/datum/controller/subsystem/sounds - Space Station 13
Space Station 13 - Modules - TypesVar 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.
reserve_sound_channel_datumlessNO AUTOMATIC CLEANUP - If you use this, you better manually free it later!
setup_available_channelsSets up all available sound channels

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

+

Arguments:

+

free_datumless_channels

Frees all datumless channels

free_sound_channel

Removes a channel from using list

+

Arguments:

+

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 +Arguments:

+

reserve_sound_channel_datumless

NO AUTOMATIC CLEANUP - If you use this, you better manually free it later!

+

Returns an integer for channel

setup_available_channels

Sets up all available sound channels

\ No newline at end of file diff --git a/datum/controller/subsystem/spatial_grid.html b/datum/controller/subsystem/spatial_grid.html new file mode 100644 index 00000000000..aa0a82c58c1 --- /dev/null +++ b/datum/controller/subsystem/spatial_grid.html @@ -0,0 +1,41 @@ +/datum/controller/subsystem/spatial_grid - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

spatial_grid

Vars

dummy_listempty spatial grid cell content lists are just a reference to this instead of a standalone list to save memory without needed to check if its null when iterating
grids_by_z_levellist of the spatial_grid_cell datums per z level, arranged in the order of y index then x index
number_of_oranges_earshow many pregenerated /mob/oranges_ear instances currently exist. this should hopefully never exceed its starting value
pregenerated_oranges_earslist of all of /mob/oranges_ear instances we have pregenerated for view() iteration speedup
spatial_grid_categoriesassociative list of the form: movable.spatial_grid_key (string) -> inner list of spatial grid types for that key. +inner lists contain contents channel types such as SPATIAL_GRID_CONTENTS_TYPE_HEARING etc. +we use this to make adding to a cell static cost, and to save on memory
waiting_to_add_by_typeeverything that spawns before us is added to this list until we initialize

Procs

add_grid_awarenessAdds grid awareness to the passed in atom, of the passed in type +Basically, when this atom moves between grids, it wants to have enter/exit cell called on it
add_grid_membershipAlerts the atom's current cell that it wishes to be treated as a member +This functionally amounts to "hey, I was recently made aware by [add_grid_awareness], please insert me into my current cell"
add_single_typeacts like enter_cell() but only adds the target to a specified type of grid cell contents list
after_world_bounds_expandedadds cells to the grid for every z level when world.maxx or world.maxy is expanded after this subsystem is initialized. hopefully this is never needed. +because i never tested this.
assign_oranges_earsallocate one /mob/oranges_ear mob per turf containing atoms_that_need_ears and give them a reference to every listed atom in their turf. +if an oranges_ear is allocated to a turf that already has an oranges_ear then the second one fails to allocate (and gives the existing one the atom it was assigned to)
enter_cellfind the spatial map cell that target belongs to, then add the target to it, as its type prefers. +make sure to provide the turf new_target is "in"
enter_pre_init_queueadd a movable to the pre init queue for whichever type is specified so that when the subsystem initializes they get added to the grid
exit_cellfind the spatial map cell that target used to belong to, then remove the target (and sometimes its important_recusive_contents) from it. +make sure to provide the turf old_target used to be "in"
find_hanging_cell_refs_for_movableif shit goes south, this will find hanging references for qdeleting movables inside the spatial grid
force_remove_from_cellremove this movable from the given spatial_grid_cell
force_remove_from_gridremove this movable from the grid by finding the grid cell its in and removing it from that. +if it cant infer a grid cell its located in (e.g. if its in nullspace but it can happen if the grid isnt expanded to a z level), search every grid cell.
get_cell_ofget the grid cell encomapassing targets coordinates
get_cells_in_boundsget all grid cells intersecting the bounding box around center with sides of length (2 * range_x, 2 * range_y)
get_cells_in_rangeget all grid cells intersecting the bounding box around center with sides of length 2 * range
orthogonal_range_searchhttps://en.wikipedia.org/wiki/Range_searching#Orthogonal_range_searching
pregenerate_more_oranges_earscreates number_to_generate new oranges_ear's and adds them to the subsystems list of ears. +i really fucking hope this never gets called after init :clueless:
propogate_spatial_grid_to_new_zcreates the spatial grid for a new z level
queued_item_deletedif a movable is inside our pre init queue before we're initialized and it gets deleted we need to remove that reference with this proc
remove_from_pre_init_queueremoves an initialized and probably deleted movable from our pre init queue before we're initialized
remove_grid_awarenessRemoves grid awareness from the passed in atom, of the passed in type
remove_grid_membershipRemoves grid membership from the passed in atom, of the passed in type
remove_single_typeacts like exit_cell() but only removes the target from the specified type of grid cell contents list
untracked_movable_errorif for whatever reason this movable is "untracked" e.g. it breaks the assumption that a movable is only inside the contents of any grid cell associated with its loc, +this will error. this checks every grid cell in the world so dont call this on live unless you have to. +returns TRUE if this movable is untracked, FALSE otherwise
update_grid_awarenessUpdates the string that atoms hold that stores their grid awareness +We will use it to key into their spatial grid categories later

Var Details

dummy_list

empty spatial grid cell content lists are just a reference to this instead of a standalone list to save memory without needed to check if its null when iterating

grids_by_z_level

list of the spatial_grid_cell datums per z level, arranged in the order of y index then x index

number_of_oranges_ears

how many pregenerated /mob/oranges_ear instances currently exist. this should hopefully never exceed its starting value

pregenerated_oranges_ears

list of all of /mob/oranges_ear instances we have pregenerated for view() iteration speedup

spatial_grid_categories

associative list of the form: movable.spatial_grid_key (string) -> inner list of spatial grid types for that key. +inner lists contain contents channel types such as SPATIAL_GRID_CONTENTS_TYPE_HEARING etc. +we use this to make adding to a cell static cost, and to save on memory

waiting_to_add_by_type

everything that spawns before us is added to this list until we initialize

Proc Details

add_grid_awareness

Adds grid awareness to the passed in atom, of the passed in type +Basically, when this atom moves between grids, it wants to have enter/exit cell called on it

add_grid_membership

Alerts the atom's current cell that it wishes to be treated as a member +This functionally amounts to "hey, I was recently made aware by [add_grid_awareness], please insert me into my current cell"

add_single_type

acts like enter_cell() but only adds the target to a specified type of grid cell contents list

after_world_bounds_expanded

adds cells to the grid for every z level when world.maxx or world.maxy is expanded after this subsystem is initialized. hopefully this is never needed. +because i never tested this.

assign_oranges_ears

allocate one /mob/oranges_ear mob per turf containing atoms_that_need_ears and give them a reference to every listed atom in their turf. +if an oranges_ear is allocated to a turf that already has an oranges_ear then the second one fails to allocate (and gives the existing one the atom it was assigned to)

enter_cell

find the spatial map cell that target belongs to, then add the target to it, as its type prefers. +make sure to provide the turf new_target is "in"

enter_pre_init_queue

add a movable to the pre init queue for whichever type is specified so that when the subsystem initializes they get added to the grid

exit_cell

find the spatial map cell that target used to belong to, then remove the target (and sometimes its important_recusive_contents) from it. +make sure to provide the turf old_target used to be "in"

+

find_hanging_cell_refs_for_movable

if shit goes south, this will find hanging references for qdeleting movables inside the spatial grid

force_remove_from_cell

remove this movable from the given spatial_grid_cell

force_remove_from_grid

remove this movable from the grid by finding the grid cell its in and removing it from that. +if it cant infer a grid cell its located in (e.g. if its in nullspace but it can happen if the grid isnt expanded to a z level), search every grid cell.

get_cell_of

get the grid cell encomapassing targets coordinates

get_cells_in_bounds

get all grid cells intersecting the bounding box around center with sides of length (2 * range_x, 2 * range_y)

get_cells_in_range

get all grid cells intersecting the bounding box around center with sides of length 2 * range

https://en.wikipedia.org/wiki/Range_searching#Orthogonal_range_searching

+

searches through the grid cells intersecting a rectangular search space (with sides of length 2 * range) then returns all contents of type inside them. +much faster than iterating through view() to find all of what you want.

+

this does NOT return things only in range distance from center! the search space is a square not a circle, if you want only things in a certain distance +then you need to filter that yourself

+

pregenerate_more_oranges_ears

creates number_to_generate new oranges_ear's and adds them to the subsystems list of ears. +i really fucking hope this never gets called after init :clueless:

propogate_spatial_grid_to_new_z

creates the spatial grid for a new z level

queued_item_deleted

if a movable is inside our pre init queue before we're initialized and it gets deleted we need to remove that reference with this proc

remove_from_pre_init_queue

removes an initialized and probably deleted movable from our pre init queue before we're initialized

remove_grid_awareness

Removes grid awareness from the passed in atom, of the passed in type

remove_grid_membership

Removes grid membership from the passed in atom, of the passed in type

remove_single_type

acts like exit_cell() but only removes the target from the specified type of grid cell contents list

untracked_movable_error

if for whatever reason this movable is "untracked" e.g. it breaks the assumption that a movable is only inside the contents of any grid cell associated with its loc, +this will error. this checks every grid cell in the world so dont call this on live unless you have to. +returns TRUE if this movable is untracked, FALSE otherwise

update_grid_awareness

Updates the string that atoms hold that stores their grid awareness +We will use it to key into their spatial grid categories later

\ No newline at end of file diff --git a/datum/controller/subsystem/statpanels.html b/datum/controller/subsystem/statpanels.html new file mode 100644 index 00000000000..aacef80c807 --- /dev/null +++ b/datum/controller/subsystem/statpanels.html @@ -0,0 +1,3 @@ +/datum/controller/subsystem/statpanels - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

statpanels

Vars

admin_dataStuff shown to all admins.
default_waitHow many subsystem fires between most tab updates
global_dataStuff shown to everyone.
mc_waitHow many subsystem fires between updates of the MC tab
num_firesHow many full runs this subsystem has completed. used for variable rate refreshes.
status_waitHow many subsystem fires between updates of the status tab

Procs

immediate_send_stat_dataimmediately update the active statpanel tab of the target client
return_object_imagesReturns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)

Var Details

admin_data

Stuff shown to all admins.

default_wait

How many subsystem fires between most tab updates

global_data

Stuff shown to everyone.

mc_wait

How many subsystem fires between updates of the MC tab

num_fires

How many full runs this subsystem has completed. used for variable rate refreshes.

status_wait

How many subsystem fires between updates of the status tab

Proc Details

immediate_send_stat_data

immediately update the active statpanel tab of the target client

return_object_images

Returns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)

\ No newline at end of file diff --git a/datum/controller/subsystem/tgui.html b/datum/controller/subsystem/tgui.html new file mode 100644 index 00000000000..704e5e48271 --- /dev/null +++ b/datum/controller/subsystem/tgui.html @@ -0,0 +1,48 @@ +/datum/controller/subsystem/tgui - Space Station 13
Space Station 13 - Modules - TypesVar 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.

\ No newline at end of file diff --git a/datum/controller/subsystem/throwing.html b/datum/controller/subsystem/throwing.html new file mode 100644 index 00000000000..abb6c0bdd98 --- /dev/null +++ b/datum/controller/subsystem/throwing.html @@ -0,0 +1 @@ +/datum/controller/subsystem/throwing - Space Station 13
Space Station 13 - Modules - TypesVar Details

throwing

Vars

impact_soundsHow many throw impact sounds have happened this tick.
impact_sounds_capHow many throw impact sounds we allow per tick.
last_impact_soundsHow many sounds there were last tick.
skipped_soundsHow many sounds we've skipped due to hitting the per-tick cap.

Var Details

impact_sounds

How many throw impact sounds have happened this tick.

impact_sounds_cap

How many throw impact sounds we allow per tick.

last_impact_sounds

How many sounds there were last tick.

skipped_sounds

How many sounds we've skipped due to hitting the per-tick cap.

\ No newline at end of file diff --git a/datum/controller/subsystem/ticker.html b/datum/controller/subsystem/ticker.html new file mode 100644 index 00000000000..b35bbe7b284 --- /dev/null +++ b/datum/controller/subsystem/ticker.html @@ -0,0 +1,17 @@ +/datum/controller/subsystem/ticker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ticker

Vars

Bible_deity_nameName of the bible deity
biohazard_pop_timesList of biohazards keyed to the last time their population was sampled.
cinematicUsed for station explosion cinematic
cult_dataCult static info, used for things like sprites. Someone should refactor the sprites out of it someday and just use SEPERATE ICONS DEPNDING ON THE TYPE OF CULT... like a sane person
cult_tried_summonHas cult tried to summon?
current_stateCurrent status of the game. See code__DEFINES\game.dm
delay_endIf set to TRUE, the round will not restart on it's own
end_stateServer end state (Did we end properly or reboot or nuke or what)
factedDid we broadcast the fact of the round yet?
flagged_antag_rollersList of ckeys who had antag rolling issues flagged
force_endingDo we want to force-end as soon as we can
force_startDo we want to force-start as soon as we can
hide_modeLeave here at FALSE ! setup() will take care of it when needed for Secret mode -walter0o
login_musicThe current pick of lobby music played in the lobby
mindsList of all minds in the game. Used for objective tracking
modeOur current game mode
mode_resultGamemode result (For things like cult or nukies which can end multiple ways)
next_autotransferHolder for inital autotransfer vote timer
pregame_timeleftThis is used for calculations for the statpanel
random_playersIf set to nonzero, ALL players who latejoin or declare-ready join will have random appearances/genders
real_reboot_timeTime the real reboot kicks in
round_end_announcedSpam Prevention. Announce round end only once.
round_start_timeTime the game should start, relative to world.time
scoreDatum used to generate the end of round scoreboard.
selected_factWhat will be the fact of the round?
selected_tipWhat will be the tip of the round?
ticker_goingIs the ticker currently processing? If FALSE, roundstart is delayed
time_game_startedTime that the round started
tippedDid we broadcast the tip of the round yet?
triaiGlobal holder for triple AI mode

Procs

any_admin_spawned_mobsReturns whether the given biohazard includes mobs that were admin spawned. +Only returns TRUE or FALSE, does not attempt to track which mobs were +admin-spawned and which ones weren't.
biohazard_active_threatReturn whether or not a given biohazard is an active threat. +For blobs, this is simply if there are any overminds left. For terrors and +xenomorphs, this is whether they have overwhelming numbers.
record_biohazard_resultsThis proc is for recording biohazard events, and blackboxing if they lived, +died, or ended the round. This currently applies to: Terror spiders, +Xenomorphs, and Blob.
record_biohazard_startRecord the initial time that a biohazard spawned.

Var Details

Bible_deity_name

Name of the bible deity

biohazard_pop_times

List of biohazards keyed to the last time their population was sampled.

cinematic

Used for station explosion cinematic

cult_data

Cult static info, used for things like sprites. Someone should refactor the sprites out of it someday and just use SEPERATE ICONS DEPNDING ON THE TYPE OF CULT... like a sane person

cult_tried_summon

Has cult tried to summon?

current_state

Current status of the game. See code__DEFINES\game.dm

delay_end

If set to TRUE, the round will not restart on it's own

end_state

Server end state (Did we end properly or reboot or nuke or what)

facted

Did we broadcast the fact of the round yet?

flagged_antag_rollers

List of ckeys who had antag rolling issues flagged

force_ending

Do we want to force-end as soon as we can

force_start

Do we want to force-start as soon as we can

hide_mode

Leave here at FALSE ! setup() will take care of it when needed for Secret mode -walter0o

login_music

The current pick of lobby music played in the lobby

minds

List of all minds in the game. Used for objective tracking

mode

Our current game mode

mode_result

Gamemode result (For things like cult or nukies which can end multiple ways)

next_autotransfer

Holder for inital autotransfer vote timer

pregame_timeleft

This is used for calculations for the statpanel

random_players

If set to nonzero, ALL players who latejoin or declare-ready join will have random appearances/genders

real_reboot_time

Time the real reboot kicks in

round_end_announced

Spam Prevention. Announce round end only once.

round_start_time

Time the game should start, relative to world.time

score

Datum used to generate the end of round scoreboard.

selected_fact

What will be the fact of the round?

selected_tip

What will be the tip of the round?

ticker_going

Is the ticker currently processing? If FALSE, roundstart is delayed

time_game_started

Time that the round started

tipped

Did we broadcast the tip of the round yet?

triai

Global holder for triple AI mode

Proc Details

any_admin_spawned_mobs

Returns whether the given biohazard includes mobs that were admin spawned. +Only returns TRUE or FALSE, does not attempt to track which mobs were +admin-spawned and which ones weren't.

biohazard_active_threat

Return whether or not a given biohazard is an active threat. +For blobs, this is simply if there are any overminds left. For terrors and +xenomorphs, this is whether they have overwhelming numbers.

record_biohazard_results

This proc is for recording biohazard events, and blackboxing if they lived, +died, or ended the round. This currently applies to: Terror spiders, +Xenomorphs, and Blob.

+

This code is predicated on the assumption that multiple midrounds +of the same type are either extremely rare or impossible. We don't want to get +into the insanity of trying to record if the first xeno biohazard was defeated +but the second xeno biohazard was nuked.

record_biohazard_start

Record the initial time that a biohazard spawned.

\ No newline at end of file diff --git a/datum/controller/subsystem/tickets.html b/datum/controller/subsystem/tickets.html new file mode 100644 index 00000000000..bf5a89bb18b --- /dev/null +++ b/datum/controller/subsystem/tickets.html @@ -0,0 +1,27 @@ +/datum/controller/subsystem/tickets - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tickets

Vars

anchor_link_extraText that will be added to the anchor link
db_save_idDB ID for these tickets to be logged with
open_detail_uisWho has what tickets open? Maps client -> open ticket number.
other_ticket_nameThe name of the other ticket type to convert to
other_ticket_permissionWhich permission to look for when seeing if there is staff available for the other ticket type

Procs

makeUrlMessageWill add the URLs usable by staff to the message and return it +Arguments: +C - The client who send the message +msg - The raw message +ticketNum - Which ticket number the ticket has
message_staffSends a message to the designated staff +Arguments: +msg - The message being send +alt - If an alternative prefix should be used or not. Defaults to TICKET_STAFF_MESSAGE_PREFIX +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE
newHelpRequestWill either make a new ticket using the given text or will add the text to an existing ticket. +Staff will get a message +Arguments: +C - The client who requests help +text - The text the client send

Var Details

Text that will be added to the anchor link

db_save_id

DB ID for these tickets to be logged with

open_detail_uis

Who has what tickets open? Maps client -> open ticket number.

other_ticket_name

The name of the other ticket type to convert to

other_ticket_permission

Which permission to look for when seeing if there is staff available for the other ticket type

Proc Details

makeUrlMessage

Will add the URLs usable by staff to the message and return it +Arguments: +C - The client who send the message +msg - The raw message +ticketNum - Which ticket number the ticket has

message_staff

Sends a message to the designated staff +Arguments: +msg - The message being send +alt - If an alternative prefix should be used or not. Defaults to TICKET_STAFF_MESSAGE_PREFIX +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE

newHelpRequest

Will either make a new ticket using the given text or will add the text to an existing ticket. +Staff will get a message +Arguments: +C - The client who requests help +text - The text the client send

\ No newline at end of file diff --git a/datum/controller/subsystem/timer.html b/datum/controller/subsystem/timer.html new file mode 100644 index 00000000000..70bf0b96317 --- /dev/null +++ b/datum/controller/subsystem/timer.html @@ -0,0 +1 @@ +/datum/controller/subsystem/timer - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

timer

Vars

bucket_auto_resetBoolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time
bucket_countHow many timers are in the buckets
bucket_listList of buckets, each bucket holds every timer that has to run that byond tick
bucket_reset_countHow many times bucket was reset
bucket_resolutionworld.tick_lag the bucket was designed for
clienttime_timersSpecial timers that run in real-time, not BYOND time; these are more expensive to run and maintain
hashesA hashlist dictionary used for storing unique timers
head_offsetworld.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
last_invoke_tickContains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed
last_invoke_warningContains the last time that a warning was issued for not invoking callbacks
next_clienttime_timer_indexKeeps track of the next index to work on for client timers
practical_offsetIndex of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.
second_queueQueue used for storing timers that do not fit into the current buckets
timer_id_dictList of all active timers associated to their timer ID (for easy lookup)

Procs

get_timer_debug_stringGenerates a string with details about the timed event for debugging purposes
reset_bucketsDestroys the existing buckets and creates new buckets from the existing timed events

Var Details

bucket_auto_reset

Boolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time

bucket_count

How many timers are in the buckets

bucket_list

List of buckets, each bucket holds every timer that has to run that byond tick

bucket_reset_count

How many times bucket was reset

bucket_resolution

world.tick_lag the bucket was designed for

clienttime_timers

Special timers that run in real-time, not BYOND time; these are more expensive to run and maintain

hashes

A hashlist dictionary used for storing unique timers

head_offset

world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets

last_invoke_tick

Contains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed

last_invoke_warning

Contains the last time that a warning was issued for not invoking callbacks

next_clienttime_timer_index

Keeps track of the next index to work on for client timers

practical_offset

Index of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.

second_queue

Queue used for storing timers that do not fit into the current buckets

timer_id_dict

List of all active timers associated to their timer ID (for easy lookup)

Proc Details

get_timer_debug_string

Generates a string with details about the timed event for debugging purposes

reset_buckets

Destroys the existing buckets and creates new buckets from the existing timed events

\ No newline at end of file diff --git a/datum/controller/subsystem/unplanned_controllers.html b/datum/controller/subsystem/unplanned_controllers.html new file mode 100644 index 00000000000..f9e78fbba5c --- /dev/null +++ b/datum/controller/subsystem/unplanned_controllers.html @@ -0,0 +1 @@ +/datum/controller/subsystem/unplanned_controllers - Space Station 13
Space Station 13 - Modules - TypesVar Details

unplanned_controllers

Vars

target_statusWhat ai status are we interested in

Var Details

target_status

What ai status are we interested in

\ No newline at end of file diff --git a/datum/controller/subsystem/user_verbs.html b/datum/controller/subsystem/user_verbs.html new file mode 100644 index 00000000000..83df7e64c52 --- /dev/null +++ b/datum/controller/subsystem/user_verbs.html @@ -0,0 +1,5 @@ +/datum/controller/subsystem/user_verbs - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

user_verbs

Vars

admin_visibility_flagsA map of all associated admins and their visibility flags.
admins_pending_subsytem_initA list of all admins that are pending initialization of this SS.
user_verbs_by_typeA list of all user verbs indexed by their type.
user_verbs_by_visibility_flagA list of all user verbs indexed by their visibility flag.

Procs

associateAssosciates and/or resyncs an admin with their accessible user verbs.
deassociateUnassociates an admin from their user verbs. +Goes over all user verbs because we don't know which ones are assigned to the admin's mob without a bunch of extra bookkeeping. +This might be a performance issue in the future if we have a lot of user verbs.

Var Details

admin_visibility_flags

A map of all associated admins and their visibility flags.

admins_pending_subsytem_init

A list of all admins that are pending initialization of this SS.

user_verbs_by_type

A list of all user verbs indexed by their type.

user_verbs_by_visibility_flag

A list of all user verbs indexed by their visibility flag.

Proc Details

associate

Assosciates and/or resyncs an admin with their accessible user verbs.

deassociate

Unassociates an admin from their user verbs. +Goes over all user verbs because we don't know which ones are assigned to the admin's mob without a bunch of extra bookkeeping. +This might be a performance issue in the future if we have a lot of user verbs.

\ No newline at end of file diff --git a/datum/controller/subsystem/verb_manager.html b/datum/controller/subsystem/verb_manager.html new file mode 100644 index 00000000000..94b6a7e464e --- /dev/null +++ b/datum/controller/subsystem/verb_manager.html @@ -0,0 +1,16 @@ +/datum/controller/subsystem/verb_manager - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

verb_manager

Vars

FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbsif this is true all verbs immediately execute and dont queue. in case the mc is fucked or something
always_queuealways queue if possible. overides can_queue_admin_verbs but not FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs
can_queue_admin_verbsif TRUE we treat usr's with holders just like usr's without holders. otherwise they always execute immediately
message_admins_on_queueif TRUE this will... message admins every time a verb is queued to this subsystem for the next tick with stats. +for obvious reasons dont make this be TRUE on the code level this is for admins to turn on
verb_queuelist of callbacks to procs called from verbs or verblike procs that were executed when the server was overloaded and had to delay to the next tick. +this list is ran through every tick, and the subsystem does not yield until this queue is finished.
verbs_executed_per_secondrunning average of how many verb callbacks are executed every second. used for the stat entry

Procs

can_queue_verbsubsystem-specific check for whether a callback can be queued. +intended so that subsystem subtypes can verify whether
queue_verbqueue a callback for the given proc, so that it is invoked in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB()
run_verb_queueruns through all of this subsystems queue of verb callbacks. +goes through the entire verb queue without yielding. +used so you can flush the queue outside of fire() without interfering with anything else subtype subsystems might do in fire().

Var Details

FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs

if this is true all verbs immediately execute and dont queue. in case the mc is fucked or something

always_queue

always queue if possible. overides can_queue_admin_verbs but not FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs

can_queue_admin_verbs

if TRUE we treat usr's with holders just like usr's without holders. otherwise they always execute immediately

message_admins_on_queue

if TRUE this will... message admins every time a verb is queued to this subsystem for the next tick with stats. +for obvious reasons dont make this be TRUE on the code level this is for admins to turn on

verb_queue

list of callbacks to procs called from verbs or verblike procs that were executed when the server was overloaded and had to delay to the next tick. +this list is ran through every tick, and the subsystem does not yield until this queue is finished.

verbs_executed_per_second

running average of how many verb callbacks are executed every second. used for the stat entry

Proc Details

can_queue_verb

subsystem-specific check for whether a callback can be queued. +intended so that subsystem subtypes can verify whether

+

subtypes may include additional arguments here if they need them! you just need to include them properly +in TRY_QUEUE_VERB() and co.

queue_verb

queue a callback for the given proc, so that it is invoked in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB()

+

returns TRUE if the queuing was successful, FALSE otherwise.

run_verb_queue

runs through all of this subsystems queue of verb callbacks. +goes through the entire verb queue without yielding. +used so you can flush the queue outside of fire() without interfering with anything else subtype subsystems might do in fire().

\ No newline at end of file diff --git a/datum/controller/subsystem/vis_overlays.html b/datum/controller/subsystem/vis_overlays.html new file mode 100644 index 00000000000..e2503933dea --- /dev/null +++ b/datum/controller/subsystem/vis_overlays.html @@ -0,0 +1,35 @@ +/datum/controller/subsystem/vis_overlays - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

vis_overlays

Vars

currentrunList of currently processed overlays during a run
vis_overlay_cacheCache for visual overlays

Procs

_create_new_vis_overlayCreates a new visual overlay with the specified parameters.
add_vis_overlayAdds a visual overlay to a given atom.
remove_vis_overlayRemoves specified visual overlays from an atom.

Var Details

currentrun

List of currently processed overlays during a run

vis_overlay_cache

Cache for visual overlays

Proc Details

_create_new_vis_overlay

Creates a new visual overlay with the specified parameters.

+

This procedure initializes a new visual overlay object with the given attributes.

+

Arguments:

+ +

Returns the newly created overlay.

add_vis_overlay

Adds a visual overlay to a given atom.

+

This procedure creates and adds a visual overlay to the specified object. It can either create a unique +overlay or reuse an existing one based on the provided parameters.

+

Arguments:

+ +

Returns the overlay that was added.

remove_vis_overlay

Removes specified visual overlays from an atom.

+

This procedure removes the given overlays from the atom's visual contents and also updates the +managed overlays list if applicable.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/controller/subsystem/vote.html b/datum/controller/subsystem/vote.html new file mode 100644 index 00000000000..64cf3da5464 --- /dev/null +++ b/datum/controller/subsystem/vote.html @@ -0,0 +1 @@ +/datum/controller/subsystem/vote - Space Station 13
Space Station 13 - Modules - TypesVar Details

vote

Vars

active_voteActive vote, if any

Var Details

active_vote

Active vote, if any

\ No newline at end of file diff --git a/datum/cooking/recipe.html b/datum/cooking/recipe.html new file mode 100644 index 00000000000..5e11b93353a --- /dev/null +++ b/datum/cooking/recipe.html @@ -0,0 +1,17 @@ +/datum/cooking/recipe - Space Station 13
Space Station 13 - Modules - TypesVar Details

recipe

ParaCooking With Jane

+

A cooking rework ported from Sojourn and heavily adapted for Para.

+

The recipe datum outlines a list of steps from getting a piece of food from +point A to point B.

+

Recipes have clear start and end points. They start with a particular item +and end with a particular item. That said, a start item can follow multiple +recipes until they eventually diverge as different steps are followed. In the +case two recipes have identical steps, the user should be prompted on what +their intended result should be. (Donuts vs Bagels)

+

Recipes are loaded at startup. Food items reference it by the recipe_tracker +datum.

+

Recipes and their steps are singletons. Cooking processes should never alter +them.

Vars

appear_in_default_catalogEverything appears in the catalog by default.
catalog_categoryThe category of the recipe for the cookbook PDA app and other sources of recipe info.
container_typeThe type of the cooking container the recipe is performed in.
product_countHow much of a thing is made per case of the recipe being followed.
product_typeType path for the product created by the recipe.
replace_reagentsDetermines if we entirely replace the contents of the food product with the slurry that goes into it.
stepsA list of /datum/cooking/recipe_steps needed to be followed +to create the recipe. Generally steps must be completed in order +for the preparation to be considered valid.

Var Details

appear_in_default_catalog

Everything appears in the catalog by default.

catalog_category

The category of the recipe for the cookbook PDA app and other sources of recipe info.

container_type

The type of the cooking container the recipe is performed in.

product_count

How much of a thing is made per case of the recipe being followed.

product_type

Type path for the product created by the recipe.

replace_reagents

Determines if we entirely replace the contents of the food product with the slurry that goes into it.

steps

A list of /datum/cooking/recipe_steps needed to be followed +to create the recipe. Generally steps must be completed in order +for the preparation to be considered valid.

\ No newline at end of file diff --git a/datum/cooking/recipe_step.html b/datum/cooking/recipe_step.html new file mode 100644 index 00000000000..58c6eccd86c --- /dev/null +++ b/datum/cooking/recipe_step.html @@ -0,0 +1,21 @@ +/datum/cooking/recipe_step - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

recipe_step

Vars

optionalWhether or not the recipe requires this step to be performed.

Procs

attempt_autochef_performAttempt to have the autochef actually perform this step. This is during the "performance" +stage of the autochef, during which other steps of the recipe may have already been performed.
attempt_autochef_prepareAttempt to see if the autochef can finish the recipe with the available resources it has. +This is done in the "preparation" stage of the autochef.
check_conditions_metSee if the used_item meets the conditions for this recipe step. This will +typically be something like ensuring that a recipe step for adding a +specific kind of item has been passed an item of that type.
follow_stepAttempt to satisfy the requirements of this step with the object used_item +being used on the cooking container that the tracker is tracking.
get_pda_formatted_descReturn a human readable description of the recipe step as an instruction to the reader.
is_completeSpecial function to check if the step has been satisfied. Sometimes just +following the step is enough, but not always.

Var Details

optional

Whether or not the recipe requires this step to be performed.

Proc Details

attempt_autochef_perform

Attempt to have the autochef actually perform this step. This is during the "performance" +stage of the autochef, during which other steps of the recipe may have already been performed.

attempt_autochef_prepare

Attempt to see if the autochef can finish the recipe with the available resources it has. +This is done in the "preparation" stage of the autochef.

check_conditions_met

See if the used_item meets the conditions for this recipe step. This will +typically be something like ensuring that a recipe step for adding a +specific kind of item has been passed an item of that type.

+

Returns one of [PCWJ_CHECK_INVALID], [PCWJ_CHECK_VALID], PCWJ_CHECK_FULL, +[PCWJ_CHECK_SILENT].

follow_step

Attempt to satisfy the requirements of this step with the object used_item +being used on the cooking container that the tracker is tracking.

+

The return value is a list of metadata about the step used by the tracker +during the preparation and final recipe creation. There is no fixed set of +values to return here, and different recipe steps may return different +useful keys to the tracker. One key that is returned by most steps is +"message", which returns the visible message that should be shown in chat to +the user when the step is followed.

get_pda_formatted_desc

Return a human readable description of the recipe step as an instruction to the reader.

is_complete

Special function to check if the step has been satisfied. Sometimes just +following the step is enough, but not always.

\ No newline at end of file diff --git a/datum/cooking/recipe_step/add_item/meathunk.html b/datum/cooking/recipe_step/add_item/meathunk.html new file mode 100644 index 00000000000..e177e0a678e --- /dev/null +++ b/datum/cooking/recipe_step/add_item/meathunk.html @@ -0,0 +1 @@ +/datum/cooking/recipe_step/add_item/meathunk - Space Station 13
Space Station 13 - Modules - TypesVar Details

meathunk

A specialized add-item step for specific meat subtypes

Vars

exclude_meat_subtypesA list of subtypes of meat which aren't appropriate substitutes for the generic "hunk of meat" base type in recipes

Var Details

exclude_meat_subtypes

A list of subtypes of meat which aren't appropriate substitutes for the generic "hunk of meat" base type in recipes

\ No newline at end of file diff --git a/datum/cooking/recipe_step/add_reagent.html b/datum/cooking/recipe_step/add_reagent.html new file mode 100644 index 00000000000..f2e09d8743e --- /dev/null +++ b/datum/cooking/recipe_step/add_reagent.html @@ -0,0 +1 @@ +/datum/cooking/recipe_step/add_reagent - Space Station 13
Space Station 13 - Modules - TypesVar Details

add_reagent

Vars

remain_percentWhat percentage of the reagent ends up in the product, as a value from 0.0 to 1.0

Var Details

remain_percent

What percentage of the reagent ends up in the product, as a value from 0.0 to 1.0

\ No newline at end of file diff --git a/datum/cooking/recipe_tracker.html b/datum/cooking/recipe_tracker.html new file mode 100644 index 00000000000..98b34ff0f79 --- /dev/null +++ b/datum/cooking/recipe_tracker.html @@ -0,0 +1,38 @@ +/datum/cooking/recipe_tracker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

recipe_tracker

A recipe tracker is an abstract representation of the progress that a +cooking container has made towards any of its possible recipe outcomes.

+

When items are added/steps are performed on a cooking container, the tracker +is responsible for determining what known recipes are possible after the +step occurs, and tracking whether or not the step was successful. Once a +step has been performed that ends a recipe and is successful, the tracker +coordinates with the winning recipe to create the result, using what it +knows about the steps performed to choose the quality and other attributes +of the output.

Vars

container_uidThe parent object holding the recipe tracker.
recipe_startedTells if steps have been taken for this recipe.
recipes_all_applied_stepsA list of recipe types to list of step indices we know we've performed. +Ensures we don't perform e.g. optional steps we skipped on completion.
recipes_applied_step_dataA list of recipe types to metadata returned from completing its steps. +This may include things like a custom message shown to the player, or +the UID of relevant items used for determining quality at recipe +completion.
recipes_last_completed_stepA list of recipe types to the index of the latest step we know we've +gotten to.

Procs

process_itemCore function that checks if a object meets all the requirements for certain +recipe actions.
process_item_wrapWrapper function for analyzing process_item internally.

Var Details

container_uid

The parent object holding the recipe tracker.

recipe_started

Tells if steps have been taken for this recipe.

recipes_all_applied_steps

A list of recipe types to list of step indices we know we've performed. +Ensures we don't perform e.g. optional steps we skipped on completion.

recipes_applied_step_data

A list of recipe types to metadata returned from completing its steps. +This may include things like a custom message shown to the player, or +the UID of relevant items used for determining quality at recipe +completion.

recipes_last_completed_step

A list of recipe types to the index of the latest step we know we've +gotten to.

Proc Details

process_item

Core function that checks if a object meets all the requirements for certain +recipe actions.

+

This is one of the thornier and grosser parts of the cooking system and most +people working with it or implementing recipes should never have to look at +this. The core idea is:

+ +

Once a recipe reaches its final step, the tracker completes the recipe and +typically stops existing at that point.

process_item_wrap

Wrapper function for analyzing process_item internally.

\ No newline at end of file diff --git a/datum/crafting_recipe.html b/datum/crafting_recipe.html new file mode 100644 index 00000000000..39ec40d8d77 --- /dev/null +++ b/datum/crafting_recipe.html @@ -0,0 +1 @@ +/datum/crafting_recipe - Space Station 13
Space Station 13 - Modules - TypesVar Details

crafting_recipe

Vars

alert_admins_on_craftWill this recipe send an admin message when it's completed.
always_availableIs this recipe always available, or does it need to be learned first.
blacklistType paths of items explicitly not allowed as an ingredient.
categoryWhat category it's shown under in the crafting UI.
nameIn-game display name.
partsType paths of items that will be placed inside the result.
pathtoolsType paths of items needed but not consumed.
reqsType paths of items consumed associated with how many are needed.
resultType paths of item(s) resulting from this craft.
subcategoryWhat subcategory it's shown under in the crafting UI. (e.g 'Ammo' under 'Weapons')
timeCrafting time in deciseconds.
toolsTool behaviours of items needed but not consumed.

Var Details

alert_admins_on_craft

Will this recipe send an admin message when it's completed.

always_available

Is this recipe always available, or does it need to be learned first.

blacklist

Type paths of items explicitly not allowed as an ingredient.

category

What category it's shown under in the crafting UI.

name

In-game display name.

parts

Type paths of items that will be placed inside the result.

pathtools

Type paths of items needed but not consumed.

reqs

Type paths of items consumed associated with how many are needed.

result

Type paths of item(s) resulting from this craft.

subcategory

What subcategory it's shown under in the crafting UI. (e.g 'Ammo' under 'Weapons')

time

Crafting time in deciseconds.

tools

Tool behaviours of items needed but not consumed.

\ No newline at end of file diff --git a/datum/crusher_skin.html b/datum/crusher_skin.html new file mode 100644 index 00000000000..edbf7372748 --- /dev/null +++ b/datum/crusher_skin.html @@ -0,0 +1 @@ +/datum/crusher_skin - Space Station 13
Space Station 13 - Modules - TypesVar Details

crusher_skin

Alternate PKC skins

Vars

crusherCrusher this skin is attached to
nameName of the modification
normal_skinCan this skin be normally selected by a generic retool kit?
retool_iconSpecifies the icon file in which the crusher's new state is stored.
retool_icon_stateSpecifies the sprite/icon state which the crusher is changed to as an item. Should appear in the icons/obj/mining.dmi file with accompanying "lit" and "recharging" sprites
retool_inhand_iconSpecifies the icon state for the crusher's appearance in hand. Should appear in both retool_lefthand_file and retool_righthand_file.
retool_inhand_xSpecifies the X dimensions of the new inhand, only relevant with different inhand files.
retool_inhand_ySpecifies the Y dimensions of the new inhand, only relevant with different inhand files.
retool_lefthand_fileSpecifies the left hand inhand icon file. Don't forget to set the right hand file as well.
retool_projectile_iconSpecifies the icon file in which the crusher's projectile sprite is located.
retool_projectile_icon_stateFor if the retool kit changes the projectile's appearance.
retool_righthand_fileSpecifies the right hand inhand icon file. Don't forget to set the left hand file as well.
retool_worn_fileSpecifies the worn icon file.

Var Details

crusher

Crusher this skin is attached to

name

Name of the modification

normal_skin

Can this skin be normally selected by a generic retool kit?

retool_icon

Specifies the icon file in which the crusher's new state is stored.

retool_icon_state

Specifies the sprite/icon state which the crusher is changed to as an item. Should appear in the icons/obj/mining.dmi file with accompanying "lit" and "recharging" sprites

retool_inhand_icon

Specifies the icon state for the crusher's appearance in hand. Should appear in both retool_lefthand_file and retool_righthand_file.

retool_inhand_x

Specifies the X dimensions of the new inhand, only relevant with different inhand files.

retool_inhand_y

Specifies the Y dimensions of the new inhand, only relevant with different inhand files.

retool_lefthand_file

Specifies the left hand inhand icon file. Don't forget to set the right hand file as well.

retool_projectile_icon

Specifies the icon file in which the crusher's projectile sprite is located.

retool_projectile_icon_state

For if the retool kit changes the projectile's appearance.

retool_righthand_file

Specifies the right hand inhand icon file. Don't forget to set the left hand file as well.

retool_worn_file

Specifies the worn icon file.

\ No newline at end of file diff --git a/datum/custom_user_item.html b/datum/custom_user_item.html new file mode 100644 index 00000000000..b9f879a29ef --- /dev/null +++ b/datum/custom_user_item.html @@ -0,0 +1,10 @@ +/datum/custom_user_item - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Custom User Item

Holder for CUIs

+

This datum is a holder that is essentially a "model" of the customuseritems +database table, and is used for giving people their CUIs on spawn. +It is instanced as part of the client data loading framework on the client.

Vars

all_characters_allowedCan this be used on all characters?
all_jobs_allowedAre all jobs allowed?
allowed_jobsList of allowed jobs
characer_nameName of the character that can have this item.
item_desc_overrideCustom item description override
item_name_overrideCustom item name override
object_typepathCustom item typepath
raw_job_maskRaw job mask

Procs

parse_infoCUI Info Parser

Var Details

all_characters_allowed

Can this be used on all characters?

all_jobs_allowed

Are all jobs allowed?

allowed_jobs

List of allowed jobs

characer_name

Name of the character that can have this item.

item_desc_override

Custom item description override

item_name_override

Custom item name override

object_typepath

Custom item typepath

raw_job_mask

Raw job mask

Proc Details

parse_info

CUI Info Parser

+

Parses all the raw info into usable stuff, and also does validity checks +Returns TRUE if its a valid item, and FALSE if not

+

Arguments:

+
\ No newline at end of file diff --git a/datum/data/bluespace_tap_product.html b/datum/data/bluespace_tap_product.html new file mode 100644 index 00000000000..f0c9a36e79d --- /dev/null +++ b/datum/data/bluespace_tap_product.html @@ -0,0 +1 @@ +/datum/data/bluespace_tap_product - Space Station 13
Space Station 13 - Modules - TypesVar Details

bluespace_tap_product

Vars

product_costHow much the product costs to produce
product_nameName of the product
product_path_commonThe path to a list containing the common drops
product_path_rareThe path to a list containing the rare drops
product_path_uncommonThe path to a list containing the uncommon drops

Var Details

product_cost

How much the product costs to produce

product_name

Name of the product

product_path_common

The path to a list containing the common drops

product_path_rare

The path to a list containing the rare drops

product_path_uncommon

The path to a list containing the uncommon drops

\ No newline at end of file diff --git a/datum/data/pda/app/game/minesweeper.html b/datum/data/pda/app/game/minesweeper.html new file mode 100644 index 00000000000..5663b908e97 --- /dev/null +++ b/datum/data/pda/app/game/minesweeper.html @@ -0,0 +1 @@ +/datum/data/pda/app/game/minesweeper - Space Station 13
Space Station 13 - Modules - TypesVar Details

minesweeper

Vars

first_touchThing, to make first touch safety
ignore_touchesDecision to make interface untouchable in the momemnt of regenerating
leaderboardThe leaderboard list
minesweeper_matrixHere we have all the minesweeper info
start_timeThe moment then game was started for point count

Var Details

first_touch

Thing, to make first touch safety

ignore_touches

Decision to make interface untouchable in the momemnt of regenerating

leaderboard

The leaderboard list

minesweeper_matrix

Here we have all the minesweeper info

start_time

The moment then game was started for point count

\ No newline at end of file diff --git a/datum/data/pda/app/nanobank.html b/datum/data/pda/app/nanobank.html new file mode 100644 index 00000000000..8f63456bfc8 --- /dev/null +++ b/datum/data/pda/app/nanobank.html @@ -0,0 +1 @@ +/datum/data/pda/app/nanobank - Space Station 13
Space Station 13 - Modules - TypesVar Details

nanobank

Vars

account_databasemoney account database this PDA is connected to
last_transactionworld time of last transaction, used for cooldowns (to protect against transfer spams or accidental double clicks)
premium_versionHas this user purchased NanoBank Premium?
user_accountthe money account tethered to this program

Var Details

account_database

money account database this PDA is connected to

last_transaction

world time of last transaction, used for cooldowns (to protect against transfer spams or accidental double clicks)

premium_version

Has this user purchased NanoBank Premium?

user_account

the money account tethered to this program

\ No newline at end of file diff --git a/datum/data/vending_product.html b/datum/data/vending_product.html new file mode 100644 index 00000000000..e4dbbf32075 --- /dev/null +++ b/datum/data/vending_product.html @@ -0,0 +1 @@ +/datum/data/vending_product - Space Station 13
Space Station 13 - Modules - TypesVar Details

vending_product

Datum used to hold information about a product in a vending machine

Vars

pricePrice to buy one

Var Details

price

Price to buy one

\ No newline at end of file diff --git a/datum/data/vending_product/from_path.html b/datum/data/vending_product/from_path.html new file mode 100644 index 00000000000..44615497d64 --- /dev/null +++ b/datum/data/vending_product/from_path.html @@ -0,0 +1 @@ +/datum/data/vending_product/from_path - Space Station 13
Space Station 13 - Modules - TypesVar Details

from_path

Vars

amountHow many of this product we currently have
max_amountHow many we can store at maximum
product_pathTypepath of the product that is created when this record "sells"

Var Details

amount

How many of this product we currently have

max_amount

How many we can store at maximum

product_path

Typepath of the product that is created when this record "sells"

\ No newline at end of file diff --git a/datum/data/vending_product/physical.html b/datum/data/vending_product/physical.html new file mode 100644 index 00000000000..3c696982cb6 --- /dev/null +++ b/datum/data/vending_product/physical.html @@ -0,0 +1 @@ +/datum/data/vending_product/physical - Space Station 13
Space Station 13 - Modules - TypesVar Details

physical

Vars

display_iconWhat icon should they use?
display_icon_stateWhat icon state should they use?
display_nameWhat should they be called?
itemsThe items available.

Var Details

display_icon

What icon should they use?

display_icon_state

What icon state should they use?

display_name

What should they be called?

items

The items available.

\ No newline at end of file diff --git a/datum/db_query.html b/datum/db_query.html new file mode 100644 index 00000000000..f29357aecde --- /dev/null +++ b/datum/db_query.html @@ -0,0 +1,26 @@ +/datum/db_query - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

db_query

Datum based handler for all database queries

+

Holds information regarding inputs, status, and outputs

Vars

affectedHow many rows were affected by the query
argumentsAn associative list of parameters to be substituted into the statement
connectionThe connection being used with this query
in_progressIs the query currently in progress
itemList of data values populated by NextRow()
last_activityWhat was our last activity
last_activity_timeWhen was our last activity
last_errorWhat was our last error, if any
last_insert_idID of the last inserted row
next_row_to_takeCounter of the next row to take
query_idWhat is the query ID?
rowsList of all rows returned
sqlThe SQL statement being executed with :parameter placeholders

Procs

ActivityActivity Update Handler
ExecuteMain Execution Handler
NextRowProc to get the next row in a DB query
run_queryActual Query Runner
warn_executeWrapped for warning on execution

Var Details

affected

How many rows were affected by the query

arguments

An associative list of parameters to be substituted into the statement

connection

The connection being used with this query

in_progress

Is the query currently in progress

item

List of data values populated by NextRow()

last_activity

What was our last activity

last_activity_time

When was our last activity

last_error

What was our last error, if any

last_insert_id

ID of the last inserted row

next_row_to_take

Counter of the next row to take

query_id

What is the query ID?

rows

List of all rows returned

sql

The SQL statement being executed with :parameter placeholders

Proc Details

Activity

Activity Update Handler

+

Sets the last activity text to the argument input, as well as updating the activity time

+

Arguments:

+

Execute

Main Execution Handler

+

Invoked by [warn_execute()] +This handles query error logging, as well as invoking the actual runner +Arguments:

+

NextRow

Proc to get the next row in a DB query

+

Cycles item to the next row in the DB query, if multiple were fetched

run_query

Actual Query Runner

+

This does the main query with the database and the rust calls themselves

+

Arguments:

+

warn_execute

Wrapped for warning on execution

+

You should use this proc when running the SQL statement. It will auto inform the user and the online admins if a query fails

+

Arguments:

+
\ No newline at end of file diff --git a/datum/department_member.html b/datum/department_member.html new file mode 100644 index 00000000000..deee34a368e --- /dev/null +++ b/datum/department_member.html @@ -0,0 +1 @@ +/datum/department_member - Space Station 13
Space Station 13 - Modules - TypesVar Details

department_member

Vars

can_approve_cratesCan this department member approve crates for the department?
member_accountThis department members money account
nameName of the department member
roleOccupation of the department member

Var Details

can_approve_crates

Can this department member approve crates for the department?

member_account

This department members money account

name

Name of the department member

role

Occupation of the department member

\ No newline at end of file diff --git a/datum/design.html b/datum/design.html new file mode 100644 index 00000000000..ba636a775b0 --- /dev/null +++ b/datum/design.html @@ -0,0 +1,4 @@ +/datum/design - Space Station 13
Space Station 13 - Modules - TypesVar Details

design

				Design Datums						 
+
+

All the data for building stuff. +Datum for object designs, used in construction

Vars

requires_whitelistDetermines whether or not we get to get a design blueprint from a disk

Var Details

requires_whitelist

Determines whether or not we get to get a design blueprint from a disk

\ No newline at end of file diff --git a/datum/discord_embed.html b/datum/discord_embed.html new file mode 100644 index 00000000000..080c5be529b --- /dev/null +++ b/datum/discord_embed.html @@ -0,0 +1,5 @@ +/datum/discord_embed - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Discord Embed

Holder datum for discord embeds

+

Used in /datum/discord_webhook_payload and serves as a code-first means to add an embed. +See https://discord.com/developers/docs/resources/channel#embed-object

Vars

embed_colourColour of the strip on the side of the embed. Must be in hexadecimal WITHOUT leading hash
embed_contentContent of the embed
embed_timestampTimestamp the embed was sent at. Must be in 8601 format. Will be autoset on /New()
embed_titleTitle of the embed
fieldsList of all fields in the embed

Procs

serialize2listEmbed Serializer

Var Details

embed_colour

Colour of the strip on the side of the embed. Must be in hexadecimal WITHOUT leading hash

embed_content

Content of the embed

embed_timestamp

Timestamp the embed was sent at. Must be in 8601 format. Will be autoset on /New()

embed_title

Title of the embed

fields

List of all fields in the embed

Proc Details

serialize2list

Embed Serializer

+

Converts the DM embed object into JSON for a POST request. +Not called serialize() because thats a proc at the /datum level already

\ No newline at end of file diff --git a/datum/discord_embed_field.html b/datum/discord_embed_field.html new file mode 100644 index 00000000000..2093826ff1e --- /dev/null +++ b/datum/discord_embed_field.html @@ -0,0 +1,3 @@ +/datum/discord_embed_field - Space Station 13
Space Station 13 - Modules - TypesVar Details

Discord Embed Field

Holder datum for discord embed fields

+

Used in /datum/discord_embed and serves as a code-first means to add fields to an embed +See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure

Vars

field_contentContent of the field
field_nameName of the field
inlineInline flag

Var Details

field_content

Content of the field

field_name

Name of the field

inline

Inline flag

\ No newline at end of file diff --git a/datum/discord_manager.html b/datum/discord_manager.html new file mode 100644 index 00000000000..2bccce338f5 --- /dev/null +++ b/datum/discord_manager.html @@ -0,0 +1 @@ +/datum/discord_manager - Space Station 13
Space Station 13 - Modules - TypesVar Details

discord_manager

Vars

last_administration_pingLast time the administrator ping was dropped. This ensures administrators cannot be mass pinged if a large chunk of ahelps go off at once (IE: tesloose)
last_mentor_pingLast time the mentor ping was dropped. This ensures mentors cannot be mass pinged if a large chunk of mhelps go off at once.

Var Details

last_administration_ping

Last time the administrator ping was dropped. This ensures administrators cannot be mass pinged if a large chunk of ahelps go off at once (IE: tesloose)

last_mentor_ping

Last time the mentor ping was dropped. This ensures mentors cannot be mass pinged if a large chunk of mhelps go off at once.

\ No newline at end of file diff --git a/datum/discord_webhook_payload.html b/datum/discord_webhook_payload.html new file mode 100644 index 00000000000..4c4f86d175d --- /dev/null +++ b/datum/discord_webhook_payload.html @@ -0,0 +1,6 @@ +/datum/discord_webhook_payload - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Discord Webhook Payload

Holder datum for discord webhook POST send data

+

Holds all information that a webhook would need, +as well as a method to serialize the entire thing into JSON. +See https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params

Vars

embedsList of all embed objects in the message
webhook_contentContent of the webhook message
webhook_nameName the webhook user should post as

Procs

serialize2jsonWebhook Serializer

Var Details

embeds

List of all embed objects in the message

webhook_content

Content of the webhook message

webhook_name

Name the webhook user should post as

Proc Details

serialize2json

Webhook Serializer

+

Converts the DM webhook object into JSON for a POST request. +Not called serialize() because thats a proc at the /datum level already

\ No newline at end of file diff --git a/datum/disease.html b/datum/disease.html new file mode 100644 index 00000000000..05850582df9 --- /dev/null +++ b/datum/disease.html @@ -0,0 +1 @@ +/datum/disease - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

disease

Vars

allow_deadAllow the virus to infect and process while the affected_mob is dead
discoveredIf TRUE, this virus will show up on medical HUDs. Automatically set when it reaches mid-stage.
discovery_thresholdThe fraction of stages the virus must at least be at to show up on medical HUDs. Rounded up.
incubationHow many cycles we should incubate
medical_nameUsed for identification of viruses in the Medical Records Virus Database

Procs

get_pandemic_base_statsReturns the Disease's base stats
get_pandemic_symptomsReturns an Asoc list of disease's symptoms and their properties in a format usable by the PANDEMIC
is_knownReturns whether or not the disease is known
record_infectionNot interested in normal diseases right now

Var Details

allow_dead

Allow the virus to infect and process while the affected_mob is dead

discovered

If TRUE, this virus will show up on medical HUDs. Automatically set when it reaches mid-stage.

discovery_threshold

The fraction of stages the virus must at least be at to show up on medical HUDs. Rounded up.

incubation

How many cycles we should incubate

medical_name

Used for identification of viruses in the Medical Records Virus Database

Proc Details

get_pandemic_base_stats

Returns the Disease's base stats

get_pandemic_symptoms

Returns an Asoc list of disease's symptoms and their properties in a format usable by the PANDEMIC

is_known

Returns whether or not the disease is known

record_infection

Not interested in normal diseases right now

\ No newline at end of file diff --git a/datum/disease/advance.html b/datum/disease/advance.html new file mode 100644 index 00000000000..dacb832e7b6 --- /dev/null +++ b/datum/disease/advance.html @@ -0,0 +1 @@ +/datum/disease/advance - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

advance

Vars

base_propertiesThe base properties of the virus. retained between strains
cures_requiredThe number of cures from the cure list required to cure a patient
eventThe event the virus came from, if it did
evolution_chanceChance of the virus evolving on spread
idA unique ID for the strain and symptoms.
last_advancementThe time at which the disease last advanced
progressHow far along the disease has progressed? This is tied with stage but is separate to give more granularity to symptom effects
strainA unique ID for the strain. Uses the unique_datum_id of the first virus datum that is of that strain.
symptomsThe symptoms of the disease.
trackerSaves an ID. If that ID is analyzed the virus will be automatically analyzed when inserted into the PANDEMIC

Procs

AssignPropertiesSet the characteristics of the disease depending on the received properties
GeneratePropertiesGenerate disease properties based on the symptoms and base properties. Returns an associated list.
RefreshCalled after changes are made to a disease to apply them properly
after_infectRandomly mutate the disease

Var Details

base_properties

The base properties of the virus. retained between strains

cures_required

The number of cures from the cure list required to cure a patient

event

The event the virus came from, if it did

evolution_chance

Chance of the virus evolving on spread

id

A unique ID for the strain and symptoms.

last_advancement

The time at which the disease last advanced

progress

How far along the disease has progressed? This is tied with stage but is separate to give more granularity to symptom effects

strain

A unique ID for the strain. Uses the unique_datum_id of the first virus datum that is of that strain.

symptoms

The symptoms of the disease.

tracker

Saves an ID. If that ID is analyzed the virus will be automatically analyzed when inserted into the PANDEMIC

Proc Details

AssignProperties

Set the characteristics of the disease depending on the received properties

GenerateProperties

Generate disease properties based on the symptoms and base properties. Returns an associated list.

Refresh

Called after changes are made to a disease to apply them properly

after_infect

Randomly mutate the disease

\ No newline at end of file diff --git a/datum/disease/magnitis.html b/datum/disease/magnitis.html new file mode 100644 index 00000000000..e2e03c88630 --- /dev/null +++ b/datum/disease/magnitis.html @@ -0,0 +1,8 @@ +/datum/disease/magnitis - Space Station 13
Space Station 13 - Modules - TypesProc Details

magnitis

Procs

magnetic_pullHandles magnitis pulling and throwing stuff. +Arguments:

Proc Details

magnetic_pull

Handles magnitis pulling and throwing stuff. +Arguments:

+
\ No newline at end of file diff --git a/datum/disease/wizarditis.html b/datum/disease/wizarditis.html new file mode 100644 index 00000000000..6d495330c14 --- /dev/null +++ b/datum/disease/wizarditis.html @@ -0,0 +1 @@ +/datum/disease/wizarditis - Space Station 13
Space Station 13 - Modules - TypesVar Details

wizarditis

Vars

magic_fashionA mapping of num2text(ITEM_SLOT_XYZ) -> item path

Var Details

magic_fashion

A mapping of num2text(ITEM_SLOT_XYZ) -> item path

\ No newline at end of file diff --git a/datum/disease/zombie.html b/datum/disease/zombie.html new file mode 100644 index 00000000000..caa03d8d15b --- /dev/null +++ b/datum/disease/zombie.html @@ -0,0 +1 @@ +/datum/disease/zombie - Space Station 13
Space Station 13 - Modules - TypesVar Details

zombie

Vars

cure_stageHow far this particular virus is in being cured (0-4)
instant_zombieActivate the immediate zombie rot loop
plague_diseaseWhat disease are we passing along to datum/antagonist/zombie
stage_timerCooldown until the virus can advance to the next stage

Var Details

cure_stage

How far this particular virus is in being cured (0-4)

instant_zombie

Activate the immediate zombie rot loop

plague_disease

What disease are we passing along to datum/antagonist/zombie

stage_timer

Cooldown until the virus can advance to the next stage

\ No newline at end of file diff --git a/datum/dmm_suite.html b/datum/dmm_suite.html new file mode 100644 index 00000000000..db4a3b65dec --- /dev/null +++ b/datum/dmm_suite.html @@ -0,0 +1,34 @@ +/datum/dmm_suite - Space Station 13
Space Station 13 - Modules - TypesProc Details

dmm_suite

Procs

load_mapConstruct the model map and control the loading process
parse_gridFill a given tile with its area/turf/objects/mobs +Variable model is one full map line (e.g /turf/simulated/wall{icon_state = "rock"},/area/mine/dangerous/explored)
parse_valueTries to parse the given value_text. Will fallback on the value_text as a string if it fails

Proc Details

load_map

Construct the model map and control the loading process

+

WORKING :

+
    +
  1. Makes an associative mapping of model_keys with model +e.g aa = /turf/simulated/wall{icon_state = "rock"}
  2. +
  3. Read the map line by line, parsing the result (using parse_grid)
  4. +
+

If measureOnly is set, then no atoms will be created, and all this will do +is return the bounds after parsing the file

+

If you need to freeze init while you're working, you can use the spacial allocator's +"add_dirt" and "remove_dirt" which will put initializations on hold until you say +the word. This is important for loading large maps such as the cyberiad, where +atmos will attempt to start before it's ready, causing runtimes galore if init is +allowed to romp unchecked.

parse_grid

Fill a given tile with its area/turf/objects/mobs +Variable model is one full map line (e.g /turf/simulated/wall{icon_state = "rock"},/area/mine/dangerous/explored)

+

WORKING :

+
    +
  1. +

    Read the model string, member by member (delimiter is ',')

    +
  2. +
  3. +

    Get the path of the atom and store it into a list

    +
  4. +
  5. +

    a) Check if the member has variables (text within '{' and '}')

    +
  6. +
  7. +

    b) Construct an associative list with found variables, if any (the atom index in members is the same as its variables in members_attributes)

    +
  8. +
  9. +

    Instanciates the atom with its variables

    +
  10. +

parse_value

Tries to parse the given value_text. Will fallback on the value_text as a string if it fails

\ No newline at end of file diff --git a/datum/dna.html b/datum/dna.html new file mode 100644 index 00000000000..baff620430c --- /dev/null +++ b/datum/dna.html @@ -0,0 +1 @@ +/datum/dna - Space Station 13
Space Station 13 - Modules - TypesVar Details

dna

Vars

blood_typeThe blood type of the mob.
chat_colorThe chat color to load for when a character is cloned, a changeling transforms, or when a character is created
default_blockslist of all blocks toggled at roundstart
flavor_textThe flavor text of the person. We store this here for polymorph and changelings.
real_nameStores the real name of the person who originally got this dna datum. Used primarily for changelings,
speciesThe type of mutant race the player is if applicable (i.e. potato-man)
struc_enzymesEncoded SE
uni_identityEncoded UI
unique_enzymesMD5 of player name

Var Details

blood_type

The blood type of the mob.

chat_color

The chat color to load for when a character is cloned, a changeling transforms, or when a character is created

default_blocks

list of all blocks toggled at roundstart

flavor_text

The flavor text of the person. We store this here for polymorph and changelings.

real_name

Stores the real name of the person who originally got this dna datum. Used primarily for changelings,

species

The type of mutant race the player is if applicable (i.e. potato-man)

struc_enzymes

Encoded SE

uni_identity

Encoded UI

unique_enzymes

MD5 of player name

\ No newline at end of file diff --git a/datum/dynamic_airlock_linker.html b/datum/dynamic_airlock_linker.html new file mode 100644 index 00000000000..620571c56f8 --- /dev/null +++ b/datum/dynamic_airlock_linker.html @@ -0,0 +1,32 @@ +/datum/dynamic_airlock_linker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

dynamic_airlock_linker

A manager that is used on mapload to generate airlock chambers based on the +usage of /obj/effect/map_effect/dynamic_airlock helpers. These helpers +make up the "zone" of an airlock chamber, as well as indicate which airlocks +are exterior or interior, what access should be applied to the doors and +controls, And what buttons, vents, and airlock controllers should be linked +together. This is performed on Initialize of one of the related helpers. +Once done, all the other helpers are deleted to prevent it happening again +for that zone.

Vars

airlock_controllersA list of all /obj/machinery/airlock_controllers found in the airlock zone.
exterior_helpersA list of /obj/effect/map_effect/dynamic_airlock/door/exteriors to integrate into the airlock.
interior_helpersA list of /obj/effect/map_effect/dynamic_airlock/door/interiors to integrate into the airlock.
req_accessA collection of "all" access defines collated from any +/obj/effect/map_effect/dynamic_airlock/access helpers present in the airlock.
req_one_accessA collection of "any" access defines collated from any +/obj/effect/map_effect/dynamic_airlock/access helpers present in the airlock.
vent_pumpsA list of all /obj/machinery/atmospherics/unary/vent_pump/high_volume vent pumps found in the airlock zone.

Procs

buildUse all the information discovered about the airlock zone to link up the +included airlock controllers, buttons, airlocks, and vent pumps. Make sure +that all helpers found in this process are qdel'd so that no other helper +attempts to do the same thing with this zone.
consume_access_helpersFind all the /obj/effect/mapping_helpers/airlock/access helpers on the +passed in helper's tile, and add them to the list of accesses we'll assign +to the linked objects later. Make sure that all mapping helpers found in +this process are qdel'd so they don't attempt to assign access to anything +else later.
extend_zoneStarting from an arbitrary initial helper, search out from all adjacent +tiles and find all other helpers that are part of this zone.

Var Details

airlock_controllers

A list of all /obj/machinery/airlock_controllers found in the airlock zone.

exterior_helpers

A list of /obj/effect/map_effect/dynamic_airlock/door/exteriors to integrate into the airlock.

interior_helpers

A list of /obj/effect/map_effect/dynamic_airlock/door/interiors to integrate into the airlock.

req_access

A collection of "all" access defines collated from any +/obj/effect/map_effect/dynamic_airlock/access helpers present in the airlock.

req_one_access

A collection of "any" access defines collated from any +/obj/effect/map_effect/dynamic_airlock/access helpers present in the airlock.

vent_pumps

A list of all /obj/machinery/atmospherics/unary/vent_pump/high_volume vent pumps found in the airlock zone.

Proc Details

build

Use all the information discovered about the airlock zone to link up the +included airlock controllers, buttons, airlocks, and vent pumps. Make sure +that all helpers found in this process are qdel'd so that no other helper +attempts to do the same thing with this zone.

consume_access_helpers

Find all the /obj/effect/mapping_helpers/airlock/access helpers on the +passed in helper's tile, and add them to the list of accesses we'll assign +to the linked objects later. Make sure that all mapping helpers found in +this process are qdel'd so they don't attempt to assign access to anything +else later.

extend_zone

Starting from an arbitrary initial helper, search out from all adjacent +tiles and find all other helpers that are part of this zone.

+

Right now this is a (relatively) busy proc that can't leave any setup to +the Initialize of any helpers in its zone, because airlock controllers need +all of their airlocks etc known when linkage occurs, which is in +LateInitialize. I'm not sure if that's something that can be "fixed".

\ No newline at end of file diff --git a/datum/effect_system.html b/datum/effect_system.html new file mode 100644 index 00000000000..06063be003b --- /dev/null +++ b/datum/effect_system.html @@ -0,0 +1 @@ +/datum/effect_system - Space Station 13
Space Station 13 - Modules - TypesVar Details

effect_system

Vars

numberThe number of objects the effect system will spawn

Var Details

number

The number of objects the effect system will spawn

\ No newline at end of file diff --git a/datum/effect_system/foam_spread.html b/datum/effect_system/foam_spread.html new file mode 100644 index 00000000000..9f10541363f --- /dev/null +++ b/datum/effect_system/foam_spread.html @@ -0,0 +1 @@ +/datum/effect_system/foam_spread - Space Station 13
Space Station 13 - Modules - TypesVar Details

foam_spread

Vars

banned_reagentsthe reagents that we don't want in foam
carried_reagentsthe IDs of reagents present when the foam was mixed
spread_sizethe size of the foam spread.
temperaturethe temperature that the reagents in the foam will be set to

Var Details

banned_reagents

the reagents that we don't want in foam

carried_reagents

the IDs of reagents present when the foam was mixed

spread_size

the size of the foam spread.

temperature

the temperature that the reagents in the foam will be set to

\ No newline at end of file diff --git a/datum/effect_system/foam_spread/metal.html b/datum/effect_system/foam_spread/metal.html new file mode 100644 index 00000000000..9a24781d739 --- /dev/null +++ b/datum/effect_system/foam_spread/metal.html @@ -0,0 +1 @@ +/datum/effect_system/foam_spread/metal - Space Station 13
Space Station 13 - Modules - TypesVar Details

metal

Vars

metal_typeThe type of metal that will be formed from this

Var Details

metal_type

The type of metal that will be formed from this

\ No newline at end of file diff --git a/datum/element.html b/datum/element.html new file mode 100644 index 00000000000..851a90b1374 --- /dev/null +++ b/datum/element.html @@ -0,0 +1,11 @@ +/datum/element - Space Station 13
Space Station 13 - Modules - TypesVar 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

argument_hash_end_idxThe index of the last attach argument to consider for duplicate elements +Only used when element_flags contains ELEMENT_BESPOKE. +If not set, it'll copy every argument from argument_hash_start_idx onwards as normal
argument_hash_start_idxThe index of the first attach argument to consider for duplicate elements
element_flagsOption flags for element behaviour

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

argument_hash_end_idx

The index of the last attach argument to consider for duplicate elements +Only used when element_flags contains ELEMENT_BESPOKE. +If not set, it'll copy every argument from argument_hash_start_idx onwards as normal

argument_hash_start_idx

The index of the first attach argument to consider for duplicate elements

+

All arguments from this index onwards (1 based, until argument_hash_end_idx is reached, if set) +are hashed into the key to determine if this is a new unique element or one already exists

+

Is only used when flags contains ELEMENT_BESPOKE

+

This is infinity so you must explicitly set this

element_flags

Option flags for element behaviour

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

\ No newline at end of file diff --git a/datum/element/ai_flee_while_injured.html b/datum/element/ai_flee_while_injured.html new file mode 100644 index 00000000000..edb153285bd --- /dev/null +++ b/datum/element/ai_flee_while_injured.html @@ -0,0 +1 @@ +/datum/element/ai_flee_while_injured - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_flee_while_injured

Attached to a mob with an AI controller, simply sets a flag on whether or not to run away based on current health values.

Vars

start_fleeing_belowHealth value to start fleeing if at or below
stop_fleeing_atHealth value to end fleeing if at or above

Procs

on_health_changedWhen the mob's health changes, check what the blackboard state should be

Var Details

start_fleeing_below

Health value to start fleeing if at or below

stop_fleeing_at

Health value to end fleeing if at or above

Proc Details

on_health_changed

When the mob's health changes, check what the blackboard state should be

\ No newline at end of file diff --git a/datum/element/ai_retaliate.html b/datum/element/ai_retaliate.html new file mode 100644 index 00000000000..19a7d8fd70c --- /dev/null +++ b/datum/element/ai_retaliate.html @@ -0,0 +1,2 @@ +/datum/element/ai_retaliate - Space Station 13
Space Station 13 - Modules - TypesProc Details

ai_retaliate

Attached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information.

Procs

on_attackedAdd an attacking atom to a blackboard list of things which attacked us

Proc Details

on_attacked

Add an attacking atom to a blackboard list of things which attacked us

\ No newline at end of file diff --git a/datum/element/atmos_requirements.html b/datum/element/atmos_requirements.html new file mode 100644 index 00000000000..d2310695e62 --- /dev/null +++ b/datum/element/atmos_requirements.html @@ -0,0 +1 @@ +/datum/element/atmos_requirements - Space Station 13
Space Station 13 - Modules - TypesVar Details

atmos_requirements

Bespoke element that deals damage to the attached mob when the atmos requirements aren't satisfied

Vars

atmos_requirementsAn assoc list of "what atmos does this mob require to survive in".
unsuitable_atmos_damageHow much (brute) damage we take from being in unsuitable atmos.

Var Details

atmos_requirements

An assoc list of "what atmos does this mob require to survive in".

unsuitable_atmos_damage

How much (brute) damage we take from being in unsuitable atmos.

\ No newline at end of file diff --git a/datum/element/basic_eating.html b/datum/element/basic_eating.html new file mode 100644 index 00000000000..22091d1489b --- /dev/null +++ b/datum/element/basic_eating.html @@ -0,0 +1,2 @@ +/datum/element/basic_eating - Space Station 13
Space Station 13 - Modules - TypesVar Details

basic_eating

basic eating element!

+

Small behavior for non-carbons to eat certain stuff they interact with

Vars

add_to_contentsIf true, we put food in our tummy instead of deleting it
damage_amountAmount to hurt
damage_typeType of hurt to apply
drinkingWhether to flavor it as drinking rather than eating.
food_typesTypes the animal can eat.
heal_amtAmount to heal

Var Details

add_to_contents

If true, we put food in our tummy instead of deleting it

damage_amount

Amount to hurt

damage_type

Type of hurt to apply

drinking

Whether to flavor it as drinking rather than eating.

food_types

Types the animal can eat.

heal_amt

Amount to heal

\ No newline at end of file diff --git a/datum/element/body_temperature.html b/datum/element/body_temperature.html new file mode 100644 index 00000000000..721dea9078f --- /dev/null +++ b/datum/element/body_temperature.html @@ -0,0 +1 @@ +/datum/element/body_temperature - Space Station 13
Space Station 13 - Modules - TypesVar Details

body_temperature

Bespoke element that deals damage to the attached mob when the ambient temperature is unsuitable.

Vars

cold_damage_per_tickDamage when below min temp
heat_damage_per_tickDamage when above max temp
max_body_tempMax body temp
min_body_tempMin body temp

Var Details

cold_damage_per_tick

Damage when below min temp

heat_damage_per_tick

Damage when above max temp

max_body_temp

Max body temp

min_body_temp

Min body temp

\ No newline at end of file diff --git a/datum/element/bombable_turf.html b/datum/element/bombable_turf.html new file mode 100644 index 00000000000..44c9a4943e5 --- /dev/null +++ b/datum/element/bombable_turf.html @@ -0,0 +1,3 @@ +/datum/element/bombable_turf - Space Station 13
Space Station 13 - Modules - TypesProc Details

bombable_turf

Apply this to a turf (usually a wall) and it will be destroyed instantly by any explosion. +Most walls can already be destroyed by explosions so this is largely for usually indestructible ones. +For applying it in a map editor, use /obj/effect/mapping_helpers/bombable_wall

Procs

detonateIf we get blowed up, move to the next turf
on_examinedShow a little extra on examine
turf_changedIf this turf becomes something else we either just went off or regardless don't want this any more

Proc Details

detonate

If we get blowed up, move to the next turf

on_examined

Show a little extra on examine

turf_changed

If this turf becomes something else we either just went off or regardless don't want this any more

\ No newline at end of file diff --git a/datum/element/connect_loc.html b/datum/element/connect_loc.html new file mode 100644 index 00000000000..7d48597af70 --- /dev/null +++ b/datum/element/connect_loc.html @@ -0,0 +1,2 @@ +/datum/element/connect_loc - Space Station 13
Space Station 13 - Modules - TypesVar 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.

\ No newline at end of file diff --git a/datum/element/corrupted_organ.html b/datum/element/corrupted_organ.html new file mode 100644 index 00000000000..4fea6e31d8a --- /dev/null +++ b/datum/element/corrupted_organ.html @@ -0,0 +1,2 @@ +/datum/element/corrupted_organ - Space Station 13
Space Station 13 - Modules - TypesProc Details

corrupted_organ

Component applying shared behaviour by cursed organs granted when sacrificed by a heretic +Mostly just does something spooky when it is removed

Procs

on_removedWhen we're taken out of someone, do something spooky

Proc Details

on_removed

When we're taken out of someone, do something spooky

\ No newline at end of file diff --git a/datum/element/death_gases.html b/datum/element/death_gases.html new file mode 100644 index 00000000000..037dabe68a8 --- /dev/null +++ b/datum/element/death_gases.html @@ -0,0 +1,2 @@ +/datum/element/death_gases - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

death_gases

death gases element!

+

Bespoke element that spawns one type of gas when a mob is killed

Vars

gas_typesWhat gas the target spawns when killed

Procs

on_deathsignal called by the stat of the target changing

Var Details

gas_types

What gas the target spawns when killed

Proc Details

on_death

signal called by the stat of the target changing

\ No newline at end of file diff --git a/datum/element/decal.html b/datum/element/decal.html new file mode 100644 index 00000000000..312218e7e7d --- /dev/null +++ b/datum/element/decal.html @@ -0,0 +1,7 @@ +/datum/element/decal - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

decal

Vars

base_icon_stateThe base icon state that this decal was initialized with.
cleanableWhether this decal can be cleaned.
descriptionA description this decal appends to the target's examine message.
directionalIf true this was initialized with no set direction - will follow the parent dir.
picThe overlay applied by this decal to the target.

Procs

generate_appearanceIf the decal was not given an appearance, it will generate one based on the other given arguments. +element won't be compatible if it cannot do either +all args are fed into creating an image, they are byond vars for images you'll recognize in the byond docs +(except source, source is the object whose appearance we're copying.)

Var Details

base_icon_state

The base icon state that this decal was initialized with.

cleanable

Whether this decal can be cleaned.

description

A description this decal appends to the target's examine message.

directional

If true this was initialized with no set direction - will follow the parent dir.

pic

The overlay applied by this decal to the target.

Proc Details

generate_appearance

If the decal was not given an appearance, it will generate one based on the other given arguments. +element won't be compatible if it cannot do either +all args are fed into creating an image, they are byond vars for images you'll recognize in the byond docs +(except source, source is the object whose appearance we're copying.)

\ No newline at end of file diff --git a/datum/element/effect_trail.html b/datum/element/effect_trail.html new file mode 100644 index 00000000000..161f6ed3261 --- /dev/null +++ b/datum/element/effect_trail.html @@ -0,0 +1 @@ +/datum/element/effect_trail - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

effect_trail

Vars

chosen_effectThe effect used for the trail generation.

Procs

generate_effectGenerates an effect

Var Details

chosen_effect

The effect used for the trail generation.

Proc Details

generate_effect

Generates an effect

\ No newline at end of file diff --git a/datum/element/heretic_focus.html b/datum/element/heretic_focus.html new file mode 100644 index 00000000000..8e4461b363a --- /dev/null +++ b/datum/element/heretic_focus.html @@ -0,0 +1,8 @@ +/datum/element/heretic_focus - Space Station 13
Space Station 13 - Modules - TypesProc Details

heretic_focus

Heretic focus element, simple element for making an item a heretic focus, +allowing heretics to cast advanced spells (examine message included).

Procs

on_dropSignal proc for COMSIG_ITEM_DROPPED. +Remove our trait when we drop (unequip) our item
on_equipSignal proc for COMSIG_ITEM_EQUIPPED. +When equipped in a right slot, give user our trait
on_examineSignal proc for COMSIG_PARENT_EXAMINE. +Let's the examiner see that this item is a heretic focus

Proc Details

on_drop

Signal proc for COMSIG_ITEM_DROPPED. +Remove our trait when we drop (unequip) our item

on_equip

Signal proc for COMSIG_ITEM_EQUIPPED. +When equipped in a right slot, give user our trait

on_examine

Signal proc for COMSIG_PARENT_EXAMINE. +Let's the examiner see that this item is a heretic focus

\ No newline at end of file diff --git a/datum/element/leeching_walk.html b/datum/element/leeching_walk.html new file mode 100644 index 00000000000..3b569c87055 --- /dev/null +++ b/datum/element/leeching_walk.html @@ -0,0 +1,3 @@ +/datum/element/leeching_walk - Space Station 13
Space Station 13 - Modules - TypesProc Details

leeching_walk

Buffs and heals the target while standing on rust.

Procs

on_lifeSignal proc for COMSIG_LIVING_LIFE.

Proc Details

on_life

Signal proc for COMSIG_LIVING_LIFE.

+

Gradually heals the heretic ([source]) on rust, +including baton knockdown and stamina damage.

\ No newline at end of file diff --git a/datum/element/light_blocking.html b/datum/element/light_blocking.html new file mode 100644 index 00000000000..146341be86b --- /dev/null +++ b/datum/element/light_blocking.html @@ -0,0 +1 @@ +/datum/element/light_blocking - Space Station 13
Space Station 13 - Modules - TypesProc Details

light_blocking

Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly

Procs

on_target_moveUpdates old and new turf loc opacities

Proc Details

on_target_move

Updates old and new turf loc opacities

\ No newline at end of file diff --git a/datum/element/noticable_organ.html b/datum/element/noticable_organ.html new file mode 100644 index 00000000000..268c81c73b1 --- /dev/null +++ b/datum/element/noticable_organ.html @@ -0,0 +1,2 @@ +/datum/element/noticable_organ - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

noticable_organ

noticable organ element; which makes organs have a special description added to the person with the organ, if certain body zones aren't covered.

+

Used for infused mutant organs

Vars

body_zoneWhich body zone has to be exposed. If none is set, this is always noticable.
infused_descShows on examining someone with an infused organ.

Procs

should_show_textProc that returns true or false if the organ should show its examine check.

Var Details

body_zone

Which body zone has to be exposed. If none is set, this is always noticable.

infused_desc

Shows on examining someone with an infused organ.

Proc Details

should_show_text

Proc that returns true or false if the organ should show its examine check.

\ No newline at end of file diff --git a/datum/element/pet_bonus.html b/datum/element/pet_bonus.html new file mode 100644 index 00000000000..ecf649fa6d7 --- /dev/null +++ b/datum/element/pet_bonus.html @@ -0,0 +1 @@ +/datum/element/pet_bonus - Space Station 13
Space Station 13 - Modules - TypesVar Details

Pet bonus element!

Bespoke element that plays a fun message, and sends a heart out when you pet this animal.

Vars

emote_namestring key of the emote to do when pet.

Var Details

emote_name

string key of the emote to do when pet.

\ No newline at end of file diff --git a/datum/element/relay_attackers.html b/datum/element/relay_attackers.html new file mode 100644 index 00000000000..8665ffa0d07 --- /dev/null +++ b/datum/element/relay_attackers.html @@ -0,0 +1,3 @@ +/datum/element/relay_attackers - Space Station 13
Space Station 13 - Modules - TypesProc Details

relay_attackers

This element registers to a shitload of signals which can signify "someone attacked me". +If anyone does it sends a single "someone attacked me" signal containing details about who done it. +This prevents other components and elements from having to register to the same list of a million signals, should be more maintainable in one place.

Procs

on_bullet_actEven if another component blocked this hit, someone still shot at us
on_hitbyEven if another component blocked this hit, someone still threw something
relay_attackerSend out a signal identifying whoever just attacked us (usually a mob but sometimes a mech or turret)

Proc Details

on_bullet_act

Even if another component blocked this hit, someone still shot at us

on_hitby

Even if another component blocked this hit, someone still threw something

relay_attacker

Send out a signal identifying whoever just attacked us (usually a mob but sometimes a mech or turret)

\ No newline at end of file diff --git a/datum/element/ridable.html b/datum/element/ridable.html new file mode 100644 index 00000000000..4cb135c4ddd --- /dev/null +++ b/datum/element/ridable.html @@ -0,0 +1,5 @@ +/datum/element/ridable - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ridable

This element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it, +at which point a riding component is created on the movable, and that component handles the actual riding behavior.

+

Besides the target, the ridable element has one argument: the component subtype. This is not really ideal since there's ~20-30 component subtypes rather than +having the behavior defined on the ridable atoms themselves or some such, but because the old riding behavior was so horrifyingly spread out and redundant, +just having the variables, behavior, and procs be standardized is still a big improvement.

Vars

potion_boostedIf we have a xenobio red potion applied to us, we get split off so we can pass our special status onto new riding components
riding_component_typeThe specific riding component subtype we're loading our instructions from, don't leave this as default please!

Procs

check_mountingSomeone is buckling to this movable, which is literally the only thing we care about (other than speed potions)
check_potionChecks to see if we've been hit with a red xenobio potion to make us faster. This is only registered if we're a vehicle
equip_buckle_inhandsTry putting the appropriate number of riding offhand items into the target's hands, return FALSE if we can't
unequip_buckle_inhandsRemove all of the relevant riding offhand items from the target

Var Details

potion_boosted

If we have a xenobio red potion applied to us, we get split off so we can pass our special status onto new riding components

riding_component_type

The specific riding component subtype we're loading our instructions from, don't leave this as default please!

Proc Details

check_mounting

Someone is buckling to this movable, which is literally the only thing we care about (other than speed potions)

check_potion

Checks to see if we've been hit with a red xenobio potion to make us faster. This is only registered if we're a vehicle

equip_buckle_inhands

Try putting the appropriate number of riding offhand items into the target's hands, return FALSE if we can't

unequip_buckle_inhands

Remove all of the relevant riding offhand items from the target

\ No newline at end of file diff --git a/datum/element/rust.html b/datum/element/rust.html new file mode 100644 index 00000000000..67e2ba7f6c3 --- /dev/null +++ b/datum/element/rust.html @@ -0,0 +1 @@ +/datum/element/rust - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

rust

Adding this element to an atom will have it automatically render an overlay.

Vars

rust_overlayThe rust image itself, since the icon and icon state are only used as an argument

Procs

handle_tool_useWe call this from secondary_tool_act because we sleep with do_after
on_interactionPrevents placing floor tiles on rusted turf
welder_tool_actBecause do_after sleeps we register the signal here and defer via an async call

Var Details

rust_overlay

The rust image itself, since the icon and icon state are only used as an argument

Proc Details

handle_tool_use

We call this from secondary_tool_act because we sleep with do_after

on_interaction

Prevents placing floor tiles on rusted turf

welder_tool_act

Because do_after sleeps we register the signal here and defer via an async call

\ No newline at end of file diff --git a/datum/element/shatters_when_thrown.html b/datum/element/shatters_when_thrown.html new file mode 100644 index 00000000000..efb2ce66e15 --- /dev/null +++ b/datum/element/shatters_when_thrown.html @@ -0,0 +1 @@ +/datum/element/shatters_when_thrown - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shatters_when_thrown

When attached to something, will make that thing shatter into shards on throw impact or z level falling

Vars

number_of_shardsHow many shards total are made when the thing we're attached to shatters
shard_typeWhat type of item is spawned as a 'shard' once the shattering happens
shattering_soundWhat sound plays when the thing we're attached to shatters

Procs

on_throw_impactTells the parent to shatter if we are thrown and impact something
shatterHandles the actual shattering part, throwing shards of whatever is defined on the component everywhere

Var Details

number_of_shards

How many shards total are made when the thing we're attached to shatters

shard_type

What type of item is spawned as a 'shard' once the shattering happens

shattering_sound

What sound plays when the thing we're attached to shatters

Proc Details

on_throw_impact

Tells the parent to shatter if we are thrown and impact something

shatter

Handles the actual shattering part, throwing shards of whatever is defined on the component everywhere

\ No newline at end of file diff --git a/datum/element/sideways_movement.html b/datum/element/sideways_movement.html new file mode 100644 index 00000000000..89ee7beeac7 --- /dev/null +++ b/datum/element/sideways_movement.html @@ -0,0 +1 @@ +/datum/element/sideways_movement - Space Station 13
Space Station 13 - Modules - TypesProc Details

sideways_movement

A simple element that forces the mob to face a perpendicular direction when moving, like crabs.

Procs

on_moveretain the old dir unless walking straight ahead or backward, in which case rotate the dir left or right by a 90°

Proc Details

on_move

retain the old dir unless walking straight ahead or backward, in which case rotate the dir left or right by a 90°

\ No newline at end of file diff --git a/datum/element/squish.html b/datum/element/squish.html new file mode 100644 index 00000000000..5934838c4ae --- /dev/null +++ b/datum/element/squish.html @@ -0,0 +1,3 @@ +/datum/element/squish - Space Station 13
Space Station 13 - Modules - Types

squish

squish.dm

+

It's an element that squishes things. After the duration passes, it reverses the transformation it squished with, taking into account if they are a different orientation than they started (read: rotationally-fluid)

+

Normal squishes apply vertically, as if the target is being squished from above, but you can set reverse to TRUE if you want to squish them from the sides, like if they pancake into a wall from the East or West

\ No newline at end of file diff --git a/datum/element/strippable.html b/datum/element/strippable.html new file mode 100644 index 00000000000..3cdecd70533 --- /dev/null +++ b/datum/element/strippable.html @@ -0,0 +1 @@ +/datum/element/strippable - Space Station 13
Space Station 13 - Modules - TypesVar 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
strip_menusAn existing strip menus

Var Details

items

An assoc list of keys to /datum/strippable_item

strip_menus

An existing strip menus

\ No newline at end of file diff --git a/datum/element/wears_collar.html b/datum/element/wears_collar.html new file mode 100644 index 00000000000..eb9e3f8232a --- /dev/null +++ b/datum/element/wears_collar.html @@ -0,0 +1 @@ +/datum/element/wears_collar - Space Station 13
Space Station 13 - Modules - TypesVar Details

wears_collar

Vars

collar_iconour icon's pathfile
collar_icon_stateour collar's icon state
collar_resting_icon_stateiconstate of our collar while resting

Var Details

collar_icon

our icon's pathfile

collar_icon_state

our collar's icon state

collar_resting_icon_state

iconstate of our collar while resting

\ No newline at end of file diff --git a/datum/emote.html b/datum/emote.html new file mode 100644 index 00000000000..a81282c985d --- /dev/null +++ b/datum/emote.html @@ -0,0 +1,123 @@ +/datum/emote - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Emote

Most of the text that's not someone talking is based off of this.

Vars

age_basedWhether or not to adjust the frequency of the emote sound based on age.
audio_cooldownHow long is the cooldown on the audio of the emote, if it has one?
bypass_unintentional_cooldownIf true, an emote will completely bypass any cooldown when called unintentionally. Necessary for things like deathgasp.
cooldownThe cooldown between the uses of the emote.
emote_target_typeIf our target behavior isn't to ignore, what should we look for with targets?
emote_typeWhether the emote is visible or audible.
hands_use_checkChecks if the mob can use its hands before performing the emote.
keyWhat calls the emote.
key_third_personThis will also call the emote.
max_stat_allowedHow unconscious/dead can you be while still being able to use this emote intentionally? +If this is set to DEFAULT_STAT_ALLOWED, it'll behave as if it isn't set.
max_unintentional_stat_allowedSame as above, how unconscious/dead do you need to be to have this emote forced out of you? +If this is set to DEFAULT_STAT_ALLOWED, it'll behave as if it isn't set.
messageMessage displayed when emote is used.
message_AIMessage displayed if the user is an AI.
message_alienMessage displayed if the user is a grown alien.
message_larvaMessage displayed if the user is an alien larva.
message_mimeMessage displayed if the user is a mime.
message_monkeyMessage displayed if the user is a monkey.
message_observerMessage to display if the user is a spooky observer ghost.
message_paramMessage with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else. +Set this to EMOTE_PARAM_USE_POSTFIX to just use the postfix.
message_postfixMessage postfix with %t used when we don't want to use message_param for our targeting. Used for things like message_monkey or message_mime. +Punctuation from the message will be stripped when this is applied, so make sure it's punctuated as well.
message_robotMessage displayed if the user is a robot.
message_simpleMessage to display if the user is a simple_animal.
mob_type_allowed_typecacheTypes that are allowed to use that emote.
mob_type_blacklist_typecacheTypes that are NOT allowed to use that emote.
mob_type_ignore_stat_typecacheTypes that can use this emote regardless of their state.
muzzle_ignoreIf the emote type is EMOTE_MOUTH but should still bypass a muzzle.
muzzled_noisesSounds emitted when the user is muzzled. Generally used like "[user] makes a pick(muzzled_noises) noise!"
only_forced_audioIf true, this emote will only make a sound effect when called unintentionally.
only_unintentionalWhether or not the emote can even be called at all if it's not intentional
param_descDescription appended to the emote name describing what the target should be, like for help commands.
soundSound to play when emote is called. If you want to adjust this dynamically, see get_sound().
species_type_blacklist_typecacheSpecies types which the emote will be exclusively not available to. Should be subclasses of /datum/species
species_type_whitelist_typecacheSpecies types which the emote will be exclusively available to. Should be subclasses of /datum/species
stat_allowedHow conscious do you need to be to use this emote intentionally?
target_behaviorIf we get a target, how do we want to treat it?
unintentional_audio_cooldownIf the emote is triggered unintentionally, how long would that cooldown be?
unintentional_stat_allowedHow conscious do you need to be to have this emote forced out of you?
varyWhether or not to vary the sound of the emote.
volumeHow loud is the audio emote?

Procs

act_on_targetPerform an action on the target of an emote, if one was found.
can_run_emoteCheck to see if the user is allowed to run the emote.
can_vocalize_emotesReturn whether a user should be able to vocalize emotes or not, due to a mask or inability to speak. +If this returns false, any mouth emotes will be replaced with muzzled noises.
check_cooldownCheck whether or not an emote can be used due to a cooldown. +This applies to per-emote cooldowns, preventing individual emotes from being used (intentionally) too frequently. +This also checks audio cooldowns, so that intentional uses of audio emotes across the mob are time-constrained.
find_targetFind a target for the emote based on the message parameter fragment passed in.
get_soundTo get the sound that the emote plays, for special sound interactions depending on the mob.
get_volumeGet the volume of the audio emote to play.
play_sound_effectPlay the sound effect in an emote. +If you want to change the way the playsound call works, override this. +Note! If you want age_based to work, you need to force vary to TRUE.
replace_pronounReplace pronouns in the inputed string with the user's proper pronouns.
reset_emoteReset the emote back to its original state. +Necessary if you've made modifications to the emote itself over the course of its +execution, as emotes are singletons, and changes would be reflected on every usage of the emote.
run_emoteHandles the modifications and execution of emotes.
select_message_typeSelects the message type to override the message with.
select_paramReplaces the %t in the message in message_param by params.
should_play_soundCheck to see if the user should play a sound when performing the emote.
try_run_emoteTry to run an emote, checking can_run_emote once before executing the emote itself.

Var Details

age_based

Whether or not to adjust the frequency of the emote sound based on age.

audio_cooldown

How long is the cooldown on the audio of the emote, if it has one?

bypass_unintentional_cooldown

If true, an emote will completely bypass any cooldown when called unintentionally. Necessary for things like deathgasp.

cooldown

The cooldown between the uses of the emote.

emote_target_type

If our target behavior isn't to ignore, what should we look for with targets?

emote_type

Whether the emote is visible or audible.

hands_use_check

Checks if the mob can use its hands before performing the emote.

key

What calls the emote.

key_third_person

This will also call the emote.

max_stat_allowed

How unconscious/dead can you be while still being able to use this emote intentionally? +If this is set to DEFAULT_STAT_ALLOWED, it'll behave as if it isn't set.

max_unintentional_stat_allowed

Same as above, how unconscious/dead do you need to be to have this emote forced out of you? +If this is set to DEFAULT_STAT_ALLOWED, it'll behave as if it isn't set.

message

Message displayed when emote is used.

message_AI

Message displayed if the user is an AI.

message_alien

Message displayed if the user is a grown alien.

message_larva

Message displayed if the user is an alien larva.

message_mime

Message displayed if the user is a mime.

message_monkey

Message displayed if the user is a monkey.

message_observer

Message to display if the user is a spooky observer ghost.

message_param

Message with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else. +Set this to EMOTE_PARAM_USE_POSTFIX to just use the postfix.

message_postfix

Message postfix with %t used when we don't want to use message_param for our targeting. Used for things like message_monkey or message_mime. +Punctuation from the message will be stripped when this is applied, so make sure it's punctuated as well.

message_robot

Message displayed if the user is a robot.

message_simple

Message to display if the user is a simple_animal.

mob_type_allowed_typecache

Types that are allowed to use that emote.

mob_type_blacklist_typecache

Types that are NOT allowed to use that emote.

mob_type_ignore_stat_typecache

Types that can use this emote regardless of their state.

muzzle_ignore

If the emote type is EMOTE_MOUTH but should still bypass a muzzle.

muzzled_noises

Sounds emitted when the user is muzzled. Generally used like "[user] makes a pick(muzzled_noises) noise!"

only_forced_audio

If true, this emote will only make a sound effect when called unintentionally.

only_unintentional

Whether or not the emote can even be called at all if it's not intentional

param_desc

Description appended to the emote name describing what the target should be, like for help commands.

sound

Sound to play when emote is called. If you want to adjust this dynamically, see get_sound().

species_type_blacklist_typecache

Species types which the emote will be exclusively not available to. Should be subclasses of /datum/species

species_type_whitelist_typecache

Species types which the emote will be exclusively available to. Should be subclasses of /datum/species

stat_allowed

How conscious do you need to be to use this emote intentionally?

target_behavior

If we get a target, how do we want to treat it?

unintentional_audio_cooldown

If the emote is triggered unintentionally, how long would that cooldown be?

unintentional_stat_allowed

How conscious do you need to be to have this emote forced out of you?

vary

Whether or not to vary the sound of the emote.

volume

How loud is the audio emote?

Proc Details

act_on_target

Perform an action on the target of an emote, if one was found.

+

This gets called in select_param if a valid object target was found, and should let you interact with the +object being targeted while it's still in scope.

+

can_run_emote

Check to see if the user is allowed to run the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user can run the emote.

can_vocalize_emotes

Return whether a user should be able to vocalize emotes or not, due to a mask or inability to speak. +If this returns false, any mouth emotes will be replaced with muzzled noises.

check_cooldown

Check whether or not an emote can be used due to a cooldown. +This applies to per-emote cooldowns, preventing individual emotes from being used (intentionally) too frequently. +This also checks audio cooldowns, so that intentional uses of audio emotes across the mob are time-constrained.

+

Arguments:

+ +

Returns FALSE if the cooldown is not over, TRUE if the cooldown is over.

find_target

Find a target for the emote based on the message parameter fragment passed in.

+ +

Returns a matched target, or null if a specific match couldn't be made.

get_sound

To get the sound that the emote plays, for special sound interactions depending on the mob.

+

Arguments:

+ +

Returns the sound that will be made while sending the emote.

get_volume

Get the volume of the audio emote to play.

+

Override this if you want to dynamically change the volume of an emote.

+

Arguments:

+ +

Returns the volume level for an emote's audio component.

play_sound_effect

Play the sound effect in an emote. +If you want to change the way the playsound call works, override this. +Note! If you want age_based to work, you need to force vary to TRUE.

+

replace_pronoun

Replace pronouns in the inputed string with the user's proper pronouns.

+

Specifically replaces they/them/their pronouns with the user's pronouns, as well as %s (like theirs)

+

Arguments:

+ +

Returns the modified msg string.

reset_emote

Reset the emote back to its original state. +Necessary if you've made modifications to the emote itself over the course of its +execution, as emotes are singletons, and changes would be reflected on every usage of the emote.

run_emote

Handles the modifications and execution of emotes.

+

In general, what this does:

+ +

You most likely want to use try_run_emote() anywhere you would otherwise call this directly, +as that will incorporate can_run_emote() checking as well.

+

Arguments:

+ +

Returns TRUE if it was able to run the emote, FALSE otherwise.

select_message_type

Selects the message type to override the message with.

+

Arguments:

+ +

Returns the new message, or msg directly, if no change was needed.

select_param

Replaces the %t in the message in message_param by params.

+

The behavior of this proc is particularly dependent on target_behavior and emote_target_type. +If target_behavior is EMOTE_TARGET_BHVR_RAW, we ignore any sort of target searching. +Otherwise, we try to find a target in view to call this emote on based on emote_target_type.

+

If you want to call something on the target object itself while it's still in scope, override act_on_target().

+

Arguments:

+ +

Returns the modified string, or null if the given parameter is invalid. May also return EMOTE_ACT_STOP_EXECUTION if acting on the target should stop emote execution.

should_play_sound

Check to see if the user should play a sound when performing the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user should play a sound when performing the emote.

try_run_emote

Try to run an emote, checking can_run_emote once before executing the emote itself.

+ +

Returns TRUE if the emote was able to be run (or failed successfully), or FALSE if the emote is unusable.

\ No newline at end of file diff --git a/datum/emote/living/brain.html b/datum/emote/living/brain.html new file mode 100644 index 00000000000..f8ed4c8be81 --- /dev/null +++ b/datum/emote/living/brain.html @@ -0,0 +1 @@ +/datum/emote/living/brain - Space Station 13
Space Station 13 - Modules - TypesVar Details

brain

Emotes usable by brains, but only while they're in MMIs.

Vars

self_messageThe message that will be displayed to themselves, since brains can't really see their own emotes

Var Details

self_message

The message that will be displayed to themselves, since brains can't really see their own emotes

\ No newline at end of file diff --git a/datum/emote/living/carbon/human.html b/datum/emote/living/carbon/human.html new file mode 100644 index 00000000000..aecff9dc1d5 --- /dev/null +++ b/datum/emote/living/carbon/human.html @@ -0,0 +1,3 @@ +/datum/emote/living/carbon/human - Space Station 13
Space Station 13 - Modules - TypesVar Details

human

Vars

species_custom_messagesCustom messages that should be applied based on species +Should be an associative list of species name: message
species_custom_mime_messagesCustom messages applied to mimes of a particular species

Var Details

species_custom_messages

Custom messages that should be applied based on species +Should be an associative list of species name: message

species_custom_mime_messages

Custom messages applied to mimes of a particular species

\ No newline at end of file diff --git a/datum/emote/living/carbon/human/highfive.html b/datum/emote/living/carbon/human/highfive.html new file mode 100644 index 00000000000..213d2fbce9b --- /dev/null +++ b/datum/emote/living/carbon/human/highfive.html @@ -0,0 +1 @@ +/datum/emote/living/carbon/human/highfive - Space Station 13
Space Station 13 - Modules - TypesVar Details

highfive

Vars

action_nametitle override, used for the re-use message.
statusStatus effect to apply when this emote is used. Should be a subtype

Var Details

action_name

title override, used for the re-use message.

status

Status effect to apply when this emote is used. Should be a subtype

\ No newline at end of file diff --git a/datum/emote/living/carbon/human/highfive/rps.html b/datum/emote/living/carbon/human/highfive/rps.html new file mode 100644 index 00000000000..3212a6e9e6b --- /dev/null +++ b/datum/emote/living/carbon/human/highfive/rps.html @@ -0,0 +1 @@ +/datum/emote/living/carbon/human/highfive/rps - Space Station 13
Space Station 13 - Modules - TypesVar Details

rps

Vars

moveIf the user used parameters, the move that will be made.

Var Details

move

If the user used parameters, the move that will be made.

\ No newline at end of file diff --git a/datum/emote/living/simple_animal/slime.html b/datum/emote/living/simple_animal/slime.html new file mode 100644 index 00000000000..ea703404a63 --- /dev/null +++ b/datum/emote/living/simple_animal/slime.html @@ -0,0 +1 @@ +/datum/emote/living/simple_animal/slime - Space Station 13
Space Station 13 - Modules - TypesVar Details

slime

Vars

moodApply mood of the emote. Set this to MOOD_RESET to cause the emote to reset the mood back to default.

Var Details

mood

Apply mood of the emote. Set this to MOOD_RESET to cause the emote to reset the mood back to default.

\ No newline at end of file diff --git a/datum/enchantment.html b/datum/enchantment.html new file mode 100644 index 00000000000..60165f9a21e --- /dev/null +++ b/datum/enchantment.html @@ -0,0 +1 @@ +/datum/enchantment - Space Station 13
Space Station 13 - Modules - TypesVar Details

enchantment

Vars

applied_traitsIf the spellblade has traits, has it applied them?
cooldownstores cooldown between activations.
descused for wizards/cultists examining the runes on the blade
nameused for blackbox logging
powerused for damage values
rangedwhether the enchant procs despite not being in proximity

Var Details

applied_traits

If the spellblade has traits, has it applied them?

cooldown

stores cooldown between activations.

desc

used for wizards/cultists examining the runes on the blade

name

used for blackbox logging

power

used for damage values

ranged

whether the enchant procs despite not being in proximity

\ No newline at end of file diff --git a/datum/engi_event.html b/datum/engi_event.html new file mode 100644 index 00000000000..f19dad3d96e --- /dev/null +++ b/datum/engi_event.html @@ -0,0 +1 @@ +/datum/engi_event - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

engi_event

Vars

durationHow long the event lasts
threat_levelThe severity of the event

Procs

alert_engiSend an alert to engineering about the event
on_endWhat happens when an event ends.
on_startTo be executed once an event has been started
start_eventStarts an event

Var Details

duration

How long the event lasts

threat_level

The severity of the event

Proc Details

alert_engi

Send an alert to engineering about the event

on_end

What happens when an event ends.

on_start

To be executed once an event has been started

start_event

Starts an event

\ No newline at end of file diff --git a/datum/engi_event/bluespace_tap_event.html b/datum/engi_event/bluespace_tap_event.html new file mode 100644 index 00000000000..224d5b2cb9b --- /dev/null +++ b/datum/engi_event/bluespace_tap_event.html @@ -0,0 +1 @@ +/datum/engi_event/bluespace_tap_event - Space Station 13
Space Station 13 - Modules - TypesVar Details

bluespace_tap_event

Vars

tapWhich bluespace tap started the event

Var Details

tap

Which bluespace tap started the event

\ No newline at end of file diff --git a/datum/event.html b/datum/event.html new file mode 100644 index 00000000000..16fa1c01442 --- /dev/null +++ b/datum/event.html @@ -0,0 +1,26 @@ +/datum/event - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

event

NOTE: Times are measured in master controller ticks!

Vars

activeForHow long the event has existed. You don't need to change this.
announceWhenWhen in the lifetime to call announce().
endWhenWhen in the lifetime the event should end.
endedAtWhen this event ended.
impact_areaThe area the event will hit
isRunningIf this event is currently running. You should not change this.
nameThe human-readable name of the event
noAutoEndDoes the event end automatically after endWhen passes?
nominal_severityThe severity the event has normally
role_requirementsA baseline requirement of different roles the event has at it's nominal severity
role_weightsThe base weight of each role on the event for the purpose of calculating event weight and resource cost
severitySeverity. Lower means less severe, higher means more severe. Does not have to be supported. Is set on New().
startWhenWhen in the lifetime to call start().
startedAtWhen this event started.

Procs

announceCalled when the tick is equal to the announceWhen variable.
endCalled on or after the tick is equal or more than endWhen
event_resource_costThe amount of people in different roles needed to handle an ongoing event.
fake_announceOverride this to make a custom fake announcement that differs from the normal announcement. +Used for false alarms. +If this proc returns TRUE, the regular Announce() won't be called.
get_weightCalculate the weight for rolling the event based on round circumstances.
killCalled when start(), announce() and end() has all been called.
lastProcessAtReturns the latest point of event processing.
processDo not override this proc, instead use the appropiate procs.
setupCalled first before processing.
startCalled when the tick is equal to the startWhen variable.
tickCalled on or after the tick counter is equal to startWhen.

Var Details

activeFor

How long the event has existed. You don't need to change this.

announceWhen

When in the lifetime to call announce().

endWhen

When in the lifetime the event should end.

endedAt

When this event ended.

impact_area

The area the event will hit

isRunning

If this event is currently running. You should not change this.

name

The human-readable name of the event

noAutoEnd

Does the event end automatically after endWhen passes?

nominal_severity

The severity the event has normally

role_requirements

A baseline requirement of different roles the event has at it's nominal severity

role_weights

The base weight of each role on the event for the purpose of calculating event weight and resource cost

severity

Severity. Lower means less severe, higher means more severe. Does not have to be supported. Is set on New().

startWhen

When in the lifetime to call start().

startedAt

When this event started.

Proc Details

announce

Called when the tick is equal to the announceWhen variable.

+

Allows you to announce before starting or vice versa. +Only called once. +Ensure no sleep is called. Use INVOKE_ASYNC to call procs which do.

end

Called on or after the tick is equal or more than endWhen

+

You can include code related to the event ending. +Do not place spawn() in here, instead use tick() to check for +the activeFor variable. +For example: if(activeFor == myOwnVariable + 30) doStuff() +Only called once. +Ensure no sleep is called. Use INVOKE_ASYNC to call procs which do.

event_resource_cost

The amount of people in different roles needed to handle an ongoing event.

fake_announce

Override this to make a custom fake announcement that differs from the normal announcement. +Used for false alarms. +If this proc returns TRUE, the regular Announce() won't be called.

get_weight

Calculate the weight for rolling the event based on round circumstances.

kill

Called when start(), announce() and end() has all been called.

lastProcessAt

Returns the latest point of event processing.

process

Do not override this proc, instead use the appropiate procs.

+

This proc will handle the calls to the appropiate procs. +Ensure none of the code paths have a sleep in them. Use INVOKE_ASYNC to call procs which do.

setup

Called first before processing.

+

Allows you to setup your event, such as randomly +setting the startWhen and or announceWhen variables. +Only called once.

start

Called when the tick is equal to the startWhen variable.

+

Allows you to start before announcing or vice versa. +Only called once. +Ensure no sleep is called. Use INVOKE_ASYNC to call procs which do.

tick

Called on or after the tick counter is equal to startWhen.

+

You can include code related to your event or add your own +time stamped events. +Called more than once. +Ensure no sleep is called. Use INVOKE_ASYNC to call procs which do.

\ No newline at end of file diff --git a/datum/event/abductor.html b/datum/event/abductor.html new file mode 100644 index 00000000000..b9760071479 --- /dev/null +++ b/datum/event/abductor.html @@ -0,0 +1 @@ +/datum/event/abductor - Space Station 13
Space Station 13 - Modules - TypesProc Details

abductor

Procs

event_resource_costabductor costs are calculated independently of event

Proc Details

event_resource_cost

abductor costs are calculated independently of event

\ No newline at end of file diff --git a/datum/event/alien_infestation.html b/datum/event/alien_infestation.html new file mode 100644 index 00000000000..c978815ca4b --- /dev/null +++ b/datum/event/alien_infestation.html @@ -0,0 +1 @@ +/datum/event/alien_infestation - Space Station 13
Space Station 13 - Modules - TypesProc Details

alien_infestation

Procs

event_resource_costXeno costs are calculated independently from the event itself

Proc Details

event_resource_cost

Xeno costs are calculated independently from the event itself

\ No newline at end of file diff --git a/datum/event/anomaly.html b/datum/event/anomaly.html new file mode 100644 index 00000000000..e50b2cd101f --- /dev/null +++ b/datum/event/anomaly.html @@ -0,0 +1 @@ +/datum/event/anomaly - Space Station 13
Space Station 13 - Modules - TypesVar Details

anomaly

Vars

announce_soundSound effect used
prefix_messageThe prefix message for the anomaly annoucement.

Var Details

announce_sound

Sound effect used

prefix_message

The prefix message for the anomaly annoucement.

\ No newline at end of file diff --git a/datum/event/aurora_caelus.html b/datum/event/aurora_caelus.html new file mode 100644 index 00000000000..20f40c37178 --- /dev/null +++ b/datum/event/aurora_caelus.html @@ -0,0 +1 @@ +/datum/event/aurora_caelus - Space Station 13
Space Station 13 - Modules - TypesVar Details

aurora_caelus

Vars

aurora_colorsList of colors that the aurora takes
aurora_light_rangeTarget light range
aurora_progressEvent stage

Var Details

aurora_colors

List of colors that the aurora takes

aurora_light_range

Target light range

aurora_progress

Event stage

\ No newline at end of file diff --git a/datum/event/blob.html b/datum/event/blob.html new file mode 100644 index 00000000000..406c3ca04ab --- /dev/null +++ b/datum/event/blob.html @@ -0,0 +1 @@ +/datum/event/blob - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

blob

Vars

blob_thingsList of all blob cores and blob mice related to this event
successSpawnSo we don't make a command report if nothing gets spawned.

Procs

event_resource_costBlob costs are calculated independently from the event itself

Var Details

blob_things

List of all blob cores and blob mice related to this event

successSpawn

So we don't make a command report if nothing gets spawned.

Proc Details

event_resource_cost

Blob costs are calculated independently from the event itself

\ No newline at end of file diff --git a/datum/event/bureaucratic_error.html b/datum/event/bureaucratic_error.html new file mode 100644 index 00000000000..5772b418742 --- /dev/null +++ b/datum/event/bureaucratic_error.html @@ -0,0 +1 @@ +/datum/event/bureaucratic_error - Space Station 13
Space Station 13 - Modules - TypesVar Details

bureaucratic_error

Vars

blacklisted_jobsJobs that are not allowed to be picked for the bureaucratic error
uncommon_jobsJobs that pass an additional 40% chance per roll to be picked for the bureaucratic error

Var Details

blacklisted_jobs

Jobs that are not allowed to be picked for the bureaucratic error

uncommon_jobs

Jobs that pass an additional 40% chance per roll to be picked for the bureaucratic error

\ No newline at end of file diff --git a/datum/event/cargo_pods.html b/datum/event/cargo_pods.html new file mode 100644 index 00000000000..3c1a6eff566 --- /dev/null +++ b/datum/event/cargo_pods.html @@ -0,0 +1 @@ +/datum/event/cargo_pods - Space Station 13
Space Station 13 - Modules - TypesVar Details

cargo_pods

Vars

drop_areasAreas pods are being dropped to
number_of_podsNumber of pods to drop

Var Details

drop_areas

Areas pods are being dropped to

number_of_pods

Number of pods to drop

\ No newline at end of file diff --git a/datum/event/carp_migration.html b/datum/event/carp_migration.html new file mode 100644 index 00000000000..eb74943f321 --- /dev/null +++ b/datum/event/carp_migration.html @@ -0,0 +1 @@ +/datum/event/carp_migration - Space Station 13
Space Station 13 - Modules - TypesVar Details

carp_migration

Vars

my_carpsCarps spawned by the event
spawnedDid we manage to spawn carps

Var Details

my_carps

Carps spawned by the event

spawned

Did we manage to spawn carps

\ No newline at end of file diff --git a/datum/event/demon_incursion.html b/datum/event/demon_incursion.html new file mode 100644 index 00000000000..f9326303a1b --- /dev/null +++ b/datum/event/demon_incursion.html @@ -0,0 +1 @@ +/datum/event/demon_incursion - Space Station 13
Space Station 13 - Modules - TypesVar Details

demon_incursion

Vars

announceWhenCorresponds to the number of process() runs the event has lasted for. Roughly 2 minutes here.
notify_imageThe icon of the notification
notify_titleThe name of the notification for dchat
portal_listList of portals
spawnedToggled when the first portal is spawned
target_portalsThe target number of portals

Var Details

announceWhen

Corresponds to the number of process() runs the event has lasted for. Roughly 2 minutes here.

notify_image

The icon of the notification

notify_title

The name of the notification for dchat

portal_list

List of portals

spawned

Toggled when the first portal is spawned

target_portals

The target number of portals

\ No newline at end of file diff --git a/datum/event/disease_outbreak.html b/datum/event/disease_outbreak.html new file mode 100644 index 00000000000..f8799b84fe3 --- /dev/null +++ b/datum/event/disease_outbreak.html @@ -0,0 +1 @@ +/datum/event/disease_outbreak - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

disease_outbreak

Vars

chosen_diseaseThe type of disease that patient zero will be infected with.

Procs

event_resource_costCost of ongoing disease outbreak. 1 medical personnal per 2 infected at major severity.

Var Details

chosen_disease

The type of disease that patient zero will be infected with.

Proc Details

event_resource_cost

Cost of ongoing disease outbreak. 1 medical personnal per 2 infected at major severity.

\ No newline at end of file diff --git a/datum/event/infestation.html b/datum/event/infestation.html new file mode 100644 index 00000000000..452f98310c4 --- /dev/null +++ b/datum/event/infestation.html @@ -0,0 +1 @@ +/datum/event/infestation - Space Station 13
Space Station 13 - Modules - TypesVar Details

infestation

Vars

spawn_area_typeThe area we'll be spawning things in
spawn_areasAll possible areas for spawning, matched with their pretty names
verminWhich kind of vermin we'll be spawning (one of the three defines)
vermstringPretty name for the vermin we're spawning

Var Details

spawn_area_type

The area we'll be spawning things in

spawn_areas

All possible areas for spawning, matched with their pretty names

vermin

Which kind of vermin we'll be spawning (one of the three defines)

vermstring

Pretty name for the vermin we're spawning

\ No newline at end of file diff --git a/datum/event/market_crash.html b/datum/event/market_crash.html new file mode 100644 index 00000000000..4a62840abb4 --- /dev/null +++ b/datum/event/market_crash.html @@ -0,0 +1 @@ +/datum/event/market_crash - Space Station 13
Space Station 13 - Modules - TypesVar Details

market_crash

Vars

price_multVendor price multiplier

Var Details

price_mult

Vendor price multiplier

\ No newline at end of file diff --git a/datum/event/meteor_wave.html b/datum/event/meteor_wave.html new file mode 100644 index 00000000000..a57d02f8ee1 --- /dev/null +++ b/datum/event/meteor_wave.html @@ -0,0 +1 @@ +/datum/event/meteor_wave - Space Station 13
Space Station 13 - Modules - TypesVar Details

meteor_wave

Vars

clear_timeThe time at which we clear the storm. This is set during the event run so we initialize it to an unreachable value

Var Details

clear_time

The time at which we clear the storm. This is set during the event run so we initialize it to an unreachable value

\ No newline at end of file diff --git a/datum/event/shuttle_loan.html b/datum/event/shuttle_loan.html new file mode 100644 index 00000000000..41e26906fbc --- /dev/null +++ b/datum/event/shuttle_loan.html @@ -0,0 +1 @@ +/datum/event/shuttle_loan - Space Station 13
Space Station 13 - Modules - TypesVar Details

shuttle_loan

Vars

dispatch_attemptsHow many times can it try to take the shuttle before it gives up and rerolls?
dispatchedWhether the station has let Centcom commandeer the shuttle yet.
situationwhat type of shuttle loan situation the station faces.

Var Details

dispatch_attempts

How many times can it try to take the shuttle before it gives up and rerolls?

dispatched

Whether the station has let Centcom commandeer the shuttle yet.

situation

what type of shuttle loan situation the station faces.

\ No newline at end of file diff --git a/datum/event/spawn_uplifted_primitive.html b/datum/event/spawn_uplifted_primitive.html new file mode 100644 index 00000000000..1474c611123 --- /dev/null +++ b/datum/event/spawn_uplifted_primitive.html @@ -0,0 +1 @@ +/datum/event/spawn_uplifted_primitive - Space Station 13
Space Station 13 - Modules - TypesVar Details

spawn_uplifted_primitive

Vars

allowed_speciesThe list of species this event can spawn uplifted primitives of.

Var Details

allowed_species

The list of species this event can spawn uplifted primitives of.

\ No newline at end of file diff --git a/datum/event/spider_terror.html b/datum/event/spider_terror.html new file mode 100644 index 00000000000..99b79a9c8fd --- /dev/null +++ b/datum/event/spider_terror.html @@ -0,0 +1 @@ +/datum/event/spider_terror - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

spider_terror

Vars

infestation_typeSpecific type of terror spawn

Procs

event_resource_costTerror spider costs are calculated independently from the event itself

Var Details

infestation_type

Specific type of terror spawn

Proc Details

event_resource_cost

Terror spider costs are calculated independently from the event itself

\ No newline at end of file diff --git a/datum/event/swarmers.html b/datum/event/swarmers.html new file mode 100644 index 00000000000..937001d9243 --- /dev/null +++ b/datum/event/swarmers.html @@ -0,0 +1 @@ +/datum/event/swarmers - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmers

Vars

notify_titleThe name of the notification for dchat

Var Details

notify_title

The name of the notification for dchat

\ No newline at end of file diff --git a/datum/event/tear.html b/datum/event/tear.html new file mode 100644 index 00000000000..c67f5f1cc4a --- /dev/null +++ b/datum/event/tear.html @@ -0,0 +1,4 @@ +/datum/event/tear - Space Station 13
Space Station 13 - Modules - Types

tear

Dimensional tear event.

+

On triggering, nearby machines and lights flicker. After a few seconds, +nearby machines and lights break. A /obj/effect/tear appears, spawning up +to 10 random hell mobs including a guaranteed tear hellhound, then disappears.

\ No newline at end of file diff --git a/datum/event/tourist_arrivals.html b/datum/event/tourist_arrivals.html new file mode 100644 index 00000000000..9512cb882ac --- /dev/null +++ b/datum/event/tourist_arrivals.html @@ -0,0 +1 @@ +/datum/event/tourist_arrivals - Space Station 13
Space Station 13 - Modules - TypesVar Details

tourist_arrivals

Vars

antag_countNumber of antags
chanceChance of being antag
crew_countNumber of crew
max_antagAntag limit defined by crew/10 + 1
max_spawnMaximum number of spawns.
spawned_inNumber of players spawned in
success_runIf the event ran successfully
tot_numberNumber of tots spawned in

Var Details

antag_count

Number of antags

chance

Chance of being antag

crew_count

Number of crew

max_antag

Antag limit defined by crew/10 + 1

max_spawn

Maximum number of spawns.

spawned_in

Number of players spawned in

success_run

If the event ran successfully

tot_number

Number of tots spawned in

\ No newline at end of file diff --git a/datum/event_container.html b/datum/event_container.html new file mode 100644 index 00000000000..fd9014c3466 --- /dev/null +++ b/datum/event_container.html @@ -0,0 +1 @@ +/datum/event_container - Space Station 13
Space Station 13 - Modules - TypesVar Details

event_container

Vars

initial_event_countRecords the initial amount of events in the available event list

Var Details

initial_event_count

Records the initial amount of events in the available event list

\ No newline at end of file diff --git a/datum/event_meta.html b/datum/event_meta.html new file mode 100644 index 00000000000..ab8b0aae78d --- /dev/null +++ b/datum/event_meta.html @@ -0,0 +1 @@ +/datum/event_meta - Space Station 13
Space Station 13 - Modules - TypesVar Details

event_meta

Vars

enabledWhether or not the event is available for random selection at all.
first_run_timeHow early this specific event can run
max_weightThe maximum weight that this event will have.
min_weightThe minimum weight that this event will have. Only used if non-zero.
one_shotIf true, then the event will not be re-added to the list of available events
skeletonEvent held by this meta event. Used to do things like calculate weight.
weightThe base weight of this event. A zero means it may never fire, but see get_weight()
weight_modA modifier applied to all event weights (role and base), respects min and max

Var Details

enabled

Whether or not the event is available for random selection at all.

first_run_time

How early this specific event can run

max_weight

The maximum weight that this event will have.

min_weight

The minimum weight that this event will have. Only used if non-zero.

one_shot

If true, then the event will not be re-added to the list of available events

skeleton

Event held by this meta event. Used to do things like calculate weight.

weight

The base weight of this event. A zero means it may never fire, but see get_weight()

weight_mod

A modifier applied to all event weights (role and base), respects min and max

\ No newline at end of file diff --git a/datum/feed_channel.html b/datum/feed_channel.html new file mode 100644 index 00000000000..23d87ecf46b --- /dev/null +++ b/datum/feed_channel.html @@ -0,0 +1,20 @@ +/datum/feed_channel - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Feed Channel

Describes a single feed channel. Owns a list of /datum/feed_message.

Vars

admin_lockedWhether the channel is admin-locked.
authorThe author of the channel.
author_ckeyThe author's ckey
backup_authorThe fallback author name to display if the channel is censored.
censoredWhether the channel is censored or not.
channel_nameThe name of the channel.
descriptionThe description of the channel.
frozenWhether the channel is frozen or not.
iconThe channel's icon.
is_publicWhether the channel is public or not.
messagesLazy list. Contains all /datum/feed_message pertaining to the channel.

Procs

add_messageAdds a new story to the channel and network singleton.
can_modifyReturns whether the given user can edit or delete this channel.
can_publishReturns whether the given user can publish new stories to this channel.
clearClears the channel's information.
get_announce_textReturns the text to be said by newscasters when announcing new news from a channel.

Var Details

admin_locked

Whether the channel is admin-locked.

author

The author of the channel.

author_ckey

The author's ckey

backup_author

The fallback author name to display if the channel is censored.

censored

Whether the channel is censored or not.

channel_name

The name of the channel.

description

The description of the channel.

frozen

Whether the channel is frozen or not.

icon

The channel's icon.

is_public

Whether the channel is public or not.

messages

Lazy list. Contains all /datum/feed_message pertaining to the channel.

Proc Details

add_message

Adds a new story to the channel and network singleton.

+

Arguments:

+

can_modify

Returns whether the given user can edit or delete this channel.

+

Arguments:

+

can_publish

Returns whether the given user can publish new stories to this channel.

+

Arguments:

+

clear

Clears the channel's information.

+

Discards all owned stories.

get_announce_text

Returns the text to be said by newscasters when announcing new news from a channel.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/feed_message.html b/datum/feed_message.html new file mode 100644 index 00000000000..386994c6bf0 --- /dev/null +++ b/datum/feed_message.html @@ -0,0 +1,2 @@ +/datum/feed_message - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Feed Message

Describes a single feed story. Always owned by a /datum/feed_channel.

Vars

admin_lockedWhether the story is admin-locked.
authorThe author of the story.
author_ckeyThe author's ckey (admins are watching you post WGW in the newscaster)
bodyThe textual contents of the story.
censor_flagsFlags that dictate the story should be censored.
imgThe story's icon.
publish_timeThe world.time at which the story was published.
titleThe title of the story.
view_countThe number of views the story has.

Procs

clearClears the story's information.

Var Details

admin_locked

Whether the story is admin-locked.

author

The author of the story.

author_ckey

The author's ckey (admins are watching you post WGW in the newscaster)

body

The textual contents of the story.

censor_flags

Flags that dictate the story should be censored.

img

The story's icon.

publish_time

The world.time at which the story was published.

title

The title of the story.

view_count

The number of views the story has.

Proc Details

clear

Clears the story's information.

+

Does not delete it from the owning channel.

\ No newline at end of file diff --git a/datum/feed_network.html b/datum/feed_network.html new file mode 100644 index 00000000000..cb1cf790e97 --- /dev/null +++ b/datum/feed_network.html @@ -0,0 +1,13 @@ +/datum/feed_network - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Feed Network

Singleton that contains all informations related to newscasters (channels, stories).

Vars

channelsContains all of the feed channels created during the round.
storiesContains all of the feed stories created during the round.
wanted_issueThe current wanted issue.

Procs

get_channel_by_authorReturns the /datum/feed_channel with the given author, or null if not found.
get_channel_by_idxReturns the /datum/feed_channel at the given index, or null if not found.
get_channel_by_nameReturns the /datum/feed_channel with the given name, or null if not found.

Var Details

channels

Contains all of the feed channels created during the round.

stories

Contains all of the feed stories created during the round.

wanted_issue

The current wanted issue.

Proc Details

get_channel_by_author

Returns the /datum/feed_channel with the given author, or null if not found.

+

Arguments:

+

get_channel_by_idx

Returns the /datum/feed_channel at the given index, or null if not found.

+

Arguments:

+

get_channel_by_name

Returns the /datum/feed_channel with the given name, or null if not found.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/feedback_variable.html b/datum/feedback_variable.html new file mode 100644 index 00000000000..3cab496e395 --- /dev/null +++ b/datum/feedback_variable.html @@ -0,0 +1,2 @@ +/datum/feedback_variable - Space Station 13
Space Station 13 - Modules - Types

feedback_variable

Datum to hold feedback data, which gets logged at round end

+

Holds all the information being logged

\ No newline at end of file diff --git a/datum/flagged_book.html b/datum/flagged_book.html new file mode 100644 index 00000000000..84b8f596fa4 --- /dev/null +++ b/datum/flagged_book.html @@ -0,0 +1 @@ +/datum/flagged_book - Space Station 13
Space Station 13 - Modules - TypesVar Details

flagged_book

Vars

bookidbook id of the book this flag is attached to
category_idthe id of the report category
reporterThe ckey of the player who reported it

Var Details

bookid

book id of the book this flag is attached to

category_id

the id of the report category

reporter

The ckey of the player who reported it

\ No newline at end of file diff --git a/datum/food_processor_process/mob.html b/datum/food_processor_process/mob.html new file mode 100644 index 00000000000..86ddee56b0b --- /dev/null +++ b/datum/food_processor_process/mob.html @@ -0,0 +1 @@ +/datum/food_processor_process/mob - Space Station 13
Space Station 13 - Modules - TypesProc Details

mob

Procs

process_foodEND OBJECT RECIPES

Proc Details

process_food

END OBJECT RECIPES

\ No newline at end of file diff --git a/datum/game_mode.html b/datum/game_mode.html new file mode 100644 index 00000000000..46648291950 --- /dev/null +++ b/datum/game_mode.html @@ -0,0 +1,11 @@ +/datum/game_mode - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

game_mode

Vars

abducteesA list which contains the minds of all abductees
abductor_teamsHow many abductor teams do we have
abductorsA list which contains the minds of all abductors
actual_abductor_teamsA list which contains the all the abductor teams
adeptsA list of all minds that are wizard adepts
apprenticesA list of all minds that are wizard apprentices
changelingsA list of all minds which have the changeling antag datum
cult_teamThe cult team datum
ertA list of all the minds that have the ERT special role
greyshirtsA list of all the greyshirt minds
head_revolutionariesA list of all the minds of head revolutionaries
hereticsA list of all minds which have the heretic antag datum
implantedAn associative list with mindslave minds as keys and their master's minds as values.
mindflayersA list of all minds which have the mindflayer antag datum
ninjasA list of all minds that are ninjas
pre_changelingsA list containing references to the minds of soon-to-be changelings. This is seperate to avoid duplicate entries in the changelings list.
pre_mindflayersA list containing references to the minds of soon-to-be mindflayers.
pre_traitorsA list containing references to the minds of soon-to-be traitors. This is seperate to avoid duplicate entries in the traitors list.
pre_vampireslist of minds of soon to be vampires
rev_teamThe revololution team datum
revolutionariesA list of all the minds of revolutionaries
single_antag_positionsEach item in this list can only be rolled once on average.
species_to_mindflayerSpecies that will become mindflayers if they're picked, instead of the regular antagonist
superheroesA list of all the minds with the superhero special role
supervillainsA list of all the minds with the supervillain special role
syndicatesA list of all the nuclear operatives' minds
tdm_gamemodeThis var is solely to track gamemodes to track suicides/cryoing/etc and doesnt declare this a "free for all" gamemode. This is for data tracking purposes only.
traitorsA list of all minds which have the traitor antag datum.
uplifted_primitivesAn associative list between a species and all the minds that are uplifted primitive of that species.
uplifted_teamsAn associative list between the species of the team and the team's datum.
vampire_enthralledA list of all minds which are thralled by a vampire
vampiresA list of all minds which have the vampire antag datum
wizardsA list of all minds which have the wizard special role
zombie_infectedA list of all minds that are infected with the zombie virus, but aren't zombies yet
zombiesA list of all minds that are zombies

Procs

can_startcan_start() +Checks to see if the game can be setup and ran with the current number of players or whatnot.
fill_antag_slotsDEPRECATED!
get_alive_players_for_roleDEPRECATED! +Gets all alive players for a specific role. Disables offstation roles by default
get_end_of_round_antagonist_statisticsGets the value of all end of round stats through auto_declare and returns them
post_setuppost_setup() +Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things
pre_setuppre_setup() +Attempts to select players for special roles the mode might have.
processprocess() +Called by the gameticker
traitors_to_addReturns how many traitors should be added to the round

Var Details

abductees

A list which contains the minds of all abductees

abductor_teams

How many abductor teams do we have

abductors

A list which contains the minds of all abductors

actual_abductor_teams

A list which contains the all the abductor teams

adepts

A list of all minds that are wizard adepts

apprentices

A list of all minds that are wizard apprentices

changelings

A list of all minds which have the changeling antag datum

cult_team

The cult team datum

ert

A list of all the minds that have the ERT special role

greyshirts

A list of all the greyshirt minds

head_revolutionaries

A list of all the minds of head revolutionaries

heretics

A list of all minds which have the heretic antag datum

implanted

An associative list with mindslave minds as keys and their master's minds as values.

mindflayers

A list of all minds which have the mindflayer antag datum

ninjas

A list of all minds that are ninjas

pre_changelings

A list containing references to the minds of soon-to-be changelings. This is seperate to avoid duplicate entries in the changelings list.

pre_mindflayers

A list containing references to the minds of soon-to-be mindflayers.

pre_traitors

A list containing references to the minds of soon-to-be traitors. This is seperate to avoid duplicate entries in the traitors list.

pre_vampires

list of minds of soon to be vampires

rev_team

The revololution team datum

revolutionaries

A list of all the minds of revolutionaries

single_antag_positions

Each item in this list can only be rolled once on average.

species_to_mindflayer

Species that will become mindflayers if they're picked, instead of the regular antagonist

superheroes

A list of all the minds with the superhero special role

supervillains

A list of all the minds with the supervillain special role

syndicates

A list of all the nuclear operatives' minds

tdm_gamemode

This var is solely to track gamemodes to track suicides/cryoing/etc and doesnt declare this a "free for all" gamemode. This is for data tracking purposes only.

traitors

A list of all minds which have the traitor antag datum.

uplifted_primitives

An associative list between a species and all the minds that are uplifted primitive of that species.

uplifted_teams

An associative list between the species of the team and the team's datum.

vampire_enthralled

A list of all minds which are thralled by a vampire

vampires

A list of all minds which have the vampire antag datum

wizards

A list of all minds which have the wizard special role

zombie_infected

A list of all minds that are infected with the zombie virus, but aren't zombies yet

zombies

A list of all minds that are zombies

Proc Details

can_start

can_start() +Checks to see if the game can be setup and ran with the current number of players or whatnot.

fill_antag_slots

DEPRECATED!

get_alive_players_for_role

DEPRECATED! +Gets all alive players for a specific role. Disables offstation roles by default

get_end_of_round_antagonist_statistics

Gets the value of all end of round stats through auto_declare and returns them

post_setup

post_setup() +Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things

pre_setup

pre_setup() +Attempts to select players for special roles the mode might have.

process

process() +Called by the gameticker

traitors_to_add

Returns how many traitors should be added to the round

\ No newline at end of file diff --git a/datum/game_mode/changeling.html b/datum/game_mode/changeling.html new file mode 100644 index 00000000000..fd8c0397f27 --- /dev/null +++ b/datum/game_mode/changeling.html @@ -0,0 +1 @@ +/datum/game_mode/changeling - Space Station 13
Space Station 13 - Modules - TypesVar Details

changeling

Vars

changeling_amountThe total number of changelings allowed to be picked.

Var Details

changeling_amount

The total number of changelings allowed to be picked.

\ No newline at end of file diff --git a/datum/game_mode/dynamic.html b/datum/game_mode/dynamic.html new file mode 100644 index 00000000000..371f0c52d1b --- /dev/null +++ b/datum/game_mode/dynamic.html @@ -0,0 +1 @@ +/datum/game_mode/dynamic - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

dynamic

Vars

antag_budgetHow much budget is left after roundstart antagonists roll
dynamic_logLog for what happens in a dynamic round
implied_rulesetsImplied rulesets that are in play
min_latespawn_budgetMinimum amount of budget required to start considering latespawn antags. 0 disables latespawn antags.
rulesetsNon-implied rulesets in play

Procs

calculate_budgetCalculates the dynamic budget based on the number of players in the round

Var Details

antag_budget

How much budget is left after roundstart antagonists roll

dynamic_log

Log for what happens in a dynamic round

implied_rulesets

Implied rulesets that are in play

min_latespawn_budget

Minimum amount of budget required to start considering latespawn antags. 0 disables latespawn antags.

rulesets

Non-implied rulesets in play

Proc Details

calculate_budget

Calculates the dynamic budget based on the number of players in the round

\ No newline at end of file diff --git a/datum/game_mode/traitor.html b/datum/game_mode/traitor.html new file mode 100644 index 00000000000..93c6012f140 --- /dev/null +++ b/datum/game_mode/traitor.html @@ -0,0 +1 @@ +/datum/game_mode/traitor - Space Station 13
Space Station 13 - Modules - TypesVar Details

traitor

Vars

traitor_scaling_coeffHow much the amount of players get divided by to determine the number of traitors.
traitors_possibleHard limit on traitors if scaling is turned off.

Var Details

traitor_scaling_coeff

How much the amount of players get divided by to determine the number of traitors.

traitors_possible

Hard limit on traitors if scaling is turned off.

\ No newline at end of file diff --git a/datum/game_mode/trifecta.html b/datum/game_mode/trifecta.html new file mode 100644 index 00000000000..ea8e22ad6bf --- /dev/null +++ b/datum/game_mode/trifecta.html @@ -0,0 +1 @@ +/datum/game_mode/trifecta - Space Station 13
Space Station 13 - Modules - TypesVar Details

trifecta

Vars

cost_at_roundstartHow many points did we get at roundstart

Var Details

cost_at_roundstart

How many points did we get at roundstart

\ No newline at end of file diff --git a/datum/game_mode/vampire.html b/datum/game_mode/vampire.html new file mode 100644 index 00000000000..a05a333ac43 --- /dev/null +++ b/datum/game_mode/vampire.html @@ -0,0 +1 @@ +/datum/game_mode/vampire - Space Station 13
Space Station 13 - Modules - TypesVar Details

vampire

Vars

vampire_penaltyIf this gamemode should spawn less vampires than a usual vampire round, as a percentage of how many you want relative to the regular amount

Var Details

vampire_penalty

If this gamemode should spawn less vampires than a usual vampire round, as a percentage of how many you want relative to the regular amount

\ No newline at end of file diff --git a/datum/game_mode/wizard/raginmages.html b/datum/game_mode/wizard/raginmages.html new file mode 100644 index 00000000000..c257fa16d43 --- /dev/null +++ b/datum/game_mode/wizard/raginmages.html @@ -0,0 +1 @@ +/datum/game_mode/wizard/raginmages - Space Station 13
Space Station 13 - Modules - TypesVar Details

raginmages

Vars

have_we_populated_magivendsTracks a one-time restock of all magivends once we get a second wizard

Var Details

have_we_populated_magivends

Tracks a one-time restock of all magivends once we get a second wizard

\ No newline at end of file diff --git a/datum/gas_mixture.html b/datum/gas_mixture.html new file mode 100644 index 00000000000..2891c18fd82 --- /dev/null +++ b/datum/gas_mixture.html @@ -0,0 +1,21 @@ +/datum/gas_mixture - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

gas_mixture

Vars

fuel_burntHow much fuel this gas mixture burnt last reaction.
innate_heat_capacityHeat capacity intrinsic to the container of this gas mixture.
synchronizedIs this mixture currently synchronized with MILLA? Always true for non-bound mixtures.
volumeThe volume this gas mixture fills.

Procs

archiveUpdate archived versions of variables. Returns: TRUE in all cases
boolean_removeOnly removes the gas if we have more than the amount
copy_from_turfCopies all gas info from the turf into the gas list along with temperature +Returns: TRUE if we are mutable, FALSE otherwise
get_breath_partial_pressureTakes the amount of the gas you want to PP as an argument +So I don't have to do some hacky switches/defines/magic strings +eg: +Tox_PP = get_partial_pressure(gas_mixture.toxins) +O2_PP = get_partial_pressure(gas_mixture.oxygen)
get_true_breath_pressureinverse
heat_capacityjoules per kelvin
mergeMerges all air from giver into self. Deletes giver. Returns: TRUE if we are mutable, FALSE otherwise
reactPerforms various reactions such as combustion or fusion (LOL) +Returns: TRUE if any reaction took place; FALSE otherwise
removeProportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed
remove_ratioProportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed
return_pressureCalculate pressure in kilopascals
return_volumeCalculate volume in liters
set_dirtyMarks this gas mixture as changed from MILLA. Does nothing on non-bound mixtures.
sharePerforms air sharing calculations between two gas_mixtures assuming only 1 boundary length +Returns: amount of gas exchanged (+ if sharer received)
temperature_sharePerforms temperature sharing calculations (via conduction) between two gas_mixtures assuming only 1 boundary length +Returns: new temperature of the sharer
thermal_energyCalculate thermal energy in joules
total_molesCalculate moles

Var Details

fuel_burnt

How much fuel this gas mixture burnt last reaction.

innate_heat_capacity

Heat capacity intrinsic to the container of this gas mixture.

synchronized

Is this mixture currently synchronized with MILLA? Always true for non-bound mixtures.

volume

The volume this gas mixture fills.

Proc Details

archive

Update archived versions of variables. Returns: TRUE in all cases

boolean_remove

Only removes the gas if we have more than the amount

copy_from_turf

Copies all gas info from the turf into the gas list along with temperature +Returns: TRUE if we are mutable, FALSE otherwise

get_breath_partial_pressure

Takes the amount of the gas you want to PP as an argument +So I don't have to do some hacky switches/defines/magic strings +eg: +Tox_PP = get_partial_pressure(gas_mixture.toxins) +O2_PP = get_partial_pressure(gas_mixture.oxygen)

get_true_breath_pressure

inverse

heat_capacity

joules per kelvin

merge

Merges all air from giver into self. Deletes giver. Returns: TRUE if we are mutable, FALSE otherwise

react

Performs various reactions such as combustion or fusion (LOL) +Returns: TRUE if any reaction took place; FALSE otherwise

remove

Proportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed

remove_ratio

Proportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed

return_pressure

Calculate pressure in kilopascals

return_volume

Calculate volume in liters

set_dirty

Marks this gas mixture as changed from MILLA. Does nothing on non-bound mixtures.

share

Performs air sharing calculations between two gas_mixtures assuming only 1 boundary length +Returns: amount of gas exchanged (+ if sharer received)

temperature_share

Performs temperature sharing calculations (via conduction) between two gas_mixtures assuming only 1 boundary length +Returns: new temperature of the sharer

thermal_energy

Calculate thermal energy in joules

total_moles

Calculate moles

\ No newline at end of file diff --git a/datum/gear.html b/datum/gear.html new file mode 100644 index 00000000000..ce74d059d21 --- /dev/null +++ b/datum/gear.html @@ -0,0 +1 @@ +/datum/gear - Space Station 13
Space Station 13 - Modules - TypesVar Details

gear

Vars

allowed_rolesList of job roles which can spawn with the item.
costLoadout points cost to select the item listing.
descriptionDescription of the item listing. If left blank will default to the description of the pathed item.
display_nameDisplayed name of the item listing.
donator_tierPatreon donator tier needed to select this item listing.
gear_tweaksList of datums which will alter the item after it has been spawned. (NYI)
main_typepathSet on empty category datums to skip them being added to the list. (/datum/gear/accessory, /datum/gear/suit/coat/job, etc.)
pathTypepath of the item.
slotSlot to equip the item to.
sort_categoryLoadout category of the item listing.
subtype_selection_costDoes selecting a second item with the same main_typepath cost loadout points.
tweakdescCan this item's description be customized?
tweaknameCan this item's name be customized?

Var Details

allowed_roles

List of job roles which can spawn with the item.

cost

Loadout points cost to select the item listing.

description

Description of the item listing. If left blank will default to the description of the pathed item.

display_name

Displayed name of the item listing.

donator_tier

Patreon donator tier needed to select this item listing.

gear_tweaks

List of datums which will alter the item after it has been spawned. (NYI)

main_typepath

Set on empty category datums to skip them being added to the list. (/datum/gear/accessory, /datum/gear/suit/coat/job, etc.)

path

Typepath of the item.

slot

Slot to equip the item to.

sort_category

Loadout category of the item listing.

subtype_selection_cost

Does selecting a second item with the same main_typepath cost loadout points.

tweakdesc

Can this item's description be customized?

tweakname

Can this item's name be customized?

\ No newline at end of file diff --git a/datum/gear_tweak.html b/datum/gear_tweak.html new file mode 100644 index 00000000000..4aff6388adf --- /dev/null +++ b/datum/gear_tweak.html @@ -0,0 +1 @@ +/datum/gear_tweak - Space Station 13
Space Station 13 - Modules - TypesVar Details

gear_tweak

Vars

display_typeDisplayed in TGUI name
fa_iconFont Awesome icon
infoExplains what is this do in TGUI tooltip

Var Details

display_type

Displayed in TGUI name

fa_icon

Font Awesome icon

info

Explains what is this do in TGUI tooltip

\ No newline at end of file diff --git a/datum/hallucination_manager.html b/datum/hallucination_manager.html new file mode 100644 index 00000000000..195284f873b --- /dev/null +++ b/datum/hallucination_manager.html @@ -0,0 +1 @@ +/datum/hallucination_manager - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

hallucination_manager

Vars

hallucination_listA list with all of our hallucinations
imagesA list with any images that we made separately from our hallucinations
initial_hallucinationThe first hallucination that we spawn. Also doubles as a reference to our hallucination
ownerPerson on who this hallucination is
trigger_timeHow fast do we need to start our first trigger
trigger_timerReference to the timer that will do the first trigger

Procs

get_spawn_locationReturns a turf on where to spawn a hallucination
on_spawnThe proc that runs when our hallucination is first spawned
on_triggerTrigger. By default will delete the manager

Var Details

hallucination_list

A list with all of our hallucinations

images

A list with any images that we made separately from our hallucinations

initial_hallucination

The first hallucination that we spawn. Also doubles as a reference to our hallucination

owner

Person on who this hallucination is

trigger_time

How fast do we need to start our first trigger

trigger_timer

Reference to the timer that will do the first trigger

Proc Details

get_spawn_location

Returns a turf on where to spawn a hallucination

on_spawn

The proc that runs when our hallucination is first spawned

on_trigger

Trigger. By default will delete the manager

\ No newline at end of file diff --git a/datum/hallucination_manager/waves.html b/datum/hallucination_manager/waves.html new file mode 100644 index 00000000000..033ab23c686 --- /dev/null +++ b/datum/hallucination_manager/waves.html @@ -0,0 +1 @@ +/datum/hallucination_manager/waves - Space Station 13
Space Station 13 - Modules - TypesVar Details

waves

Vars

amount_spawnedHow many wave filters the hallucination spawns.
orientationIf the filter will be sideways or vertical
phase_offsetPhase of wave, in periods
x_offsetHow many pixels each wave will be off in the y direction
y_offsetHow many pixels each wave will be off in the y direction

Var Details

amount_spawned

How many wave filters the hallucination spawns.

orientation

If the filter will be sideways or vertical

phase_offset

Phase of wave, in periods

x_offset

How many pixels each wave will be off in the y direction

y_offset

How many pixels each wave will be off in the y direction

\ No newline at end of file diff --git a/datum/hallucination_manager/xeno_pounce.html b/datum/hallucination_manager/xeno_pounce.html new file mode 100644 index 00000000000..552d4ca3e00 --- /dev/null +++ b/datum/hallucination_manager/xeno_pounce.html @@ -0,0 +1 @@ +/datum/hallucination_manager/xeno_pounce - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Xeno Pounce

An imaginary alien hunter pounces towards the target.

Vars

xenoTypecasted reference to the xeno pouncer

Var Details

xeno

Typecasted reference to the xeno pouncer

\ No newline at end of file diff --git a/datum/handle_wrapping.html b/datum/handle_wrapping.html new file mode 100644 index 00000000000..a09b9df6c35 --- /dev/null +++ b/datum/handle_wrapping.html @@ -0,0 +1 @@ +/datum/handle_wrapping - Space Station 13
Space Station 13 - Modules - TypesVar Details

handle_wrapping

Vars

conductiveIs the wrapping conductive
embed_chance_increasethrow embed chance increase
force_increasedamage increase
productivity_modProductivity mod
speed_modSpeed modifier
throw_force_increasethrow damage increase
wrap_overlayWrap overlay icon

Var Details

conductive

Is the wrapping conductive

embed_chance_increase

throw embed chance increase

force_increase

damage increase

productivity_mod

Productivity mod

speed_mod

Speed modifier

throw_force_increase

throw damage increase

wrap_overlay

Wrap overlay icon

\ No newline at end of file diff --git a/datum/heretic_knowledge.html b/datum/heretic_knowledge.html new file mode 100644 index 00000000000..cab9cde9547 --- /dev/null +++ b/datum/heretic_knowledge.html @@ -0,0 +1,92 @@ +/datum/heretic_knowledge - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Heretic Knowledge

The datums that allow heretics to progress and learn new spells and rituals.

+

Heretic Knowledge datums are not singletons - they are instantiated as they +are given to heretics, and deleted if the heretic antagonist is removed.

Vars

abstract_parent_typeThe abstract parent type of the knowledge, used in determine mutual exclusivity in some cases
banned_atom_typesIf set, required_atoms checks for these exact types and doesn't allow them to be ingredients.
costCost of knowledge in knowledge points
descDescription of the knowledge, shown to the heretic. Describes what it unlocks / does.
gain_textWhat's shown to the heretic when the knowledge is aquired
is_starting_knowledgeIf this is considered starting knowledge, TRUE if yes
mind_spellA spell we need to add to the mind vs the mob.
nameName of the knowledge, shown to the heretic.
priorityThe priority of the knowledge. Higher priority knowledge appear higher in the ritual list. +Number itself is completely arbitrary. Does not need to be set for non-ritual knowledge.
required_atomsAssoc list of [typepaths we need] to [amount needed]. +If set, this knowledge allows the heretic to do a ritual on a transmutation rune with the components set. +If one of the items in the list is a list, it's treated as 'any of these items will work'
research_tree_icon_pathIn case we want to override the default UI icon getter and plug in our own icon instead. +if research_tree_icon_path is not null, research_tree_icon_state must also be specified or things may break
result_atomsPaired with above. If set, the resulting spawned atoms upon ritual completion.

Procs

can_be_invokedDetermines if a heretic can actually attempt to invoke the knowledge as a ritual. +By default, we can only invoke knowledge with rituals associated.
cleanup_atomsCalled after on_finished_recipe returns TRUE +and a ritual was successfully completed.
on_finished_recipeCalled whenever the knowledge's associated ritual is completed successfully.
on_gainCalled when the knowledge is applied to a mob. +This can be called multiple times per heretic, +in the case of bodyswap shenanigans.
on_loseCalled when the knowledge is removed from a mob, +either due to a heretic being de-heretic'd or bodyswap memery.
on_research
parse_required_itemParses specific items into a more readble form. +Can be overriden by knoweldge subtypes.
recipe_snowflake_checkSpecial check for rituals. +Called before any of the required atoms are checked.
summon_ritual_mobCreates the ritual mob and grabs a ghost for it

Var Details

abstract_parent_type

The abstract parent type of the knowledge, used in determine mutual exclusivity in some cases

banned_atom_types

If set, required_atoms checks for these exact types and doesn't allow them to be ingredients.

cost

Cost of knowledge in knowledge points

desc

Description of the knowledge, shown to the heretic. Describes what it unlocks / does.

gain_text

What's shown to the heretic when the knowledge is aquired

is_starting_knowledge

If this is considered starting knowledge, TRUE if yes

mind_spell

A spell we need to add to the mind vs the mob.

name

Name of the knowledge, shown to the heretic.

priority

The priority of the knowledge. Higher priority knowledge appear higher in the ritual list. +Number itself is completely arbitrary. Does not need to be set for non-ritual knowledge.

required_atoms

Assoc list of [typepaths we need] to [amount needed]. +If set, this knowledge allows the heretic to do a ritual on a transmutation rune with the components set. +If one of the items in the list is a list, it's treated as 'any of these items will work'

research_tree_icon_path

In case we want to override the default UI icon getter and plug in our own icon instead. +if research_tree_icon_path is not null, research_tree_icon_state must also be specified or things may break

result_atoms

Paired with above. If set, the resulting spawned atoms upon ritual completion.

Proc Details

can_be_invoked

Determines if a heretic can actually attempt to invoke the knowledge as a ritual. +By default, we can only invoke knowledge with rituals associated.

+

Return TRUE to have the ritual show up in the rituals list, FALSE otherwise.

cleanup_atoms

Called after on_finished_recipe returns TRUE +and a ritual was successfully completed.

+

Goes through and cleans up (deletes) +all atoms in the selected_atoms list.

+

Remove atoms from the selected_atoms +(either in this proc or in on_finished_recipe) +to NOT have certain atoms deleted on cleanup.

+

Arguments

+

on_finished_recipe

Called whenever the knowledge's associated ritual is completed successfully.

+

Creates atoms from types in result_atoms. +Override this if you want something else to happen. +This CAN sleep, such as for summoning rituals which poll for ghosts.

+

Arguments

+ +

Returns: TRUE, if the ritual should cleanup afterwards, or FALSE, to avoid calling cleanup after.

on_gain

Called when the knowledge is applied to a mob. +This can be called multiple times per heretic, +in the case of bodyswap shenanigans.

+

Arguments

+

on_lose

Called when the knowledge is removed from a mob, +either due to a heretic being de-heretic'd or bodyswap memery.

+

Arguments

+

on_research

parse_required_item

Parses specific items into a more readble form. +Can be overriden by knoweldge subtypes.

recipe_snowflake_check

Special check for rituals. +Called before any of the required atoms are checked.

+

If you are adding a more complex summoning, +or something that requires a special check +that parses through all the atoms, +you should override this.

+

Arguments

+ +

Returns: TRUE, if the ritual will continue, or FALSE, if the ritual is skipped / cancelled

summon_ritual_mob

Creates the ritual mob and grabs a ghost for it

+
\ No newline at end of file diff --git a/datum/heretic_knowledge/blade_dance.html b/datum/heretic_knowledge/blade_dance.html new file mode 100644 index 00000000000..44257dfc957 --- /dev/null +++ b/datum/heretic_knowledge/blade_dance.html @@ -0,0 +1,3 @@ +/datum/heretic_knowledge/blade_dance - Space Station 13
Space Station 13 - Modules - TypesVar Details

blade_dance

Vars

riposte_readyWhether the counter-attack is ready or not. +Used instead of cooldowns, so we can give feedback when it's ready again

Var Details

riposte_ready

Whether the counter-attack is ready or not. +Used instead of cooldowns, so we can give feedback when it's ready again

\ No newline at end of file diff --git a/datum/heretic_knowledge/blade_upgrade.html b/datum/heretic_knowledge/blade_upgrade.html new file mode 100644 index 00000000000..2bdc300acee --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade.html @@ -0,0 +1,9 @@ +/datum/heretic_knowledge/blade_upgrade - Space Station 13
Space Station 13 - Modules - TypesProc Details

blade_upgrade

A knowledge subtype for heretic knowledge that +upgrades their sickly blade, either on melee or range.

+

A heretic can only learn one /blade_upgrade type knowledge.

Procs

do_melee_effectsOverridable proc that invokes special effects +whenever the heretic attacks someone in melee with their heretic blade.
do_ranged_effectsOverridable proc that invokes special effects +whenever the heretic clicks on someone at range with their heretic blade.
on_eldritch_blade_attackSignal proc for COMSIG_HERETIC_BLADE_ATTACK.
on_ranged_eldritch_bladeSignal proc for COMSIG_HERETIC_RANGED_BLADE_ATTACK.

Proc Details

do_melee_effects

Overridable proc that invokes special effects +whenever the heretic attacks someone in melee with their heretic blade.

do_ranged_effects

Overridable proc that invokes special effects +whenever the heretic clicks on someone at range with their heretic blade.

on_eldritch_blade_attack

Signal proc for COMSIG_HERETIC_BLADE_ATTACK.

+

Apply any melee effects from hitting someone with our blade.

on_ranged_eldritch_blade

Signal proc for COMSIG_HERETIC_RANGED_BLADE_ATTACK.

+

Apply any ranged effects from hitting someone with our blade.

\ No newline at end of file diff --git a/datum/heretic_knowledge/blade_upgrade/blade.html b/datum/heretic_knowledge/blade_upgrade/blade.html new file mode 100644 index 00000000000..30734d5d6ad --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade/blade.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/blade_upgrade/blade - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

blade

Vars

last_weapon_forceHow much force was the last weapon we offhanded with? If it's different, we need to re-calculate the decrement
offand_force_decrementHow much force do we apply to the offhand?

Procs

on_grasp_castTries to infuse our held blade with our mansus grasp

Var Details

last_weapon_force

How much force was the last weapon we offhanded with? If it's different, we need to re-calculate the decrement

offand_force_decrement

How much force do we apply to the offhand?

Proc Details

on_grasp_cast

Tries to infuse our held blade with our mansus grasp

\ No newline at end of file diff --git a/datum/heretic_knowledge/blade_upgrade/cosmic.html b/datum/heretic_knowledge/blade_upgrade/cosmic.html new file mode 100644 index 00000000000..aaed9a21034 --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade/cosmic.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/blade_upgrade/cosmic - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cosmic

Vars

combo_counterThe hits we have on a mob with a mind.
combo_durationThe active duration of the combo.
combo_duration_amountThe duration of a combo when it starts.
combo_timerWhen this timer completes we reset our combo.
increase_amountThe amount the combo duration increases.
max_combo_durationThe maximum duration of the combo.
second_targetStorage for the second target.
third_targetStorage for the third target.

Procs

increase_combo_durationIncreases the combo duration.
reset_comboResets the combo.

Var Details

combo_counter

The hits we have on a mob with a mind.

combo_duration

The active duration of the combo.

combo_duration_amount

The duration of a combo when it starts.

combo_timer

When this timer completes we reset our combo.

increase_amount

The amount the combo duration increases.

max_combo_duration

The maximum duration of the combo.

second_target

Storage for the second target.

third_target

Storage for the third target.

Proc Details

increase_combo_duration

Increases the combo duration.

reset_combo

Resets the combo.

\ No newline at end of file diff --git a/datum/heretic_knowledge/blade_upgrade/flesh.html b/datum/heretic_knowledge/blade_upgrade/flesh.html new file mode 100644 index 00000000000..678d5dad8b1 --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade/flesh.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/blade_upgrade/flesh - Space Station 13
Space Station 13 - Modules - TypesProc Details

flesh

Procs

do_melee_effectsWhat type of wound do we apply on hit

Proc Details

do_melee_effects

What type of wound do we apply on hit

\ No newline at end of file diff --git a/datum/heretic_knowledge/cold_snap.html b/datum/heretic_knowledge/cold_snap.html new file mode 100644 index 00000000000..ea2598dc9db --- /dev/null +++ b/datum/heretic_knowledge/cold_snap.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/cold_snap - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cold_snap

Vars

failed_life_cyclesHow many life cycles have we failed? After 3, remove the buff
gain_traitsTraits we apply to become immune to the environment

Procs

check_environmentChecks if our traits should be active

Var Details

failed_life_cycles

How many life cycles have we failed? After 3, remove the buff

gain_traits

Traits we apply to become immune to the environment

Proc Details

check_environment

Checks if our traits should be active

\ No newline at end of file diff --git a/datum/heretic_knowledge/cosmic_grasp.html b/datum/heretic_knowledge/cosmic_grasp.html new file mode 100644 index 00000000000..62adfe78593 --- /dev/null +++ b/datum/heretic_knowledge/cosmic_grasp.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/cosmic_grasp - Space Station 13
Space Station 13 - Modules - TypesProc Details

cosmic_grasp

Procs

on_mansus_graspAplies the effect of the mansus grasp when it hits a target.

Proc Details

on_mansus_grasp

Aplies the effect of the mansus grasp when it hits a target.

\ No newline at end of file diff --git a/datum/heretic_knowledge/destroy_knives.html b/datum/heretic_knowledge/destroy_knives.html new file mode 100644 index 00000000000..0f661ad810a --- /dev/null +++ b/datum/heretic_knowledge/destroy_knives.html @@ -0,0 +1,2 @@ +/datum/heretic_knowledge/destroy_knives - Space Station 13
Space Station 13 - Modules - TypesVar Details

destroy_knives

Allows the heretic to break all of their knives in the world. +This requires a knowledge point and makes them go on knife cooldown.

Vars

knife_knowledgeHolds our knife knowledge so we dont have to search for it every time.

Var Details

knife_knowledge

Holds our knife knowledge so we dont have to search for it every time.

\ No newline at end of file diff --git a/datum/heretic_knowledge/duel_stance.html b/datum/heretic_knowledge/duel_stance.html new file mode 100644 index 00000000000..90467c8acbe --- /dev/null +++ b/datum/heretic_knowledge/duel_stance.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/duel_stance - Space Station 13
Space Station 13 - Modules - TypesVar Details

duel_stance

Vars

in_duelist_stanceWhether we're currently in duelist stance, gaining certain buffs (low health)

Var Details

in_duelist_stance

Whether we're currently in duelist stance, gaining certain buffs (low health)

\ No newline at end of file diff --git a/datum/heretic_knowledge/feast_of_owls.html b/datum/heretic_knowledge/feast_of_owls.html new file mode 100644 index 00000000000..f0d34baf0e5 --- /dev/null +++ b/datum/heretic_knowledge/feast_of_owls.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/feast_of_owls - Space Station 13
Space Station 13 - Modules - TypesVar Details

feast_of_owls

Vars

rewardamount of research points granted

Var Details

reward

amount of research points granted

\ No newline at end of file diff --git a/datum/heretic_knowledge/hunt_and_sacrifice.html b/datum/heretic_knowledge/hunt_and_sacrifice.html new file mode 100644 index 00000000000..cf8422de7eb --- /dev/null +++ b/datum/heretic_knowledge/hunt_and_sacrifice.html @@ -0,0 +1,40 @@ +/datum/heretic_knowledge/hunt_and_sacrifice - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

hunt_and_sacrifice

Allows the heretic to sacrifice living heart targets.

Vars

grantable_organsEvil organs we can put in people
heretic_level_generatedWhether we've generated a heretic sacrifice z-level yet, from any heretic.
heretic_mindA weakref to the mind of our heretic.
num_targets_to_generateHow many targets do we generate?
return_timersAn assoc list of [uif] to [timers] - a list of all the timers of people in the shadow realm currently
target_blacklistLazylist of minds that we won't pick as targets.

Procs

after_helgrasp_endsThis proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target].)
after_return_dead_targetThis proc is called from [proc/return_target] if the target dies in the shadow realm.)
after_return_live_targetThis proc is called from [proc/return_target] if the [sac_target] survives the shadow realm.)
after_target_sleepsThis proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep), shortly after the sacrifice occurs.
after_target_wakesThis proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up.)
begin_sacrificeThis proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].)
curse_organsApply a sinister curse to some of the target's organs as an incentive to leave us alone
disembowel_target"Fuck you" proc that gets called if the chain is interrupted at some points. +Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure.
generate_heretic_z_levelGenerate the sacrifice z-level.
obtain_targetsObtain a list of targets for the user to hunt down and sacrifice. +Tries to get four targets (minds) with living human currents.
on_target_deathIf they die in the shadow realm, they lost. Send them back.
on_target_escapeIf they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed.
return_targetThis proc is called from [proc/begin_sacrifice] if the target survived the shadow realm), or COMSIG_MOB_DEATH if they don't.
sacrifice_processBegin the process of sacrificing the target.

Var Details

grantable_organs

Evil organs we can put in people

heretic_level_generated

Whether we've generated a heretic sacrifice z-level yet, from any heretic.

heretic_mind

A weakref to the mind of our heretic.

num_targets_to_generate

How many targets do we generate?

return_timers

An assoc list of [uif] to [timers] - a list of all the timers of people in the shadow realm currently

target_blacklist

Lazylist of minds that we won't pick as targets.

Proc Details

after_helgrasp_ends

This proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target].)

+

It gives them a message letting them know it's getting easier and they're almost free.

after_return_dead_target

This proc is called from [proc/return_target] if the target dies in the shadow realm.)

+

After teleporting the target back to the station (dead), +it spawns a special red broken illusion on their spot, for style.

after_return_live_target

This proc is called from [proc/return_target] if the [sac_target] survives the shadow realm.)

+

Gives the sacrifice target some after effects upon ariving back to reality.

after_target_sleeps

This proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep), shortly after the sacrifice occurs.

+

Teleports the [sac_target] to the heretic room, asleep. +If it fails to teleport, they will be disemboweled and stop the chain.

+

Arguments

+

after_target_wakes

This proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up.)

+

Begins the survival minigame, featuring the sacrifice targets. +Gives them Helgrasp, throwing cursed hands towards them that they must dodge to survive. +Also gives them a status effect, Unholy Determination, to help them in this endeavor.

+

Then applies some miscellaneous effects.

begin_sacrifice

This proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].)

+

Sets off a chain that sends the person sacrificed to the shadow realm to dodge hands to fight for survival.

+

Arguments

+

curse_organs

Apply a sinister curse to some of the target's organs as an incentive to leave us alone

disembowel_target

"Fuck you" proc that gets called if the chain is interrupted at some points. +Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure.

generate_heretic_z_level

Generate the sacrifice z-level.

obtain_targets

Obtain a list of targets for the user to hunt down and sacrifice. +Tries to get four targets (minds) with living human currents.

+

Returns FALSE if no targets are found, TRUE if the targets list was populated.

on_target_death

If they die in the shadow realm, they lost. Send them back.

on_target_escape

If they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed.

return_target

This proc is called from [proc/begin_sacrifice] if the target survived the shadow realm), or COMSIG_MOB_DEATH if they don't.

+

Teleports [sac_target] back to a random safe turf on the station (or observer spawn if it fails to find a safe turf). +Also clears their status effects, unregisters any signals associated with the shadow realm, and sends a message +to the heretic who did the sacrificed about whether they survived, and where they ended up.

+

Arguments

+

sacrifice_process

Begin the process of sacrificing the target.

+

Arguments

+
\ No newline at end of file diff --git a/datum/heretic_knowledge/key_ring.html b/datum/heretic_knowledge/key_ring.html new file mode 100644 index 00000000000..6f525065b0d --- /dev/null +++ b/datum/heretic_knowledge/key_ring.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/key_ring - Space Station 13
Space Station 13 - Modules - TypesVar Details

key_ring

Vars

accessespasses the sacrificed ID's access to the card.

Var Details

accesses

passes the sacrificed ID's access to the card.

\ No newline at end of file diff --git a/datum/heretic_knowledge/knowledge_ritual.html b/datum/heretic_knowledge/knowledge_ritual.html new file mode 100644 index 00000000000..671d4010d7a --- /dev/null +++ b/datum/heretic_knowledge/knowledge_ritual.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/knowledge_ritual - Space Station 13
Space Station 13 - Modules - TypesVar Details

knowledge_ritual

A subtype of knowledge that generates random ritual components.

Vars

was_completedWhether we've done the ritual. Only doable once.

Var Details

was_completed

Whether we've done the ritual. Only doable once.

\ No newline at end of file diff --git a/datum/heretic_knowledge/limited_amount.html b/datum/heretic_knowledge/limited_amount.html new file mode 100644 index 00000000000..a037cc431ef --- /dev/null +++ b/datum/heretic_knowledge/limited_amount.html @@ -0,0 +1,3 @@ +/datum/heretic_knowledge/limited_amount - Space Station 13
Space Station 13 - Modules - TypesVar Details

limited_amount

A knowledge subtype for knowledge that can only +have a limited amount of its resulting atoms +created at once.

Vars

created_itemsA list of weakrefs to all items we've created.
limitThe limit to how many items we can create at once.

Var Details

created_items

A list of weakrefs to all items we've created.

limit

The limit to how many items we can create at once.

\ No newline at end of file diff --git a/datum/heretic_knowledge/limited_amount/flesh_ghoul.html b/datum/heretic_knowledge/limited_amount/flesh_ghoul.html new file mode 100644 index 00000000000..42fdf212108 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/flesh_ghoul.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/limited_amount/flesh_ghoul - Space Station 13
Space Station 13 - Modules - TypesProc Details

flesh_ghoul

Procs

apply_to_ghoulCallback for the ghoul status effect - Tracks all of our ghouls and applies effects
make_ghoulMakes [victim] into a ghoul.
remove_from_ghoulCallback for the ghoul status effect - Tracks all of our ghouls and applies effects

Proc Details

apply_to_ghoul

Callback for the ghoul status effect - Tracks all of our ghouls and applies effects

make_ghoul

Makes [victim] into a ghoul.

remove_from_ghoul

Callback for the ghoul status effect - Tracks all of our ghouls and applies effects

\ No newline at end of file diff --git a/datum/heretic_knowledge/limited_amount/flesh_grasp.html b/datum/heretic_knowledge/limited_amount/flesh_grasp.html new file mode 100644 index 00000000000..ccf5fe26358 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/flesh_grasp.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/limited_amount/flesh_grasp - Space Station 13
Space Station 13 - Modules - TypesProc Details

flesh_grasp

Procs

apply_to_ghoulCallback for the ghoul status effect - Tracking all of our ghouls
make_ghoulMakes [victim] into a ghoul.
remove_from_ghoulCallback for the ghoul status effect - Tracking all of our ghouls

Proc Details

apply_to_ghoul

Callback for the ghoul status effect - Tracking all of our ghouls

make_ghoul

Makes [victim] into a ghoul.

remove_from_ghoul

Callback for the ghoul status effect - Tracking all of our ghouls

\ No newline at end of file diff --git a/datum/heretic_knowledge/limited_amount/risen_corpse.html b/datum/heretic_knowledge/limited_amount/risen_corpse.html new file mode 100644 index 00000000000..dbdeaff5502 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/risen_corpse.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/limited_amount/risen_corpse - Space Station 13
Space Station 13 - Modules - TypesProc Details

risen_corpse

Procs

apply_to_risenCallback for the ghoul status effect - what effects are applied to the ghoul.
make_risenMake [victim] into a shattered risen ghoul.
remove_from_risenCallback for the ghoul status effect - cleaning up effects after the ghoul status is removed.

Proc Details

apply_to_risen

Callback for the ghoul status effect - what effects are applied to the ghoul.

make_risen

Make [victim] into a shattered risen ghoul.

remove_from_risen

Callback for the ghoul status effect - cleaning up effects after the ghoul status is removed.

\ No newline at end of file diff --git a/datum/heretic_knowledge/limited_amount/starting.html b/datum/heretic_knowledge/limited_amount/starting.html new file mode 100644 index 00000000000..c98516e85d1 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting.html @@ -0,0 +1,4 @@ +/datum/heretic_knowledge/limited_amount/starting - Space Station 13
Space Station 13 - Modules - Types

starting

A knowledge subtype for limited_amount knowledge +used for base knowledge (the ones that make blades)

+

A heretic can only learn one /starting type knowledge, +and their ascension depends on whichever they chose.

\ No newline at end of file diff --git a/datum/heretic_knowledge/living_heart.html b/datum/heretic_knowledge/living_heart.html new file mode 100644 index 00000000000..4f42aae8b2f --- /dev/null +++ b/datum/heretic_knowledge/living_heart.html @@ -0,0 +1,3 @@ +/datum/heretic_knowledge/living_heart - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

living_heart

The Living Heart heretic knowledge.

+

Gives the heretic a living heart. +Also includes a ritual to turn their heart into a living heart.

Vars

required_organ_typeThe typepath of the organ type required for our heart.

Procs

is_valid_heartChecks if the passed heart is a valid heart to become a living heart

Var Details

required_organ_type

The typepath of the organ type required for our heart.

Proc Details

is_valid_heart

Checks if the passed heart is a valid heart to become a living heart

\ No newline at end of file diff --git a/datum/heretic_knowledge/mark.html b/datum/heretic_knowledge/mark.html new file mode 100644 index 00000000000..096cd2fccbb --- /dev/null +++ b/datum/heretic_knowledge/mark.html @@ -0,0 +1,11 @@ +/datum/heretic_knowledge/mark - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mark

A knowledge subtype for heretic knowledge +that applies a mark on use.

+

A heretic can only learn one /mark type knowledge.

Vars

mark_typeThe status effect typepath we apply on people on mansus grasp.

Procs

create_markCreates the mark status effect on our target. +This proc handles the instatiate and the application of the station effect, +and returns the /datum/status_effect instance that was made.
on_eldritch_bladeSignal proc for COMSIG_HERETIC_BLADE_ATTACK.
on_mansus_graspSignal proc for COMSIG_HERETIC_MANSUS_GRASP_ATTACK.
trigger_markHandles triggering the mark on the target.

Var Details

mark_type

The status effect typepath we apply on people on mansus grasp.

Proc Details

create_mark

Creates the mark status effect on our target. +This proc handles the instatiate and the application of the station effect, +and returns the /datum/status_effect instance that was made.

+

Can be overriden to set or pass in additional vars of the status effect.

on_eldritch_blade

Signal proc for COMSIG_HERETIC_BLADE_ATTACK.

+

Whenever we attack someone with our blade, attempt to trigger any marks on them.

on_mansus_grasp

Signal proc for COMSIG_HERETIC_MANSUS_GRASP_ATTACK.

+

Whenever we cast mansus grasp on someone, apply our mark.

trigger_mark

Handles triggering the mark on the target.

+

If there is no mark, returns FALSE. Returns TRUE if a mark was triggered.

\ No newline at end of file diff --git a/datum/heretic_knowledge/spell.html b/datum/heretic_knowledge/spell.html new file mode 100644 index 00000000000..111eed8ce12 --- /dev/null +++ b/datum/heretic_knowledge/spell.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/spell - Space Station 13
Space Station 13 - Modules - TypesVar Details

spell

A knowledge subtype that grants the heretic a certain spell.

Vars

action_to_addSpell path we add to the heretic. Type-path.
created_action_refThe spell we actually created.

Var Details

action_to_add

Spell path we add to the heretic. Type-path.

created_action_ref

The spell we actually created.

\ No newline at end of file diff --git a/datum/heretic_knowledge/summon.html b/datum/heretic_knowledge/summon.html new file mode 100644 index 00000000000..f1e616cda81 --- /dev/null +++ b/datum/heretic_knowledge/summon.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/summon - Space Station 13
Space Station 13 - Modules - TypesVar Details

summon

A knowledge subtype lets the heretic summon a monster with the ritual.

Vars

mob_to_summonTypepath of a mob to summon when we finish the recipe.

Var Details

mob_to_summon

Typepath of a mob to summon when we finish the recipe.

\ No newline at end of file diff --git a/datum/heretic_knowledge/ultimate.html b/datum/heretic_knowledge/ultimate.html new file mode 100644 index 00000000000..9cb4c753288 --- /dev/null +++ b/datum/heretic_knowledge/ultimate.html @@ -0,0 +1,5 @@ +/datum/heretic_knowledge/ultimate - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ultimate

The special final tier of knowledges that unlocks ASCENSION.

Vars

announcement_soundThe sound that's played for the ascension announcement.
announcement_textThe text of the ascension announcement. +%NAME% is replaced with the heretic's real name, +and %SPOOKY% is replaced with output from [generate_heretic_text]

Procs

is_valid_sacrificeChecks if the passed human is a valid sacrifice for our ritual.

Var Details

announcement_sound

The sound that's played for the ascension announcement.

announcement_text

The text of the ascension announcement. +%NAME% is replaced with the heretic's real name, +and %SPOOKY% is replaced with output from [generate_heretic_text]

Proc Details

is_valid_sacrifice

Checks if the passed human is a valid sacrifice for our ritual.

\ No newline at end of file diff --git a/datum/heretic_knowledge/ultimate/ash_final.html b/datum/heretic_knowledge/ultimate/ash_final.html new file mode 100644 index 00000000000..baf976cfc16 --- /dev/null +++ b/datum/heretic_knowledge/ultimate/ash_final.html @@ -0,0 +1 @@ +/datum/heretic_knowledge/ultimate/ash_final - Space Station 13
Space Station 13 - Modules - TypesVar Details

ash_final

Vars

traits_to_applyA static list of all traits we apply on ascension.

Var Details

traits_to_apply

A static list of all traits we apply on ascension.

\ No newline at end of file diff --git a/datum/heretic_knowledge/ultimate/rust_final.html b/datum/heretic_knowledge/ultimate/rust_final.html new file mode 100644 index 00000000000..ad93b5335f7 --- /dev/null +++ b/datum/heretic_knowledge/ultimate/rust_final.html @@ -0,0 +1,3 @@ +/datum/heretic_knowledge/ultimate/rust_final - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

rust_final

Vars

conditional_immunitiesA static list of traits we give to the heretic when on rust.
immunities_activeIf TRUE, then immunities are currently active.
ritual_locationA typepath to an area that we must finish the ritual in.

Procs

on_lifeSignal proc for COMSIG_LIVING_LIFE.
on_moveSignal proc for COMSIG_MOVABLE_MOVED.

Var Details

conditional_immunities

A static list of traits we give to the heretic when on rust.

immunities_active

If TRUE, then immunities are currently active.

ritual_location

A typepath to an area that we must finish the ritual in.

Proc Details

on_life

Signal proc for COMSIG_LIVING_LIFE.

+

Gradually heals the heretic ([source]) on rust.

on_move

Signal proc for COMSIG_MOVABLE_MOVED.

+

Gives our heretic ([source]) buffs if they stand on rust.

\ No newline at end of file diff --git a/datum/heretic_knowledge/ultimate/void_final.html b/datum/heretic_knowledge/ultimate/void_final.html new file mode 100644 index 00000000000..beff365019c --- /dev/null +++ b/datum/heretic_knowledge/ultimate/void_final.html @@ -0,0 +1,5 @@ +/datum/heretic_knowledge/ultimate/void_final - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

void_final

Vars

heavy_stormThe storm where there are actual effects
sound_loopsoundloop for the void theme
stormReference to the ongoing voidstrom that surrounds the heretic

Procs

can_deflectFew checks to determine if we can deflect bullets
on_deathSignal proc for COMSIG_MOB_DEATH.
on_lifeSignal proc for COMSIG_LIVING_LIFE.

Var Details

heavy_storm

The storm where there are actual effects

sound_loop

soundloop for the void theme

storm

Reference to the ongoing voidstrom that surrounds the heretic

Proc Details

can_deflect

Few checks to determine if we can deflect bullets

on_death

Signal proc for COMSIG_MOB_DEATH.

+

Stop the storm when the heretic passes away.

on_life

Signal proc for COMSIG_LIVING_LIFE.

+

Any non-heretics nearby the heretic ([source]) +are constantly silenced and battered by the storm.

+

Also starts storms in any area that doesn't have one.

\ No newline at end of file diff --git a/datum/heretic_knowledge_tree_column.html b/datum/heretic_knowledge_tree_column.html new file mode 100644 index 00000000000..6f8c8f342e5 --- /dev/null +++ b/datum/heretic_knowledge_tree_column.html @@ -0,0 +1 @@ +/datum/heretic_knowledge_tree_column - Space Station 13
Space Station 13 - Modules - TypesVar Details

heretic_knowledge_tree_column

Vars

abstract_parent_typeUsed to determine if this is a side path or a main path
neighbour_type_leftIDs od neighbours (to left and right)
routeRoute that symbolizes what path this is
tier1Tier1 knowledge (or knowledges)
tier2Tier2 knowledge (or knowledges)
tier3Tier3 knowledge (or knowledges)
ui_bgrUI background

Var Details

abstract_parent_type

Used to determine if this is a side path or a main path

neighbour_type_left

IDs od neighbours (to left and right)

route

Route that symbolizes what path this is

tier1

Tier1 knowledge (or knowledges)

tier2

Tier2 knowledge (or knowledges)

tier3

Tier3 knowledge (or knowledges)

ui_bgr

UI background

\ No newline at end of file diff --git a/datum/heretic_knowledge_tree_column/main.html b/datum/heretic_knowledge_tree_column/main.html new file mode 100644 index 00000000000..77f02486c35 --- /dev/null +++ b/datum/heretic_knowledge_tree_column/main.html @@ -0,0 +1 @@ +/datum/heretic_knowledge_tree_column/main - Space Station 13
Space Station 13 - Modules - TypesVar Details

main

Vars

ascensionAscension
bladeBlade upgrade
graspGrasp upgrade
markMark upgrade
ritual_of_knowledgeUnique ritual of knoweldge
startStarting knowledge - first thing you pick
unique_abilityPath specific unique ability

Var Details

ascension

Ascension

blade

Blade upgrade

grasp

Grasp upgrade

mark

Mark upgrade

ritual_of_knowledge

Unique ritual of knoweldge

start

Starting knowledge - first thing you pick

unique_ability

Path specific unique ability

\ No newline at end of file diff --git a/datum/holocall.html b/datum/holocall.html new file mode 100644 index 00000000000..bcd10b99b9d --- /dev/null +++ b/datum/holocall.html @@ -0,0 +1 @@ +/datum/holocall - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

holocall

Vars

call_start_timeThe world.time at the time the holocall is created
calling_holopadThe calling holopad
connected_holopadThe receiving holopad (may be null)
dialed_holopadsAll holopads currently being dialed. Once answered, this will be cleared with [connected_holopad].
eyeCamera eye, once connected
hangupThe hangup action handler, for handling the hangup button displayed in the top left corner of the screen
hologramThe user's hologram, once connected
userThe calling user

Procs

AnswerAnswers a call made to a holopad H which cannot be the calling holopad. Pads not in the call are ignored
CheckChecks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise
ConnectionFailureForcefully disconnects a holopad H from a call. Pads not in the call are ignored.
DisconnectGracefully disconnects a holopad H from a call. Pads not in the call are ignored. Notifies participants of the disconnection
NewCreates a holocall made by holo_caller from calling_pad to callees

Var Details

call_start_time

The world.time at the time the holocall is created

calling_holopad

The calling holopad

connected_holopad

The receiving holopad (may be null)

dialed_holopads

All holopads currently being dialed. Once answered, this will be cleared with [connected_holopad].

eye

Camera eye, once connected

hangup

The hangup action handler, for handling the hangup button displayed in the top left corner of the screen

hologram

The user's hologram, once connected

user

The calling user

Proc Details

Answer

Answers a call made to a holopad H which cannot be the calling holopad. Pads not in the call are ignored

Check

Checks the validity of a holocall and qdels itself if it's not. Returns TRUE if valid, FALSE otherwise

ConnectionFailure

Forcefully disconnects a holopad H from a call. Pads not in the call are ignored.

Disconnect

Gracefully disconnects a holopad H from a call. Pads not in the call are ignored. Notifies participants of the disconnection

New

Creates a holocall made by holo_caller from calling_pad to callees

\ No newline at end of file diff --git a/datum/http_request.html b/datum/http_request.html new file mode 100644 index 00000000000..76ebe4db21b --- /dev/null +++ b/datum/http_request.html @@ -0,0 +1,20 @@ +/datum/http_request - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

HTTP Request

Holder datum for ingame HTTP requests

+

Holds information regarding to methods used, URL, and response, +as well as job IDs and progress tracking for async requests

Vars

bodyBody of the request being sent
cbCallback for executing after async requests. Will be called with an argument of /datum/http_response as first argument
error_codeJob error code, if any
headersRequest headers being sent
idThe ID of the request (Only set if it is an async request)
in_progressIs the request in progress? (Only set if it is an async request)
methodHTTP method used
response_objThe response for the request
urlURL that the request is being sent to

Procs

begin_asyncAsync execution starter
into_responseResponse deserializer
is_completeAsync completion checker
preparePreparation handler

Var Details

body

Body of the request being sent

cb

Callback for executing after async requests. Will be called with an argument of /datum/http_response as first argument

error_code

Job error code, if any

headers

Request headers being sent

id

The ID of the request (Only set if it is an async request)

in_progress

Is the request in progress? (Only set if it is an async request)

method

HTTP method used

response_obj

The response for the request

url

URL that the request is being sent to

Proc Details

begin_async

Async execution starter

+

Tells the request to start executing inside its own thread inside RUSTG +Preferred over blocking, but also requires SShttp to be active +As such, you cannot use this for events which may happen at roundstart (EG: IPIntel, BYOND account tracking, etc)

into_response

Response deserializer

+

Takes a HTTP request object, and converts it into a /datum/http_response +The entire thing is wrapped in try/catch to ensure it doesnt break on invalid requests +Can be called on async and blocking requests

is_complete

Async completion checker

+

Checks if an async request has been complete +Has safety checks built in to compensate if you call this on blocking requests, +or async requests which have already finished

prepare

Preparation handler

+

Call this with relevant parameters to form the request you want to make

+

Arguments:

+
\ No newline at end of file diff --git a/datum/http_response.html b/datum/http_response.html new file mode 100644 index 00000000000..147614dd4e3 --- /dev/null +++ b/datum/http_response.html @@ -0,0 +1,3 @@ +/datum/http_response - Space Station 13
Space Station 13 - Modules - TypesVar Details

HTTP Response

Holder datum for HTTP responses

+

Created from calling [/datum/http_request/proc/into_response()] +Contains vars about the result of the response

Vars

bodyThe body of the response from the server
errorRaw response if we errored
erroredHas the request errored
headersAssociative list of headers sent from the server
status_codeThe HTTP status code of the response

Var Details

body

The body of the response from the server

error

Raw response if we errored

errored

Has the request errored

headers

Associative list of headers sent from the server

status_code

The HTTP status code of the response

\ No newline at end of file diff --git a/datum/hud.html b/datum/hud.html new file mode 100644 index 00000000000..d1619908cb7 --- /dev/null +++ b/datum/hud.html @@ -0,0 +1,9 @@ +/datum/hud - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

hud

Vars

cult_actionsaction group for cult spell actions
floating_actionsA list of action buttons which aren't owned by any action group, and are just floating somewhere on the hud.
hotkey_ui_hiddenThis is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons)
hotkeybuttonsthe buttons that can be used via hotkeys
hud_shownUsed for the HUD toggle (F12)
hud_versionCurrent displayed version of the HUD
inv_slotsatom/movable/screen/inventory objects, ordered by their slot ID.
inventory_shownWhether or not their toggleable inventory (generally their contents on the left) is expanded
listed_actionsaction group for expanded actions, the normal action set
palette_actionsthe groups of actions, such as palette (previously normal) actions
plane_master_controllersAssoc list of controller groups, associated with key string group name with value of the plane master controller ref
screentip_textUI for screentips that appear when you mouse over things
toggleable_inventorythe screen objects which can be hidden (your human items on the left)

Procs

build_action_groupsGenerates and fills new action groups with our mob's current actions
generate_landingsGenerates visual landings for all groups that the button is not a memeber of
get_action_buttons_iconsThis is a silly proc used in hud code code to determine what icon and icon state we should be using +for hud elements (such as action buttons) that don't have their own icon and icon state set.
hide_actionRemoves the passed in action from its current position on the screen
hide_landingsClears all currently visible landings
show_hudShows this hud's hud to some mob
view_audit_buttonsEnsures all of our buttons are properly within the bounds of our client's view, moves them if they're not

Var Details

cult_actions

action group for cult spell actions

floating_actions

A list of action buttons which aren't owned by any action group, and are just floating somewhere on the hud.

hotkey_ui_hidden

This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons)

hotkeybuttons

the buttons that can be used via hotkeys

hud_shown

Used for the HUD toggle (F12)

hud_version

Current displayed version of the HUD

inv_slots

atom/movable/screen/inventory objects, ordered by their slot ID.

inventory_shown

Whether or not their toggleable inventory (generally their contents on the left) is expanded

listed_actions

action group for expanded actions, the normal action set

palette_actions

the groups of actions, such as palette (previously normal) actions

plane_master_controllers

Assoc list of controller groups, associated with key string group name with value of the plane master controller ref

screentip_text

UI for screentips that appear when you mouse over things

toggleable_inventory

the screen objects which can be hidden (your human items on the left)

Proc Details

build_action_groups

Generates and fills new action groups with our mob's current actions

generate_landings

Generates visual landings for all groups that the button is not a memeber of

get_action_buttons_icons

This is a silly proc used in hud code code to determine what icon and icon state we should be using +for hud elements (such as action buttons) that don't have their own icon and icon state set.

+

It returns a list, which is pretty much just a struct of info

hide_action

Removes the passed in action from its current position on the screen

hide_landings

Clears all currently visible landings

show_hud

Shows this hud's hud to some mob

+

Arguments

+

view_audit_buttons

Ensures all of our buttons are properly within the bounds of our client's view, moves them if they're not

\ No newline at end of file diff --git a/datum/idle_behavior/idle_monkey.html b/datum/idle_behavior/idle_monkey.html new file mode 100644 index 00000000000..037fd37df40 --- /dev/null +++ b/datum/idle_behavior/idle_monkey.html @@ -0,0 +1 @@ +/datum/idle_behavior/idle_monkey - Space Station 13
Space Station 13 - Modules - TypesVar Details

idle_monkey

Vars

common_emotesEmotes that will be played commonly during idle behavior.
rare_emotesEmotes that will be played rarely during idle behavior.

Var Details

common_emotes

Emotes that will be played commonly during idle behavior.

rare_emotes

Emotes that will be played rarely during idle behavior.

\ No newline at end of file diff --git a/datum/idle_behavior/idle_random_walk.html b/datum/idle_behavior/idle_random_walk.html new file mode 100644 index 00000000000..bd8279c4b4c --- /dev/null +++ b/datum/idle_behavior/idle_random_walk.html @@ -0,0 +1 @@ +/datum/idle_behavior/idle_random_walk - Space Station 13
Space Station 13 - Modules - TypesVar Details

idle_random_walk

Randomly choose a direction to walk in.

Vars

walk_chanceChance that the mob random walks per second

Var Details

walk_chance

Chance that the mob random walks per second

\ No newline at end of file diff --git a/datum/input_data.html b/datum/input_data.html new file mode 100644 index 00000000000..60c96408b10 --- /dev/null +++ b/datum/input_data.html @@ -0,0 +1 @@ +/datum/input_data - Space Station 13
Space Station 13 - Modules - TypesVar Details

input_data

Vars

desired_move_dirBitflags of the direction the client wishes to move. Updated instantaneously.
desired_move_dir_addBitflags of the buffered direction the client wishes to move. Reset on client/Move().
desired_move_dir_subBitflags of the buffered direction the client wishes not to move. Reset on client/Move().
key_combos_heldAssociative list of currently held key combos.
keys_heldAssociative list of currently held keys. Format: keys_held[key], associated value is world.time where key was pressed.
move_lockWhether the movement should be locked in place.

Var Details

desired_move_dir

Bitflags of the direction the client wishes to move. Updated instantaneously.

desired_move_dir_add

Bitflags of the buffered direction the client wishes to move. Reset on client/Move().

desired_move_dir_sub

Bitflags of the buffered direction the client wishes not to move. Reset on client/Move().

key_combos_held

Associative list of currently held key combos.

keys_held

Associative list of currently held keys. Format: keys_held[key], associated value is world.time where key was pressed.

move_lock

Whether the movement should be locked in place.

\ No newline at end of file diff --git a/datum/instrument.html b/datum/instrument.html new file mode 100644 index 00000000000..b52019491d3 --- /dev/null +++ b/datum/instrument.html @@ -0,0 +1,5 @@ +/datum/instrument - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Instrument Datums

Instrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.

+

The datums themselves are kept in SSinstruments in a list by their unique ID. The reason it uses ID instead of typepath is to support the runtime creation of instruments. +Since songs cache them while playing, there isn't realistic issues regarding performance from accessing.

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)

Procs

InitializeInitializes the instrument, calculating its samples if necessary.
calculate_samplesFor synthesized instruments, this is how the instrument generates the "keys" that a /datum/song uses to play notes. +Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list.
is_readyChecks if this instrument is ready to play.

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)

Proc Details

Initialize

Initializes the instrument, calculating its samples if necessary.

calculate_samples

For synthesized instruments, this is how the instrument generates the "keys" that a /datum/song uses to play notes. +Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list.

is_ready

Checks if this instrument is ready to play.

\ No newline at end of file diff --git a/datum/instrument_key.html b/datum/instrument_key.html new file mode 100644 index 00000000000..ceb8f3a72ee --- /dev/null +++ b/datum/instrument_key.html @@ -0,0 +1,2 @@ +/datum/instrument_key - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

instrument_key

Instrument key datums contain everything needed to know how to play a specific +note of an instrument.*

Vars

deviationDeviation up/down from the pivot point that uses its sample. Used to calculate frequency.
frequencyThe frequency to play the sample to get our desired note.
keyThe numerical key of what this is, from 1 to 127 on a standard piano keyboard.
sampleThe actual sample file that will be loaded when playing.

Procs

calculateCalculates and stores our deviation.

Var Details

deviation

Deviation up/down from the pivot point that uses its sample. Used to calculate frequency.

frequency

The frequency to play the sample to get our desired note.

key

The numerical key of what this is, from 1 to 127 on a standard piano keyboard.

sample

The actual sample file that will be loaded when playing.

Proc Details

calculate

Calculates and stores our deviation.

\ No newline at end of file diff --git a/datum/ipintel.html b/datum/ipintel.html new file mode 100644 index 00000000000..ad238867941 --- /dev/null +++ b/datum/ipintel.html @@ -0,0 +1 @@ +/datum/ipintel - Space Station 13
Space Station 13 - Modules - TypesVar Details

ipintel

Vars

cacheWhether this was loaded from the cache or not
cachedateThe date it was cached
cacheminutesagoHow many minutes ago it was cached
cacherealtimeThe real time it was cached
intelThe current rating, 0-1 float.
ipThe IP being checked

Var Details

cache

Whether this was loaded from the cache or not

cachedate

The date it was cached

cacheminutesago

How many minutes ago it was cached

cacherealtime

The real time it was cached

intel

The current rating, 0-1 float.

ip

The IP being checked

\ No newline at end of file diff --git a/datum/ipintel_manager.html b/datum/ipintel_manager.html new file mode 100644 index 00000000000..1636606d8d9 --- /dev/null +++ b/datum/ipintel_manager.html @@ -0,0 +1,56 @@ +/datum/ipintel_manager - Space Station 13
Space Station 13 - Modules - TypesProc Details

ipintel_manager

Procs

get_ip_intelGet IP intel
ip_intel_queryPerforms the remote IPintel lookup
ipintel_badip_checkIP Rating Checker
ipintel_handle_errorError handler
ipintel_is_bannedIPIntel Ban Checker
log_ipintelLogs an IPintel error
vpn_whitelist_addVPN whitelist adder
vpn_whitelist_checkVPN whitelist checker
vpn_whitelist_panelVPN whitelist panel
vpn_whitelist_removeVPN whitelist remover

Proc Details

get_ip_intel

Get IP intel

+

Performs a lookup of the rating for an IP provided

+

Arguments:

+

ip_intel_query

Performs the remote IPintel lookup

+

Arguments:

+

ipintel_badip_check

IP Rating Checker

+

Checks if a provided IP passes the config threshold for denial

+

Arguments:

+

ipintel_handle_error

Error handler

+

Handles an IP intel error, also throttling the susbystem if required

+

Arguments:

+

ipintel_is_banned

IPIntel Ban Checker

+

Checks if a user is banned due to IPintel. It will check configuration, DB, whitelist checks, and more

+

Arguments:

+

log_ipintel

Logs an IPintel error

+

Pretty self explanatory. Logs errors regarding ipintel.

+

Arguments:

+

vpn_whitelist_add

VPN whitelist adder

+

Adds a ckey to the VPN whitelist. Asks the admin to also provide a link to their request.

+

Arguments:

+

vpn_whitelist_check

VPN whitelist checker

+

Checks if a ckey is whitelisted to be using a VPN against the DB

+

Arguments:

+

vpn_whitelist_panel

VPN whitelist panel

+

Doesnt actually open a panel, this is just a verb to handle the rest of the whitelist operations

+

Arguments:

+

vpn_whitelist_remove

VPN whitelist remover

+

Removes a ckey from the VPN whitelist. Pretty simple.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/job.html b/datum/job.html new file mode 100644 index 00000000000..b8e022fec40 --- /dev/null +++ b/datum/job.html @@ -0,0 +1 @@ +/datum/job - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

job

Vars

accessJob access. A list of constants from access_defines.dm.
blacklisted_disabilitiesCannot pick this job if the character has these disabilities
department_account_accessCan this role access its department money account?
department_flagDepartment(s) Bitflag, used for Databse entries - DO NOT JUST EDIT THESE
department_headlist of the names of departments heads (as strings)
descriptionA description to be shown when set to high priority
difficultyHow mechanically difficult this job is, shown on the job selection screen
flagJob Bitflag, used for Database entries - DO NOT JUST EDIT THESE
has_bank_accountDoes this job get a bank account?
important_informationText which is shown to someone in BIG BOLG RED when they spawn. Use for critically important stuff that could make/break a round
job_banned_gamemodeBoolean detailing if this job has been banned because of a gamemode restriction i.e. The revolution has won, no more command
job_department_flagsFlags for identifying by department, because we need other shit that isnt for the database
job_departmentsList of the department(s) this job is a part of
missing_limbs_allowedIf this job could have any amputated limbs
required_objectivesJob Objectives that crew with this job will have a roundstart
skeleton_accessExtra job access when the number of crew is below the skeleton crew threshold.
standard_paycheckStandard paycheck amount for this job

Procs

barred_by_disabilityReturns true if the character has a disability the selected job doesn't allow
barred_by_missing_limbsReturns true if the character has amputated limbs when their selected job doesn't allow it

Var Details

access

Job access. A list of constants from access_defines.dm.

blacklisted_disabilities

Cannot pick this job if the character has these disabilities

department_account_access

Can this role access its department money account?

department_flag

Department(s) Bitflag, used for Databse entries - DO NOT JUST EDIT THESE

department_head

list of the names of departments heads (as strings)

description

A description to be shown when set to high priority

difficulty

How mechanically difficult this job is, shown on the job selection screen

flag

Job Bitflag, used for Database entries - DO NOT JUST EDIT THESE

has_bank_account

Does this job get a bank account?

important_information

Text which is shown to someone in BIG BOLG RED when they spawn. Use for critically important stuff that could make/break a round

job_banned_gamemode

Boolean detailing if this job has been banned because of a gamemode restriction i.e. The revolution has won, no more command

job_department_flags

Flags for identifying by department, because we need other shit that isnt for the database

job_departments

List of the department(s) this job is a part of

missing_limbs_allowed

If this job could have any amputated limbs

required_objectives

Job Objectives that crew with this job will have a roundstart

skeleton_access

Extra job access when the number of crew is below the skeleton crew threshold.

standard_paycheck

Standard paycheck amount for this job

Proc Details

barred_by_disability

Returns true if the character has a disability the selected job doesn't allow

barred_by_missing_limbs

Returns true if the character has amputated limbs when their selected job doesn't allow it

\ No newline at end of file diff --git a/datum/job_ban.html b/datum/job_ban.html new file mode 100644 index 00000000000..bae5baf2934 --- /dev/null +++ b/datum/job_ban.html @@ -0,0 +1 @@ +/datum/job_ban - Space Station 13
Space Station 13 - Modules - TypesVar Details

job_ban

Vars

a_ckeyAdmin who did it
bantimeTime of ban
bantypeType of ban
durationDuration (if temp)
expiration_timeExpiry time (if temp)
jobJob banned itself
reasonReason for ban

Var Details

a_ckey

Admin who did it

bantime

Time of ban

bantype

Type of ban

duration

Duration (if temp)

expiration_time

Expiry time (if temp)

job

Job banned itself

reason

Reason for ban

\ No newline at end of file diff --git a/datum/job_ban_holder.html b/datum/job_ban_holder.html new file mode 100644 index 00000000000..af3679a6c05 --- /dev/null +++ b/datum/job_ban_holder.html @@ -0,0 +1 @@ +/datum/job_ban_holder - Space Station 13
Space Station 13 - Modules - TypesVar Details

job_ban_holder

Holder for job bans

Vars

job_bansAssoc list of job banned:ban holder

Var Details

job_bans

Assoc list of job banned:ban holder

\ No newline at end of file diff --git a/datum/job_candidate.html b/datum/job_candidate.html new file mode 100644 index 00000000000..6e4a7b47e35 --- /dev/null +++ b/datum/job_candidate.html @@ -0,0 +1,24 @@ +/datum/job_candidate - Space Station 13
Space Station 13 - Modules - TypesVar Details

job_candidate

A datum representing all the information needed to perform roundstart job +selection, without actually needing clients. This allows for the creation +of fake candidates, allowing testing of the role selection system independent +of the number of actual players.

Vars

account_age_in_daysThe account age in days.
active_characterThe character being considered for assignment. Is a default character +save but can have player characters loaded into it via +[/datum/job_candidate/proc/load_from_player].
admin_rightsThe bitfield of admin rights the candidate has. Used to allow bypasses +of playtime requirements for admins if +/datum/configuration_section/job_configuration/var/enable_exp_admin_bypass +is set.
assigned_job_titleThe name of the assigned job, once one has been assigned.
be_specialThe list of special roles the candidate has enabled.
expA query parameterized list of jobs to hours played.
failed_head_antag_roll_Whether this candidate failed a head roll as an antag.
is_adminWhether or not the player represented by the candidate is an admin.
is_guest_keyWhether or not the player represented by the candidate is logged in on a +guest account.
jbhThe jobbans of the current player or simulated candidate.
latejoinWhether or not the candidate is a late join candidate, as opposed to a +roundstart one.
real_ckeyThe player's ckey, if the candidate is representing a real player.
restricted_rolesThe jobs that the candidate cannot play, usually populated as a result +of the candidate being assigned a special/antag role.
return_to_lobbyWhether or not the player is being returned to the lobby due to a failed +job selection.
special_roleWhat, if any, special/antag role has been assigned to the candidate +ahead of job selection.

Var Details

account_age_in_days

The account age in days.

active_character

The character being considered for assignment. Is a default character +save but can have player characters loaded into it via +[/datum/job_candidate/proc/load_from_player].

admin_rights

The bitfield of admin rights the candidate has. Used to allow bypasses +of playtime requirements for admins if +/datum/configuration_section/job_configuration/var/enable_exp_admin_bypass +is set.

assigned_job_title

The name of the assigned job, once one has been assigned.

be_special

The list of special roles the candidate has enabled.

exp

A query parameterized list of jobs to hours played.

failed_head_antag_roll_

Whether this candidate failed a head roll as an antag.

is_admin

Whether or not the player represented by the candidate is an admin.

is_guest_key

Whether or not the player represented by the candidate is logged in on a +guest account.

jbh

The jobbans of the current player or simulated candidate.

latejoin

Whether or not the candidate is a late join candidate, as opposed to a +roundstart one.

real_ckey

The player's ckey, if the candidate is representing a real player.

restricted_roles

The jobs that the candidate cannot play, usually populated as a result +of the candidate being assigned a special/antag role.

return_to_lobby

Whether or not the player is being returned to the lobby due to a failed +job selection.

special_role

What, if any, special/antag role has been assigned to the candidate +ahead of job selection.

\ No newline at end of file diff --git a/datum/job_objective.html b/datum/job_objective.html new file mode 100644 index 00000000000..9ec9d90b958 --- /dev/null +++ b/datum/job_objective.html @@ -0,0 +1 @@ +/datum/job_objective - Space Station 13
Space Station 13 - Modules - TypesVar Details

job_objective

Vars

completedHas this objective been completed?
completion_paymenthow many credits are awarded upon completion of job objective
descriptionshort description of what the objective entails, should include how to complete the objective if not immediately clear
gives_payoutdoes this objective give out monetary rewards upon completion?
objective_nameFluff name of the objective
ownerWho owns the objective
owner_accountWhich money account this objective is tied to, makes life easier during payout (signficantly)
payout_givenHas the owner been rewarded yet?

Var Details

completed

Has this objective been completed?

completion_payment

how many credits are awarded upon completion of job objective

description

short description of what the objective entails, should include how to complete the objective if not immediately clear

gives_payout

does this objective give out monetary rewards upon completion?

objective_name

Fluff name of the objective

owner

Who owns the objective

owner_account

Which money account this objective is tied to, makes life easier during payout (signficantly)

payout_given

Has the owner been rewarded yet?

\ No newline at end of file diff --git a/datum/job_objective/scan_organs.html b/datum/job_objective/scan_organs.html new file mode 100644 index 00000000000..cd7553cc9f9 --- /dev/null +++ b/datum/job_objective/scan_organs.html @@ -0,0 +1 @@ +/datum/job_objective/scan_organs - Space Station 13
Space Station 13 - Modules - TypesVar Details

scan_organs

Vars

amount_to_scanHow many organs should be scanned to complete this goal

Var Details

amount_to_scan

How many organs should be scanned to complete this goal

\ No newline at end of file diff --git a/datum/job_selector.html b/datum/job_selector.html new file mode 100644 index 00000000000..c4b8264223a --- /dev/null +++ b/datum/job_selector.html @@ -0,0 +1,9 @@ +/datum/job_selector - Space Station 13
Space Station 13 - Modules - TypesProc Details

job_selector

Procs

assign_all_rolesFills var "assigned_role" for all ready players.
check_command_positionsThis proc is called at the start of the level loop +of assign_all_roles() and will cause head jobs to be +checked before any other jobs of the same level.
fill_head_positionThis proc is called before the level loop of assign_all_roles() and will try +to select a head, ignoring ALL non-head preferences for every level until it +locates a head or runs out of levels to check
latejoin_assignConvenience proc for handling a single latejoin player

Proc Details

assign_all_roles

Fills var "assigned_role" for all ready players.

check_command_positions

This proc is called at the start of the level loop +of assign_all_roles() and will cause head jobs to be +checked before any other jobs of the same level.

fill_head_position

This proc is called before the level loop of assign_all_roles() and will try +to select a head, ignoring ALL non-head preferences for every level until it +locates a head or runs out of levels to check

latejoin_assign

Convenience proc for handling a single latejoin player

\ No newline at end of file diff --git a/datum/jps_node.html b/datum/jps_node.html new file mode 100644 index 00000000000..b96f883d4c0 --- /dev/null +++ b/datum/jps_node.html @@ -0,0 +1 @@ +/datum/jps_node - Space Station 13
Space Station 13 - Modules - TypesVar 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

\ No newline at end of file diff --git a/datum/keybinding.html b/datum/keybinding.html new file mode 100644 index 00000000000..781c5e834ad --- /dev/null +++ b/datum/keybinding.html @@ -0,0 +1,26 @@ +/datum/keybinding - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

keybinding

Vars

categoryThe UI category to belong to.
keysThe default key(s) assigned to the keybind.
nameThe user-facing name.

Procs

can_useReturns whether the keybinding can be pressed by the client's current mob.
downCalled when the client presses the keybind.
should_start_loopingCalled on keybind press to determine looping behaviour. +If TRUE is returned, the client will be added to SSinput's processing loop. Use VERY sparingly.
should_stop_loopingCalled on keybind release to determine looping behaviour. +If TRUE is returned, the client will be removed from SSinput's processing loop.
upCalled when the client releases the keybind.

Var Details

category

The UI category to belong to.

keys

The default key(s) assigned to the keybind.

name

The user-facing name.

Proc Details

can_use

Returns whether the keybinding can be pressed by the client's current mob.

+

Arguments:

+

down

Called when the client presses the keybind.

+

Arguments:

+

should_start_looping

Called on keybind press to determine looping behaviour. +If TRUE is returned, the client will be added to SSinput's processing loop. Use VERY sparingly.

+

Arguments:

+

should_stop_looping

Called on keybind release to determine looping behaviour. +If TRUE is returned, the client will be removed from SSinput's processing loop.

+

Arguments:

+

up

Called when the client releases the keybind.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/keybinding/admin.html b/datum/keybinding/admin.html new file mode 100644 index 00000000000..f7fa7504e9b --- /dev/null +++ b/datum/keybinding/admin.html @@ -0,0 +1 @@ +/datum/keybinding/admin - Space Station 13
Space Station 13 - Modules - TypesVar Details

admin

Vars

rightsThe rights to use with [/proc/check_rights] if any

Var Details

rights

The rights to use with [/proc/check_rights] if any

\ No newline at end of file diff --git a/datum/keybinding/carbon/intent.html b/datum/keybinding/carbon/intent.html new file mode 100644 index 00000000000..973e9eaf00e --- /dev/null +++ b/datum/keybinding/carbon/intent.html @@ -0,0 +1 @@ +/datum/keybinding/carbon/intent - Space Station 13
Space Station 13 - Modules - TypesVar Details

intent

Vars

intentThe intent to switch to.

Var Details

intent

The intent to switch to.

\ No newline at end of file diff --git a/datum/keybinding/carbon/intent/hold.html b/datum/keybinding/carbon/intent/hold.html new file mode 100644 index 00000000000..edcf5cbc0c4 --- /dev/null +++ b/datum/keybinding/carbon/intent/hold.html @@ -0,0 +1 @@ +/datum/keybinding/carbon/intent/hold - Space Station 13
Space Station 13 - Modules - TypesVar Details

hold

Vars

prev_intentThe previous intent before holding.

Var Details

prev_intent

The previous intent before holding.

\ No newline at end of file diff --git a/datum/keybinding/client/communication.html b/datum/keybinding/client/communication.html new file mode 100644 index 00000000000..2ca6be41512 --- /dev/null +++ b/datum/keybinding/client/communication.html @@ -0,0 +1 @@ +/datum/keybinding/client/communication - Space Station 13
Space Station 13 - Modules - TypesVar Details

communication

Vars

mute_categoryUsed to map muted categories to channels
required_rightsUsed to store special rights if required by a keybind, such as R_ADMIN

Var Details

mute_category

Used to map muted categories to channels

required_rights

Used to store special rights if required by a keybind, such as R_ADMIN

\ No newline at end of file diff --git a/datum/keybinding/mob/face_dir.html b/datum/keybinding/mob/face_dir.html new file mode 100644 index 00000000000..ba8dd738d98 --- /dev/null +++ b/datum/keybinding/mob/face_dir.html @@ -0,0 +1 @@ +/datum/keybinding/mob/face_dir - Space Station 13
Space Station 13 - Modules - TypesVar Details

face_dir

Vars

dirThe direction to face towards.

Var Details

dir

The direction to face towards.

\ No newline at end of file diff --git a/datum/keybinding/movement.html b/datum/keybinding/movement.html new file mode 100644 index 00000000000..ef7f15ccd0b --- /dev/null +++ b/datum/keybinding/movement.html @@ -0,0 +1 @@ +/datum/keybinding/movement - Space Station 13
Space Station 13 - Modules - TypesVar Details

movement

Vars

move_dirThe direction to move to when held.

Var Details

move_dir

The direction to move to when held.

\ No newline at end of file diff --git a/datum/keybinding/robot/module.html b/datum/keybinding/robot/module.html new file mode 100644 index 00000000000..46f3acb8b09 --- /dev/null +++ b/datum/keybinding/robot/module.html @@ -0,0 +1 @@ +/datum/keybinding/robot/module - Space Station 13
Space Station 13 - Modules - TypesVar Details

module

Vars

module_numberThe module number.

Var Details

module_number

The module number.

\ No newline at end of file diff --git a/datum/language.html b/datum/language.html new file mode 100644 index 00000000000..ef800881b87 --- /dev/null +++ b/datum/language.html @@ -0,0 +1 @@ +/datum/language - Space Station 13
Space Station 13 - Modules - TypesVar Details

language

Vars

join_overrideDo we want to override the word-join character for scrambled text? If null, defaults to " " or ". "

Var Details

join_override

Do we want to override the word-join character for scrambled text? If null, defaults to " " or ". "

\ No newline at end of file diff --git a/datum/lavaland_theme.html b/datum/lavaland_theme.html new file mode 100644 index 00000000000..4f456667688 --- /dev/null +++ b/datum/lavaland_theme.html @@ -0,0 +1,3 @@ +/datum/lavaland_theme - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

lavaland_theme

Vars

nameName of lavaland theme
planet_icon_stateIcon state of planet present on background of station Z-level
primary_turf_typeTypepath of turf the /turf/simulated/floor/lava/mapping_lava will be changed to on Late Initialization
primary_turf_type_iconIcon for glass floors

Procs

setupThis proc should do all theme specific thing. +Now it only generates rivers, but it can do all stuff you desire.

Var Details

name

Name of lavaland theme

planet_icon_state

Icon state of planet present on background of station Z-level

primary_turf_type

Typepath of turf the /turf/simulated/floor/lava/mapping_lava will be changed to on Late Initialization

primary_turf_type_icon

Icon for glass floors

Proc Details

setup

This proc should do all theme specific thing. +Now it only generates rivers, but it can do all stuff you desire.

\ No newline at end of file diff --git a/datum/library_catalog.html b/datum/library_catalog.html new file mode 100644 index 00000000000..00f72275657 --- /dev/null +++ b/datum/library_catalog.html @@ -0,0 +1 @@ +/datum/library_catalog - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

library_catalog

Vars

booksList of all programmatic books, automatically generated upon New()
categoriesList of all book categories, automatically generated upon New()
flagged_booksLists of all reported books in the current round
report_typesList of all report categories, automatically generated upon New()

Procs

get_book_category_by_idExternal proc that Returns a book library_category datum that matches the provided cat_id
get_programmatic_book_by_idExternal proc that Returns a report programmaticbook datum that matches the provided bookid
get_report_category_by_idExternal proc that Returns a report library_category datum that matches the provided cat_id

Var Details

books

List of all programmatic books, automatically generated upon New()

categories

List of all book categories, automatically generated upon New()

flagged_books

Lists of all reported books in the current round

report_types

List of all report categories, automatically generated upon New()

Proc Details

get_book_category_by_id

External proc that Returns a book library_category datum that matches the provided cat_id

get_programmatic_book_by_id

External proc that Returns a report programmaticbook datum that matches the provided bookid

get_report_category_by_id

External proc that Returns a report library_category datum that matches the provided cat_id

\ No newline at end of file diff --git a/datum/light_source.html b/datum/light_source.html new file mode 100644 index 00000000000..6991b4537a7 --- /dev/null +++ b/datum/light_source.html @@ -0,0 +1 @@ +/datum/light_source - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

light_source

Vars

appliedWhether we have applied our light yet or not.
effect_strList used to store how much we're affecting corners.
light_colorThe colour of the light, string, decomposed by parse_light_color()
light_powerIntensity of the emitter light.
light_rangeThe range of the emitted light.
needs_updateWhether we are queued for an update.
pixel_turfThe turf the top_atom appears to over.
source_atomThe atom that we belong to.
source_turfThe turf under the above.
top_atomThe atom we're emitting light from (for example a mob if we're from a flashlight that's being held).

Procs

remove_lumThis is the define used to calculate falloff.

Var Details

applied

Whether we have applied our light yet or not.

effect_str

List used to store how much we're affecting corners.

light_color

The colour of the light, string, decomposed by parse_light_color()

light_power

Intensity of the emitter light.

light_range

The range of the emitted light.

needs_update

Whether we are queued for an update.

pixel_turf

The turf the top_atom appears to over.

source_atom

The atom that we belong to.

source_turf

The turf under the above.

top_atom

The atom we're emitting light from (for example a mob if we're from a flashlight that's being held).

Proc Details

remove_lum

This is the define used to calculate falloff.

\ No newline at end of file diff --git a/datum/lighting_corner.html b/datum/lighting_corner.html new file mode 100644 index 00000000000..5b53eee0fe6 --- /dev/null +++ b/datum/lighting_corner.html @@ -0,0 +1 @@ +/datum/lighting_corner - Space Station 13
Space Station 13 - Modules - TypesVar Details

lighting_corner

Vars

affectingLight sources affecting us.
largest_color_luminositythe maximum of lum_r, lum_g, and lum_b. if this is > 1 then the three cached color values are divided by this
needs_updatewhether we are to be added to SSlighting's corners_queue list for an update

Var Details

affecting

Light sources affecting us.

largest_color_luminosity

the maximum of lum_r, lum_g, and lum_b. if this is > 1 then the three cached color values are divided by this

needs_update

whether we are to be added to SSlighting's corners_queue list for an update

\ No newline at end of file diff --git a/datum/lighting_object.html b/datum/lighting_object.html new file mode 100644 index 00000000000..4f4c2fbb452 --- /dev/null +++ b/datum/lighting_object.html @@ -0,0 +1 @@ +/datum/lighting_object - Space Station 13
Space Station 13 - Modules - TypesVar Details

lighting_object

Vars

affected_turfthe turf that our light is applied to
current_underlaythe underlay we are currently applying to our turf to apply light
needs_updatewhether we are already in the SSlighting.objects_queue list

Var Details

affected_turf

the turf that our light is applied to

current_underlay

the underlay we are currently applying to our turf to apply light

needs_update

whether we are already in the SSlighting.objects_queue list

\ No newline at end of file diff --git a/datum/local_powernet.html b/datum/local_powernet.html new file mode 100644 index 00000000000..1959385a825 --- /dev/null +++ b/datum/local_powernet.html @@ -0,0 +1,6 @@ +/datum/local_powernet - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

local_powernet

Manages all power related mechanics for a single /area +Machines in areas will directly register to this datum in order to receive power

+

Machine/Turf/Item -> Local Powernet -> APC -> Terminal -> Wirenet

+

Non-machines cannot register to the local powernet and should instead listen for power change signals

Vars

active_consumptionThe amount of total power consumed consumed in only this cycle
environment_consumptionThe amount of power consumed by environment in this power cycle
environment_poweredIs the environment power channel on?
equipment_consumptionThe amount of power consumed by equipment in this power cycle
equipment_poweredIs the equipment power channel on?
lighting_consumptionThe amount of power consumed by lighting in this power cycle
lighting_poweredIs the lighting power channel on?
passive_environment_consumptionThe amount of power consumed by environment in every power cycle
passive_equipment_consumptionThe amount of power consumed by equipment in every power cycle
passive_lighting_consumptionThe amount of power consumed by lighting in every power cycle
power_flagsBit Flags indicating special behaviour on this powernet, always powered, never powered, etc
powernet_apcThe APC associated with this powernet
powernet_areaThe area this local powernet is attached to
registered_machinesAll machines registered to this local powernet, strictly typed to machines, everything else needs to register power change signals

Procs

adjust_static_powerAdjust static power for a specified channel, does not check to see if channel has power flowing into it
get_channel_usagereturns active + passive power of a channel, if the channel is not powered it returns 0 watts
get_total_usageReturns the local powernets total power usage between all three of its channels, only includes usage on currently powered channels
handle_flickerHandles flicker operations for apc processing, will flicker machines and lights in the powernet's area by random chance
has_powerchecks to see if the given channel in this local powernet has power
power_change
register_machinetethers a machine to this local powernet
set_power_channelsets a power channel on or off and adjusts total power usage accordingly
unregister_machineuntethers a machine to this local powernet
use_active_powerAdd active power usage to the given channel, returns FALSE is channel cannot be found or the channel does not have power to give

Var Details

active_consumption

The amount of total power consumed consumed in only this cycle

environment_consumption

The amount of power consumed by environment in this power cycle

environment_powered

Is the environment power channel on?

equipment_consumption

The amount of power consumed by equipment in this power cycle

equipment_powered

Is the equipment power channel on?

lighting_consumption

The amount of power consumed by lighting in this power cycle

lighting_powered

Is the lighting power channel on?

passive_environment_consumption

The amount of power consumed by environment in every power cycle

passive_equipment_consumption

The amount of power consumed by equipment in every power cycle

passive_lighting_consumption

The amount of power consumed by lighting in every power cycle

power_flags

Bit Flags indicating special behaviour on this powernet, always powered, never powered, etc

powernet_apc

The APC associated with this powernet

powernet_area

The area this local powernet is attached to

registered_machines

All machines registered to this local powernet, strictly typed to machines, everything else needs to register power change signals

Proc Details

adjust_static_power

Adjust static power for a specified channel, does not check to see if channel has power flowing into it

get_channel_usage

returns active + passive power of a channel, if the channel is not powered it returns 0 watts

get_total_usage

Returns the local powernets total power usage between all three of its channels, only includes usage on currently powered channels

handle_flicker

Handles flicker operations for apc processing, will flicker machines and lights in the powernet's area by random chance

has_power

checks to see if the given channel in this local powernet has power

power_change

power_change

+

Called when the area power status changes +calls power change on all machines in the area, and sends the COMSIG_POWERNET_POWER_CHANGE signal.

register_machine

tethers a machine to this local powernet

set_power_channel

sets a power channel on or off and adjusts total power usage accordingly

unregister_machine

untethers a machine to this local powernet

use_active_power

Add active power usage to the given channel, returns FALSE is channel cannot be found or the channel does not have power to give

\ No newline at end of file diff --git a/datum/log_viewer.html b/datum/log_viewer.html new file mode 100644 index 00000000000..e3add49525d --- /dev/null +++ b/datum/log_viewer.html @@ -0,0 +1,9 @@ +/datum/log_viewer - Space Station 13
Space Station 13 - Modules - TypesProc Details

log_viewer

Procs

get_earliest_log_index
get_latest_log_index

Proc Details

get_earliest_log_index

get_latest_log_index

\ No newline at end of file diff --git a/datum/looping_sound.html b/datum/looping_sound.html new file mode 100644 index 00000000000..03bfc3249fe --- /dev/null +++ b/datum/looping_sound.html @@ -0,0 +1 @@ +/datum/looping_sound - Space Station 13
Space Station 13 - Modules - TypesVar Details

looping_sound

Vars

area_soundIf this sound is based off of an area
channelChannel of the audio, random otherwise

Var Details

area_sound

If this sound is based off of an area

channel

Channel of the audio, random otherwise

\ No newline at end of file diff --git a/datum/looping_sound/decreasing.html b/datum/looping_sound/decreasing.html new file mode 100644 index 00000000000..55b2d250417 --- /dev/null +++ b/datum/looping_sound/decreasing.html @@ -0,0 +1 @@ +/datum/looping_sound/decreasing - Space Station 13
Space Station 13 - Modules - TypesVar Details

decreasing

Looping sounds that decrease volume by a specified % each loop until it reaches a specified total % volume.

Vars

decrease_by_amountHow much, as a % of original, to decrease the volume by each loop
decrease_to_amountWhat volume level, as a % of original, to eventually decrease to

Var Details

decrease_by_amount

How much, as a % of original, to decrease the volume by each loop

decrease_to_amount

What volume level, as a % of original, to eventually decrease to

\ No newline at end of file diff --git a/datum/map.html b/datum/map.html new file mode 100644 index 00000000000..2e06ab730ae --- /dev/null +++ b/datum/map.html @@ -0,0 +1,3 @@ +/datum/map - Space Station 13
Space Station 13 - Modules - TypesVar Details

map

Map Datum

+

Datum which holds all of the information for maps ingame +This is used for showing map information, as well as map loading

Vars

fluff_nameName of the map to be shown in the statpanel
map_pathPath to the map file
min_players_randomMinimum amount of players required for this map to be eligible in random map picks.
technical_nameName to be used when using the map from a technical standpoint. Used in TGUI Nanomaps among other things.
voteableIs this map voteable?
webmap_urlURL to the maps webmap
welcome_soundSound to play at the start of the game, aka the welcoming sound

Var Details

fluff_name

Name of the map to be shown in the statpanel

map_path

Path to the map file

min_players_random

Minimum amount of players required for this map to be eligible in random map picks.

technical_name

Name to be used when using the map from a technical standpoint. Used in TGUI Nanomaps among other things.

voteable

Is this map voteable?

webmap_url

URL to the maps webmap

welcome_sound

Sound to play at the start of the game, aka the welcoming sound

\ No newline at end of file diff --git a/datum/map_template.html b/datum/map_template.html new file mode 100644 index 00000000000..037d9507580 --- /dev/null +++ b/datum/map_template.html @@ -0,0 +1 @@ +/datum/map_template - Space Station 13
Space Station 13 - Modules - TypesVar Details

map_template

Vars

ci_excludeDo we exclude this from CI checks? If so, set this to the templates pathtype itself to avoid it getting passed down

Var Details

ci_exclude

Do we exclude this from CI checks? If so, set this to the templates pathtype itself to avoid it getting passed down

\ No newline at end of file diff --git a/datum/map_template/ruin.html b/datum/map_template/ruin.html new file mode 100644 index 00000000000..8fc3c618fd1 --- /dev/null +++ b/datum/map_template/ruin.html @@ -0,0 +1,5 @@ +/datum/map_template/ruin - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ruin

Vars

megafauna_safe_rangePrevents megafauna spawning within a certain range of ruins.
never_spawn_on_the_same_levelIf a ruin ID is in this list, this ruin will not spawn on the same level as that ruin.

Procs

get_costThe cost of a ruin is the square root of the product of its dimensions. +This encodes the size of the ruin relative to each other without the +numbers getting ridiculous.

Var Details

megafauna_safe_range

Prevents megafauna spawning within a certain range of ruins.

never_spawn_on_the_same_level

If a ruin ID is in this list, this ruin will not spawn on the same level as that ruin.

Proc Details

get_cost

The cost of a ruin is the square root of the product of its dimensions. +This encodes the size of the ruin relative to each other without the +numbers getting ridiculous.

\ No newline at end of file diff --git a/datum/martial_art.html b/datum/martial_art.html new file mode 100644 index 00000000000..79dee2f01e3 --- /dev/null +++ b/datum/martial_art.html @@ -0,0 +1 @@ +/datum/martial_art - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

martial_art

Vars

baseThe permanent style.
can_horizontally_grabWhether or not you can grab someone while horizontal with this Martial Art
can_parryIf the martial art allows parrying.
combo_timerStores the timer_id for the combo timeout timer
combosWhat combos can the user do? List of combo types.
current_combosWhat combos are currently (possibly) being performed.
deflection_chanceChance to deflect projectiles while on throw mode.
has_explaination_verbIf the martial art has it's own explaination verb.
in_stanceIf the user is preparing a martial arts stance.
no_batonSet to TRUE to prevent users of this style from using stun batons (and stunprods)
no_baton_reasonMessage displayed when someone uses a baton when its forbidden by a martial art
no_gunsSet to TRUE to prevent users of this style from using guns (sleeping carp, highlander). They can still pick them up, but not fire them.
no_guns_messageMessage to tell the style user if they try and use a gun while no_guns = TRUE (DISHONORABRU!)
reroute_deflectionCan it reflect projectiles in a random direction?
weightThe priority of which martial art is picked from all the ones someone knows, the higher the number, the higher the priority.

Procs

get_highest_weightReturns the martial art with the highest weight from all the ones someone knows.

Var Details

base

The permanent style.

can_horizontally_grab

Whether or not you can grab someone while horizontal with this Martial Art

can_parry

If the martial art allows parrying.

combo_timer

Stores the timer_id for the combo timeout timer

combos

What combos can the user do? List of combo types.

current_combos

What combos are currently (possibly) being performed.

deflection_chance

Chance to deflect projectiles while on throw mode.

has_explaination_verb

If the martial art has it's own explaination verb.

in_stance

If the user is preparing a martial arts stance.

no_baton

Set to TRUE to prevent users of this style from using stun batons (and stunprods)

no_baton_reason

Message displayed when someone uses a baton when its forbidden by a martial art

no_guns

Set to TRUE to prevent users of this style from using guns (sleeping carp, highlander). They can still pick them up, but not fire them.

no_guns_message

Message to tell the style user if they try and use a gun while no_guns = TRUE (DISHONORABRU!)

reroute_deflection

Can it reflect projectiles in a random direction?

weight

The priority of which martial art is picked from all the ones someone knows, the higher the number, the higher the priority.

Proc Details

get_highest_weight

Returns the martial art with the highest weight from all the ones someone knows.

\ No newline at end of file diff --git a/datum/martial_art/muscle_implant.html b/datum/martial_art/muscle_implant.html new file mode 100644 index 00000000000..6ec3d90610d --- /dev/null +++ b/datum/martial_art/muscle_implant.html @@ -0,0 +1 @@ +/datum/martial_art/muscle_implant - Space Station 13
Space Station 13 - Modules - TypesVar Details

muscle_implant

Vars

is_empedAre we EMP'ed?
punch_damageHow much damage should our punches deal

Var Details

is_emped

Are we EMP'ed?

punch_damage

How much damage should our punches deal

\ No newline at end of file diff --git a/datum/martial_art/torque.html b/datum/martial_art/torque.html new file mode 100644 index 00000000000..8f72f959609 --- /dev/null +++ b/datum/martial_art/torque.html @@ -0,0 +1 @@ +/datum/martial_art/torque - Space Station 13
Space Station 13 - Modules - TypesVar Details

torque

Vars

levelWhat level is the passive at

Var Details

level

What level is the passive at

\ No newline at end of file diff --git a/datum/martial_combo.html b/datum/martial_combo.html new file mode 100644 index 00000000000..a91403410ca --- /dev/null +++ b/datum/martial_combo.html @@ -0,0 +1 @@ +/datum/martial_combo - Space Station 13
Space Station 13 - Modules - TypesVar Details

martial_combo

Vars

combo_text_overrideHow to do the combo. If null it'll auto generate it from the steps
combos_require_same_targetIf you require to do the combo's on the same target
current_combo_targetWho is the target the combo is being executed on
current_step_indexWhat index to check
explaination_textWhat does it do
nameName used to explain the combo
stepsWhich steps need to be performed

Var Details

combo_text_override

How to do the combo. If null it'll auto generate it from the steps

combos_require_same_target

If you require to do the combo's on the same target

current_combo_target

Who is the target the combo is being executed on

current_step_index

What index to check

explaination_text

What does it do

name

Name used to explain the combo

steps

Which steps need to be performed

\ No newline at end of file diff --git a/datum/milla_safe.html b/datum/milla_safe.html new file mode 100644 index 00000000000..2ac4f520162 --- /dev/null +++ b/datum/milla_safe.html @@ -0,0 +1 @@ +/datum/milla_safe - Space Station 13
Space Station 13 - Modules - TypesProc Details

milla_safe

Create a subclass of this and implement on_run to manipulate tile air safely.

Procs

add_turf_airAdd air to a turf. Only use from on_run.
get_turf_airFetch the air for a turf. Only use from on_run.
invoke_asyncCall this to make the subclass run when it's safe to do so. Args will be passed to on_run.
on_runAll subclasses should implement this.
private_unsafe_invokeDo not call this yourself. This is what is called to run your code from a safe context.
set_turf_airCompletely replace the air for a turf. Only use from on_run.
soft_assert_safeUsed internally to check that we're running safely, but without breaking things worse if we aren't.

Proc Details

add_turf_air

Add air to a turf. Only use from on_run.

get_turf_air

Fetch the air for a turf. Only use from on_run.

invoke_async

Call this to make the subclass run when it's safe to do so. Args will be passed to on_run.

on_run

All subclasses should implement this.

private_unsafe_invoke

Do not call this yourself. This is what is called to run your code from a safe context.

set_turf_air

Completely replace the air for a turf. Only use from on_run.

soft_assert_safe

Used internally to check that we're running safely, but without breaking things worse if we aren't.

\ No newline at end of file diff --git a/datum/milla_safe_must_sleep.html b/datum/milla_safe_must_sleep.html new file mode 100644 index 00000000000..8d2d48c5d8e --- /dev/null +++ b/datum/milla_safe_must_sleep.html @@ -0,0 +1 @@ +/datum/milla_safe_must_sleep - Space Station 13
Space Station 13 - Modules - TypesProc Details

milla_safe_must_sleep

Create a subclass of this and implement on_run to manipulate tile air safely. ONLY USE THIS VERSION IF YOU CAN'T AVOID SLEEPING; it will delay atmos ticks!

Procs

add_turf_airAdd air to a turf. Only use from on_run.
get_turf_airFetch the air for a turf. Only use from on_run.
invoke_asyncCall this to make the subclass run when it's safe to do so. Args will be passed to on_run.
on_runAll subclasses should implement this.
private_unsafe_invokeDo not call this yourself. This is what is called to run your code from a safe context.
set_turf_airCompletely replace the air for a turf. Only use from on_run.
soft_assert_safeUsed internally to check that we're running safely, but without breaking things worse if we aren't.

Proc Details

add_turf_air

Add air to a turf. Only use from on_run.

get_turf_air

Fetch the air for a turf. Only use from on_run.

invoke_async

Call this to make the subclass run when it's safe to do so. Args will be passed to on_run.

on_run

All subclasses should implement this.

private_unsafe_invoke

Do not call this yourself. This is what is called to run your code from a safe context.

set_turf_air

Completely replace the air for a turf. Only use from on_run.

soft_assert_safe

Used internally to check that we're running safely, but without breaking things worse if we aren't.

\ No newline at end of file diff --git a/datum/mimic_form.html b/datum/mimic_form.html new file mode 100644 index 00000000000..08fb4b4f8ab --- /dev/null +++ b/datum/mimic_form.html @@ -0,0 +1 @@ +/datum/mimic_form - Space Station 13
Space Station 13 - Modules - TypesVar Details

mimic_form

Vars

appearanceHow does the form look like?
densityIf the form has density
examine_textWhat is the examine text paired with this form
nameWhat the name of the form is

Var Details

appearance

How does the form look like?

density

If the form has density

examine_text

What is the examine text paired with this form

name

What the name of the form is

\ No newline at end of file diff --git a/datum/mind.html b/datum/mind.html new file mode 100644 index 00000000000..d3f562e5ffb --- /dev/null +++ b/datum/mind.html @@ -0,0 +1,16 @@ +/datum/mind - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mind

Vars

antag_datumsA list of all the antagonist datums that the player is (does not include undatumized antags)
assigned_roleAssigned role is what job you're assigned to when you join the station.
destroyed_body_jsonA serialized copy of this mind's body when it was destroyed, for admin respawn usage.
has_been_revTracks if this mind has been a rev or not
job_datumThis is the the job datum you have
job_objectivesa list of objectives that a player with this job could complete for space credit rewards
original_mob_UIDThe original mob's UID. Used for example to see if a silicon with antag status is actually malf. Or just an antag put in a borg
original_mob_nameThe original mob's name. Used in Dchat messages
teamsA lazy list of all teams the player is part of but doesnt have an antag role for, (i.e. a custom admin team)

Procs

add_antag_datumCreate and/or add the datum_type_or_instance antag datum to the src mind.
add_mind_objectiveAdd an objective to the mind
get_all_objectivesGets every objective this mind owns, including all of those from any antag datums and teams they have, and returns them as a list.
get_hijack_speedThis proc sets the hijack speed for a mob. If greater than zero, they can hijack. Outputs in seconds.
has_antag_datumReturns an antag datum instance if the src mind has the specified datum_type. Returns null otherwise.
has_objectivesA quicker version of get_all_objectives() but only for seeing if they have any objectives at all
remove_all_antag_datumsRemoves all antag datums from the src mind.
remove_antag_datumRemove the specified datum_type antag datum from the src mind.
remove_mind_objectiveCompletely remove the given objective from the mind, and include antagdatums/teams if remove_from_everything is true

Var Details

antag_datums

A list of all the antagonist datums that the player is (does not include undatumized antags)

assigned_role

Assigned role is what job you're assigned to when you join the station.

destroyed_body_json

A serialized copy of this mind's body when it was destroyed, for admin respawn usage.

has_been_rev

Tracks if this mind has been a rev or not

job_datum

This is the the job datum you have

job_objectives

a list of objectives that a player with this job could complete for space credit rewards

original_mob_UID

The original mob's UID. Used for example to see if a silicon with antag status is actually malf. Or just an antag put in a borg

original_mob_name

The original mob's name. Used in Dchat messages

teams

A lazy list of all teams the player is part of but doesnt have an antag role for, (i.e. a custom admin team)

Proc Details

add_antag_datum

Create and/or add the datum_type_or_instance antag datum to the src mind.

+

Arguments:

+

add_mind_objective

Add an objective to the mind

get_all_objectives

Gets every objective this mind owns, including all of those from any antag datums and teams they have, and returns them as a list.

get_hijack_speed

This proc sets the hijack speed for a mob. If greater than zero, they can hijack. Outputs in seconds.

has_antag_datum

Returns an antag datum instance if the src mind has the specified datum_type. Returns null otherwise.

+

Arguments:

+

has_objectives

A quicker version of get_all_objectives() but only for seeing if they have any objectives at all

remove_all_antag_datums

Removes all antag datums from the src mind.

+

Use this over doing QDEL_LIST_CONTENTS(antag_datums).

remove_antag_datum

Remove the specified datum_type antag datum from the src mind.

+

Arguments:

+

remove_mind_objective

Completely remove the given objective from the mind, and include antagdatums/teams if remove_from_everything is true

\ No newline at end of file diff --git a/datum/mindflayer_passive.html b/datum/mindflayer_passive.html new file mode 100644 index 00000000000..d52a7ec1248 --- /dev/null +++ b/datum/mindflayer_passive.html @@ -0,0 +1 @@ +/datum/mindflayer_passive - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mindflayer_passive

Vars

base_costThe base cost of an ability, used to calculate how much upgrades should cost.
categoryIf the passive is for a specific class, or FLAYER_CATEGORY_GENERAL if not
current_costHow much it will cost to upgrade this passive.
flayerThe mindflayer datum we'll reference back to. Set in force_add_abillity
gain_textThe text shown to the player character when bought
levelThe level of the passive, used for upgrading passives. Basic level is 1
ownerThe mob who the passive affects, usually an IPC. Set in force_add_abillity
power_typeUses a power type define, should be FLAYER_UNOBTAINABLE_POWER, FLAYER_PURCHASABLE_POWER, or FLAYER_INNATE_POWER
purchase_textThe text we want to show the player in the shop
should_processDoes this passive need to process
stageIf the passive only unlocks after the stages below it have been bought, for subclass passives
static_upgrade_increaseDo we increase the cost by a static amount? And by how much?
upgrade_infoA brief description of what the ability's upgrades do
upgrade_textThe text shown to the player character on upgrade

Procs

on_applyThis is where most passive's effects get applied

Var Details

base_cost

The base cost of an ability, used to calculate how much upgrades should cost.

category

If the passive is for a specific class, or FLAYER_CATEGORY_GENERAL if not

current_cost

How much it will cost to upgrade this passive.

flayer

The mindflayer datum we'll reference back to. Set in force_add_abillity

gain_text

The text shown to the player character when bought

level

The level of the passive, used for upgrading passives. Basic level is 1

owner

The mob who the passive affects, usually an IPC. Set in force_add_abillity

power_type

Uses a power type define, should be FLAYER_UNOBTAINABLE_POWER, FLAYER_PURCHASABLE_POWER, or FLAYER_INNATE_POWER

purchase_text

The text we want to show the player in the shop

should_process

Does this passive need to process

stage

If the passive only unlocks after the stages below it have been bought, for subclass passives

static_upgrade_increase

Do we increase the cost by a static amount? And by how much?

upgrade_info

A brief description of what the ability's upgrades do

upgrade_text

The text shown to the player character on upgrade

Proc Details

on_apply

This is where most passive's effects get applied

\ No newline at end of file diff --git a/datum/mindflayer_passive/radio_jammer.html b/datum/mindflayer_passive/radio_jammer.html new file mode 100644 index 00000000000..c56daeac7c4 --- /dev/null +++ b/datum/mindflayer_passive/radio_jammer.html @@ -0,0 +1 @@ +/datum/mindflayer_passive/radio_jammer - Space Station 13
Space Station 13 - Modules - TypesVar Details

radio_jammer

Vars

internal_jammerThe internal jammer of the ability
stored_invisThe owner's invisibility before this ability

Var Details

internal_jammer

The internal jammer of the ability

stored_invis

The owner's invisibility before this ability

\ No newline at end of file diff --git a/datum/mindflayer_passive/torque_enhancer.html b/datum/mindflayer_passive/torque_enhancer.html new file mode 100644 index 00000000000..3d38699fd47 --- /dev/null +++ b/datum/mindflayer_passive/torque_enhancer.html @@ -0,0 +1 @@ +/datum/mindflayer_passive/torque_enhancer - Space Station 13
Space Station 13 - Modules - TypesVar Details

torque_enhancer

Vars

styleA reference to our martial art

Var Details

style

A reference to our martial art

\ No newline at end of file diff --git a/datum/mindflayer_passive/ultimate_drain.html b/datum/mindflayer_passive/ultimate_drain.html new file mode 100644 index 00000000000..fd33d46645e --- /dev/null +++ b/datum/mindflayer_passive/ultimate_drain.html @@ -0,0 +1 @@ +/datum/mindflayer_passive/ultimate_drain - Space Station 13
Space Station 13 - Modules - TypesVar Details

ultimate_drain

Vars

drain_multiplier_amountHow much do we multiply the drain amount?

Var Details

drain_multiplier_amount

How much do we multiply the drain amount?

\ No newline at end of file diff --git a/datum/mod_link.html b/datum/mod_link.html new file mode 100644 index 00000000000..91a15e36ff0 --- /dev/null +++ b/datum/mod_link.html @@ -0,0 +1 @@ +/datum/mod_link - Space Station 13
Space Station 13 - Modules - TypesVar Details

mod_link

A MODlink datum, used to handle unique functions that will be used in the MODlink call.

Vars

can_call_callbackA callback that returns whether the MODlink can currently call.
delete_visual_callbackA callback that deletes the visuals of the MODlink.
frequencyThe frequency of the MODlink. You can only call other MODlinks on the same frequency.
get_user_callbackA callback that returns the user of the MODlink.
get_visual_callbackA callback that receives the visuals of the other MODlink.
holderThe atom that holds the MODlink.
idThe unique ID of the MODlink.
link_callA reference to the call between two MODlinks.
make_visual_callbackA callback that returns the visuals of the MODlink.
nameGeneric name for multitool buffers.
visualA reference to the visuals generated by the MODlink.
visual_overlaysA list of all overlays of the user, copied everytime they have an overlay change.

Var Details

can_call_callback

A callback that returns whether the MODlink can currently call.

delete_visual_callback

A callback that deletes the visuals of the MODlink.

frequency

The frequency of the MODlink. You can only call other MODlinks on the same frequency.

get_user_callback

A callback that returns the user of the MODlink.

get_visual_callback

A callback that receives the visuals of the other MODlink.

holder

The atom that holds the MODlink.

id

The unique ID of the MODlink.

A reference to the call between two MODlinks.

make_visual_callback

A callback that returns the visuals of the MODlink.

name

Generic name for multitool buffers.

visual

A reference to the visuals generated by the MODlink.

visual_overlays

A list of all overlays of the user, copied everytime they have an overlay change.

\ No newline at end of file diff --git a/datum/mod_link_call.html b/datum/mod_link_call.html new file mode 100644 index 00000000000..dde6341b176 --- /dev/null +++ b/datum/mod_link_call.html @@ -0,0 +1 @@ +/datum/mod_link_call - Space Station 13
Space Station 13 - Modules - TypesVar Details

mod_link_call

A MODlink call datum, used to handle the call between two MODlinks.

Vars

link_callerThe MODlink that is calling.
link_receiverThe MODlink that is being called.

Var Details

The MODlink that is calling.

The MODlink that is being called.

\ No newline at end of file diff --git a/datum/mod_theme.html b/datum/mod_theme.html new file mode 100644 index 00000000000..9ac7ba8a509 --- /dev/null +++ b/datum/mod_theme.html @@ -0,0 +1 @@ +/datum/mod_theme - Space Station 13
Space Station 13 - Modules - TypesVar Details

mod_theme

MODsuit theme, instanced once and then used by MODsuits to grab various statistics.

Vars

allowed_suit_storageAllowed items in the chestplate's suit storage.
armor_type_1Armor shared across the MOD parts.
armor_type_2the actual armor object placed in a datum as I am tired and I just want this to work
atom_flagsAtom flags shared across the MOD parts.
charge_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.
extended_descExtended description on examine_more
flag_2_flagsFlag_2 flags to apply to the modsuit parts.
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 parts.
min_cold_protection_temperatureMax cold protection shared across the MOD parts.
nameTheme name for the MOD.
resistance_flagsResistance flags shared across the MOD parts.
siemens_coefficientSiemens shared across the MOD parts.
skin_modifiersList of modifiers that we apply after applying new skin
skinsList of skins with their appropriate clothing flags.
slot_flagsThe slot this mod theme fits on
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
ui_themeTheme used by the MOD TGUI.

Var Details

allowed_suit_storage

Allowed items in the chestplate's suit storage.

armor_type_1

Armor shared across the MOD parts.

armor_type_2

the actual armor object placed in a datum as I am tired and I just want this to work

atom_flags

Atom flags shared across the MOD parts.

charge_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.

extended_desc

Extended description on examine_more

flag_2_flags

Flag_2 flags to apply to the modsuit parts.

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 parts.

min_cold_protection_temperature

Max cold protection shared across the MOD parts.

name

Theme name for the MOD.

resistance_flags

Resistance flags shared across the MOD parts.

siemens_coefficient

Siemens shared across the MOD parts.

skin_modifiers

List of modifiers that we apply after applying new skin

skins

List of skins with their appropriate clothing flags.

slot_flags

The slot this mod theme fits on

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.

\ No newline at end of file diff --git a/datum/money_account.html b/datum/money_account.html new file mode 100644 index 00000000000..8d5754e9026 --- /dev/null +++ b/datum/money_account.html @@ -0,0 +1 @@ +/datum/money_account - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

money_account

Vars

account_logTracking log of all actions on the account, for IC usage & can have entries deleted
account_nameFull name of the account, set at creation of the account
account_numberUnique Account Number Identifier for the account -Username
account_pin4 digit pin password for accessing the money account -Password
account_typeType of account this is
associated_nanobank_programsThe nanobank programs associated with this account, used for notifying crew members through PDA, this is a lazy list
credit_balanceHow many space credits are in the account
database_holderreference to parent account database, only used for GC
hidden_account_logTracking log of all actions on the account, used for admin logging and debugging
pay_check_bonusespay bonuses for the next pay period for this account, this is a lazy list
pay_check_deductionspay deductions for the next pay period for this account, this is a lazy list
payday_amountthe amount this account receives every payday
security_levelLevel of security on the money account
suspendedBool - Is this account locked out from being used completely?
transfer_requestsThe requests made to this money_account used for ATM and NanoBank credit transfers, this is a lazy list

Procs

deposit_creditsset proc for depositing money, changing credit_balance should always be done through procs
set_creditssets the credit balance to specified value, changing credit_balance should always be done through procs

Var Details

account_log

Tracking log of all actions on the account, for IC usage & can have entries deleted

account_name

Full name of the account, set at creation of the account

account_number

Unique Account Number Identifier for the account -Username

account_pin

4 digit pin password for accessing the money account -Password

account_type

Type of account this is

associated_nanobank_programs

The nanobank programs associated with this account, used for notifying crew members through PDA, this is a lazy list

credit_balance

How many space credits are in the account

database_holder

reference to parent account database, only used for GC

hidden_account_log

Tracking log of all actions on the account, used for admin logging and debugging

pay_check_bonuses

pay bonuses for the next pay period for this account, this is a lazy list

pay_check_deductions

pay deductions for the next pay period for this account, this is a lazy list

payday_amount

the amount this account receives every payday

security_level

Level of security on the money account

suspended

Bool - Is this account locked out from being used completely?

transfer_requests

The requests made to this money_account used for ATM and NanoBank credit transfers, this is a lazy list

Proc Details

deposit_credits

set proc for depositing money, changing credit_balance should always be done through procs

set_credits

sets the credit balance to specified value, changing credit_balance should always be done through procs

\ No newline at end of file diff --git a/datum/money_account_database.html b/datum/money_account_database.html new file mode 100644 index 00000000000..add198cd994 --- /dev/null +++ b/datum/money_account_database.html @@ -0,0 +1 @@ +/datum/money_account_database - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

money_account_database

Vars

database_logslist of actions taken on the money account database, such as creating/deleting accounts
hidden_database_logsTracking log of all actions on the account databse, used for admin logging and debugging
onlineWill the database permit actions on it? Useful for random events
user_accountslist of money account datums for individual users

Procs

find_user_accounttakes in an account_numb and returns either an account if it locates one or null if it finds none

Var Details

database_logs

list of actions taken on the money account database, such as creating/deleting accounts

hidden_database_logs

Tracking log of all actions on the account databse, used for admin logging and debugging

online

Will the database permit actions on it? Useful for random events

user_accounts

list of money account datums for individual users

Proc Details

find_user_account

takes in an account_numb and returns either an account if it locates one or null if it finds none

\ No newline at end of file diff --git a/datum/money_account_database/main_station.html b/datum/money_account_database/main_station.html new file mode 100644 index 00000000000..173fe014f42 --- /dev/null +++ b/datum/money_account_database/main_station.html @@ -0,0 +1 @@ +/datum/money_account_database/main_station - Space Station 13
Space Station 13 - Modules - TypesVar Details

main_station

Vars

department_accountslist of money accounts for each department on station

Var Details

department_accounts

list of money accounts for each department on station

\ No newline at end of file diff --git a/datum/move_loop.html b/datum/move_loop.html new file mode 100644 index 00000000000..068668a2aa7 --- /dev/null +++ b/datum/move_loop.html @@ -0,0 +1,15 @@ +/datum/move_loop - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

move_loop

Template class of the movement datums, handles the timing portion of the loops

Vars

controllerThe subsystem we're processing on
delayDelay between each move in deci-seconds
extra_infoAn extra reference we pass around +It is on occasion useful to have a reference to some datum without storing it on the moving object +Mostly comes up in high performance senarios where we care about things being singletons +This feels horrible, but constantly making components seems worse
flagsBitfield of different things that affect how a loop operates, and other mechanics around it as well.
lifetimeTime till we stop processing in deci-seconds, defaults to forever
movingThe thing we're moving about
ownerThe movement packet that owns us
priorityDefines how different move loops override each other. Higher numbers beat lower numbers
queued_timeThe time we are CURRENTLY queued for processing +Do not modify this directly
statusStatus bitfield for what state the move loop is currently in
timerThe next time we should process +Used primarially as a hint to be reasoned about by our [controller], and as the id of our bucket

Procs

compare_loopscheck if this exact moveloop datum already exists (in terms of vars) so we can avoid creating a new one to overwrite the old duplicate
loop_startedCalled when a loop is starting by a movement subsystem
loop_stoppedCalled when a loop is stopped, doesn't stop the loop itself
moveHandles the actual move, overriden by children +Returns FALSE if nothing happen, TRUE otherwise
pause_forPauses the move loop for some passed in period +This functionally means shifting its timer up, and clearing it from its current bucket
pause_loopPause our loop untill restarted with resume_loop()
resume_loopResume our loop after being paused by pause_loop()
set_delayExists as a helper so outside code can modify delay in a sane way

Var Details

controller

The subsystem we're processing on

delay

Delay between each move in deci-seconds

extra_info

An extra reference we pass around +It is on occasion useful to have a reference to some datum without storing it on the moving object +Mostly comes up in high performance senarios where we care about things being singletons +This feels horrible, but constantly making components seems worse

flags

Bitfield of different things that affect how a loop operates, and other mechanics around it as well.

lifetime

Time till we stop processing in deci-seconds, defaults to forever

moving

The thing we're moving about

owner

The movement packet that owns us

priority

Defines how different move loops override each other. Higher numbers beat lower numbers

queued_time

The time we are CURRENTLY queued for processing +Do not modify this directly

status

Status bitfield for what state the move loop is currently in

timer

The next time we should process +Used primarially as a hint to be reasoned about by our [controller], and as the id of our bucket

Proc Details

compare_loops

check if this exact moveloop datum already exists (in terms of vars) so we can avoid creating a new one to overwrite the old duplicate

loop_started

Called when a loop is starting by a movement subsystem

loop_stopped

Called when a loop is stopped, doesn't stop the loop itself

move

Handles the actual move, overriden by children +Returns FALSE if nothing happen, TRUE otherwise

pause_for

Pauses the move loop for some passed in period +This functionally means shifting its timer up, and clearing it from its current bucket

pause_loop

Pause our loop untill restarted with resume_loop()

resume_loop

Resume our loop after being paused by pause_loop()

set_delay

Exists as a helper so outside code can modify delay in a sane way

\ No newline at end of file diff --git a/datum/move_loop/has_target.html b/datum/move_loop/has_target.html new file mode 100644 index 00000000000..5c621b94ddb --- /dev/null +++ b/datum/move_loop/has_target.html @@ -0,0 +1 @@ +/datum/move_loop/has_target - Space Station 13
Space Station 13 - Modules - TypesVar Details

has_target

Vars

targetThe thing we're moving in relation to, either at or away from

Var Details

target

The thing we're moving in relation to, either at or away from

\ No newline at end of file diff --git a/datum/move_loop/has_target/dist_bound.html b/datum/move_loop/has_target/dist_bound.html new file mode 100644 index 00000000000..9f42187ac46 --- /dev/null +++ b/datum/move_loop/has_target/dist_bound.html @@ -0,0 +1 @@ +/datum/move_loop/has_target/dist_bound - Space Station 13
Space Station 13 - Modules - TypesProc Details

dist_bound

Base class of move_to and move_away, deals with the distance and target aspect of things

Procs

check_distReturns FALSE if the movement should pause, TRUE otherwise

Proc Details

check_dist

Returns FALSE if the movement should pause, TRUE otherwise

\ No newline at end of file diff --git a/datum/move_loop/has_target/jps.html b/datum/move_loop/has_target/jps.html new file mode 100644 index 00000000000..6008d406038 --- /dev/null +++ b/datum/move_loop/has_target/jps.html @@ -0,0 +1 @@ +/datum/move_loop/has_target/jps - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

jps

Vars

accessA list representing what access we have and what doors we can open.
avoidA perticular turf to avoid
diagonal_handlingWhether we replace diagonal movements with cardinal movements or follow through with them
is_pathingBool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.
max_path_lengthMax amount of steps to search
minimum_distanceMinimum distance to the target before path returns
movement_pathA list for the path we're currently following
on_finish_callbacksCallbacks to invoke once we make a path
repath_cooldownCooldown for repathing, prevents spam
repath_delayHow often we're allowed to recalculate our path
simulated_onlyWhether we consider turfs without atmos simulation (AKA do we want to ignore space)
skip_firstShould we skip the first step? This is the tile we're currently on, which breaks some things

Procs

on_finish_pathingCalled when a path has finished being created
recalculate_pathTries to calculate a new path for this moveloop.

Var Details

access

A list representing what access we have and what doors we can open.

avoid

A perticular turf to avoid

diagonal_handling

Whether we replace diagonal movements with cardinal movements or follow through with them

is_pathing

Bool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.

max_path_length

Max amount of steps to search

minimum_distance

Minimum distance to the target before path returns

movement_path

A list for the path we're currently following

on_finish_callbacks

Callbacks to invoke once we make a path

repath_cooldown

Cooldown for repathing, prevents spam

repath_delay

How often we're allowed to recalculate our path

simulated_only

Whether we consider turfs without atmos simulation (AKA do we want to ignore space)

skip_first

Should we skip the first step? This is the tile we're currently on, which breaks some things

Proc Details

on_finish_pathing

Called when a path has finished being created

recalculate_path

Tries to calculate a new path for this moveloop.

\ No newline at end of file diff --git a/datum/move_loop/has_target/move_towards.html b/datum/move_loop/has_target/move_towards.html new file mode 100644 index 00000000000..ce11bd8efe0 --- /dev/null +++ b/datum/move_loop/has_target/move_towards.html @@ -0,0 +1,5 @@ +/datum/move_loop/has_target/move_towards - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

move_towards

Used as a alternative to GLOB.move_manager.home_onto

Vars

homeShould we track our target, so we won't end up in the wrong place if it moves or if something knocks us off course?
x_speedThe speed at which we move along each axis, between -1 and 1

Procs

update_angleRecalculates the angle we're moving at, so that we get a smooth movement line, rather than awkwardly bending from orthogonal to diagonal (or vice versa) at some point.

Var Details

home

Should we track our target, so we won't end up in the wrong place if it moves or if something knocks us off course?

x_speed

The speed at which we move along each axis, between -1 and 1

Proc Details

update_angle

Recalculates the angle we're moving at, so that we get a smooth movement line, rather than awkwardly bending from orthogonal to diagonal (or vice versa) at some point.

+

The way we set the angle is by adjusting the speed we move in each direction. +We always move at full speed along the longer axis towards our target. +For the other axis, we calculate the right speed to reach our target at the same time we did on the longer axis. +The net result is that every time we move, we approach the target along the longer axis, but we only move along the shorter axis at regular intervals, creating as smooth a line as possible.

\ No newline at end of file diff --git a/datum/move_loop/has_target/ventcrawl.html b/datum/move_loop/has_target/ventcrawl.html new file mode 100644 index 00000000000..e41be7808f7 --- /dev/null +++ b/datum/move_loop/has_target/ventcrawl.html @@ -0,0 +1 @@ +/datum/move_loop/has_target/ventcrawl - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ventcrawl

Vars

is_pathingBool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.
movement_pathA list for the path we're currently following
repath_cooldownCooldown for repathing, prevents spam
skip_firstShould we skip the first step? This is the tile we're currently on, which breaks some things

Procs

on_finish_pathingCalled when a path has finished being created
recalculate_pathTries to calculate a new path for this moveloop.

Var Details

is_pathing

Bool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.

movement_path

A list for the path we're currently following

repath_cooldown

Cooldown for repathing, prevents spam

skip_first

Should we skip the first step? This is the tile we're currently on, which breaks some things

Proc Details

on_finish_pathing

Called when a path has finished being created

recalculate_path

Tries to calculate a new path for this moveloop.

\ No newline at end of file diff --git a/datum/move_manager.html b/datum/move_manager.html new file mode 100644 index 00000000000..93dafaf1b42 --- /dev/null +++ b/datum/move_manager.html @@ -0,0 +1,122 @@ +/datum/move_manager - Space Station 13
Space Station 13 - Modules - TypesProc Details

move_manager

Acts as a namespace for movement packet/type related procs

+

Exists to provide an in code implementation of movement looping +Replaces things like walk() or walk_to(), among others

+

Because we're doing things in engine, we have a lot more control over how different operations are performed +We also get more say in when things happen, so we can subject movements to the whims of the master controller +Rather then using a fuck ton of cpu just moving mobs or meteors

+

The goal is to keep the loops themselves reasonably barebone, and implement more advanced behavior and control via the signals

+

This may be bypassed in cases where snowflakes are nessesary, or where performance is important. S not a hard and fast thing

+

Every atom can have a movement packet, which contains information and behavior about currently active loops, and queuing info +Loops control how movement actually happens. So there's a "move in this direction" loop, a "move randomly" loop

+

You can find the logic for this control in this file

+

Specifics of how different loops operate can be found in the movement_types.dm file, alongside the add to loop helper procs that use them

Procs

add_to_loopAdds a movable thing to a movement subsystem. Returns TRUE if it all worked, FALSE if it failed somehow
freezeAssigns a target to a move loop that immediately freezes for a set duration of time.
home_ontoHelper proc for homing onto something with move_towards
jps_moveUsed for following jps defined paths. The proc signature here's a bit long, I'm sorry
moveReplacement for walk()
move_awayWrapper around GLOB.move_manager.move_away()
move_randHelper proc for the move_rand datum
move_toWrapper around walk_to()
move_to_randWrapper around walk_rand(), doesn't actually result in a random walk, it's more like moving to random places in viewish
move_towardsHelper proc for the move_towards datum
move_towards_legacyAlternative to GLOB.move_manager.home_onto. Not reccomended, as it ends up putting a kink in the movement path if it's not directly along one of the 8 directions.
processing_onReturns the subsystem's loop if we're processing on it, null otherwise
stop_loopingRemoves the atom from some movement subsystem. Defaults to SSmovement
ventcrawlUsed for getting to a vent in a connected pipeline when ventcrawling.

Proc Details

add_to_loop

Adds a movable thing to a movement subsystem. Returns TRUE if it all worked, FALSE if it failed somehow

freeze

Assigns a target to a move loop that immediately freezes for a set duration of time.

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +halted_turf - The turf we want to freeze on. This should typically be the loc of moving. +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. This should be considered extremely non-optional as it will completely stun out the movement loop forever if unset. +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

home_onto

Helper proc for homing onto something with move_towards

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +home - Should we move towards the object at all times? Or launch towards them, but allow walls and such to take us off track. Defaults to FALSE +timeout - Time in deci-seconds until the moveloop self expires. Defaults to INFINITY +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

jps_move

Used for following jps defined paths. The proc signature here's a bit long, I'm sorry

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +repath_delay - How often we're allowed to recalculate our path +max_path_length - The maximum number of steps we can take in a given path to search (default: 30, 0 = infinite) +miminum_distance - Minimum distance to the target before path returns, could be used to get near a target, but not right to it - for an AI mob with a gun, for example +access - A list representing what access we have and what doors we can open +simulated_only - Whether we consider turfs without atmos simulation (AKA do we want to ignore space) +avoid - If we want to avoid a specific turf, like if we're a mulebot who already got blocked by some turf +skip_first - Whether or not to delete the first item in the path. This would be done because the first item is the starting tile, which can break things +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

move

Replacement for walk()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +direction - The direction we want to move in +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

move_away

Wrapper around GLOB.move_manager.move_away()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +max_dist - the furthest away from the target we're allowed to get +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

move_rand

Helper proc for the move_rand datum

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +directions - A list of acceptable directions to try and move in. Defaults to GLOB.alldirs +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

move_to

Wrapper around walk_to()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +min_dist - the closest we're allower to get to the target +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

move_to_rand

Wrapper around walk_rand(), doesn't actually result in a random walk, it's more like moving to random places in viewish

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

move_towards

Helper proc for the move_towards datum

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +home - Should we move towards the object at all times? Or launch towards them, but allow walls and such to take us off track. Defaults to FALSE +timeout - Time in deci-seconds until the moveloop self expires. Defaults to INFINITY +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

move_towards_legacy

Alternative to GLOB.move_manager.home_onto. Not reccomended, as it ends up putting a kink in the movement path if it's not directly along one of the 8 directions.

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

processing_on

Returns the subsystem's loop if we're processing on it, null otherwise

stop_looping

Removes the atom from some movement subsystem. Defaults to SSmovement

ventcrawl

Used for getting to a vent in a connected pipeline when ventcrawling.

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +min_dist - the closest we're allower to get to the target +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check __DEFINES/movement_defines.dm

\ No newline at end of file diff --git a/datum/movement_detector.html b/datum/movement_detector.html new file mode 100644 index 00000000000..17c79a24981 --- /dev/null +++ b/datum/movement_detector.html @@ -0,0 +1,5 @@ +/datum/movement_detector - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

movement_detector

A datum to handle the busywork of registering signals to handle in depth tracking of a movable

Vars

listenerListener is whatever callback that will increase the tracking of the movable, usually on stepped.

Procs

fix_signalMovement detectors don't work by default unless the item starts on a turf. +Run this proc to fix that.
move_reactReacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively
trackSets up tracking of the given movable atom
untrackStops tracking

Var Details

listener

Listener is whatever callback that will increase the tracking of the movable, usually on stepped.

Proc Details

fix_signal

Movement detectors don't work by default unless the item starts on a turf. +Run this proc to fix that.

move_react

Reacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively

track

Sets up tracking of the given movable atom

untrack

Stops tracking

\ No newline at end of file diff --git a/datum/movement_packet.html b/datum/movement_packet.html new file mode 100644 index 00000000000..79fb80bf7bf --- /dev/null +++ b/datum/movement_packet.html @@ -0,0 +1,7 @@ +/datum/movement_packet - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

movement_packet

A packet of information that describes the current state of a moving object

Vars

existing_loopsAssoc list of subsystems -> loop datum. Only one datum is allowed per subsystem
parentOur parent atom
processing_move_loop_flagsFlags passed from the move loop before it calls move() and unset right after. +Allows for properties of a move loop to be easily checked by mechanics outside of it. +Having this a bitfield rather than a type var means we don't get screwed over +if the move loop gets deleted mid-move, FYI.
running_loopThe move loop that's currently running, excluding those that ignore priority.

Procs

add_loopAdds a loop to our parent. Returns the created loop if a success, null otherwise
contest_running_loopAttempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise
decide_on_running_loopTries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists

Var Details

existing_loops

Assoc list of subsystems -> loop datum. Only one datum is allowed per subsystem

parent

Our parent atom

processing_move_loop_flags

Flags passed from the move loop before it calls move() and unset right after. +Allows for properties of a move loop to be easily checked by mechanics outside of it. +Having this a bitfield rather than a type var means we don't get screwed over +if the move loop gets deleted mid-move, FYI.

running_loop

The move loop that's currently running, excluding those that ignore priority.

Proc Details

add_loop

Adds a loop to our parent. Returns the created loop if a success, null otherwise

contest_running_loop

Attempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise

decide_on_running_loop

Tries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists

\ No newline at end of file diff --git a/datum/mutation.html b/datum/mutation.html new file mode 100644 index 00000000000..02dbd5c1d52 --- /dev/null +++ b/datum/mutation.html @@ -0,0 +1 @@ +/datum/mutation - Space Station 13
Space Station 13 - Modules - TypesVar Details

mutation

Vars

activation_messagesPossible activation messages
blockWhat gene activates this? Set in initialize()!
deactivation_messagesPossible deactivation messages
descDescription of the gene
instabilityChance of the gene to cause adverse effects when active
nameDisplay name
traits_to_addTrait to give, if any

Var Details

activation_messages

Possible activation messages

block

What gene activates this? Set in initialize()!

deactivation_messages

Possible deactivation messages

desc

Description of the gene

instability

Chance of the gene to cause adverse effects when active

name

Display name

traits_to_add

Trait to give, if any

\ No newline at end of file diff --git a/datum/nttc_configuration.html b/datum/nttc_configuration.html new file mode 100644 index 00000000000..de3791d5ac4 --- /dev/null +++ b/datum/nttc_configuration.html @@ -0,0 +1 @@ +/datum/nttc_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

nttc_configuration

Vars

all_jobsAssociative list of all jobs and their department color classes
cc_jobsList of CentComm jobs
ert_jobsList of ERT jobs
headsList of Command jobs
tsf_jobsList of SolGov Marine jobs

Var Details

all_jobs

Associative list of all jobs and their department color classes

cc_jobs

List of CentComm jobs

ert_jobs

List of ERT jobs

heads

List of Command jobs

tsf_jobs

List of SolGov Marine jobs

\ No newline at end of file diff --git a/datum/object_window_info.html b/datum/object_window_info.html new file mode 100644 index 00000000000..0189d6a74a6 --- /dev/null +++ b/datum/object_window_info.html @@ -0,0 +1,9 @@ +/datum/object_window_info - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

object_window_info

Datum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration

Vars

actively_trackingAre we currently tracking a turf?
atoms_to_imageslist of atom -> image string for objects we have had in the right click tab +this is our caching
atoms_to_imagifylist of atoms to turn into images for the object tab
atoms_to_showlist of atoms to show to our client via the object tab, at least currently
max_indexThe maximum index currently sent to the client.
min_indexThe minimum index currently sent to the client.
parentOur owner client
pending_turf_refreshDebounce flag for immediate refreshes.
tracked_turfTurf we are currently listening to for content changes.

Procs

processTakes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done
viewing_atom_deletedClears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way

Var Details

actively_tracking

Are we currently tracking a turf?

atoms_to_images

list of atom -> image string for objects we have had in the right click tab +this is our caching

atoms_to_imagify

list of atoms to turn into images for the object tab

atoms_to_show

list of atoms to show to our client via the object tab, at least currently

max_index

The maximum index currently sent to the client.

min_index

The minimum index currently sent to the client.

parent

Our owner client

pending_turf_refresh

Debounce flag for immediate refreshes.

tracked_turf

Turf we are currently listening to for content changes.

Proc Details

process

Takes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done

viewing_atom_deleted

Clears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way

\ No newline at end of file diff --git a/datum/objective.html b/datum/objective.html new file mode 100644 index 00000000000..8761a2126f9 --- /dev/null +++ b/datum/objective.html @@ -0,0 +1,12 @@ +/datum/objective - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

objective

Vars

completedIf the objective has been completed.
delayed_objective_textWhat is the text we show when our objective is delayed?
explanation_textWhat the owner is supposed to do to complete the objective.
flags_targetContains the flags needed to meet the conditions of a valid target, such as mindshielded or syndicate agent.
martyr_compatibleIf the objective is compatible with martyr objective, i.e. if you can still do it while dead.
nameProper name of the objective. Not player facing, only shown to admins when adding objectives. +Leave as null (or override to null) if you don't want admins to see that objective as a viable one to add (such as the mindslave objective).
needs_pairIf the objective needs another person with a paired objective
needs_targetIf the objective should have find_target() called for it.
ownerOwner of the objective. +Note that it's fine to set this directly, but when needing to check completion of the objective or otherwise check conditions on the owner of the objective, +always use get_owners(), and check against ALL the owners. get_owners() accounts for objectives that may be team based and therefore have multiple owners.
steal_listIf set, steal targets will be pulled from this list
targetThe target of the objective.
target_amountIf they are focused on a particular number. Steal objectives have their own counter.
target_departmentThe department that'll be targeted by this objective. If set, fills target_jobs with jobs from that department.
target_jobsList of jobs that the objective will target if possible, any crew if not.
teamThe team the objective belongs to, if any.

Procs

establish_signalsThis is for objectives that need to register signals, so place them in here.
find_assassination_objectives_for_targetHelper proc to find assassinate/assassinateonce objectives targeting the same mind as this objective. +Returns a list of assassination objectives.
find_protect_objectives_for_targetHelper proc to find protect objectives targeting the same mind as this objective. +Returns a list of protect objectives.
get_ownersGet all owners of the objective, including ones from the objective's team, if it has one.
on_target_cryoCalled when the objective's target goes to cryo.
update_explanation_textThis is for objectives that have reason to update their text, such as target changes.

Var Details

completed

If the objective has been completed.

delayed_objective_text

What is the text we show when our objective is delayed?

explanation_text

What the owner is supposed to do to complete the objective.

flags_target

Contains the flags needed to meet the conditions of a valid target, such as mindshielded or syndicate agent.

martyr_compatible

If the objective is compatible with martyr objective, i.e. if you can still do it while dead.

name

Proper name of the objective. Not player facing, only shown to admins when adding objectives. +Leave as null (or override to null) if you don't want admins to see that objective as a viable one to add (such as the mindslave objective).

needs_pair

If the objective needs another person with a paired objective

needs_target

If the objective should have find_target() called for it.

owner

Owner of the objective. +Note that it's fine to set this directly, but when needing to check completion of the objective or otherwise check conditions on the owner of the objective, +always use get_owners(), and check against ALL the owners. get_owners() accounts for objectives that may be team based and therefore have multiple owners.

steal_list

If set, steal targets will be pulled from this list

target

The target of the objective.

target_amount

If they are focused on a particular number. Steal objectives have their own counter.

target_department

The department that'll be targeted by this objective. If set, fills target_jobs with jobs from that department.

target_jobs

List of jobs that the objective will target if possible, any crew if not.

team

The team the objective belongs to, if any.

Proc Details

establish_signals

This is for objectives that need to register signals, so place them in here.

find_assassination_objectives_for_target

Helper proc to find assassinate/assassinateonce objectives targeting the same mind as this objective. +Returns a list of assassination objectives.

find_protect_objectives_for_target

Helper proc to find protect objectives targeting the same mind as this objective. +Returns a list of protect objectives.

get_owners

Get all owners of the objective, including ones from the objective's team, if it has one.

+

Use this over directly referencing owner in most cases.

on_target_cryo

Called when the objective's target goes to cryo.

update_explanation_text

This is for objectives that have reason to update their text, such as target changes.

\ No newline at end of file diff --git a/datum/objective/contract.html b/datum/objective/contract.html new file mode 100644 index 00000000000..86d139724e8 --- /dev/null +++ b/datum/objective/contract.html @@ -0,0 +1,22 @@ +/datum/objective/contract - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Contract Objective

Describes the target to kidnap and the extraction area of a /datum/syndicate_contract.

Vars

candidate_zonesAssociated lazy list of areas the contractor can pick from and extract the kidnapee there. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => /area
chosen_difficultyThe contract's difficulty. Determines the reward on completion.
extraction_zoneThe designated area where the kidnapee must be extracted to complete the objective.
forbidden_jobsJobs that cannot be the kidnapping target.
name_fixerName fixer regex because area names have rogue characters sometimes.
owning_contractThe owning /datum/syndicate_contract.
possible_zone_namesStatic whitelist of area names that can be used as an extraction zone, structured by difficulty. +An area's difficulty should be measured in how crowded it generally is, how out of the way it is and so on. +Outdoor or invalid areas are filtered out. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => list()
possible_zonesStatic list that is basically /datum/objective/contract/var/possible_zone_names but with area names replaced by /area objects if available.
target_blacklistList of people who cannot be selected as contract target.

Procs

can_start_extraction_processReturns whether the extraction process can be started.
choose_difficultyUpdates the objective's information with the given difficulty.
pick_candidate_zoneAssigns a randomly selected zone to the contract's selectable zone at the given difficulty.

Var Details

candidate_zones

Associated lazy list of areas the contractor can pick from and extract the kidnapee there. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => /area

chosen_difficulty

The contract's difficulty. Determines the reward on completion.

extraction_zone

The designated area where the kidnapee must be extracted to complete the objective.

forbidden_jobs

Jobs that cannot be the kidnapping target.

name_fixer

Name fixer regex because area names have rogue characters sometimes.

owning_contract

The owning /datum/syndicate_contract.

possible_zone_names

Static whitelist of area names that can be used as an extraction zone, structured by difficulty. +An area's difficulty should be measured in how crowded it generally is, how out of the way it is and so on. +Outdoor or invalid areas are filtered out. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => list()

possible_zones

Static list that is basically /datum/objective/contract/var/possible_zone_names but with area names replaced by /area objects if available.

target_blacklist

List of people who cannot be selected as contract target.

Proc Details

can_start_extraction_process

Returns whether the extraction process can be started.

+

Arguments:

+

choose_difficulty

Updates the objective's information with the given difficulty.

+

Arguments:

+

pick_candidate_zone

Assigns a randomly selected zone to the contract's selectable zone at the given difficulty.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/objective/escape/escape_with_identity.html b/datum/objective/escape/escape_with_identity.html new file mode 100644 index 00000000000..6c3f1dcbfea --- /dev/null +++ b/datum/objective/escape/escape_with_identity.html @@ -0,0 +1 @@ +/datum/objective/escape/escape_with_identity - Space Station 13
Space Station 13 - Modules - TypesVar Details

escape_with_identity

Vars

has_assassinate_objectiveIf the objective has an assassinate objective tied to it.
target_real_nameStored because the target's [mob/var/real_name] can change over the course of the round.

Var Details

has_assassinate_objective

If the objective has an assassinate objective tied to it.

target_real_name

Stored because the target's [mob/var/real_name] can change over the course of the round.

\ No newline at end of file diff --git a/datum/objective/experiment.html b/datum/objective/experiment.html new file mode 100644 index 00000000000..fe44bcaf749 --- /dev/null +++ b/datum/objective/experiment.html @@ -0,0 +1 @@ +/datum/objective/experiment - Space Station 13
Space Station 13 - Modules - TypesVar Details

experiment

Vars

abductor_team_numberWhich abductor team number does this belong to.

Var Details

abductor_team_number

Which abductor team number does this belong to.

\ No newline at end of file diff --git a/datum/objective/heretic_research.html b/datum/objective/heretic_research.html new file mode 100644 index 00000000000..493b5781fae --- /dev/null +++ b/datum/objective/heretic_research.html @@ -0,0 +1 @@ +/datum/objective/heretic_research - Space Station 13
Space Station 13 - Modules - TypesVar Details

heretic_research

Heretic's research objective. "Research" is heretic knowledge nodes (You start with some).

Vars

main_path_lengthThe length of a main path. Calculated once in New().

Var Details

main_path_length

The length of a main path. Calculated once in New().

\ No newline at end of file diff --git a/datum/objective/heretic_summon.html b/datum/objective/heretic_summon.html new file mode 100644 index 00000000000..f938d394657 --- /dev/null +++ b/datum/objective/heretic_summon.html @@ -0,0 +1 @@ +/datum/objective/heretic_summon - Space Station 13
Space Station 13 - Modules - TypesVar Details

heretic_summon

Vars

num_summonedThe total number of summons the objective owner has done

Var Details

num_summoned

The total number of summons the objective owner has done

\ No newline at end of file diff --git a/datum/objective/ninja.html b/datum/objective/ninja.html new file mode 100644 index 00000000000..5def469deea --- /dev/null +++ b/datum/objective/ninja.html @@ -0,0 +1 @@ +/datum/objective/ninja - Space Station 13
Space Station 13 - Modules - TypesVar Details

ninja

Vars

onlyoneCan you only roll this objective once?
reward_tcRewarded currency for objective completion
special_equipment_pathDoes this objective come with special gear

Var Details

onlyone

Can you only roll this objective once?

reward_tc

Rewarded currency for objective completion

special_equipment_path

Does this objective come with special gear

\ No newline at end of file diff --git a/datum/objective/ninja/capture.html b/datum/objective/ninja/capture.html new file mode 100644 index 00000000000..39990aefadb --- /dev/null +++ b/datum/objective/ninja/capture.html @@ -0,0 +1 @@ +/datum/objective/ninja/capture - Space Station 13
Space Station 13 - Modules - TypesVar Details

capture

Vars

prisoner_timer_handlePrisoner jail timer handle. On completion, returns the prisoner back to station.
temp_objsTemporary objects that are available to the kidnapee during their time in jail. These are deleted when the victim is returned.
victim_belongingsThe kidnapee's belongings. Set upon capture.

Var Details

prisoner_timer_handle

Prisoner jail timer handle. On completion, returns the prisoner back to station.

temp_objs

Temporary objects that are available to the kidnapee during their time in jail. These are deleted when the victim is returned.

victim_belongings

The kidnapee's belongings. Set upon capture.

\ No newline at end of file diff --git a/datum/objective/protect.html b/datum/objective/protect.html new file mode 100644 index 00000000000..961e04ccf85 --- /dev/null +++ b/datum/objective/protect.html @@ -0,0 +1 @@ +/datum/objective/protect - Space Station 13
Space Station 13 - Modules - TypesVar Details

protect

The opposite of killing a dude.

Vars

fallback_timer_idTimer for fallback target assignment (randomized between 5-10 minutes)

Var Details

fallback_timer_id

Timer for fallback target assignment (randomized between 5-10 minutes)

\ No newline at end of file diff --git a/datum/objective/pulse_demon/drain.html b/datum/objective/pulse_demon/drain.html new file mode 100644 index 00000000000..e29b4de220e --- /dev/null +++ b/datum/objective/pulse_demon/drain.html @@ -0,0 +1 @@ +/datum/objective/pulse_demon/drain - Space Station 13
Space Station 13 - Modules - TypesVar Details

drain

Vars

amountAmount of power we need to drain, ranges from 500 KW to 5 MW

Var Details

amount

Amount of power we need to drain, ranges from 500 KW to 5 MW

\ No newline at end of file diff --git a/datum/objective/pulse_demon/infest.html b/datum/objective/pulse_demon/infest.html new file mode 100644 index 00000000000..b38359e59d2 --- /dev/null +++ b/datum/objective/pulse_demon/infest.html @@ -0,0 +1 @@ +/datum/objective/pulse_demon/infest - Space Station 13
Space Station 13 - Modules - TypesVar Details

infest

Vars

amountAmount of APCs we need to hijack, can be 15, 20, or 25

Var Details

amount

Amount of APCs we need to hijack, can be 15, 20, or 25

\ No newline at end of file diff --git a/datum/objective/steal.html b/datum/objective/steal.html new file mode 100644 index 00000000000..3e084a41e63 --- /dev/null +++ b/datum/objective/steal.html @@ -0,0 +1 @@ +/datum/objective/steal - Space Station 13
Space Station 13 - Modules - TypesProc Details

steal

Procs

is_valid_exfiltrationMARK: Steal

Proc Details

is_valid_exfiltration

MARK: Steal

\ No newline at end of file diff --git a/datum/objective/uplifted/build_nest_in_area.html b/datum/objective/uplifted/build_nest_in_area.html new file mode 100644 index 00000000000..841ec296abd --- /dev/null +++ b/datum/objective/uplifted/build_nest_in_area.html @@ -0,0 +1 @@ +/datum/objective/uplifted/build_nest_in_area - Space Station 13
Space Station 13 - Modules - TypesVar Details

build_nest_in_area

Vars

target_areaThe area in which the nest must be built to complete the objective.

Var Details

target_area

The area in which the nest must be built to complete the objective.

\ No newline at end of file diff --git a/datum/objective/uplifted/obtain.html b/datum/objective/uplifted/obtain.html new file mode 100644 index 00000000000..d61a010d3c5 --- /dev/null +++ b/datum/objective/uplifted/obtain.html @@ -0,0 +1 @@ +/datum/objective/uplifted/obtain - Space Station 13
Space Station 13 - Modules - TypesVar Details

obtain

Vars

allowed_targetsThe possible typepaths that can be selected as a target.
target_typeThe typepath of the item which must be possessed to complete the objective.

Var Details

allowed_targets

The possible typepaths that can be selected as a target.

target_type

The typepath of the item which must be possessed to complete the objective.

\ No newline at end of file diff --git a/datum/objective_holder.html b/datum/objective_holder.html new file mode 100644 index 00000000000..66f6440acbe --- /dev/null +++ b/datum/objective_holder.html @@ -0,0 +1,10 @@ +/datum/objective_holder - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

objective_holder

An objective holder for minds, antag datums, and teams.

Vars

assigned_targetsA list of strings which contain targets of the antagonist's objectives. Used to prevent duplicate objectives.
objective_ownerWho do we belong to [mind, antagonist, team]
objectivesOur list of current objectives
on_add_callbackA callback invoked when a new objective is added. This is required because sometimes objectives are added directly without going through objective_owner. Not currently used.
on_remove_callbackA callback invoked when a new objective is added. This is required because sometimes objectives are removed directly without going through objective_owner (EX: replace_objective(), clear()). Not currently used.

Procs

add_objectiveAdd an objective.
clearClear all objectives of a certain type
get_holder_ownerReturns objective_owner
get_objectivesGet all of the objectives we own
get_targetsGet all of our targets
handle_objectiveHandles the searching of targets for objectives that need it.
has_objectivesDo we have any objectives
remove_objectiveRemove an objective and deletes it. You should never need to transfer an objective.
replace_objectiveReplace old_objective with new_objective
set_callbacksSets the callbacks, not on new because that can be irreliable for subtypes.

Var Details

assigned_targets

A list of strings which contain targets of the antagonist's objectives. Used to prevent duplicate objectives.

objective_owner

Who do we belong to [mind, antagonist, team]

objectives

Our list of current objectives

on_add_callback

A callback invoked when a new objective is added. This is required because sometimes objectives are added directly without going through objective_owner. Not currently used.

on_remove_callback

A callback invoked when a new objective is added. This is required because sometimes objectives are removed directly without going through objective_owner (EX: replace_objective(), clear()). Not currently used.

Proc Details

add_objective

Add an objective.

+

clear

Clear all objectives of a certain type

+

get_holder_owner

Returns objective_owner

get_objectives

Get all of the objectives we own

get_targets

Get all of our targets

handle_objective

Handles the searching of targets for objectives that need it.

has_objectives

Do we have any objectives

remove_objective

Remove an objective and deletes it. You should never need to transfer an objective.

replace_objective

Replace old_objective with new_objective

set_callbacks

Sets the callbacks, not on new because that can be irreliable for subtypes.

\ No newline at end of file diff --git a/datum/ore.html b/datum/ore.html new file mode 100644 index 00000000000..7cefca5aa7a --- /dev/null +++ b/datum/ore.html @@ -0,0 +1,5 @@ +/datum/ore - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ore

Vars

drop_maxThe upper bound for the amount of randomized ore dropped.
drop_minThe lower bound for the amount of randomized ore dropped.
drop_typeThe type of ore that is dropped. Expected to be a subtype of /obj/item/stack/ore.
scan_icon_stateThe icon state of the ore used for mining scanner overlays.
spread_chanceThe probability that the ore will spread to nearby /turf/simulated/minerals when placed.

Procs

on_mineCalled when the containing turf is "mined", such as with a pickaxe or other +digging implement.

Var Details

drop_max

The upper bound for the amount of randomized ore dropped.

drop_min

The lower bound for the amount of randomized ore dropped.

drop_type

The type of ore that is dropped. Expected to be a subtype of /obj/item/stack/ore.

scan_icon_state

The icon state of the ore used for mining scanner overlays.

spread_chance

The probability that the ore will spread to nearby /turf/simulated/minerals when placed.

Proc Details

on_mine

Called when the containing turf is "mined", such as with a pickaxe or other +digging implement.

+

Returns MINERAL_ALLOW_DIG if the containing turf should be changed to its +"dug" state, MINERAL_PREVENT_DIG if it should remain as is.

\ No newline at end of file diff --git a/datum/ore/gibtonite.html b/datum/ore/gibtonite.html new file mode 100644 index 00000000000..cd41bd15e66 --- /dev/null +++ b/datum/ore/gibtonite.html @@ -0,0 +1,9 @@ +/datum/ore/gibtonite - Space Station 13
Space Station 13 - Modules - TypesVar Details

gibtonite

Vars

activated_overlayThe overlay used for when the gibtonite is in its detonation countdown mode.
detonate_start_timeThe world.time that the detonate countdown started at.
detonate_timeAmount of time from mining before gibtonite explodes.
explosion_callbackThe callback for the explosion that occurs if the gibtonite is not +defused in time.
notify_adminsWhether an admin log should be generated for this gibtonite's detonation. +Typically enabled if the detonation doesn't occur on the station z-level. +Note that this is only for explosions caused while the gibtonite is still +unmined, in contrast to [/obj/item/gibtonite/proc/GibtoniteReaction].
remaining_timeThe amount of time remaining if the gibtonite was stabilized before explosion, in half-seconds.
stageThe state the ore is in. One of GIBTONITE_UNSTRUCK, GIBTONITE_ACTIVE, GIBTONITE_STABLE, or GIBTONITE_DETONATE.

Var Details

activated_overlay

The overlay used for when the gibtonite is in its detonation countdown mode.

detonate_start_time

The world.time that the detonate countdown started at.

detonate_time

Amount of time from mining before gibtonite explodes.

explosion_callback

The callback for the explosion that occurs if the gibtonite is not +defused in time.

notify_admins

Whether an admin log should be generated for this gibtonite's detonation. +Typically enabled if the detonation doesn't occur on the station z-level. +Note that this is only for explosions caused while the gibtonite is still +unmined, in contrast to [/obj/item/gibtonite/proc/GibtoniteReaction].

remaining_time

The amount of time remaining if the gibtonite was stabilized before explosion, in half-seconds.

stage

The state the ore is in. One of GIBTONITE_UNSTRUCK, GIBTONITE_ACTIVE, GIBTONITE_STABLE, or GIBTONITE_DETONATE.

\ No newline at end of file diff --git a/datum/organ.html b/datum/organ.html new file mode 100644 index 00000000000..7d031b11445 --- /dev/null +++ b/datum/organ.html @@ -0,0 +1 @@ +/datum/organ - Space Station 13
Space Station 13 - Modules - TypesProc Details

organ

Procs

on_insertCalled when the linked organ is inserted.
on_removeCalled when the linked organ is removed.
on_replaceCalled when another organ is removed, and this organ datum takes its place in the organ_owner.
on_successful_empOnly called when the organ is robotic AND is not emp proof. Return true to override default functions

Proc Details

on_insert

Called when the linked organ is inserted.

on_remove

Called when the linked organ is removed.

on_replace

Called when another organ is removed, and this organ datum takes its place in the organ_owner.

on_successful_emp

Only called when the organ is robotic AND is not emp proof. Return true to override default functions

\ No newline at end of file diff --git a/datum/organ/lungs.html b/datum/organ/lungs.html new file mode 100644 index 00000000000..2b45e8f8866 --- /dev/null +++ b/datum/organ/lungs.html @@ -0,0 +1 @@ +/datum/organ/lungs - Space Station 13
Space Station 13 - Modules - TypesProc Details

lungs

Procs

check_breathLUNG ATMOS CODE, VENTURE FURTHER IF YOU DARE!!!
on_successful_empLung atmos code ends here. Thank god...

Proc Details

check_breath

LUNG ATMOS CODE, VENTURE FURTHER IF YOU DARE!!!

on_successful_emp

Lung atmos code ends here. Thank god...

\ No newline at end of file diff --git a/datum/outfit.html b/datum/outfit.html new file mode 100644 index 00000000000..45eee0eac33 --- /dev/null +++ b/datum/outfit.html @@ -0,0 +1 @@ +/datum/outfit - Space Station 13
Space Station 13 - Modules - TypesVar Details

outfit

Vars

toggle_helmetShould the toggle helmet proc be called on the helmet during equip

Var Details

toggle_helmet

Should the toggle helmet proc be called on the helmet during equip

\ No newline at end of file diff --git a/datum/outfit/job.html b/datum/outfit/job.html new file mode 100644 index 00000000000..ee9c8d30efb --- /dev/null +++ b/datum/outfit/job.html @@ -0,0 +1 @@ +/datum/outfit/job - Space Station 13
Space Station 13 - Modules - TypesProc Details

job

Procs

give_gazeUsed to give the gaze ability to NTReps and IAAs

Proc Details

give_gaze

Used to give the gaze ability to NTReps and IAAs

\ No newline at end of file diff --git a/datum/pai_save.html b/datum/pai_save.html new file mode 100644 index 00000000000..1c6e212341a --- /dev/null +++ b/datum/pai_save.html @@ -0,0 +1 @@ +/datum/pai_save - Space Station 13
Space Station 13 - Modules - TypesVar Details

pai_save

Vars

descriptionpAI's description
ooc_commentspAI's OOC comments
ownerClient that owns the pAI
pai_namepAI's name
rolepAI's role

Var Details

description

pAI's description

ooc_comments

pAI's OOC comments

owner

Client that owns the pAI

pai_name

pAI's name

role

pAI's role

\ No newline at end of file diff --git a/datum/pai_software.html b/datum/pai_software.html new file mode 100644 index 00000000000..f14260d3e79 --- /dev/null +++ b/datum/pai_software.html @@ -0,0 +1,33 @@ +/datum/pai_software - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

pAI Software

Datum module for pAI software

+

Very similar to the PDA app datum, this determines what UI sub-template to use, +as well as the RAM cost, and if it is toggle software (not a UI app)

Vars

defaultDo we have this software installed by default
idID for the software. This must be unique
nameName for the software. This is used as the button text when buying or opening/toggling the software
pai_holderpAI which holds this software
ram_costRAM cost; pAIs start with 100 RAM, spending it on programs
template_fileTemplate for the TGUI file
toggle_softwareWhether this software is a toggle or not
ui_iconIcon for inside the UI

Procs

NewNew handler
get_app_dataHandler for the app's UI data
get_holding_mobHelper proc so that pAIs can get the mob holding them
is_activeHelper for checking if a toggle is enabled or not
toggleHandler for toggling toggle apps on and off
ui_actui_act sanity check helper

Var Details

default

Do we have this software installed by default

id

ID for the software. This must be unique

name

Name for the software. This is used as the button text when buying or opening/toggling the software

pai_holder

pAI which holds this software

ram_cost

RAM cost; pAIs start with 100 RAM, spending it on programs

template_file

Template for the TGUI file

toggle_software

Whether this software is a toggle or not

ui_icon

Icon for inside the UI

Proc Details

New

New handler

+

Ensures that the pai_holder var is set to the pAI itself +Arguments:

+

get_app_data

Handler for the app's UI data

+

This returns the list of the current app's data for the UI +This will then be injected as a variable on the TGUI data called "app_data"

+

Arguments:

+

get_holding_mob

Helper proc so that pAIs can get the mob holding them

+

This needs to exist because pAIs have many different locs +(Held card, mob itself, in pocket, etc)

+

Arguments:

+

is_active

Helper for checking if a toggle is enabled or not

+

Returns TRUE if the toggle software is active, FALSE if not

+

Its like this instead of a simple is_toggled var because some toggles override eachother and this is easier

+

Arguments:

+

toggle

Handler for toggling toggle apps on and off

+

This is invoked whenever you toggle a toggleable function +Put your toggleable work in here

+

Arguments:

+

ui_act

ui_act sanity check helper

+

Basically checks the existing href exploit stuff, as well as making sure the user using the UI is the pAI itself

\ No newline at end of file diff --git a/datum/pai_software/atmosphere_sensor.html b/datum/pai_software/atmosphere_sensor.html new file mode 100644 index 00000000000..c48f6668a4c --- /dev/null +++ b/datum/pai_software/atmosphere_sensor.html @@ -0,0 +1 @@ +/datum/pai_software/atmosphere_sensor - Space Station 13
Space Station 13 - Modules - TypesVar Details

atmosphere_sensor

Vars

scannerIntegrated PDA atmos scan module to reduce duplicated code

Var Details

scanner

Integrated PDA atmos scan module to reduce duplicated code

\ No newline at end of file diff --git a/datum/pai_software/door_jack.html b/datum/pai_software/door_jack.html new file mode 100644 index 00000000000..998fd9c18cf --- /dev/null +++ b/datum/pai_software/door_jack.html @@ -0,0 +1,4 @@ +/datum/pai_software/door_jack - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

door_jack

Vars

cableThe cable being plugged into a door
hackdoorThe door being hacked
hackingAre we hacking?
progressProgress on hacking the door

Procs

cleanup_hackDoor jack cleanup proc
hackloopDoor jack hack loop

Var Details

cable

The cable being plugged into a door

hackdoor

The door being hacked

hacking

Are we hacking?

progress

Progress on hacking the door

Proc Details

cleanup_hack

Door jack cleanup proc

+

Self-contained proc for cleaning up failed hack attempts

hackloop

Door jack hack loop

+

Self-contained proc for handling the hacking of a door. +Invoked asyncly, but will only allow one instance at a time

\ No newline at end of file diff --git a/datum/pai_software/med_records.html b/datum/pai_software/med_records.html new file mode 100644 index 00000000000..613422abab8 --- /dev/null +++ b/datum/pai_software/med_records.html @@ -0,0 +1 @@ +/datum/pai_software/med_records - Space Station 13
Space Station 13 - Modules - TypesVar Details

med_records

Vars

integrated_recordsIntegrated medical records module to reduce duplicated code

Var Details

integrated_records

Integrated medical records module to reduce duplicated code

\ No newline at end of file diff --git a/datum/pai_software/sec_records.html b/datum/pai_software/sec_records.html new file mode 100644 index 00000000000..e5e5a16ac60 --- /dev/null +++ b/datum/pai_software/sec_records.html @@ -0,0 +1 @@ +/datum/pai_software/sec_records - Space Station 13
Space Station 13 - Modules - TypesVar Details

sec_records

Vars

integrated_recordsIntegrated security records module to reduce duplicated code

Var Details

integrated_records

Integrated security records module to reduce duplicated code

\ No newline at end of file diff --git a/datum/painter.html b/datum/painter.html new file mode 100644 index 00000000000..58fae3a9116 --- /dev/null +++ b/datum/painter.html @@ -0,0 +1,4 @@ +/datum/painter - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Painter Datum

Contains variables for updating holder, as well as procs for choosing a colour and painting an atom.

+

The parent_painter argument is REQUIRED when spawning this in order to link the datum to an /obj/item/painter.

Vars

holderThe parent /obj/item/painter which this datum is linked to.
module_descDesc of the holder when using this module.
module_nameName of the holder when using this module.
module_stateIcon and Item state of the holder when using this module.
paint_settingThe current colour or icon state setting.

Procs

paint_atomContains code to apply the paint_setting variable onto the target atom.
pick_colorContains code to choose a new colour or icon state for the paint_setting variable.

Var Details

holder

The parent /obj/item/painter which this datum is linked to.

module_desc

Desc of the holder when using this module.

module_name

Name of the holder when using this module.

module_state

Icon and Item state of the holder when using this module.

paint_setting

The current colour or icon state setting.

Proc Details

paint_atom

Contains code to apply the paint_setting variable onto the target atom.

+

Called by afterattack() on the holder object.

pick_color

Contains code to choose a new colour or icon state for the paint_setting variable.

+

Called by attack_self() on the holder object.

\ No newline at end of file diff --git a/datum/painter/decal.html b/datum/painter/decal.html new file mode 100644 index 00000000000..f76f5d349ff --- /dev/null +++ b/datum/painter/decal.html @@ -0,0 +1 @@ +/datum/painter/decal - Space Station 13
Space Station 13 - Modules - TypesVar Details

decal

Vars

decal_iconicon that contains the decal sprites
lookup_cache_decalsList of typepaths of turf decals exposed by the painter.
removal_modeWhen removal_mode is TRUE the decal painter will remove decals instead

Var Details

decal_icon

icon that contains the decal sprites

lookup_cache_decals

List of typepaths of turf decals exposed by the painter.

removal_mode

When removal_mode is TRUE the decal painter will remove decals instead

\ No newline at end of file diff --git a/datum/path_map.html b/datum/path_map.html new file mode 100644 index 00000000000..382ae199375 --- /dev/null +++ b/datum/path_map.html @@ -0,0 +1,24 @@ +/datum/path_map - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

path_map

Datum that describes the shortest path between a source turf and any turfs within a distance

Vars

avoidWere we avoiding a turf? If so, which one?
buildingAre we currently being built
creation_timeThe tick we were completed on, in case you want to hold onto this for a bit
distancesList of distances from the starting turf, each index lines up with the next_closest list
expandingAre we currently being expanded?
next_closestAssoc list of turf -> the turf one step closer on the path +Arranged in discovery order, so the last turf here will be the furthest from the start
pass_infoThe pass info datum used to create us
pass_spaceWere we allowed to path over space?
startOur starting turf, the location this map feeds into

Procs

compare_againstReturns true if the passed in pass_map's pass logic matches ours +False otherwise
compare_against_argsReturns true if the passed in pass_info and start/pass_space/avoid match ours +False otherwise
copy_fromCopies the passed in path_map into this datum +Saves some headache with updating refs if we want to modify a path_map
expandExpands this pathmap to cover a new range, assuming the arg is greater then the current range +Returns true if this succeeded or was not required, false otherwise
generate_pathTakes a turf to use as the other end, returns the path between the source node and it
get_path_fromTakes a turf to start from, returns a path to the source turf of this datum
get_path_toTakes a turf to path to, returns the shortest path to it at the time of this datum's creation
settings_to_pathReturns a new /datum/pathfind/sssp based off our settings +Will have an invalid source mob, no max distance, and no ending callback
turfs_in_rangeGets a list of turfs reachable by this path_map from the distance first to the distance second, both inclusive +first > second or first < second are both respected, and the return order will reflect the arg order +We return a list of turf -> distance, or null if we error

Var Details

avoid

Were we avoiding a turf? If so, which one?

building

Are we currently being built

creation_time

The tick we were completed on, in case you want to hold onto this for a bit

distances

List of distances from the starting turf, each index lines up with the next_closest list

expanding

Are we currently being expanded?

next_closest

Assoc list of turf -> the turf one step closer on the path +Arranged in discovery order, so the last turf here will be the furthest from the start

pass_info

The pass info datum used to create us

pass_space

Were we allowed to path over space?

start

Our starting turf, the location this map feeds into

Proc Details

compare_against

Returns true if the passed in pass_map's pass logic matches ours +False otherwise

compare_against_args

Returns true if the passed in pass_info and start/pass_space/avoid match ours +False otherwise

copy_from

Copies the passed in path_map into this datum +Saves some headache with updating refs if we want to modify a path_map

expand

Expands this pathmap to cover a new range, assuming the arg is greater then the current range +Returns true if this succeeded or was not required, false otherwise

generate_path

Takes a turf to use as the other end, returns the path between the source node and it

+

skip_first - If we should drop the first step in the path. Used to avoid stepping where we already are +min_target_dist - How many, if any, turfs off the end of the path should we drop? +reverse - If true, "reverses" the path generated. You'd want to use this for generating a path to the source node itself

get_path_from

Takes a turf to start from, returns a path to the source turf of this datum

+

skip_first - If we should drop the first step in the path. Used to avoid stepping where we already are +min_target_dist - How many, if any, turfs off the end of the path should we drop?

get_path_to

Takes a turf to path to, returns the shortest path to it at the time of this datum's creation

+

skip_first - If we should drop the first step in the path. Used to avoid stepping where we already are +min_target_dist - How many, if any, turfs off the end of the path should we drop?

settings_to_path

Returns a new /datum/pathfind/sssp based off our settings +Will have an invalid source mob, no max distance, and no ending callback

turfs_in_range

Gets a list of turfs reachable by this path_map from the distance first to the distance second, both inclusive +first > second or first < second are both respected, and the return order will reflect the arg order +We return a list of turf -> distance, or null if we error

\ No newline at end of file diff --git a/datum/pathfind.html b/datum/pathfind.html new file mode 100644 index 00000000000..79e610a616b --- /dev/null +++ b/datum/pathfind.html @@ -0,0 +1,9 @@ +/datum/pathfind - Space Station 13
Space Station 13 - Modules - TypesVar 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
max_distanceLimits how far we can search before giving up on a path
on_finishThe callbacks to invoke when we're done working, passing in the completed product +Invoked in order
pass_infoDatum that holds the canpass info of this pathing attempt. This is what CanPathfindPass sees
simulated_onlySpace is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles
startThe turf we started at

Procs

early_exitearly_exit() is called when something goes wrong in processing, and we need to halt the pathfinding NOW
finishedCleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations
hand_backCall to return a value to whoever spawned this pathfinding work +Will fail if it's already been called
search_stepsearch_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort
start"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise

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

max_distance

Limits how far we can search before giving up on a path

on_finish

The callbacks to invoke when we're done working, passing in the completed product +Invoked in order

pass_info

Datum that holds the canpass info of this pathing attempt. This is what CanPathfindPass sees

simulated_only

Space is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles

start

The turf we started at

Proc Details

early_exit

early_exit() is called when something goes wrong in processing, and we need to halt the pathfinding NOW

finished

Cleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations

hand_back

Call to return a value to whoever spawned this pathfinding work +Will fail if it's already been called

search_step

search_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort

start

"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise

\ No newline at end of file diff --git a/datum/pathfind/jps.html b/datum/pathfind/jps.html new file mode 100644 index 00000000000..75cccc5033f --- /dev/null +++ b/datum/pathfind/jps.html @@ -0,0 +1,19 @@ +/datum/pathfind/jps - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

jps

Vars

diagonal_handlingDefines how we handle diagonal moves. See __DEFINES/path.dm
endThe turf we're trying to path to (note that this won't track a moving target)
found_turfsAn assoc list that serves as the closed list. Key is the turf, points to true if we've seen it before
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
requesterThe movable we are pathing
skip_firstIf we should delete the first step in the path or not. Used often because it is just the starting tile

Procs

diag_scan_specFor performing diagonal scans from a given starting turf.
lateral_scan_specFor performing lateral scans from a given starting turf.
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

diagonal_handling

Defines how we handle diagonal moves. See __DEFINES/path.dm

end

The turf we're trying to path to (note that this won't track a moving target)

found_turfs

An assoc list that serves as the closed list. Key is the turf, points to true if we've seen it before

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

requester

The movable we are pathing

skip_first

If we should delete the first step in the path or not. Used often because it is just the starting tile

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:

+

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]

\ No newline at end of file diff --git a/datum/pathfind/sssp.html b/datum/pathfind/sssp.html new file mode 100644 index 00000000000..279de45741a --- /dev/null +++ b/datum/pathfind/sssp.html @@ -0,0 +1,2 @@ +/datum/pathfind/sssp - Space Station 13
Space Station 13 - Modules - TypesVar Details

sssp

Single source shortest path +Generates a flow map of a reachable turf -> the turf next closest to the map's center

Vars

working_distancesList of distances, each entry mirrors an entry in the working_queue
working_indexOur current position in the working queue
working_queueEver expanding list of turfs to visit/visited, associated with the turf that's next closest to them

Var Details

working_distances

List of distances, each entry mirrors an entry in the working_queue

working_index

Our current position in the working queue

working_queue

Ever expanding list of turfs to visit/visited, associated with the turf that's next closest to them

\ No newline at end of file diff --git a/datum/pathfind/ventcrawl.html b/datum/pathfind/ventcrawl.html new file mode 100644 index 00000000000..67fd80f4b23 --- /dev/null +++ b/datum/pathfind/ventcrawl.html @@ -0,0 +1 @@ +/datum/pathfind/ventcrawl - Space Station 13
Space Station 13 - Modules - TypesVar Details

ventcrawl

Basic A-star implementation (I think), for pathfinding through vents.

Vars

closed_setAn assoc list that serves as the closed list. Key is the turf, points to true if we've seen it before
endThe vent we are trying to pathfind to
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
requesterThe movable we are pathing
skip_firstIf we should delete the first step in the path or not. Used often because it is just the starting point

Var Details

closed_set

An assoc list that serves as the closed list. Key is the turf, points to true if we've seen it before

end

The vent we are trying to pathfind to

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

requester

The movable we are pathing

skip_first

If we should delete the first step in the path or not. Used often because it is just the starting point

\ No newline at end of file diff --git a/datum/pathfinding_mover.html b/datum/pathfinding_mover.html new file mode 100644 index 00000000000..676c86c53ea --- /dev/null +++ b/datum/pathfinding_mover.html @@ -0,0 +1 @@ +/datum/pathfinding_mover - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

pathfinding_mover

A generalized datum for pathfinding, and moving to a target.

Vars

consider_movement_delayDo we consider movement delay? Disable for non-mobs
last_movement_delayRequires consider_movement_delay = TRUE, saves the last movement delay to prevent diagonal weirdness
max_triesmax amount of tries before resetting path to null
move_speedHow many 2-tick delays per move (5 = 1 second)
move_ticksA counter for move_speed via modulo
on_set_path_nullCallback invoked on failure
on_successCallback invoked on success
ownerCan be a simplemob bot, a drone, or even a pathfinding modsuit module (currently only implemented for drones)
owner_move_delayThe delay called as part of Move()
pathList of turfs through which a mod 'steps' to reach the waypoint
targetThe target turf we are after
triesHow many times have we tried to move?

Procs

generalized_stepTake our next step in our pathfinding algorithm
processUsing fast process, see if we should take the next step yet
startStart moving towards our target, returns false if the path does not lead to the target

Var Details

consider_movement_delay

Do we consider movement delay? Disable for non-mobs

last_movement_delay

Requires consider_movement_delay = TRUE, saves the last movement delay to prevent diagonal weirdness

max_tries

max amount of tries before resetting path to null

move_speed

How many 2-tick delays per move (5 = 1 second)

move_ticks

A counter for move_speed via modulo

on_set_path_null

Callback invoked on failure

on_success

Callback invoked on success

owner

Can be a simplemob bot, a drone, or even a pathfinding modsuit module (currently only implemented for drones)

owner_move_delay

The delay called as part of Move()

path

List of turfs through which a mod 'steps' to reach the waypoint

target

The target turf we are after

tries

How many times have we tried to move?

Proc Details

generalized_step

Take our next step in our pathfinding algorithm

process

Using fast process, see if we should take the next step yet

start

Start moving towards our target, returns false if the path does not lead to the target

\ No newline at end of file diff --git a/datum/persistent_client.html b/datum/persistent_client.html new file mode 100644 index 00000000000..22ee5732a0d --- /dev/null +++ b/datum/persistent_client.html @@ -0,0 +1 @@ +/datum/persistent_client - Space Station 13
Space Station 13 - Modules - TypesVar Details

persistent_client

Vars

kudos_received_fromCkeys that sent us kudos.
mindsAll of the minds this client has been associated with.
pm_trackerHolds admin/mentor PM history.
skip_antagThe Global Antag Candidacy setting from the new player menu.
time_died_as_mouseUsed to prevent rapid mouse spamming.

Var Details

kudos_received_from

Ckeys that sent us kudos.

minds

All of the minds this client has been associated with.

pm_tracker

Holds admin/mentor PM history.

skip_antag

The Global Antag Candidacy setting from the new player menu.

time_died_as_mouse

Used to prevent rapid mouse spamming.

\ No newline at end of file diff --git a/datum/pet_command.html b/datum/pet_command.html new file mode 100644 index 00000000000..97a1ce1d72e --- /dev/null +++ b/datum/pet_command.html @@ -0,0 +1,8 @@ +/datum/pet_command - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Pet Command

Set some AI blackboard commands in response to receiving instructions +This is abstract and should be extended for actual behaviour

Vars

command_descDescription to display in radial menu
command_feedbackShown above the mob's head when it hears you
command_nameUnique name used for radial selection, should not be shared with other commands on one mob
command_regexThe regex for finding our commands in speech
hiddenIf true, command will not appear in radial menu and can only be accessed through speech
parent_uidUID of who follows this command
pointed_reactionour pointed reaction we play
requires_pointingdoes this pet command need a point to activate?
sense_radiusHow close a mob needs to be to a target to respond to a command
speech_commandsSpeech strings to listen out for
targeting_strategy_keyBlackboard key for targeting strategy, this is likely going to need it

Procs

add_new_friendRegister a new guy we want to listen to
execute_actionExecute an AI action on the provided controller, what we should actually do when this command is active. +This should basically always be called from a planning subtree which passes its own controller. +Return SUBTREE_RETURN_FINISH_PLANNING to pass that instruction on to the controller, or don't if you don't want that.
find_command_in_textReturns true if we find any of our spoken commands in the text. +if check_verbosity is true, skip the match if there spoken_text is way longer than the match
look_for_targetTarget the pointed atom for actions
on_target_setTarget the pointed atom for actions
remove_friendStop listening to a guy
respond_to_commandRespond to something that one of our friends has asked us to do
set_command_activeActivate the command, extend to add visible messages and the like
set_command_targetStore the target for the AI blackboard
try_activate_commandApply a command state if conditions are right, return command if successful
waive_automuteStop the automute from triggering for commands (unless the spoken text is suspiciously longer than the command)

Var Details

command_desc

Description to display in radial menu

command_feedback

Shown above the mob's head when it hears you

command_name

Unique name used for radial selection, should not be shared with other commands on one mob

command_regex

The regex for finding our commands in speech

hidden

If true, command will not appear in radial menu and can only be accessed through speech

parent_uid

UID of who follows this command

pointed_reaction

our pointed reaction we play

requires_pointing

does this pet command need a point to activate?

sense_radius

How close a mob needs to be to a target to respond to a command

speech_commands

Speech strings to listen out for

targeting_strategy_key

Blackboard key for targeting strategy, this is likely going to need it

Proc Details

add_new_friend

Register a new guy we want to listen to

execute_action

Execute an AI action on the provided controller, what we should actually do when this command is active. +This should basically always be called from a planning subtree which passes its own controller. +Return SUBTREE_RETURN_FINISH_PLANNING to pass that instruction on to the controller, or don't if you don't want that.

find_command_in_text

Returns true if we find any of our spoken commands in the text. +if check_verbosity is true, skip the match if there spoken_text is way longer than the match

look_for_target

Target the pointed atom for actions

on_target_set

Target the pointed atom for actions

remove_friend

Stop listening to a guy

respond_to_command

Respond to something that one of our friends has asked us to do

set_command_active

Activate the command, extend to add visible messages and the like

set_command_target

Store the target for the AI blackboard

try_activate_command

Apply a command state if conditions are right, return command if successful

waive_automute

Stop the automute from triggering for commands (unless the spoken text is suspiciously longer than the command)

\ No newline at end of file diff --git a/datum/pet_command/attack.html b/datum/pet_command/attack.html new file mode 100644 index 00000000000..67fdf65317e --- /dev/null +++ b/datum/pet_command/attack.html @@ -0,0 +1 @@ +/datum/pet_command/attack - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Pet Command: Attack

Tells a pet to chase and bite the next thing you point at

Vars

attack_behaviourAttack behaviour to use
refuse_reactionBalloon alert to display if providing an invalid target

Procs

refuse_targetDisplay feedback about not targeting something

Var Details

attack_behaviour

Attack behaviour to use

refuse_reaction

Balloon alert to display if providing an invalid target

Proc Details

refuse_target

Display feedback about not targeting something

\ No newline at end of file diff --git a/datum/pet_command/follow.html b/datum/pet_command/follow.html new file mode 100644 index 00000000000..1fa5530f7c6 --- /dev/null +++ b/datum/pet_command/follow.html @@ -0,0 +1 @@ +/datum/pet_command/follow - Space Station 13
Space Station 13 - Modules - TypesVar Details

Pet Command: Follow

Tells a pet to follow you until you tell it to do something else

Vars

activate_on_befriendshould we activate immediately if we're doing nothing else and gain a friend?
follow_behaviorthe behavior we use to follow

Var Details

activate_on_befriend

should we activate immediately if we're doing nothing else and gain a friend?

follow_behavior

the behavior we use to follow

\ No newline at end of file diff --git a/datum/pet_command/minebot_ability.html b/datum/pet_command/minebot_ability.html new file mode 100644 index 00000000000..c661e87b051 --- /dev/null +++ b/datum/pet_command/minebot_ability.html @@ -0,0 +1 @@ +/datum/pet_command/minebot_ability - Space Station 13
Space Station 13 - Modules - TypesVar Details

minebot_ability

Vars

ability_keythe ability we will use

Var Details

ability_key

the ability we will use

\ No newline at end of file diff --git a/datum/pet_command/move.html b/datum/pet_command/move.html new file mode 100644 index 00000000000..de938074340 --- /dev/null +++ b/datum/pet_command/move.html @@ -0,0 +1 @@ +/datum/pet_command/move - Space Station 13
Space Station 13 - Modules - TypesVar Details

move

Vars

walk_behaviorthe behavior we use to walk towards targets

Var Details

walk_behavior

the behavior we use to walk towards targets

\ No newline at end of file diff --git a/datum/pet_command/protect_owner.html b/datum/pet_command/protect_owner.html new file mode 100644 index 00000000000..18c078d2075 --- /dev/null +++ b/datum/pet_command/protect_owner.html @@ -0,0 +1 @@ +/datum/pet_command/protect_owner - Space Station 13
Space Station 13 - Modules - TypesVar Details

protect_owner

Vars

friendly_fire_message_cooldownMessage cooldown to prevent spamming apologies
protect_behaviorThe behavior we will use when he is attacked
protect_rangeThe range our owner needs to be in for us to protect him
self_harm_message_cooldownMessage cooldown to prevent too many people from telling you not to commit suicide

Var Details

friendly_fire_message_cooldown

Message cooldown to prevent spamming apologies

protect_behavior

The behavior we will use when he is attacked

protect_range

The range our owner needs to be in for us to protect him

self_harm_message_cooldown

Message cooldown to prevent too many people from telling you not to commit suicide

\ No newline at end of file diff --git a/datum/pet_command/untargeted_ability.html b/datum/pet_command/untargeted_ability.html new file mode 100644 index 00000000000..7f3645a56ec --- /dev/null +++ b/datum/pet_command/untargeted_ability.html @@ -0,0 +1 @@ +/datum/pet_command/untargeted_ability - Space Station 13
Space Station 13 - Modules - TypesVar Details

Pet Command: Use ability

Use an an ability that does not require any targets

Vars

ability_keyuntargeted ability we will use

Var Details

ability_key

untargeted ability we will use

\ No newline at end of file diff --git a/datum/physiology.html b/datum/physiology.html new file mode 100644 index 00000000000..8f0d4e991d3 --- /dev/null +++ b/datum/physiology.html @@ -0,0 +1 @@ +/datum/physiology - Space Station 13
Space Station 13 - Modules - TypesVar Details

physiology datum

Datum that stores several modifiers in a way that isn't cleared by changing species

Vars

alcohol_mod% drunkenness modifier
armorinternal armor datum
bleed_mod% bleeding modifier
brain_mod% of brain damage taken from all sources
brute_mod% of brute damage taken from all sources
burn_mod% of burn damage taken from all sources
clone_mod% of clone damage taken from all sources
cold_mod% of burn damage taken from cold (stacks with burn_mod)
damage_resistance%damage reduction from all sources
heat_mod% of burn damage taken from heat (stacks with burn_mod)
hunger_mod% of hunger rate taken per tick.
melee_bonusBonus damage added to melee attacks. NOTE: this is additive rather than multiplicative, trying to multiply this will break things.
oxy_mod% of oxygen damage taken from all sources
pressure_mod% of brute damage taken from low or high pressure (stacks with brute_mod)
siemens_coeffresistance to shocks
stamina_mod% of stamina damage taken from all sources
stun_mod% stun modifier
tox_mod% of toxin damage taken from all sources

Var Details

alcohol_mod

% drunkenness modifier

armor

internal armor datum

bleed_mod

% bleeding modifier

brain_mod

% of brain damage taken from all sources

brute_mod

% of brute damage taken from all sources

burn_mod

% of burn damage taken from all sources

clone_mod

% of clone damage taken from all sources

cold_mod

% of burn damage taken from cold (stacks with burn_mod)

damage_resistance

%damage reduction from all sources

heat_mod

% of burn damage taken from heat (stacks with burn_mod)

hunger_mod

% of hunger rate taken per tick.

melee_bonus

Bonus damage added to melee attacks. NOTE: this is additive rather than multiplicative, trying to multiply this will break things.

oxy_mod

% of oxygen damage taken from all sources

pressure_mod

% of brute damage taken from low or high pressure (stacks with brute_mod)

siemens_coeff

resistance to shocks

stamina_mod

% of stamina damage taken from all sources

stun_mod

% stun modifier

tox_mod

% of toxin damage taken from all sources

\ No newline at end of file diff --git a/datum/pipeline.html b/datum/pipeline.html new file mode 100644 index 00000000000..857cec10b52 --- /dev/null +++ b/datum/pipeline.html @@ -0,0 +1 @@ +/datum/pipeline - Space Station 13
Space Station 13 - Modules - TypesProc Details

pipeline

Procs

get_connected_pipelinesGets all pipelines connected to this with valves, including src.

Proc Details

get_connected_pipelines

Gets all pipelines connected to this with valves, including src.

\ No newline at end of file diff --git a/datum/pipes/transit.html b/datum/pipes/transit.html new file mode 100644 index 00000000000..f89ebd1b317 --- /dev/null +++ b/datum/pipes/transit.html @@ -0,0 +1 @@ +/datum/pipes/transit - Space Station 13
Space Station 13 - Modules - TypesVar Details

transit

Pipe types for transit tubes.

Vars

construction_typeThe type of the object that results from dispensing this datum from the RPD.

Var Details

construction_type

The type of the object that results from dispensing this datum from the RPD.

\ No newline at end of file diff --git a/datum/plant_gene.html b/datum/plant_gene.html new file mode 100644 index 00000000000..e6ef467dbaf --- /dev/null +++ b/datum/plant_gene.html @@ -0,0 +1 @@ +/datum/plant_gene - Space Station 13
Space Station 13 - Modules - TypesVar Details

plant_gene

Vars

dangerousUsed to determine if the trait should be logged when the holder is used

Var Details

dangerous

Used to determine if the trait should be logged when the holder is used

\ No newline at end of file diff --git a/datum/playingcard.html b/datum/playingcard.html new file mode 100644 index 00000000000..84a61df6402 --- /dev/null +++ b/datum/playingcard.html @@ -0,0 +1 @@ +/datum/playingcard - Space Station 13
Space Station 13 - Modules - TypesVar Details

playingcard

Vars

back_iconThe back of the card, shown when face-down.
card_iconThe front of the card, with all the fun stuff.

Var Details

back_icon

The back of the card, shown when face-down.

card_icon

The front of the card, with all the fun stuff.

\ No newline at end of file diff --git a/datum/point_precise.html b/datum/point_precise.html new file mode 100644 index 00000000000..a2dfc99c491 --- /dev/null +++ b/datum/point_precise.html @@ -0,0 +1 @@ +/datum/point_precise - Space Station 13
Space Station 13 - Modules - TypesProc Details

point_precise

A precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!

Procs

NewFirst argument can also be a /datum/position or /atom.

Proc Details

New

First argument can also be a /datum/position or /atom.

\ No newline at end of file diff --git a/datum/point_precise/vector.html b/datum/point_precise/vector.html new file mode 100644 index 00000000000..3da3ede52e0 --- /dev/null +++ b/datum/point_precise/vector.html @@ -0,0 +1 @@ +/datum/point_precise/vector - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

vector

Vars

mpxCalculated x movement amounts to prevent having to do trig every step.
mpyCalculated y movement amounts to prevent having to do trig every step.
speedPixels per iteration

Procs

set_angleCalculations use "byond angle" where north is 0 instead of 90, and south is 180 instead of 270.
set_locationSame effect as initiliaze_location, but without setting the starting_x/y/z

Var Details

mpx

Calculated x movement amounts to prevent having to do trig every step.

mpy

Calculated y movement amounts to prevent having to do trig every step.

speed

Pixels per iteration

Proc Details

set_angle

Calculations use "byond angle" where north is 0 instead of 90, and south is 180 instead of 270.

set_location

Same effect as initiliaze_location, but without setting the starting_x/y/z

\ No newline at end of file diff --git a/datum/preference_toggle.html b/datum/preference_toggle.html new file mode 100644 index 00000000000..2e50bec5388 --- /dev/null +++ b/datum/preference_toggle.html @@ -0,0 +1 @@ +/datum/preference_toggle - Space Station 13
Space Station 13 - Modules - TypesVar Details

preference_toggle

Vars

blackbox_messageMessage for the blackbox, legacy verbs so we can't just use the name
descriptionDescription of what the pref setting does
disable_messageMessage to display when this toggle is disabled
enable_messageMessage to display when this toggle is enabled
nameName of the preference toggle. Don't set this if you don't want it to appear in game
preftoggle_bitflagBitflag this datum will set to
preftoggle_categoryCategory of the toggle
preftoggle_toggleWhat toggles to set this to?
rights_requiredRights required to be able to use this pref option

Var Details

blackbox_message

Message for the blackbox, legacy verbs so we can't just use the name

description

Description of what the pref setting does

disable_message

Message to display when this toggle is disabled

enable_message

Message to display when this toggle is enabled

name

Name of the preference toggle. Don't set this if you don't want it to appear in game

preftoggle_bitflag

Bitflag this datum will set to

preftoggle_category

Category of the toggle

preftoggle_toggle

What toggles to set this to?

rights_required

Rights required to be able to use this pref option

\ No newline at end of file diff --git a/datum/preferences.html b/datum/preferences.html new file mode 100644 index 00000000000..ed06bd31356 --- /dev/null +++ b/datum/preferences.html @@ -0,0 +1,27 @@ +/datum/preferences - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

preferences

Vars

_2fa_status2FA status
active_characterThe current active character
admin_sound_ckey_ignoreList of admin ckeys this player wont hear sounds from
character_savesList of all character saves we have. This is indexed based on the slot number
characters_loadedHave we loaded characters already?
clientfpsThis value will be converted by BYOND, don't set already converted values there, otherwise it will set client's fps 1 step higher than it should've
colourblind_modeColourblind mode
fuidForum userid
ghost_darkness_levelHow dark things are if client is a ghost, 0-255
glowlevelGlow level for the lighting. Takes values from GLOW_HIGH to GLOW_DISABLE.
keybindingsActive keybinds (currently useable by the mob/client)
keybindings_overridesKeybinding overrides ("name" => ["key"...])
map_vote_pref_jsonMap preferences for the first past the post system
screentip_colorColor of screentips at top of screen
screentip_modeScreentip Mode, in pixels. 8 is small, 15 is mega big, 0 is off.
server_regionPlayer's region override for routing optimisation
successful_loadDid we load successfully?
viewrangeView range preference for this client
volume_mixerVolume mixer, indexed by channel as TEXT (numerical indexes will not work). Volume goes from 0 to 100.
volume_mixer_savingThe volume mixer save timer handle. Used to debounce the DB call to save, to avoid spamming.

Procs

build_loadoutRebuilds the loadout_gear list of the [active_character], and returns the total end cost.
deserialize_volume_mixerReturns a volume mixer list from text, usually from the DB.
get_channel_volumeReturns a volume multiplier for the given channel, from 0 to 1 (default).
save_volume_mixerSaves [/datum/preferences/proc/volume_mixer] for the current client.
serialize_volume_mixerReturns a DB-friendly version of a volume mixer list.
set_channel_volumeChanges a channel's volume then queues it for DB save.

Var Details

_2fa_status

2FA status

active_character

The current active character

admin_sound_ckey_ignore

List of admin ckeys this player wont hear sounds from

character_saves

List of all character saves we have. This is indexed based on the slot number

characters_loaded

Have we loaded characters already?

clientfps

This value will be converted by BYOND, don't set already converted values there, otherwise it will set client's fps 1 step higher than it should've

colourblind_mode

Colourblind mode

fuid

Forum userid

ghost_darkness_level

How dark things are if client is a ghost, 0-255

glowlevel

Glow level for the lighting. Takes values from GLOW_HIGH to GLOW_DISABLE.

keybindings

Active keybinds (currently useable by the mob/client)

keybindings_overrides

Keybinding overrides ("name" => ["key"...])

map_vote_pref_json

Map preferences for the first past the post system

screentip_color

Color of screentips at top of screen

screentip_mode

Screentip Mode, in pixels. 8 is small, 15 is mega big, 0 is off.

server_region

Player's region override for routing optimisation

successful_load

Did we load successfully?

viewrange

View range preference for this client

volume_mixer

Volume mixer, indexed by channel as TEXT (numerical indexes will not work). Volume goes from 0 to 100.

volume_mixer_saving

The volume mixer save timer handle. Used to debounce the DB call to save, to avoid spamming.

Proc Details

build_loadout

Rebuilds the loadout_gear list of the [active_character], and returns the total end cost.

+

Caches and cuts the existing [/datum/character_save/var/loadout_gear] list and remakes it, checking the subtype_selection_cost and overall cost validity of each item.

+

If the item's /datum/gear/var/subtype_selection_cost is FALSE, any future items with the same /datum/gear/var/main_typepath will have their cost skipped. +If adding the item will take the total cost over the maximum, it won't be added to the list.

+

Arguments:

+

deserialize_volume_mixer

Returns a volume mixer list from text, usually from the DB.

+

Failure to deserialize will return the current value.

+

Arguments

+

get_channel_volume

Returns a volume multiplier for the given channel, from 0 to 1 (default).

+

Arguments:

+

save_volume_mixer

Saves [/datum/preferences/proc/volume_mixer] for the current client.

serialize_volume_mixer

Returns a DB-friendly version of a volume mixer list.

+

Arguments

+

set_channel_volume

Changes a channel's volume then queues it for DB save.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/program_picker.html b/datum/program_picker.html new file mode 100644 index 00000000000..195acae3f3d --- /dev/null +++ b/datum/program_picker.html @@ -0,0 +1 @@ +/datum/program_picker - Space Station 13
Space Station 13 - Modules - TypesVar Details

program_picker

Vars

assigned_aiAssociated AI
bandwidthHow much bandwidth is available
max_nanitesWhat is the maximum number of nanites?
memoryHow much memory is available
nanitesHow many nanites are available?
possible_programsList of programs that can be bought
tempHandles extra information displayed
total_bandwidthHow much total bandwidth does the system have?
total_memoryHow much total memory does the system have?

Var Details

assigned_ai

Associated AI

bandwidth

How much bandwidth is available

max_nanites

What is the maximum number of nanites?

memory

How much memory is available

nanites

How many nanites are available?

possible_programs

List of programs that can be bought

temp

Handles extra information displayed

total_bandwidth

How much total bandwidth does the system have?

total_memory

How much total memory does the system have?

\ No newline at end of file diff --git a/datum/proximity_monitor.html b/datum/proximity_monitor.html new file mode 100644 index 00000000000..7e6fc1baf54 --- /dev/null +++ b/datum/proximity_monitor.html @@ -0,0 +1 @@ +/datum/proximity_monitor - Space Station 13
Space Station 13 - Modules - TypesVar Details

proximity_monitor

Vars

current_rangeThe range of the proximity monitor. Things moving wihin it will trigger HasProximity calls.
hasprox_receiverThe atom that will receive HasProximity calls.
hostThe atom we are tracking
ignore_if_not_on_turfIf we don't check turfs in range if the host's loc isn't a turf
loc_connectionsThe signals of the connect range component, needed to monitor the turfs in range.

Var Details

current_range

The range of the proximity monitor. Things moving wihin it will trigger HasProximity calls.

hasprox_receiver

The atom that will receive HasProximity calls.

host

The atom we are tracking

ignore_if_not_on_turf

If we don't check turfs in range if the host's loc isn't a turf

loc_connections

The signals of the connect range component, needed to monitor the turfs in range.

\ No newline at end of file diff --git a/datum/proximity_monitor/advanced.html b/datum/proximity_monitor/advanced.html new file mode 100644 index 00000000000..356ac2aba65 --- /dev/null +++ b/datum/proximity_monitor/advanced.html @@ -0,0 +1,16 @@ +/datum/proximity_monitor/advanced - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

advanced

Movable and easily code-modified fields! Allows for custom AOE effects that affect movement +and anything inside of them, and can do custom turf effects! +Supports automatic recalculation/reset on movement.

+

"What do I gain from using advanced over standard prox monitors?"

+

Vars

edge_is_a_fieldIf TRUE, edge turfs will be included as "in the field" for effects +Can be used in certain situations where you may have effects that trigger only at the edge, +while also wanting the field effect to trigger at edge turfs as well
edge_turfsAll turfs on the very last tile of the proximity monitor's radius
field_turfsAll turfs on the inside of the proximity monitor - range - 1 turfs

Procs

cleanup_edge_turfCalled when a turf in the edge of the monitor is unlinked +Do NOT call this manually, requires management of the edge_turfs list
cleanup_effectsA holder proc for cleaning up various effects.
cleanup_field_turfCalled when a turf in the field of the monitor is unlinked +Do NOT call this manually, requires management of the field_turfs list
setup_edge_turfCalled when a turf in the edge of the monitor is linked
setup_field_turfCalled when a turf in the field of the monitor is linked

Var Details

edge_is_a_field

If TRUE, edge turfs will be included as "in the field" for effects +Can be used in certain situations where you may have effects that trigger only at the edge, +while also wanting the field effect to trigger at edge turfs as well

edge_turfs

All turfs on the very last tile of the proximity monitor's radius

field_turfs

All turfs on the inside of the proximity monitor - range - 1 turfs

Proc Details

cleanup_edge_turf

Called when a turf in the edge of the monitor is unlinked +Do NOT call this manually, requires management of the edge_turfs list

cleanup_effects

A holder proc for cleaning up various effects.

cleanup_field_turf

Called when a turf in the field of the monitor is unlinked +Do NOT call this manually, requires management of the field_turfs list

setup_edge_turf

Called when a turf in the edge of the monitor is linked

setup_field_turf

Called when a turf in the field of the monitor is linked

\ No newline at end of file diff --git a/datum/proximity_monitor/advanced/ai_target_tracking.html b/datum/proximity_monitor/advanced/ai_target_tracking.html new file mode 100644 index 00000000000..f39e4fcfbad --- /dev/null +++ b/datum/proximity_monitor/advanced/ai_target_tracking.html @@ -0,0 +1,3 @@ +/datum/proximity_monitor/advanced/ai_target_tracking - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai_target_tracking

Vars

controllerThe ai controller we're using
filterThe targeting strategy we're using
first_buildIf we've built our field yet +Prevents wasted work on the first build (since the behavior did it)
hiding_location_keyThe hiding location key we're using
owning_behaviorThe ai behavior who owns us
target_keyThe target key we're trying to fill
targeting_strategy_keyThe targeting strategy KEY we're using

Procs

check_new_argsEnsure our args and locals are up to date
controller_deletedReact to controller planning
controller_thinkReact to controller planning
pawn_changedReact to the pawn goin byebye

Var Details

controller

The ai controller we're using

filter

The targeting strategy we're using

first_build

If we've built our field yet +Prevents wasted work on the first build (since the behavior did it)

hiding_location_key

The hiding location key we're using

owning_behavior

The ai behavior who owns us

target_key

The target key we're trying to fill

targeting_strategy_key

The targeting strategy KEY we're using

Proc Details

check_new_args

Ensure our args and locals are up to date

controller_deleted

React to controller planning

controller_think

React to controller planning

pawn_changed

React to the pawn goin byebye

\ No newline at end of file diff --git a/datum/qdel_item.html b/datum/qdel_item.html new file mode 100644 index 00000000000..d7bda115b26 --- /dev/null +++ b/datum/qdel_item.html @@ -0,0 +1 @@ +/datum/qdel_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

qdel_item

Vars

reference_averageAverage amount of references that the hard deleted item holds when hard deleted

Var Details

reference_average

Average amount of references that the hard deleted item holds when hard deleted

\ No newline at end of file diff --git a/datum/quirk.html b/datum/quirk.html new file mode 100644 index 00000000000..a81147090ae --- /dev/null +++ b/datum/quirk.html @@ -0,0 +1 @@ +/datum/quirk - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

quirk

Vars

blacklistedIf having this bars you from rolling sec/command
costA positive or negative number, good quirks should be 1 to 4, bad quirks should be -1 to -4
descThe (somewhat) IC explanation of what this quirk does, to be shown in the TGUI menu.
item_slotIf there's an item to give, what slot should it be equipped to roundstart?
item_to_giveIf this quirk lets the mob spawn with an item
mob_to_spawnIf the quirk should spawn a mob with the player.
nameName of the quirk. It's important that the basetypes don't have a name, and that any quirks you want people to see to have one.
organ_slot_to_removeWhat organ should be removed (if any). Must be the string name of the organ as found in the has_organ var from the species datum.
organ_to_giveThe path of the organ the quirk should give.
ownerThe mob that this quirk gets applied to.
processesIf this quirk needs to do something every life cycle
species_flagsIf IPCs and/or organic people can use it
trait_to_applyIf this quirk applies a trait, what trait should be applied.

Procs

remove_quirk_effectsFor any behavior that needs to happen before a quirk is destroyed

Var Details

blacklisted

If having this bars you from rolling sec/command

cost

A positive or negative number, good quirks should be 1 to 4, bad quirks should be -1 to -4

desc

The (somewhat) IC explanation of what this quirk does, to be shown in the TGUI menu.

item_slot

If there's an item to give, what slot should it be equipped to roundstart?

item_to_give

If this quirk lets the mob spawn with an item

mob_to_spawn

If the quirk should spawn a mob with the player.

name

Name of the quirk. It's important that the basetypes don't have a name, and that any quirks you want people to see to have one.

organ_slot_to_remove

What organ should be removed (if any). Must be the string name of the organ as found in the has_organ var from the species datum.

organ_to_give

The path of the organ the quirk should give.

owner

The mob that this quirk gets applied to.

processes

If this quirk needs to do something every life cycle

species_flags

If IPCs and/or organic people can use it

trait_to_apply

If this quirk applies a trait, what trait should be applied.

Proc Details

remove_quirk_effects

For any behavior that needs to happen before a quirk is destroyed

\ No newline at end of file diff --git a/datum/radiation_wave.html b/datum/radiation_wave.html new file mode 100644 index 00000000000..adab109c67b --- /dev/null +++ b/datum/radiation_wave.html @@ -0,0 +1 @@ +/datum/radiation_wave - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

radiation_wave

Vars

__dirsThe directions to the side of the wave, stored for easy looping
emission_typeThe type of particle emitted
intensityThe strength at the origin. Multiplied by the weight of a tile to determine the strength of radiation there.
master_turfThe top left corner of the wave, from which we begin iteration on a step
move_dirThe direction of movement
sourceThe thing that spawned this radiation wave
stepsHow far we've moved
weight_sumSum of all weights
weightsWeights of the current tiles in the step going clockwise from the top left corner. Starts as one tile with a weight of 1

Procs

processDeals with wave propagation. Radiation waves always expand in a 90 degree cone
radiateCalls rad act on each relevant atom in the turf and returns the resulting weight for that tile after reduction by insulation

Var Details

__dirs

The directions to the side of the wave, stored for easy looping

emission_type

The type of particle emitted

intensity

The strength at the origin. Multiplied by the weight of a tile to determine the strength of radiation there.

master_turf

The top left corner of the wave, from which we begin iteration on a step

move_dir

The direction of movement

source

The thing that spawned this radiation wave

steps

How far we've moved

weight_sum

Sum of all weights

weights

Weights of the current tiles in the step going clockwise from the top left corner. Starts as one tile with a weight of 1

Proc Details

process

Deals with wave propagation. Radiation waves always expand in a 90 degree cone

radiate

Calls rad act on each relevant atom in the turf and returns the resulting weight for that tile after reduction by insulation

\ No newline at end of file diff --git a/datum/rcd_act.html b/datum/rcd_act.html new file mode 100644 index 00000000000..67cf7a49642 --- /dev/null +++ b/datum/rcd_act.html @@ -0,0 +1 @@ +/datum/rcd_act - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

rcd_act

A generic action for an RCD.

Vars

costHow much compressed matter this action costs.
delayHow long this action takes.
end_effect_typeThe effect (if any) to create when the action completes.
modeThe mode the RCD must be in.
start_effect_typeThe effect (if any) to create when the action starts.
start_messageThe message (if any) to send the user when the action starts.

Procs

actPerform the act. You should usually override this.
can_actTest to see if the act is possible. You should usually override this.
try_actAttempt the action. This should not need to be overridden.

Var Details

cost

How much compressed matter this action costs.

delay

How long this action takes.

end_effect_type

The effect (if any) to create when the action completes.

mode

The mode the RCD must be in.

start_effect_type

The effect (if any) to create when the action starts.

start_message

The message (if any) to send the user when the action starts.

Proc Details

act

Perform the act. You should usually override this.

can_act

Test to see if the act is possible. You should usually override this.

try_act

Attempt the action. This should not need to be overridden.

\ No newline at end of file diff --git a/datum/reagent.html b/datum/reagent.html new file mode 100644 index 00000000000..c821f486cf5 --- /dev/null +++ b/datum/reagent.html @@ -0,0 +1,6 @@ +/datum/reagent - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

reagent

Vars

addiction_decay_ratehow quickly the addiction threshold var decays
allowed_overdose_processIf this variable is true, chemicals will continue to process in mobs when overdosed.
burn_colorIf we burn in a fire, what color do we have?
burn_durationHow long would a fire burn using this reagent? Currently only used for chemical flamethrowers
burn_temperatureAt what temperature does this reagent burn? Currently only used for chemical flamethrowers
colorThe color of the agent outside of containers.
fire_stack_applicationsHow many firestacks will the reagent apply when it is burning? Currently only used for chemical flamethrowers
holderA reference to the holder the chemical is 'in'.
max_kidney_damageHow much damage can this reagent do when you have no kidneys?

Procs

reaction_mobReact with a mob.
reaction_objReact with an object.
reaction_radiationBy default do nothing
reaction_temperatureBy default do nothing
reaction_turfReact with a turf.

Var Details

addiction_decay_rate

how quickly the addiction threshold var decays

allowed_overdose_process

If this variable is true, chemicals will continue to process in mobs when overdosed.

burn_color

If we burn in a fire, what color do we have?

burn_duration

How long would a fire burn using this reagent? Currently only used for chemical flamethrowers

burn_temperature

At what temperature does this reagent burn? Currently only used for chemical flamethrowers

color

The color of the agent outside of containers.

fire_stack_applications

How many firestacks will the reagent apply when it is burning? Currently only used for chemical flamethrowers

holder

A reference to the holder the chemical is 'in'.

max_kidney_damage

How much damage can this reagent do when you have no kidneys?

Proc Details

reaction_mob

React with a mob.

+

The method var can be either REAGENT_TOUCH or REAGENT_INGEST. Some +reagents transfer on touch, others don't; dependent on if they penetrate the +skin or not. You'll want to put stuff like acid-facemelting in here. Should +only ever be called, directly, on living mobs.

reaction_obj

React with an object.

reaction_radiation

By default do nothing

reaction_temperature

By default do nothing

reaction_turf

React with a turf.

+

You'll want to put stuff like extra slippery floors for lube or something in here.

\ No newline at end of file diff --git a/datum/reagent/aranesp.html b/datum/reagent/aranesp.html new file mode 100644 index 00000000000..2c652b20a72 --- /dev/null +++ b/datum/reagent/aranesp.html @@ -0,0 +1 @@ +/datum/reagent/aranesp - Space Station 13
Space Station 13 - Modules - TypesVar Details

aranesp

Vars

tenacityhow much do we edit the stun and stamina mods? lower is more resistance

Var Details

tenacity

how much do we edit the stun and stamina mods? lower is more resistance

\ No newline at end of file diff --git a/datum/reagent/blood.html b/datum/reagent/blood.html new file mode 100644 index 00000000000..181e6011e73 --- /dev/null +++ b/datum/reagent/blood.html @@ -0,0 +1 @@ +/datum/reagent/blood - Space Station 13
Space Station 13 - Modules - TypesProc Details

blood

Procs

reaction_radiationIf irradiated by beta radiation and there are advanced viruses in the blood become a sample of viral genetic data

Proc Details

reaction_radiation

If irradiated by beta radiation and there are advanced viruses in the blood become a sample of viral genetic data

\ No newline at end of file diff --git a/datum/reagent/consumable/ethanol/mezcal.html b/datum/reagent/consumable/ethanol/mezcal.html new file mode 100644 index 00000000000..afd648dfe14 --- /dev/null +++ b/datum/reagent/consumable/ethanol/mezcal.html @@ -0,0 +1 @@ +/datum/reagent/consumable/ethanol/mezcal - Space Station 13
Space Station 13 - Modules - TypesVar Details

mezcal

Vars

nameBy mazapan

Var Details

name

By mazapan

\ No newline at end of file diff --git a/datum/reagent/consumable/ethanol/sontse.html b/datum/reagent/consumable/ethanol/sontse.html new file mode 100644 index 00000000000..894bc252cff --- /dev/null +++ b/datum/reagent/consumable/ethanol/sontse.html @@ -0,0 +1 @@ +/datum/reagent/consumable/ethanol/sontse - Space Station 13
Space Station 13 - Modules - TypesVar Details

sontse

Vars

activatedExists purely because of changelings. I hate them.

Var Details

activated

Exists purely because of changelings. I hate them.

\ No newline at end of file diff --git a/datum/reagent/helgrasp.html b/datum/reagent/helgrasp.html new file mode 100644 index 00000000000..41ec1a2f83b --- /dev/null +++ b/datum/reagent/helgrasp.html @@ -0,0 +1 @@ +/datum/reagent/helgrasp - Space Station 13
Space Station 13 - Modules - TypesVar Details

helgrasp

Vars

next_throw_timeKeeps track of when the last hand was thrown
throw_intervalInterval between hand throws
toxin_damageHow much toxin damage do we do each tick?

Var Details

next_throw_time

Keeps track of when the last hand was thrown

throw_interval

Interval between hand throws

toxin_damage

How much toxin damage do we do each tick?

\ No newline at end of file diff --git a/datum/reagent/mephedrone.html b/datum/reagent/mephedrone.html new file mode 100644 index 00000000000..28e1c21041f --- /dev/null +++ b/datum/reagent/mephedrone.html @@ -0,0 +1 @@ +/datum/reagent/mephedrone - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mephedrone

Vars

changeling_chemical_trackerKeeps track of how many chemicals we are delaying the changeling by.

Procs

dodge_bulletsTries to dodge incoming bullets if we aren't disabled for any reasons
no_hud_cheeseSo. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals
no_hud_cheese_2This part of the anticheese sets up the basic visual effects normally setup when the reagent gets into your system.
no_hud_cheese_3This part sets up the OD visual effects.
on_movementLeaves an afterimage behind the mob when they move

Var Details

changeling_chemical_tracker

Keeps track of how many chemicals we are delaying the changeling by.

Proc Details

dodge_bullets

Tries to dodge incoming bullets if we aren't disabled for any reasons

no_hud_cheese

So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals

no_hud_cheese_2

This part of the anticheese sets up the basic visual effects normally setup when the reagent gets into your system.

no_hud_cheese_3

This part sets up the OD visual effects.

on_movement

Leaves an afterimage behind the mob when they move

\ No newline at end of file diff --git a/datum/reagent/methamphetamine.html b/datum/reagent/methamphetamine.html new file mode 100644 index 00000000000..d1315e42e62 --- /dev/null +++ b/datum/reagent/methamphetamine.html @@ -0,0 +1 @@ +/datum/reagent/methamphetamine - Space Station 13
Space Station 13 - Modules - TypesVar Details

methamphetamine

Vars

tenacitymodifier to the stun time of the mob taking the drug

Var Details

tenacity

modifier to the stun time of the mob taking the drug

\ No newline at end of file diff --git a/datum/reagent/oil.html b/datum/reagent/oil.html new file mode 100644 index 00000000000..a36d5247e70 --- /dev/null +++ b/datum/reagent/oil.html @@ -0,0 +1 @@ +/datum/reagent/oil - Space Station 13
Space Station 13 - Modules - TypesVar Details

oil

Vars

reagent_after_burningWhat this becomes after burning.

Var Details

reagent_after_burning

What this becomes after burning.

\ No newline at end of file diff --git a/datum/reagent/virus_genes.html b/datum/reagent/virus_genes.html new file mode 100644 index 00000000000..11a854e388d --- /dev/null +++ b/datum/reagent/virus_genes.html @@ -0,0 +1 @@ +/datum/reagent/virus_genes - Space Station 13
Space Station 13 - Modules - TypesProc Details

virus_genes

Procs

on_mergeDepth 1 copy of the lists

Proc Details

on_merge

Depth 1 copy of the lists

\ No newline at end of file diff --git a/datum/reagents.html b/datum/reagents.html new file mode 100644 index 00000000000..a4e8e4f5a64 --- /dev/null +++ b/datum/reagents.html @@ -0,0 +1,42 @@ +/datum/reagents - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Reagents Holder

The holder is the datum that holds a list of all reagents +currently in the object.

+

By default, all atom have an empty reagents var. If you want to use +an object for the chemistry system you'll need to add something like this in +its new proc:

+
// Create a new datum, 100 is the maximum_volume of the new holder datum.
+var/datum/reagents/R = new/datum/reagents(100)
+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 e.g. +/atom/proc/create_reagents(max_volume)

Vars

maximum_volumeThis is the maximum volume of the holder.
my_atomThis is the atom the holder is 'in'. Useful if you need to find the location. (i.e. for explosions)
reagent_listAll contained reagents. More specifically, references to the reagent datums.
total_volumeThe total volume of all reagents in this holder.

Procs

add_reagentAttempts to add X of the matching reagent to the holder.
clear_reagentsRemove all reagents from the holder.
del_reagentCompletely remove the reagent with the matching ID.
get_master_reagent_idGet the id of the reagent there is the most of in this holder
get_reagent_amountReturns the amount of the matching reagent inside the holder.
handle_reactionsCheck all recipes and, on a match, uses them.
has_reagentReturn whether the holder contains the reagent.
isolate_reagentRemove all reagents but the specified one.
metabolizeCalled by /mob/living/proc/Life. You shouldn't have to use this one directly.
overdose_listReturns a list of all the chemical IDs in the reagent holder that are overdosing.
reactionCalls the appropriate reaction procs of the reagents.
remove_anyRemoves reagents from the holder until the passed amount is matched.
remove_reagentThe exact opposite of the add_reagent proc.
trans_id_toSame as /datum/reagents/proc/trans_to 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.
trans_toEqually transfer the contents of the holder to another objects holder.
update_totalUpdate the total volume of the holder (the volume of all reagents added together).

Var Details

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)

reagent_list

All contained reagents. More specifically, references to the reagent datums.

total_volume

The total volume of all reagents in this holder.

Proc Details

add_reagent

Attempts to add X of the matching reagent to the holder.

+

You won't use this much. Mostly in new procs for pre-filled objects.

clear_reagents

Remove all reagents from the holder.

del_reagent

Completely remove the reagent with the matching ID.

get_master_reagent_id

Get the id of the reagent there is the most of in this holder

get_reagent_amount

Returns the amount of the matching reagent inside the holder.

+

Returns FALSE if the reagent is missing.

handle_reactions

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 /datum/reagents/proc/trans_to. +Modified from the original to preserve reagent data across reactions +(originally for xenoarchaeology).

has_reagent

Return whether the holder contains the reagent.

+

If you pass it an amount it will additionally check if the amount is matched.

isolate_reagent

Remove all reagents but the specified one.

metabolize

Called by /mob/living/proc/Life. You shouldn't have to use this one directly.

overdose_list

Returns a list of all the chemical IDs in the reagent holder that are overdosing.

reaction

Calls the appropriate reaction procs of the reagents.

+

I.e. if A is an object, it will call the reagent's reaction_obj +proc. The method var is used for reaction on mobs. It simply tells +us if the mob TOUCHed the reagent or if it INGESTed the reagent.

+

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

remove_any

Removes reagents from the holder until the passed amount is matched.

+

It'll try to remove some of ALL reagents contained.

remove_reagent

The exact opposite of the add_reagent proc.

+

Modified from original to return the reagent's data, in order to preserve +reagent data across reactions (originally for xenoarchaeology).

trans_id_to

Same as /datum/reagents/proc/trans_to 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.

trans_to

Equally transfer 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).

+

If preserve_data = FALSE, the reagents data will be lost. Useful if you use +data for some strange stuff and don't want it to be transferred.

update_total

Update the total volume of the holder (the volume of all reagents added together).

\ No newline at end of file diff --git a/datum/reagents_editor.html b/datum/reagents_editor.html new file mode 100644 index 00000000000..bde631f645c --- /dev/null +++ b/datum/reagents_editor.html @@ -0,0 +1 @@ +/datum/reagents_editor - Space Station 13
Space Station 13 - Modules - TypesVar Details

reagents_editor

Vars

editorsIndexed by target.UID

Var Details

editors

Indexed by target.UID

\ No newline at end of file diff --git a/datum/reality_smash_tracker.html b/datum/reality_smash_tracker.html new file mode 100644 index 00000000000..9b9ec7d2d4d --- /dev/null +++ b/datum/reality_smash_tracker.html @@ -0,0 +1,13 @@ +/datum/reality_smash_tracker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

reality_smash_tracker

#Reality smash tracker

+

A global singleton data that tracks all the heretic +influences ("reality smashes") that we've created, +and all of the heretics (minds) that can see them.

+

Handles ensuring all minds can see influences, generating +new influences for new heretic minds, and allowing heretics +to see new influences that are created.

Vars

num_drainedThe total number of influences that have been drained, for tracking.
smashesList of tracked influences (reality smashes)
tracked_hereticsList of minds with the ability to see influences

Procs

add_tracked_mindAdds a mind to the list of people that can see the reality smashes
generate_new_influencesGenerates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.
remove_tracked_mindRemoves a mind from the list of people that can see the reality smashes

Var Details

num_drained

The total number of influences that have been drained, for tracking.

smashes

List of tracked influences (reality smashes)

tracked_heretics

List of minds with the ability to see influences

Proc Details

add_tracked_mind

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_new_influences

Generates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.

remove_tracked_mind

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

\ No newline at end of file diff --git a/datum/recipe.html b/datum/recipe.html new file mode 100644 index 00000000000..35c47dcca1a --- /dev/null +++ b/datum/recipe.html @@ -0,0 +1,17 @@ +/datum/recipe - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

recipe

Vars

duplicateWhether or not an upgraded kitchen machine will create more products using the same amount of ingredients

Procs

check_items_assoc_listSimilarly to the function above, this checks for items, except instead of being passed a reagent holder, we're passed +[type_path] = amount as num. +Returns INGREDIENT_CHECK_EXACT if we have the precise amount thats requested. +Returns INGREDIENT_CHECK_FAILURE if we do not have enough. +Returns INGREDIENT_CHECK_SURPLUS if we have MORE than requested.
check_reagents_assoc_listSimilarly to the function above, this checks for reagents, except instead of being passed a reagent holder, we're passed +[reagent_id] = amount as num. +Returns INGREDIENT_CHECK_EXACT if we have the precise amount thats requested. +Returns INGREDIENT_CHECK_FAILURE if we do not have enough. +Returns INGREDIENT_CHECK_SURPLUS if we have MORE than requested.

Var Details

duplicate

Whether or not an upgraded kitchen machine will create more products using the same amount of ingredients

Proc Details

check_items_assoc_list

Similarly to the function above, this checks for items, except instead of being passed a reagent holder, we're passed +[type_path] = amount as num. +Returns INGREDIENT_CHECK_EXACT if we have the precise amount thats requested. +Returns INGREDIENT_CHECK_FAILURE if we do not have enough. +Returns INGREDIENT_CHECK_SURPLUS if we have MORE than requested.

check_reagents_assoc_list

Similarly to the function above, this checks for reagents, except instead of being passed a reagent holder, we're passed +[reagent_id] = amount as num. +Returns INGREDIENT_CHECK_EXACT if we have the precise amount thats requested. +Returns INGREDIENT_CHECK_FAILURE if we do not have enough. +Returns INGREDIENT_CHECK_SURPLUS if we have MORE than requested.

\ No newline at end of file diff --git a/datum/redis_callback.html b/datum/redis_callback.html new file mode 100644 index 00000000000..5a1f220f01b --- /dev/null +++ b/datum/redis_callback.html @@ -0,0 +1,10 @@ +/datum/redis_callback - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Redis callback

Callback datum for subscribed redis channel handling

+

This datum is used for easily assigning callbacks for SSredis to use +when a message is receievd on a channel. Define a channel on the channel +var and SSredis will automatically register subtypes of /datum/redis_callback

Vars

channelChannel for this callback to listen on

Procs

on_messageMessage handler callback

Var Details

channel

Channel for this callback to listen on

Proc Details

on_message

Message handler callback

+

This callback is ran when a message is received on the assigned channel. +Make sure you override it on subtypes or it wont work.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/redis_message.html b/datum/redis_message.html new file mode 100644 index 00000000000..1b1a296287e --- /dev/null +++ b/datum/redis_message.html @@ -0,0 +1,4 @@ +/datum/redis_message - Space Station 13
Space Station 13 - Modules - TypesVar Details

Redis message

Holder datum for redis messages

+

This datum is used for caching messages that SSredis tries to +publish before it has connected. It is not used for any subscribed +channel handling.

Vars

channelDestination channel for this message
messageMessage for that channel

Var Details

channel

Destination channel for this message

message

Message for that channel

\ No newline at end of file diff --git a/datum/regional_powernet.html b/datum/regional_powernet.html new file mode 100644 index 00000000000..59c33152105 --- /dev/null +++ b/datum/regional_powernet.html @@ -0,0 +1 @@ +/datum/regional_powernet - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

regional_powernet

Vars

available_powerthe current available power in the powernet (Watts)
cablesA list of All cables & junctions in this powernet
excess_powerexcess power on the powernet (typically avail-load) (Watts)
nodesAll Power Machines that are connected to this powernet
numberThe Powernet Unique ID Number
power_demandthe current load on the powernet, increased by each machine at processing (Watts)
queued_power_demandload applied to powernet between power ticks. (Watts)
queued_power_productionwhat available power was gathered last tick, then becomes... (Watts)
smoothed_available_powerthe available power as it appears on the power console (gradually updated) (Watts)
smoothed_demandthe load as it appears on the power console (gradually updated)

Procs

add_cableadd a cable to the current powernet
add_machineadd a power machine to the current powernet
calculate_power_balanceReturns the non-clamped difference between available power on the net and the demanded power, i.g. consumption vs. supply
calculate_surplusReturns the clamped difference between available power on the net and the demanded power, i.g. the surplus power available
remove_cableremove a cable from the current powernet, if the powernet is empty after, delete it
remove_machineremove a power machine from the current powernet, if the powernet is then empty, delete it

Var Details

available_power

the current available power in the powernet (Watts)

cables

A list of All cables & junctions in this powernet

excess_power

excess power on the powernet (typically avail-load) (Watts)

nodes

All Power Machines that are connected to this powernet

number

The Powernet Unique ID Number

power_demand

the current load on the powernet, increased by each machine at processing (Watts)

queued_power_demand

load applied to powernet between power ticks. (Watts)

queued_power_production

what available power was gathered last tick, then becomes... (Watts)

smoothed_available_power

the available power as it appears on the power console (gradually updated) (Watts)

smoothed_demand

the load as it appears on the power console (gradually updated)

Proc Details

add_cable

add a cable to the current powernet

add_machine

add a power machine to the current powernet

calculate_power_balance

Returns the non-clamped difference between available power on the net and the demanded power, i.g. consumption vs. supply

calculate_surplus

Returns the clamped difference between available power on the net and the demanded power, i.g. the surplus power available

remove_cable

remove a cable from the current powernet, if the powernet is empty after, delete it

remove_machine

remove a power machine from the current powernet, if the powernet is then empty, delete it

\ No newline at end of file diff --git a/datum/rep_purchase.html b/datum/rep_purchase.html new file mode 100644 index 00000000000..bff1050b0ff --- /dev/null +++ b/datum/rep_purchase.html @@ -0,0 +1,14 @@ +/datum/rep_purchase - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Rep Purchase

Describes something that can be purchased with Contractor Rep.

Vars

costThe price in Contractor Rep of the purchase.
descriptionThe description of the purchase.
nameThe display name of the purchase.
stockHow many times the purchase can be made. +-1 means infinite stock.

Procs

buyAttempts to perform the purchase.
on_buyCalled when the purchase was made successfully.

Var Details

cost

The price in Contractor Rep of the purchase.

description

The description of the purchase.

name

The display name of the purchase.

stock

How many times the purchase can be made. +-1 means infinite stock.

Proc Details

buy

Attempts to perform the purchase.

+

Returns TRUE or FALSE depending on whether the purchase succeeded.

+

Arguments:

+

on_buy

Called when the purchase was made successfully.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/rep_purchase/blackout.html b/datum/rep_purchase/blackout.html new file mode 100644 index 00000000000..f4690041db6 --- /dev/null +++ b/datum/rep_purchase/blackout.html @@ -0,0 +1 @@ +/datum/rep_purchase/blackout - Space Station 13
Space Station 13 - Modules - TypesVar Details

Rep Purchase MARK: Actions

Vars

cooldownHow long a contractor must wait before calling another blackout, in deciseconds.
next_blackoutStatic cooldown variable for blackouts.

Var Details

cooldown

How long a contractor must wait before calling another blackout, in deciseconds.

next_blackout

Static cooldown variable for blackouts.

\ No newline at end of file diff --git a/datum/rep_purchase/item.html b/datum/rep_purchase/item.html new file mode 100644 index 00000000000..f8bc6cc7400 --- /dev/null +++ b/datum/rep_purchase/item.html @@ -0,0 +1 @@ +/datum/rep_purchase/item - Space Station 13
Space Station 13 - Modules - TypesVar Details

Rep Purchase - Item

Describes an item that can be purchased with Contractor Rep.

Vars

item_typeThe typepath of the item to instantiate and give to the buyer on purchase.

Var Details

item_type

The typepath of the item to instantiate and give to the buyer on purchase.

\ No newline at end of file diff --git a/datum/research.html b/datum/research.html new file mode 100644 index 00000000000..d81f21a5560 --- /dev/null +++ b/datum/research.html @@ -0,0 +1,4 @@ +/datum/research - Space Station 13
Space Station 13 - Modules - TypesVar Details

research

				Master Types						
+
+

Includes all the helper procs and basic tech processing. +Holder for all the existing, archived, and known tech. Individual to each network controller.

Vars

blacklisted_designsList of designs that have been blacklisted by the server controller
known_designsList of available designs
known_techList of locally known tech.
possible_designsList of all designs
unblacklisted_designsUsed during the rnd sync system, to ensure that blacklists are reverted, then cleared.

Var Details

blacklisted_designs

List of designs that have been blacklisted by the server controller

known_designs

List of available designs

known_tech

List of locally known tech.

possible_designs

List of all designs

unblacklisted_designs

Used during the rnd sync system, to ensure that blacklists are reverted, then cleared.

\ No newline at end of file diff --git a/datum/response_team.html b/datum/response_team.html new file mode 100644 index 00000000000..814b33b164f --- /dev/null +++ b/datum/response_team.html @@ -0,0 +1 @@ +/datum/response_team - Space Station 13
Space Station 13 - Modules - TypesVar Details

response_team

Vars

silentWhether the ERT announcement should be hidden from the station

Var Details

silent

Whether the ERT announcement should be hidden from the station

\ No newline at end of file diff --git a/datum/resumable_cost_counter.html b/datum/resumable_cost_counter.html new file mode 100644 index 00000000000..bd03ee2d429 --- /dev/null +++ b/datum/resumable_cost_counter.html @@ -0,0 +1 @@ +/datum/resumable_cost_counter - Space Station 13
Space Station 13 - Modules - TypesProc Details

resumable_cost_counter

A cost counter for resumable, repeating processes.

Procs

record_progressUpdates the counter based on the time spent making progress and whether we finished the task.
to_stringGets a display string for this cost counter.

Proc Details

record_progress

Updates the counter based on the time spent making progress and whether we finished the task.

to_string

Gets a display string for this cost counter.

\ No newline at end of file diff --git a/datum/river_spawner.html b/datum/river_spawner.html new file mode 100644 index 00000000000..40989c62b22 --- /dev/null +++ b/datum/river_spawner.html @@ -0,0 +1,11 @@ +/datum/river_spawner - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

river_spawner

A straightforward system for making "rivers", paths made up of a specific +turf type that are generated in a random path on a z-level.

Vars

collected_turfsTo hold all the found turfs to convert to the lava type
ignore_bridgesDo we ignore building any bridges?
river_turf_typeThe base type that makes up the river.
shoreline_turf_typeThe turf used when a spread of the tile stops.
spread_probThe initial probability that a river tile will spread to adjacent tiles.
spread_prob_lossThe amount reduced from spread_prob on every spread iteration to cause falloff.
target_zThe z-level to generate the river on. There is theoretically nothing stopping +this from being used across z-levels, but we're keeping things simple.
warningDoes the lava generate a warning beforehand
whitelist_area_typeThe area that the spawner is allowed to spread or detour to.
whitelist_turf_typeThe type that the spawner is allowed to spread or detour to.

Procs

convert_turfactually convert the turf
generateGenerate a river between the bounds specified by (min_x, min_y) and +(max_x, max_y).
handle_changehandles changing the lava turfs, and if it should delay it and place warnings

Var Details

collected_turfs

To hold all the found turfs to convert to the lava type

ignore_bridges

Do we ignore building any bridges?

river_turf_type

The base type that makes up the river.

shoreline_turf_type

The turf used when a spread of the tile stops.

spread_prob

The initial probability that a river tile will spread to adjacent tiles.

spread_prob_loss

The amount reduced from spread_prob on every spread iteration to cause falloff.

target_z

The z-level to generate the river on. There is theoretically nothing stopping +this from being used across z-levels, but we're keeping things simple.

warning

Does the lava generate a warning beforehand

whitelist_area_type

The area that the spawner is allowed to spread or detour to.

whitelist_turf_type

The type that the spawner is allowed to spread or detour to.

Proc Details

convert_turf

actually convert the turf

generate

Generate a river between the bounds specified by (min_x, min_y) and +(max_x, max_y).

+

nodes is the number of unique points in those bounds the river will +connect to. Note that nodes says little about the resultant size of the +river due to its ability to detour far away from the direct path between them. +set ignore_bridges TRUE to not spawn any new bridges, and set warning to TRUE to +allow for the new generations to have a telegraphed icon first

handle_change

handles changing the lava turfs, and if it should delay it and place warnings

\ No newline at end of file diff --git a/datum/rnd_backup.html b/datum/rnd_backup.html new file mode 100644 index 00000000000..56035f32771 --- /dev/null +++ b/datum/rnd_backup.html @@ -0,0 +1 @@ +/datum/rnd_backup - Space Station 13
Space Station 13 - Modules - TypesVar Details

rnd_backup

Vars

last_nameName of last network
last_timestampTimestamp of last backup
levelsList of levels

Var Details

last_name

Name of last network

last_timestamp

Timestamp of last backup

levels

List of levels

\ No newline at end of file diff --git a/datum/robot_component.html b/datum/robot_component.html new file mode 100644 index 00000000000..8a536ea2aa3 --- /dev/null +++ b/datum/robot_component.html @@ -0,0 +1 @@ +/datum/robot_component - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

robot_component

Vars

current_slowdown_factorHow much a component is contributing to slowdown, set on New to be equal to min_slowdown_factor
max_slowdown_factorThe max amount of slowness a component can contribute, set on New to be 1% of the max damage
min_slowdown_factorThe minimum amount of speed modification a component can contribute. Currently just 0 for all.

Procs

rounding_error_checkThere tends to be some desync between slowdown and damage when being healed up slowly like through self-repair or upgraded rechargers.

Var Details

current_slowdown_factor

How much a component is contributing to slowdown, set on New to be equal to min_slowdown_factor

max_slowdown_factor

The max amount of slowness a component can contribute, set on New to be 1% of the max damage

min_slowdown_factor

The minimum amount of speed modification a component can contribute. Currently just 0 for all.

Proc Details

rounding_error_check

There tends to be some desync between slowdown and damage when being healed up slowly like through self-repair or upgraded rechargers.

\ No newline at end of file diff --git a/datum/robot_storage.html b/datum/robot_storage.html new file mode 100644 index 00000000000..01ce44be6e7 --- /dev/null +++ b/datum/robot_storage.html @@ -0,0 +1,17 @@ +/datum/robot_storage - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

robot_storage

# The robot_energy_storage datum
+
+

Used to handle robot stack items, such as metal, wood, nanopaste, etc.

+
To make things simple, the default `cost` of using 1 item from a borg stack, is 1.
+So then for example, when we have a `max_energy` of 50, the borg can use 50 of that item before it runs out.
+
+The `recharge_rate` will be affected by the charge rate of a borg recharger, depending on the level of parts. By default it is 1.
+This amount will be given every 2 seconds. So at round start, rechargers will give 1 energy back every 2 seconds, to each stack the borg has.
+

Vars

amountCurrent amount of materials.
max_amountThe max amount of materials the stack can hold at once.
nameThe name of the storage.
statpanel_nameThe name that will be displayed in the status panel.

Procs

add_chargeCalled whenever the cyborg is recharging and gains charge on its stack, or when clicking on other same-type stacks in the world.
use_chargeCalled whenever the cyborg uses one of its stacks. Subtract the amount used from this datum's amount variable.

Var Details

amount

Current amount of materials.

max_amount

The max amount of materials the stack can hold at once.

name

The name of the storage.

statpanel_name

The name that will be displayed in the status panel.

Proc Details

add_charge

Called whenever the cyborg is recharging and gains charge on its stack, or when clicking on other same-type stacks in the world.

+

Arguments:

+

use_charge

Called whenever the cyborg uses one of its stacks. Subtract the amount used from this datum's amount variable.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/robot_storage/energy.html b/datum/robot_storage/energy.html new file mode 100644 index 00000000000..c83867af22d --- /dev/null +++ b/datum/robot_storage/energy.html @@ -0,0 +1 @@ +/datum/robot_storage/energy - Space Station 13
Space Station 13 - Modules - TypesVar Details

energy

Vars

recharge_rateThe amount of energy the stack will regain while charging.

Var Details

recharge_rate

The amount of energy the stack will regain while charging.

\ No newline at end of file diff --git a/datum/robot_storage/material.html b/datum/robot_storage/material.html new file mode 100644 index 00000000000..245b7a7e500 --- /dev/null +++ b/datum/robot_storage/material.html @@ -0,0 +1 @@ +/datum/robot_storage/material - Space Station 13
Space Station 13 - Modules - TypesVar Details

material

This datum is an alternative to the energy storages, instead being recharged in different ways

Vars

add_to_storageDoes this get added to the autorefill from the ORM
stackWhat stacktype do we originally have

Var Details

add_to_storage

Does this get added to the autorefill from the ORM

stack

What stacktype do we originally have

\ No newline at end of file diff --git a/datum/ruleset.html b/datum/ruleset.html new file mode 100644 index 00000000000..a4f7495714e --- /dev/null +++ b/datum/ruleset.html @@ -0,0 +1 @@ +/datum/ruleset - Space Station 13
Space Station 13 - Modules - TypesVar Details

ruleset

These are gamemode rulesets for the dynamic gamemode type. They determine what antagonists spawn during a round.

Vars

antag_amountHow many antagonists to spawn
antag_costThe cost to roll an antagonist of this ruleset
antag_weightThe weight to roll an antagonist of this ruleset
antagonist_typeAntagonist datum to apply to users
assign_job_roleApplies the mind roll to assigned_role, preventing them from rolling a normal job. Good for wizards and nuclear operatives.
banned_jobsThese roles 100% cannot be this antagonist
banned_mutual_rulesetsRulesets that cannot be rolled while this ruleset is active. Used to prevent traitors from rolling while theres cultists, etc.
banned_speciesA blacklist of species names that cannot play this antagonist
banned_species_onlyIf true, the species blacklist is now a species whitelist
implied_ruleset_typeA ruleset to be added when this ruleset is selected by the gamemode
latespawn_timeIf non-zero, how long from the start of the game should this role enable latespawns?
latespawns_enabledShould this ruleset roll latespawns?
nameWhat this ruleset is called
pre_antagsAll of the minds that we will make into our antagonist type
protected_jobsThese roles can't be antagonists because mindshielding or are command staff (this can be disabled via config)
ruleset_costThe cost to roll this ruleset
ruleset_weightThe weight to roll this ruleset

Var Details

antag_amount

How many antagonists to spawn

antag_cost

The cost to roll an antagonist of this ruleset

antag_weight

The weight to roll an antagonist of this ruleset

antagonist_type

Antagonist datum to apply to users

assign_job_role

Applies the mind roll to assigned_role, preventing them from rolling a normal job. Good for wizards and nuclear operatives.

banned_jobs

These roles 100% cannot be this antagonist

banned_mutual_rulesets

Rulesets that cannot be rolled while this ruleset is active. Used to prevent traitors from rolling while theres cultists, etc.

banned_species

A blacklist of species names that cannot play this antagonist

banned_species_only

If true, the species blacklist is now a species whitelist

implied_ruleset_type

A ruleset to be added when this ruleset is selected by the gamemode

latespawn_time

If non-zero, how long from the start of the game should this role enable latespawns?

latespawns_enabled

Should this ruleset roll latespawns?

name

What this ruleset is called

pre_antags

All of the minds that we will make into our antagonist type

protected_jobs

These roles can't be antagonists because mindshielding or are command staff (this can be disabled via config)

ruleset_cost

The cost to roll this ruleset

ruleset_weight

The weight to roll this ruleset

\ No newline at end of file diff --git a/datum/ruleset/implied.html b/datum/ruleset/implied.html new file mode 100644 index 00000000000..8fed5fb1a06 --- /dev/null +++ b/datum/ruleset/implied.html @@ -0,0 +1 @@ +/datum/ruleset/implied - Space Station 13
Space Station 13 - Modules - TypesVar Details

implied

Vars

target_signalThis signal is registered on whatever (multiple) rulesets implied us. This will call on_implied.
was_triggeredSet this to true if this implied ruleset was activated

Var Details

target_signal

This signal is registered on whatever (multiple) rulesets implied us. This will call on_implied.

was_triggered

Set this to true if this implied ruleset was activated

\ No newline at end of file diff --git a/datum/ruleset/team.html b/datum/ruleset/team.html new file mode 100644 index 00000000000..93dcf5d31ba --- /dev/null +++ b/datum/ruleset/team.html @@ -0,0 +1 @@ +/datum/ruleset/team - Space Station 13
Space Station 13 - Modules - TypesVar Details

team

Vars

individual_costHow much does each person on the team cost?
minimum_team_sizeMinimum team size
team_sizeHow many players on a team.
team_typeTeam datum to create.
unique_teamWhether there should only be one of this kind of team. This could be used for blood-brothers if false.

Var Details

individual_cost

How much does each person on the team cost?

minimum_team_size

Minimum team size

team_size

How many players on a team.

team_type

Team datum to create.

unique_team

Whether there should only be one of this kind of team. This could be used for blood-brothers if false.

\ No newline at end of file diff --git a/datum/scoreboard.html b/datum/scoreboard.html new file mode 100644 index 00000000000..f51161b08cd --- /dev/null +++ b/datum/scoreboard.html @@ -0,0 +1 @@ +/datum/scoreboard - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

scoreboard

Vars

all_arrestedDid the crew catch all of the antags alive?
crewscoreOverall combined score for the whole round.
damaged_healthHow damaged was the most injured person on the shuttle?
damaged_jobWhat was the job of the most injured person on the shuttle?
damaged_keyWhat was the ckey of the most injured person on the shuttle?
damaged_nameWhat was the name of the most injured person on the shuttle?
dead_aiIf the AI is dead, big points penalty.
disc_secureIs the NAD safe and secure?
mess_bonusIf there are no messes on the station anywhere, huge bonus.
nukedWas the station blown into little bits?
nuked_penaltyPoints penalty for being blown to little bits.
power_bonusIf all APCs on the station are running optimally, big bonus.
richest_cashHow much money did the richest person on the shuttle have?
richest_jobWhat was the job of the richest person on the shuttle?
richest_keyWhat was the ckey of the richest person on the shuttle?
richest_nameWhat was the name of the richest person on the shuttle?
score_arrestedHow many antagonists are alive in the brig? (Nuke ops & Revolution)
score_clown_abuseHow many times was the clown punched, struck, or otherwise maligned?
score_dead_commandHow many command members died? (Revolution)
score_dead_crewHow many people /didn't/ get out alive?
score_diseaseHow many rampant, uncured diseases are on board the station?
score_escapeesHow many people got out alive?
score_events_enduredHow many random events did the station survive?
score_food_eatenHow much noms were had by the crew?
score_gigajoules_exportedHow many GigaJoules of power did we export?
score_greentextWere the antagonists successful?
score_mealsHow many meals were made?
score_messHow much blood, puke, stains etc went uncleaned?
score_ops_killedHow many operatives were killed? (Nuke ops & Revolution)
score_ore_minedHow much ore has been mined on the mining z level?
score_power_lossHow many APCs have poor charge?
score_research_doneHow much research was done by science?
score_things_harvestedHow many harvests have hydroponics done?
score_things_shippedHow many useful items have cargo shipped out?

Procs

get_score_container_worthA recursive function to properly determine the cash on the wealthiest escapee
get_score_person_worthA function to determine the cash plus the account balance of the wealthiest escapee

Var Details

all_arrested

Did the crew catch all of the antags alive?

crewscore

Overall combined score for the whole round.

damaged_health

How damaged was the most injured person on the shuttle?

damaged_job

What was the job of the most injured person on the shuttle?

damaged_key

What was the ckey of the most injured person on the shuttle?

damaged_name

What was the name of the most injured person on the shuttle?

dead_ai

If the AI is dead, big points penalty.

disc_secure

Is the NAD safe and secure?

mess_bonus

If there are no messes on the station anywhere, huge bonus.

nuked

Was the station blown into little bits?

nuked_penalty

Points penalty for being blown to little bits.

power_bonus

If all APCs on the station are running optimally, big bonus.

richest_cash

How much money did the richest person on the shuttle have?

richest_job

What was the job of the richest person on the shuttle?

richest_key

What was the ckey of the richest person on the shuttle?

richest_name

What was the name of the richest person on the shuttle?

score_arrested

How many antagonists are alive in the brig? (Nuke ops & Revolution)

score_clown_abuse

How many times was the clown punched, struck, or otherwise maligned?

score_dead_command

How many command members died? (Revolution)

score_dead_crew

How many people /didn't/ get out alive?

score_disease

How many rampant, uncured diseases are on board the station?

score_escapees

How many people got out alive?

score_events_endured

How many random events did the station survive?

score_food_eaten

How much noms were had by the crew?

score_gigajoules_exported

How many GigaJoules of power did we export?

score_greentext

Were the antagonists successful?

score_meals

How many meals were made?

score_mess

How much blood, puke, stains etc went uncleaned?

score_ops_killed

How many operatives were killed? (Nuke ops & Revolution)

score_ore_mined

How much ore has been mined on the mining z level?

score_power_loss

How many APCs have poor charge?

score_research_done

How much research was done by science?

score_things_harvested

How many harvests have hydroponics done?

score_things_shipped

How many useful items have cargo shipped out?

Proc Details

get_score_container_worth

A recursive function to properly determine the cash on the wealthiest escapee

get_score_person_worth

A function to determine the cash plus the account balance of the wealthiest escapee

\ No newline at end of file diff --git a/datum/secondary_goal_progress/random_smithed_item.html b/datum/secondary_goal_progress/random_smithed_item.html new file mode 100644 index 00000000000..6dfbe606dda --- /dev/null +++ b/datum/secondary_goal_progress/random_smithed_item.html @@ -0,0 +1 @@ +/datum/secondary_goal_progress/random_smithed_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

random_smithed_item

Vars

materialWhat should the material type be?
product_typeWhat item type is it?
qualityWhat quality should the product be?
rewardWhat's the payout?

Var Details

material

What should the material type be?

product_type

What item type is it?

quality

What quality should the product be?

reward

What's the payout?

\ No newline at end of file diff --git a/datum/security_level.html b/datum/security_level.html new file mode 100644 index 00000000000..7ced3d54e91 --- /dev/null +++ b/datum/security_level.html @@ -0,0 +1,3 @@ +/datum/security_level - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

security_level

Security levels

+

These are used by the security level subsystem. Each one of these represents a security level that a player can set.

+

Base type is abstract

Vars

ai_announcement_soundThe AI announcement sound about code change, that will be played after main sound
colorColor of security level
elevating_to_announcement_textOur announcement when elevating to this level
elevating_to_announcement_titleOur announcement title when elevating to this level
elevating_to_soundThe sound that we will play when elevated to this security level
lowering_to_announcement_textOur announcement when lowering to this level
lowering_to_announcement_titleOur announcement title when lowering to this level
lowering_to_soundThe sound that we will play when lowered to this security level
nameThe name of this security level.
number_levelThe numerical level of this security level, see defines for more information.
set_delayThe delay, after which the security level will be set
status_display_dataThe status display data that will be posted to all status displays on security level set
status_display_modeThe status display that will be posted to all status displays on security level set

Procs

pre_changeShould contain actions that must be completed before actual security level set

Var Details

ai_announcement_sound

The AI announcement sound about code change, that will be played after main sound

color

Color of security level

elevating_to_announcement_text

Our announcement when elevating to this level

elevating_to_announcement_title

Our announcement title when elevating to this level

elevating_to_sound

The sound that we will play when elevated to this security level

lowering_to_announcement_text

Our announcement when lowering to this level

lowering_to_announcement_title

Our announcement title when lowering to this level

lowering_to_sound

The sound that we will play when lowered to this security level

name

The name of this security level.

number_level

The numerical level of this security level, see defines for more information.

set_delay

The delay, after which the security level will be set

status_display_data

The status display data that will be posted to all status displays on security level set

status_display_mode

The status display that will be posted to all status displays on security level set

Proc Details

pre_change

Should contain actions that must be completed before actual security level set

\ No newline at end of file diff --git a/datum/security_level/blue.html b/datum/security_level/blue.html new file mode 100644 index 00000000000..f01c3de201f --- /dev/null +++ b/datum/security_level/blue.html @@ -0,0 +1,2 @@ +/datum/security_level/blue - Space Station 13
Space Station 13 - Modules - Types

blue

BLUE

+

Caution advised

\ No newline at end of file diff --git a/datum/security_level/delta.html b/datum/security_level/delta.html new file mode 100644 index 00000000000..c8efed10609 --- /dev/null +++ b/datum/security_level/delta.html @@ -0,0 +1,2 @@ +/datum/security_level/delta - Space Station 13
Space Station 13 - Modules - Types

delta

DELTA

+

Station self-destruiction mechanism has been engaged

\ No newline at end of file diff --git a/datum/security_level/epsilon.html b/datum/security_level/epsilon.html new file mode 100644 index 00000000000..986acaa1e57 --- /dev/null +++ b/datum/security_level/epsilon.html @@ -0,0 +1,2 @@ +/datum/security_level/epsilon - Space Station 13
Space Station 13 - Modules - Types

epsilon

Epsilon

+

Station is not longer under the Central Command and to be destroyed by Death Squad (Or maybe not)

\ No newline at end of file diff --git a/datum/security_level/gamma.html b/datum/security_level/gamma.html new file mode 100644 index 00000000000..d35b9461e6d --- /dev/null +++ b/datum/security_level/gamma.html @@ -0,0 +1,2 @@ +/datum/security_level/gamma - Space Station 13
Space Station 13 - Modules - Types

gamma

Gamma

+

Station major hostile threats

\ No newline at end of file diff --git a/datum/security_level/green.html b/datum/security_level/green.html new file mode 100644 index 00000000000..fa424b02eef --- /dev/null +++ b/datum/security_level/green.html @@ -0,0 +1,2 @@ +/datum/security_level/green - Space Station 13
Space Station 13 - Modules - Types

green

GREEN

+

No threats

\ No newline at end of file diff --git a/datum/security_level/red.html b/datum/security_level/red.html new file mode 100644 index 00000000000..2b0d0c9f61f --- /dev/null +++ b/datum/security_level/red.html @@ -0,0 +1,2 @@ +/datum/security_level/red - Space Station 13
Space Station 13 - Modules - Types

red

RED

+

Hostile threats

\ No newline at end of file diff --git a/datum/server_command.html b/datum/server_command.html new file mode 100644 index 00000000000..aab091c1c6e --- /dev/null +++ b/datum/server_command.html @@ -0,0 +1,4 @@ +/datum/server_command - Space Station 13
Space Station 13 - Modules - TypesVar Details

Server Command

Datum to handle both sending and receiving of server commands

+

This datum is an extension of the redis callback and is designed for tighter integration with the BYOND servers. +This list is registered and managed by SSintancing, not SSredis. +NOTE: These commands are "fire and forget". If you need specific data from each server, use world/Topic still

Vars

command_argsAssociative list of command args
command_nameThe command name (must be unique)
ignoreselfDoes the sending server want to ignore this command? This is almost always yes unless you are doing testing stuff
sourceThe source BYOND server for this message

Var Details

command_args

Associative list of command args

command_name

The command name (must be unique)

ignoreself

Does the sending server want to ignore this command? This is almost always yes unless you are doing testing stuff

source

The source BYOND server for this message

\ No newline at end of file diff --git a/datum/server_configuration.html b/datum/server_configuration.html new file mode 100644 index 00000000000..a277903eede --- /dev/null +++ b/datum/server_configuration.html @@ -0,0 +1 @@ +/datum/server_configuration - Space Station 13
Space Station 13 - Modules - TypesVar Details

server_configuration

Represents a base configuration datum. Has everything else bundled into it

Vars

adminHolder for the admin configuration datum
afkHolder for the AFK configuration datum
asset_cacheHolder for the asset cache configuration datum
custom_spritesHolder for the custom sprites configuration datum
databaseHolder for the DB configuration datum
discordHolder for the Discord configuration datum
eventHolder for the Event configuration datum
gamemodeHolder for the gamemode configuration datum
generalHolder for the general configuration datum
ipintelHolder for the IPIntel configuration datum
jobsHolder for the job configuration datum
lighting_effectsHolder for the lighting effects configuration datum
loggingHolder for the logging configuration datum
mcHolder for the MC configuration datum
metricsHolder for the metrics configuration datum
movementHolder for the movement configuration datum
overflowHolder for the overflow configuration datum
raw_dataRaw data. Stored here to avoid passing data between procs constantly
redisHolder for the redis configuration datum
ruinsHolder for the ruins configuration datum
systemHolder for the system configuration datum
tguiHolder for the tgui configuration datum
urlHolder for the URL configuration datum
voteHolder for the voting configuration datum

Var Details

admin

Holder for the admin configuration datum

afk

Holder for the AFK configuration datum

asset_cache

Holder for the asset cache configuration datum

custom_sprites

Holder for the custom sprites configuration datum

database

Holder for the DB configuration datum

discord

Holder for the Discord configuration datum

event

Holder for the Event configuration datum

gamemode

Holder for the gamemode configuration datum

general

Holder for the general configuration datum

ipintel

Holder for the IPIntel configuration datum

jobs

Holder for the job configuration datum

lighting_effects

Holder for the lighting effects configuration datum

logging

Holder for the logging configuration datum

mc

Holder for the MC configuration datum

metrics

Holder for the metrics configuration datum

movement

Holder for the movement configuration datum

overflow

Holder for the overflow configuration datum

raw_data

Raw data. Stored here to avoid passing data between procs constantly

redis

Holder for the redis configuration datum

ruins

Holder for the ruins configuration datum

system

Holder for the system configuration datum

tgui

Holder for the tgui configuration datum

url

Holder for the URL configuration datum

vote

Holder for the voting configuration datum

\ No newline at end of file diff --git a/datum/shuttle_loan_situation.html b/datum/shuttle_loan_situation.html new file mode 100644 index 00000000000..f13cc17ca6e --- /dev/null +++ b/datum/shuttle_loan_situation.html @@ -0,0 +1 @@ +/datum/shuttle_loan_situation - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shuttle_loan_situation

One of the potential shuttle loans you might receive.

Vars

announcement_textWhat they said about it.
bonus_pointsSupply points earned for taking the deal.
logging_descSmall description of the loan for easier log reading.
senderWho sent the shuttle

Procs

spawn_itemsSpawns paths added to spawn_list, and passes empty shuttle turfs so you can spawn more complicated things like dead bodies.

Var Details

announcement_text

What they said about it.

bonus_points

Supply points earned for taking the deal.

logging_desc

Small description of the loan for easier log reading.

sender

Who sent the shuttle

Proc Details

spawn_items

Spawns paths added to spawn_list, and passes empty shuttle turfs so you can spawn more complicated things like dead bodies.

\ No newline at end of file diff --git a/datum/smith_material.html b/datum/smith_material.html new file mode 100644 index 00000000000..d42280d7b84 --- /dev/null +++ b/datum/smith_material.html @@ -0,0 +1 @@ +/datum/smith_material - Space Station 13
Space Station 13 - Modules - TypesVar Details

smith_material

Vars

brute_armor_multBrute armor multiplier
burn_armor_multBurn armor multiplier
color_tintWhat color does the material tint?
durability_multMultiplier for tool uses and lens uses.
embed_chance_multThrow embed chance multiplier
explosive_armor_multExplosive armor multiplier
fire_rate_multiplierFire rate multiplier
force_multForce multiplier
heat_insulation_multHeat insulation multiplier
laser_armor_multLaser armor multiplier
movement_speed_modMovement speed modifier
power_draw_multPower draw multiplier
projectile_damage_multiplierProjectile damage multiplier
projectile_speed_multProjectile speed multiplier
radiation_armor_multRadiation insulation multiplier
secondary_goal_candidateIs this material valid for secondary goals?
secondary_goal_difficultyHow much is this secondary goal worth?
siemens_coeff_multElectrical insulation multiplier
size_modHow much larger does a bit with this material make it?
throw_force_multThrow force multiplier
tool_failure_multTool precision multiplier
tool_productivity_multTool productivity mult
tool_speed_multTool speed multiplier

Var Details

brute_armor_mult

Brute armor multiplier

burn_armor_mult

Burn armor multiplier

color_tint

What color does the material tint?

durability_mult

Multiplier for tool uses and lens uses.

embed_chance_mult

Throw embed chance multiplier

explosive_armor_mult

Explosive armor multiplier

fire_rate_multiplier

Fire rate multiplier

force_mult

Force multiplier

heat_insulation_mult

Heat insulation multiplier

laser_armor_mult

Laser armor multiplier

movement_speed_mod

Movement speed modifier

power_draw_mult

Power draw multiplier

projectile_damage_multiplier

Projectile damage multiplier

projectile_speed_mult

Projectile speed multiplier

radiation_armor_mult

Radiation insulation multiplier

secondary_goal_candidate

Is this material valid for secondary goals?

secondary_goal_difficulty

How much is this secondary goal worth?

siemens_coeff_mult

Electrical insulation multiplier

size_mod

How much larger does a bit with this material make it?

throw_force_mult

Throw force multiplier

tool_failure_mult

Tool precision multiplier

tool_productivity_mult

Tool productivity mult

tool_speed_mult

Tool speed multiplier

\ No newline at end of file diff --git a/datum/smith_material/uranium.html b/datum/smith_material/uranium.html new file mode 100644 index 00000000000..813e48b8366 --- /dev/null +++ b/datum/smith_material/uranium.html @@ -0,0 +1 @@ +/datum/smith_material/uranium - Space Station 13
Space Station 13 - Modules - TypesVar Details

uranium

Vars

radiation_amountRadioactive, woah

Var Details

radiation_amount

Radioactive, woah

\ No newline at end of file diff --git a/datum/smith_quality.html b/datum/smith_quality.html new file mode 100644 index 00000000000..ae21d408532 --- /dev/null +++ b/datum/smith_quality.html @@ -0,0 +1 @@ +/datum/smith_quality - Space Station 13
Space Station 13 - Modules - TypesVar Details

smith_quality

Vars

material_multHow many more materials does this quality require?
secondary_goal_candidateIs this quality valid for secondary goals?
secondary_goal_difficultyHow much is this secondary goal worth?
stat_multHow much does this quality improve stats?
work_multHow much extra work is needed to produce this quality?

Var Details

material_mult

How many more materials does this quality require?

secondary_goal_candidate

Is this quality valid for secondary goals?

secondary_goal_difficulty

How much is this secondary goal worth?

stat_mult

How much does this quality improve stats?

work_mult

How much extra work is needed to produce this quality?

\ No newline at end of file diff --git a/datum/song.html b/datum/song.html new file mode 100644 index 00000000000..5a27e503606 --- /dev/null +++ b/datum/song.html @@ -0,0 +1,28 @@ +/datum/song - Space Station 13
Space Station 13 - Modules - TypesVar 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.
parse_songParses a song the user has input into lines and stores them.
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.
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.

parse_song

Parses a song the user has input into lines and stores them.

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.

update_sustain

Updates our cached linear/exponential falloff stuff, saving calculations down the line.

\ No newline at end of file diff --git a/datum/sort_instance.html b/datum/sort_instance.html new file mode 100644 index 00000000000..79598094977 --- /dev/null +++ b/datum/sort_instance.html @@ -0,0 +1,13 @@ +/datum/sort_instance - Space Station 13
Space Station 13 - Modules - TypesProc Details

sort_instance

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.

+

Returns the int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k].

+

Arguments:

+
\ No newline at end of file diff --git a/datum/space_level.html b/datum/space_level.html new file mode 100644 index 00000000000..fe8f7c61a6c --- /dev/null +++ b/datum/space_level.html @@ -0,0 +1 @@ +/datum/space_level - Space Station 13
Space Station 13 - Modules - TypesVar Details

space_level

Vars

our_ruin_listThis is a list of ruins on the space_level. Used to prevent certain ruins from spawning on the same level as other ruins.

Var Details

our_ruin_list

This is a list of ruins on the space_level. Used to prevent certain ruins from spawning on the same level as other ruins.

\ No newline at end of file diff --git a/datum/spatial_grid_cell.html b/datum/spatial_grid_cell.html new file mode 100644 index 00000000000..eb006802d82 --- /dev/null +++ b/datum/spatial_grid_cell.html @@ -0,0 +1,3 @@ +/datum/spatial_grid_cell - Space Station 13
Space Station 13 - Modules - TypesVar Details

Spatial Grid Cell

used by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in +the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders. +these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.

Vars

atmos_contentsevery atmos machine inside this cell
cell_xour x index in the list of cells. this is our index inside of our row list
cell_your y index in the list of cells. this is the index of our row list inside of our z level grid
cell_zwhich z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level
client_contentsevery client possessed mob inside this cell
hearing_contentsevery hearing sensitive movable inside this cell

Var Details

atmos_contents

every atmos machine inside this cell

cell_x

our x index in the list of cells. this is our index inside of our row list

cell_y

our y index in the list of cells. this is the index of our row list inside of our z level grid

cell_z

which z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level

client_contents

every client possessed mob inside this cell

hearing_contents

every hearing sensitive movable inside this cell

\ No newline at end of file diff --git a/datum/spawn_pool.html b/datum/spawn_pool.html new file mode 100644 index 00000000000..414100c4992 --- /dev/null +++ b/datum/spawn_pool.html @@ -0,0 +1,9 @@ +/datum/spawn_pool - Space Station 13
Space Station 13 - Modules - TypesVar Details

spawn_pool

Keeps track of the available points for a given pool, as well as any +spawners that need to keep track globally of the number of any specific item +that they spawn.

Vars

available_pointsThe number of points left for the spawner to use. Starts at its initial value.
guaranteed_spawnersA list of spawners whose guaranteed is TRUE. These spawners will +always spawn, and always before anything else,
known_spawnersA list of all spawners registered to this pool.
unique_spawnersA key-value list of spawners with TRUE unique_picks to a shared copy of their +loot pool. When items from one of these spawners are spawned, it is removed +from the shared loot pool so it never spawns again.

Var Details

available_points

The number of points left for the spawner to use. Starts at its initial value.

guaranteed_spawners

A list of spawners whose guaranteed is TRUE. These spawners will +always spawn, and always before anything else,

known_spawners

A list of all spawners registered to this pool.

unique_spawners

A key-value list of spawners with TRUE unique_picks to a shared copy of their +loot pool. When items from one of these spawners are spawned, it is removed +from the shared loot pool so it never spawns again.

\ No newline at end of file diff --git a/datum/spawner_pixel_placer.html b/datum/spawner_pixel_placer.html new file mode 100644 index 00000000000..7cbb6526375 --- /dev/null +++ b/datum/spawner_pixel_placer.html @@ -0,0 +1,4 @@ +/datum/spawner_pixel_placer - Space Station 13
Space Station 13 - Modules - TypesVar Details

spawner_pixel_placer

For use when arranging items on a tile with a staggered visual +appearance. Initially for use with /obj/effect/spawner/randoms.

Vars

added_itemsThe items we've added so far. Used to perform one +last visual arrangement in z-order once complete.
max_pixel_offsetMaximum offset distance from the center of a tile.
offsetsFor tracking if we're staggering from the top left or bottom right.
pixel_offsetsThe pixel x/y divider offsets between items.

Var Details

added_items

The items we've added so far. Used to perform one +last visual arrangement in z-order once complete.

max_pixel_offset

Maximum offset distance from the center of a tile.

offsets

For tracking if we're staggering from the top left or bottom right.

pixel_offsets

The pixel x/y divider offsets between items.

\ No newline at end of file diff --git a/datum/species.html b/datum/species.html new file mode 100644 index 00000000000..ae85b233565 --- /dev/null +++ b/datum/species.html @@ -0,0 +1,9 @@ +/datum/species - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

species

Vars

armorAdditional armour value for the species.
article_overrideArticle to use when referring to an individual of the species, if pronunciation is different from expected. +Because it's unathi's turn to be special snowflakes.
default_bodyaccName of default body accessory if any.
has_organDetermines the organs that the species spawns with and which required-organ checks are conducted.
inherent_biotypesbitfield of biotypes the mob belongs to.
inherent_traitsGeneric traits tied to having the species.
max_ageMaximum age this species can have
meat_typeType of meat produced in the gibber/meating. Distinct from butcher_results.
min_ageMinimum age this species can have
nameSpecies name
name_pluralPluralized name (since "[name]s" is not always valid)
optional_body_accessoryWhether the presence of a body accessory on this species is optional or not.
plushie_typeWhat plushie the species will turn into if turned into a plushie.
skinned_typeType of skin produced when butchered.
special_step_soundsSounds to override barefeet walking
spineslike wings but spines
tailName of tail image in species effects icon file.
winglike tail but wings

Procs

can_be_legion_infestedIs this species able to be legion infested?
create_organsHandles creation of mob organs.
do_compressor_grindPrototype for additional behaviour when a specific species is ground by a compressor.

Var Details

armor

Additional armour value for the species.

article_override

Article to use when referring to an individual of the species, if pronunciation is different from expected. +Because it's unathi's turn to be special snowflakes.

default_bodyacc

Name of default body accessory if any.

has_organ

Determines the organs that the species spawns with and which required-organ checks are conducted.

inherent_biotypes

bitfield of biotypes the mob belongs to.

inherent_traits

Generic traits tied to having the species.

max_age

Maximum age this species can have

meat_type

Type of meat produced in the gibber/meating. Distinct from butcher_results.

min_age

Minimum age this species can have

name

Species name

name_plural

Pluralized name (since "[name]s" is not always valid)

optional_body_accessory

Whether the presence of a body accessory on this species is optional or not.

plushie_type

What plushie the species will turn into if turned into a plushie.

skinned_type

Type of skin produced when butchered.

special_step_sounds

Sounds to override barefeet walking

spines

like wings but spines

tail

Name of tail image in species effects icon file.

wing

like tail but wings

Proc Details

can_be_legion_infested

Is this species able to be legion infested?

create_organs

Handles creation of mob organs.

+

Arguments:

+

do_compressor_grind

Prototype for additional behaviour when a specific species is ground by a compressor.

\ No newline at end of file diff --git a/datum/species/human.html b/datum/species/human.html new file mode 100644 index 00000000000..90072c35825 --- /dev/null +++ b/datum/species/human.html @@ -0,0 +1 @@ +/datum/species/human - Space Station 13
Space Station 13 - Modules - TypesVar Details

human

Vars

icon_skin_tonesOrganized to be from Light to Dark.

Var Details

icon_skin_tones

Organized to be from Light to Dark.

\ No newline at end of file diff --git a/datum/species/skeleton.html b/datum/species/skeleton.html new file mode 100644 index 00000000000..daf5a060d9a --- /dev/null +++ b/datum/species/skeleton.html @@ -0,0 +1 @@ +/datum/species/skeleton - Space Station 13
Space Station 13 - Modules - TypesVar Details

skeleton

The OG skellybones, quite OP. As of this comment, only available through ash-drake loot (2023-03-07)

Vars

milk_fracture_repair_probabilityHow likely (in %) are we to heal a fracture?
milk_heal_amountHow much brute and burn does milk heal per handle_reagents()

Var Details

milk_fracture_repair_probability

How likely (in %) are we to heal a fracture?

milk_heal_amount

How much brute and burn does milk heal per handle_reagents()

\ No newline at end of file diff --git a/datum/spell.html b/datum/spell.html new file mode 100644 index 00000000000..9dc90479c82 --- /dev/null +++ b/datum/spell.html @@ -0,0 +1,50 @@ +/datum/spell - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

spell

Vars

antimagic_flagsThis determines what type of antimagic is needed to block the spell. +(MAGIC_RESISTANCE, MAGIC_RESISTANCE_MIND, MAGIC_RESISTANCE_HOLY) +If SPELL_REQUIRES_NO_ANTIMAGIC is set in Spell requirements, +The spell cannot be cast if the caster has any of the antimagic flags set.
base_cooldownrecharge time in deciseconds
cooldown_handlerhandles a given spells cooldowns. tracks the time until its off cooldown,
create_attack_logsdoes this spell generate attack logs?
create_custom_logsIf this spell creates custom logs using the write_custom_logs() proc. Will ignore create_attack_logs
custom_handlerWhich spell_handler is used in addition to the normal spells behaviour, can be null. Set this in create_new_handler if needed
holy_area_cancastWhether or not the spell functions in a holy place
is_a_heretic_spellIs it a heretic spell? Used by heretics.
selection_activated_messageThe message displayed when a click based spell gets activated
selection_deactivated_messageThe message displayed when a click based spell gets deactivated
smoke_typeDetermines if the spell has smoke, and if so what effect the smoke has. See spell defines.
spell_handlersList with the handler datums per spell type. Key = src.type, value = the handler datum created by create_new_handler()
spell_requirementsFlag for certain states that the spell requires the user be in to cast.
targetingWhich targeting system is used. Set this in create_new_targeting
targeting_datumsList with the targeting datums per spell type. Key = src.type, value = the targeting datum created by create_new_targeting()

Procs

castThe proc where the actual spell gets cast.
choose_targetsWill try to choose targets using the targeting variable and perform the spell if it can +Do not override this! Override create_new_targeting instead
create_new_cooldownCreates and returns the spells cooldown handler, defaults to the standard recharge handler. +Override this if you wish to use a different method of cooldown
create_new_handlerCreates and returns the handler datum for this spell type. +Override this if you want a custom spell handler. +Should return a value of type /datum/spell_handler or NONE
create_new_targetingCreates and returns the targeting datum for this spell type. Override this! +Should return a value of type /datum/spell_targeting
on_mind_transferThis proc is ran when a mind is transfered to a new mob. Tells it if the action should be transfered on return true, and tells it not to remove it on false
on_purchase_upgradeLets the spell have a special effect applied to it when upgraded. By default, does nothing.
performHandles all the code for performing a spell once the targets are known
should_remove_click_interceptCalled in try_perform before removing the click interceptor. useful to override if you have a spell that requires more than 1 click
spend_spell_costWill spend the cost of using this spell once. Will update the action button's icon if there is any
try_performWill try and perform the spell using the given targets and user. Will spend one charge of the spell
valid_targetAllows for spell specific target validation. Will be used by the spell_targeting datums
write_custom_logsWill write additional logs if create_custom_logs is TRUE and the caster has a ckey. Override this

Var Details

antimagic_flags

This determines what type of antimagic is needed to block the spell. +(MAGIC_RESISTANCE, MAGIC_RESISTANCE_MIND, MAGIC_RESISTANCE_HOLY) +If SPELL_REQUIRES_NO_ANTIMAGIC is set in Spell requirements, +The spell cannot be cast if the caster has any of the antimagic flags set.

base_cooldown

recharge time in deciseconds

cooldown_handler

handles a given spells cooldowns. tracks the time until its off cooldown,

create_attack_logs

does this spell generate attack logs?

create_custom_logs

If this spell creates custom logs using the write_custom_logs() proc. Will ignore create_attack_logs

custom_handler

Which spell_handler is used in addition to the normal spells behaviour, can be null. Set this in create_new_handler if needed

holy_area_cancast

Whether or not the spell functions in a holy place

is_a_heretic_spell

Is it a heretic spell? Used by heretics.

selection_activated_message

The message displayed when a click based spell gets activated

selection_deactivated_message

The message displayed when a click based spell gets deactivated

smoke_type

Determines if the spell has smoke, and if so what effect the smoke has. See spell defines.

spell_handlers

List with the handler datums per spell type. Key = src.type, value = the handler datum created by create_new_handler()

spell_requirements

Flag for certain states that the spell requires the user be in to cast.

targeting

Which targeting system is used. Set this in create_new_targeting

targeting_datums

List with the targeting datums per spell type. Key = src.type, value = the targeting datum created by create_new_targeting()

Proc Details

cast

The proc where the actual spell gets cast.

+

Arguments:

+

choose_targets

Will try to choose targets using the targeting variable and perform the spell if it can +Do not override this! Override create_new_targeting instead

+

Arguments:

+

create_new_cooldown

Creates and returns the spells cooldown handler, defaults to the standard recharge handler. +Override this if you wish to use a different method of cooldown

create_new_handler

Creates and returns the handler datum for this spell type. +Override this if you want a custom spell handler. +Should return a value of type /datum/spell_handler or NONE

create_new_targeting

Creates and returns the targeting datum for this spell type. Override this! +Should return a value of type /datum/spell_targeting

on_mind_transfer

This proc is ran when a mind is transfered to a new mob. Tells it if the action should be transfered on return true, and tells it not to remove it on false

on_purchase_upgrade

Lets the spell have a special effect applied to it when upgraded. By default, does nothing.

perform

Handles all the code for performing a spell once the targets are known

+

Arguments:

+

should_remove_click_intercept

Called in try_perform before removing the click interceptor. useful to override if you have a spell that requires more than 1 click

spend_spell_cost

Will spend the cost of using this spell once. Will update the action button's icon if there is any

+

Arguments:

+

try_perform

Will try and perform the spell using the given targets and user. Will spend one charge of the spell

+

Arguments:

+

valid_target

Allows for spell specific target validation. Will be used by the spell_targeting datums

+

Arguments:

+

write_custom_logs

Will write additional logs if create_custom_logs is TRUE and the caster has a ckey. Override this

+

Arguments:

+
\ No newline at end of file diff --git a/datum/spell/ai_spell.html b/datum/spell/ai_spell.html new file mode 100644 index 00000000000..aa3d778445e --- /dev/null +++ b/datum/spell/ai_spell.html @@ -0,0 +1 @@ +/datum/spell/ai_spell - Space Station 13
Space Station 13 - Modules - TypesVar Details

ai_spell

Vars

programIs this spell an AI program?

Var Details

program

Is this spell an AI program?

\ No newline at end of file diff --git a/datum/spell/ai_spell/ranged/core_tilt.html b/datum/spell/ai_spell/ranged/core_tilt.html new file mode 100644 index 00000000000..e4542e47653 --- /dev/null +++ b/datum/spell/ai_spell/ranged/core_tilt.html @@ -0,0 +1 @@ +/datum/spell/ai_spell/ranged/core_tilt - Space Station 13
Space Station 13 - Modules - TypesVar Details

core_tilt

Vars

roll_over_cooldownHow long does it take for the ability to cool down, on top of [roll_over_time]?
roll_over_timeHow long does it take us to roll?

Var Details

roll_over_cooldown

How long does it take for the ability to cool down, on top of [roll_over_time]?

roll_over_time

How long does it take us to roll?

\ No newline at end of file diff --git a/datum/spell/ai_spell/ranged/holosign_displayer.html b/datum/spell/ai_spell/ranged/holosign_displayer.html new file mode 100644 index 00000000000..1fcf28a53d1 --- /dev/null +++ b/datum/spell/ai_spell/ranged/holosign_displayer.html @@ -0,0 +1 @@ +/datum/spell/ai_spell/ranged/holosign_displayer - Space Station 13
Space Station 13 - Modules - TypesVar Details

holosign_displayer

Vars

sign_choicesTypes of holosigns the AI can deploy
signsList of currently active signs

Var Details

sign_choices

Types of holosigns the AI can deploy

signs

List of currently active signs

\ No newline at end of file diff --git a/datum/spell/alien_spell.html b/datum/spell/alien_spell.html new file mode 100644 index 00000000000..c995538bf31 --- /dev/null +++ b/datum/spell/alien_spell.html @@ -0,0 +1 @@ +/datum/spell/alien_spell - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

alien_spell

Vars

create_custom_logsEvery alien spell creates only logs, no attack messages on someone placing weeds, but you DO get attack messages on neurotoxin and corrosive acid
plasma_costHow much plasma it costs to use this

Procs

NewEvery single alien spell uses a "spell name + plasmacost" format

Var Details

create_custom_logs

Every alien spell creates only logs, no attack messages on someone placing weeds, but you DO get attack messages on neurotoxin and corrosive acid

plasma_cost

How much plasma it costs to use this

Proc Details

New

Every single alien spell uses a "spell name + plasmacost" format

\ No newline at end of file diff --git a/datum/spell/aoe.html b/datum/spell/aoe.html new file mode 100644 index 00000000000..50f1006cdf1 --- /dev/null +++ b/datum/spell/aoe.html @@ -0,0 +1 @@ +/datum/spell/aoe - Space Station 13
Space Station 13 - Modules - TypesVar Details

aoe

Vars

aoe_rangeHow far does it effect

Var Details

aoe_range

How far does it effect

\ No newline at end of file diff --git a/datum/spell/aoe/conjure/cosmic_expansion.html b/datum/spell/aoe/conjure/cosmic_expansion.html new file mode 100644 index 00000000000..4ca5829c4b1 --- /dev/null +++ b/datum/spell/aoe/conjure/cosmic_expansion.html @@ -0,0 +1 @@ +/datum/spell/aoe/conjure/cosmic_expansion - Space Station 13
Space Station 13 - Modules - TypesVar Details

cosmic_expansion

Vars

ascendedIf the heretic is ascended or not
expansion_effectEffect for when the spell triggers
star_mark_rangeThe range at which people will get marked with a star mark.

Var Details

ascended

If the heretic is ascended or not

expansion_effect

Effect for when the spell triggers

star_mark_range

The range at which people will get marked with a star mark.

\ No newline at end of file diff --git a/datum/spell/aoe/flicker_lights.html b/datum/spell/aoe/flicker_lights.html new file mode 100644 index 00000000000..a71329aca36 --- /dev/null +++ b/datum/spell/aoe/flicker_lights.html @@ -0,0 +1 @@ +/datum/spell/aoe/flicker_lights - Space Station 13
Space Station 13 - Modules - TypesVar Details

flicker_lights

Vars

from_organIs this ability granted from a xenobiology organ? Causes user to spark.

Var Details

from_organ

Is this ability granted from a xenobiology organ? Causes user to spark.

\ No newline at end of file diff --git a/datum/spell/aoe/moon_ringleader.html b/datum/spell/aoe/moon_ringleader.html new file mode 100644 index 00000000000..b096b40ee27 --- /dev/null +++ b/datum/spell/aoe/moon_ringleader.html @@ -0,0 +1 @@ +/datum/spell/aoe/moon_ringleader - Space Station 13
Space Station 13 - Modules - TypesVar Details

moon_ringleader

Vars

moon_effectEffect for when the spell triggers

Var Details

moon_effect

Effect for when the spell triggers

\ No newline at end of file diff --git a/datum/spell/aoe/revenant.html b/datum/spell/aoe/revenant.html new file mode 100644 index 00000000000..33f70c9e022 --- /dev/null +++ b/datum/spell/aoe/revenant.html @@ -0,0 +1 @@ +/datum/spell/aoe/revenant - Space Station 13
Space Station 13 - Modules - TypesVar Details

revenant

Vars

cast_amountHow much essence it costs to use
lockedIf it's locked and needs to be unlocked before use
revealHow long it reveals the revenant in deciseconds
stunHow long it stuns the revenant in deciseconds
unlock_amountHow much essence it costs to unlock

Var Details

cast_amount

How much essence it costs to use

locked

If it's locked and needs to be unlocked before use

reveal

How long it reveals the revenant in deciseconds

stun

How long it stuns the revenant in deciseconds

unlock_amount

How much essence it costs to unlock

\ No newline at end of file diff --git a/datum/spell/aoe/revenant/haunt_object.html b/datum/spell/aoe/revenant/haunt_object.html new file mode 100644 index 00000000000..4fe023af213 --- /dev/null +++ b/datum/spell/aoe/revenant/haunt_object.html @@ -0,0 +1 @@ +/datum/spell/aoe/revenant/haunt_object - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

haunt_object

Makes objects be haunted and then throws them at conscious people to do damage, spooky!

Vars

attack_timersA list of all attack timers started by this spell being cast
max_targetsThe maximum number of objects to haunt

Procs

make_spookyHandles making an object haunted and setting it up to attack
stop_timersStop all attack timers cast by the previous spell use

Var Details

attack_timers

A list of all attack timers started by this spell being cast

max_targets

The maximum number of objects to haunt

Proc Details

make_spooky

Handles making an object haunted and setting it up to attack

stop_timers

Stop all attack timers cast by the previous spell use

\ No newline at end of file diff --git a/datum/spell/aoe/void_pull.html b/datum/spell/aoe/void_pull.html new file mode 100644 index 00000000000..76cf957205f --- /dev/null +++ b/datum/spell/aoe/void_pull.html @@ -0,0 +1 @@ +/datum/spell/aoe/void_pull - Space Station 13
Space Station 13 - Modules - TypesVar Details

void_pull

Vars

damage_radiusThe radius of the actual damage circle done before cast
stun_radiusThe radius of the stun applied to nearby people on cast

Var Details

damage_radius

The radius of the actual damage circle done before cast

stun_radius

The radius of the stun applied to nearby people on cast

\ No newline at end of file diff --git a/datum/spell/bloodcrawl/mirror_walk.html b/datum/spell/bloodcrawl/mirror_walk.html new file mode 100644 index 00000000000..0b07f7e8a85 --- /dev/null +++ b/datum/spell/bloodcrawl/mirror_walk.html @@ -0,0 +1,7 @@ +/datum/spell/bloodcrawl/mirror_walk - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mirror_walk

Vars

special_reflective_surfacesStatic typecache of types that are counted as reflective.

Procs

is_reflection_nearbyGoes through all nearby atoms in sight of the +passed caster and determines if they are "reflective" +for the purpose of us being able to utilize it to enter or exit.

Var Details

special_reflective_surfaces

Static typecache of types that are counted as reflective.

Proc Details

is_reflection_nearby

Goes through all nearby atoms in sight of the +passed caster and determines if they are "reflective" +for the purpose of us being able to utilize it to enter or exit.

+

Returns an object reference to a "reflective" object in view if one was found, +or null if no object was found that was determined to be "reflective".

\ No newline at end of file diff --git a/datum/spell/bloodcrawl/space_crawl.html b/datum/spell/bloodcrawl/space_crawl.html new file mode 100644 index 00000000000..76753e259f3 --- /dev/null +++ b/datum/spell/bloodcrawl/space_crawl.html @@ -0,0 +1,2 @@ +/datum/spell/bloodcrawl/space_crawl - Space Station 13
Space Station 13 - Modules - Types

space_crawl

Space Crawl

+

Lets the caster enter and exit tiles of space or misc turfs.

\ No newline at end of file diff --git a/datum/spell/charge_up.html b/datum/spell/charge_up.html new file mode 100644 index 00000000000..aaf4f028f04 --- /dev/null +++ b/datum/spell/charge_up.html @@ -0,0 +1 @@ +/datum/spell/charge_up - Space Station 13
Space Station 13 - Modules - TypesVar Details

charge_up

A click-based spell template which starts charging up once you click the action button/verb. Click again on something to activate the actual spell

Vars

charge_soundThe sound charging up your power will make. Be sure to include a channel when creating the sound
charge_up_overlayThe overlay used to show that you are charging. Create this in the New of the spell
max_charge_timeHow long you can charge for
start_charging_textThe text shown when you start charging
stop_charging_fail_textThe text shown when you are over the charge limit and thus can't stop.
stop_charging_textThe text shown when you successfully stop charging

Var Details

charge_sound

The sound charging up your power will make. Be sure to include a channel when creating the sound

charge_up_overlay

The overlay used to show that you are charging. Create this in the New of the spell

max_charge_time

How long you can charge for

start_charging_text

The text shown when you start charging

stop_charging_fail_text

The text shown when you are over the charge limit and thus can't stop.

stop_charging_text

The text shown when you successfully stop charging

\ No newline at end of file diff --git a/datum/spell/charge_up/bounce.html b/datum/spell/charge_up/bounce.html new file mode 100644 index 00000000000..bd36eaf28d9 --- /dev/null +++ b/datum/spell/charge_up/bounce.html @@ -0,0 +1,16 @@ +/datum/spell/charge_up/bounce - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

bounce

A spell template that adds bounces to the charge_up spell template. The spell will bounce between targets once released. +Don't override cast and instead override apply_bounce_effect and the other procs

Vars

bounce_hit_soundSound we make when we hit a mob
bounce_timeHow much time should be between each bounce?

Procs

apply_bounce_effectThe proc called when a bounce hits a target. Override this to add an effect +The user itself is never hit
create_beamCalled when a bounce travels from one mob to another
get_bounce_amountHow much bounces should there be in total?
get_bounce_energyHow much energy should each bounce have?

Var Details

bounce_hit_sound

Sound we make when we hit a mob

bounce_time

How much time should be between each bounce?

Proc Details

apply_bounce_effect

The proc called when a bounce hits a target. Override this to add an effect +The user itself is never hit

+

Arguments:

+

create_beam

Called when a bounce travels from one mob to another

+

Arguments:

+

get_bounce_amount

How much bounces should there be in total?

get_bounce_energy

How much energy should each bounce have?

\ No newline at end of file diff --git a/datum/spell/charge_up/bounce/fire_blast.html b/datum/spell/charge_up/bounce/fire_blast.html new file mode 100644 index 00000000000..889e20ce167 --- /dev/null +++ b/datum/spell/charge_up/bounce/fire_blast.html @@ -0,0 +1,5 @@ +/datum/spell/charge_up/bounce/fire_blast - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

fire_blast

Vars

bounce_timeHow long the beam visual lasts, also used to determine time between jumps

Procs

continue_beamTimer callback to continue the chain, calling send_fire_bream recursively.
get_targetPick a carbon mob in a radius around us that we can reach. +Mobs on fire will have priority and be targeted over others. +Returns null or a carbon mob.

Var Details

bounce_time

How long the beam visual lasts, also used to determine time between jumps

Proc Details

continue_beam

Timer callback to continue the chain, calling send_fire_bream recursively.

get_target

Pick a carbon mob in a radius around us that we can reach. +Mobs on fire will have priority and be targeted over others. +Returns null or a carbon mob.

\ No newline at end of file diff --git a/datum/spell/cone/staggered.html b/datum/spell/cone/staggered.html new file mode 100644 index 00000000000..a80274cd90f --- /dev/null +++ b/datum/spell/cone/staggered.html @@ -0,0 +1 @@ +/datum/spell/cone/staggered - Space Station 13
Space Station 13 - Modules - TypesVar Details

staggered

Vars

delay_between_levelThe delay between each cone level triggering.

Var Details

delay_between_level

The delay between each cone level triggering.

\ No newline at end of file diff --git a/datum/spell/cone/staggered/cone_of_cold.html b/datum/spell/cone/staggered/cone_of_cold.html new file mode 100644 index 00000000000..5921bc7b904 --- /dev/null +++ b/datum/spell/cone/staggered/cone_of_cold.html @@ -0,0 +1,11 @@ +/datum/spell/cone/staggered/cone_of_cold - Space Station 13
Space Station 13 - Modules - TypesVar Details

cone_of_cold

Vars

frozen_status_effect_pathWhat status effect do we apply when affecting mobs? +null means no status effect is applied
on_freeze_brute_damageHow much brute do we apply on freeze?
on_freeze_burn_damageHow much burn do we apply on freeze?
turf_freeze_typeWhat flags do we pass to MakeSlippery when affecting turfs? +null / NONE / TURF_DRY means the turf is unaffected
unfreeze_mob_durationHow long do mobs remain frozen for? +0 seconds means no status effect is applied, INFINITY means infinite duration (or default duration of the status effect)
unfreeze_object_durationHow long do objects remain frozen for? +0 seconds mean no objects are frozen, INFINITY means infinite duration freeze
unfreeze_turf_durationHow long do turfs remain slippery / frozen for? +0 seconds means the turf is unaffected, INFINITY means it's made perma-wet

Var Details

frozen_status_effect_path

What status effect do we apply when affecting mobs? +null means no status effect is applied

on_freeze_brute_damage

How much brute do we apply on freeze?

on_freeze_burn_damage

How much burn do we apply on freeze?

turf_freeze_type

What flags do we pass to MakeSlippery when affecting turfs? +null / NONE / TURF_DRY means the turf is unaffected

unfreeze_mob_duration

How long do mobs remain frozen for? +0 seconds means no status effect is applied, INFINITY means infinite duration (or default duration of the status effect)

unfreeze_object_duration

How long do objects remain frozen for? +0 seconds mean no objects are frozen, INFINITY means infinite duration freeze

unfreeze_turf_duration

How long do turfs remain slippery / frozen for? +0 seconds means the turf is unaffected, INFINITY means it's made perma-wet

\ No newline at end of file diff --git a/datum/spell/cosmic_rune.html b/datum/spell/cosmic_rune.html new file mode 100644 index 00000000000..a2ce0cbaf03 --- /dev/null +++ b/datum/spell/cosmic_rune.html @@ -0,0 +1 @@ +/datum/spell/cosmic_rune - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cosmic_rune

Vars

first_runeStorage for the first rune.
rune_remove_effectRune removal effect.
second_runeStorage for the second rune.

Procs

make_new_runeReturns a weak reference to a new rune, linked to an existing rune if provided

Var Details

first_rune

Storage for the first rune.

rune_remove_effect

Rune removal effect.

second_rune

Storage for the second rune.

Proc Details

make_new_rune

Returns a weak reference to a new rune, linked to an existing rune if provided

\ No newline at end of file diff --git a/datum/spell/fire_cascade.html b/datum/spell/fire_cascade.html new file mode 100644 index 00000000000..d0053a3069d --- /dev/null +++ b/datum/spell/fire_cascade.html @@ -0,0 +1 @@ +/datum/spell/fire_cascade - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

fire_cascade

Creates one, large, expanding ring of fire around the caster, which does not follow them.

Vars

flame_radiusThe radius the flames will go around the caster.

Procs

fire_cascadeSpreads a huge wave of fire in a radius around us, staggered between levels

Var Details

flame_radius

The radius the flames will go around the caster.

Proc Details

fire_cascade

Spreads a huge wave of fire in a radius around us, staggered between levels

\ No newline at end of file diff --git a/datum/spell/fire_sworn.html b/datum/spell/fire_sworn.html new file mode 100644 index 00000000000..af11754ed64 --- /dev/null +++ b/datum/spell/fire_sworn.html @@ -0,0 +1 @@ +/datum/spell/fire_sworn - Space Station 13
Space Station 13 - Modules - TypesVar Details

fire_sworn

Creates a constant Ring of Fire around the caster for a set duration of time, which follows them.

Vars

durationHow long it the ring lasts
fire_radiusThe radius of the fire ring

Var Details

duration

How long it the ring lasts

fire_radius

The radius of the fire ring

\ No newline at end of file diff --git a/datum/spell/fireball.html b/datum/spell/fireball.html new file mode 100644 index 00000000000..061d2082f5b --- /dev/null +++ b/datum/spell/fireball.html @@ -0,0 +1 @@ +/datum/spell/fireball - Space Station 13
Space Station 13 - Modules - TypesVar Details

fireball

Vars

cares_about_turfDo we care if we are on a turf?
current_amountHow many projectiles we have yet to fire, based on projectile_amount
projectile_amountHow many projectiles we can fire per cast. Not all at once, per click, kinda like charges. Unlike charges, it doesn't share cooldown

Var Details

cares_about_turf

Do we care if we are on a turf?

current_amount

How many projectiles we have yet to fire, based on projectile_amount

projectile_amount

How many projectiles we can fire per cast. Not all at once, per click, kinda like charges. Unlike charges, it doesn't share cooldown

\ No newline at end of file diff --git a/datum/spell/fireball/furious_steel.html b/datum/spell/fireball/furious_steel.html new file mode 100644 index 00000000000..8552692307f --- /dev/null +++ b/datum/spell/fireball/furious_steel.html @@ -0,0 +1 @@ +/datum/spell/fireball/furious_steel - Space Station 13
Space Station 13 - Modules - TypesVar Details

furious_steel

Vars

blade_effectA ref to the status effect surrounding our heretic on activation.
projectile_effectEffect of the projectile that surrounds us while the spell is active

Var Details

blade_effect

A ref to the status effect surrounding our heretic on activation.

projectile_effect

Effect of the projectile that surrounds us while the spell is active

\ No newline at end of file diff --git a/datum/spell/flayer.html b/datum/spell/flayer.html new file mode 100644 index 00000000000..128d218cdf3 --- /dev/null +++ b/datum/spell/flayer.html @@ -0,0 +1 @@ +/datum/spell/flayer - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

flayer

Vars

base_costThe initial cost of purchasing the spell.
categoryThe class that this spell is for or FLAYER_CATEGORY_GENERAL to make it unrelated to a specific tree
checks_nullificationIf the spell checks for a nullification implant/effect, set to FALSE to make it castable despite nullification
current_costThe current price to upgrade the spell
flayerA reference to the owner mindflayer's antag datum.
levelWhat level is our spell currently at
max_levelMax level of our spell
power_typeDetermines whether the power is always given to the mind flayer or if it must be purchased.
stageThe current stage that we are on for our powers. Currently only hides powers of a higher stage.
static_upgrade_increaseShould this spell's cost increase by a static amount every purchase? 0 means it will stay the base cost for every upgrade.
upgrade_infoA brief description of what the spell's upgrades do

Procs

on_applyThis is the proc that handles spell upgrades, override this to have upgrades change duration/strength etc
spell_purchasedThis is a proc that is called when the ability is purchased and first added to the flayer

Var Details

base_cost

The initial cost of purchasing the spell.

category

The class that this spell is for or FLAYER_CATEGORY_GENERAL to make it unrelated to a specific tree

checks_nullification

If the spell checks for a nullification implant/effect, set to FALSE to make it castable despite nullification

current_cost

The current price to upgrade the spell

flayer

A reference to the owner mindflayer's antag datum.

level

What level is our spell currently at

max_level

Max level of our spell

power_type

Determines whether the power is always given to the mind flayer or if it must be purchased.

stage

The current stage that we are on for our powers. Currently only hides powers of a higher stage.

static_upgrade_increase

Should this spell's cost increase by a static amount every purchase? 0 means it will stay the base cost for every upgrade.

upgrade_info

A brief description of what the spell's upgrades do

Proc Details

on_apply

This is the proc that handles spell upgrades, override this to have upgrades change duration/strength etc

spell_purchased

This is a proc that is called when the ability is purchased and first added to the flayer

\ No newline at end of file diff --git a/datum/spell/flayer/computer_recall.html b/datum/spell/flayer/computer_recall.html new file mode 100644 index 00000000000..131b887c7a0 --- /dev/null +++ b/datum/spell/flayer/computer_recall.html @@ -0,0 +1 @@ +/datum/spell/flayer/computer_recall - Space Station 13
Space Station 13 - Modules - TypesVar Details

computer_recall

Vars

machine_typecacheThe typecache of things we are allowed to teleport to and from
marked_computerThe console we currently have a mark on

Var Details

machine_typecache

The typecache of things we are allowed to teleport to and from

marked_computer

The console we currently have a mark on

\ No newline at end of file diff --git a/datum/spell/flayer/self/quicksilver_form.html b/datum/spell/flayer/self/quicksilver_form.html new file mode 100644 index 00000000000..7186cd10ddd --- /dev/null +++ b/datum/spell/flayer/self/quicksilver_form.html @@ -0,0 +1 @@ +/datum/spell/flayer/self/quicksilver_form - Space Station 13
Space Station 13 - Modules - TypesVar Details

quicksilver_form

Vars

extra_durationExtra duration we gain from upgrading
should_get_reflectionDo we get bullet reflection

Var Details

extra_duration

Extra duration we gain from upgrading

should_get_reflection

Do we get bullet reflection

\ No newline at end of file diff --git a/datum/spell/flayer/self/rejuv.html b/datum/spell/flayer/self/rejuv.html new file mode 100644 index 00000000000..77d7b8b1c40 --- /dev/null +++ b/datum/spell/flayer/self/rejuv.html @@ -0,0 +1 @@ +/datum/spell/flayer/self/rejuv - Space Station 13
Space Station 13 - Modules - TypesVar Details

rejuv

Vars

extra_healingAny extra healing per second we get from upgrading this spell

Var Details

extra_healing

Any extra healing per second we get from upgrading this spell

\ No newline at end of file diff --git a/datum/spell/flayer/self/weapon.html b/datum/spell/flayer/self/weapon.html new file mode 100644 index 00000000000..b91f6e82085 --- /dev/null +++ b/datum/spell/flayer/self/weapon.html @@ -0,0 +1 @@ +/datum/spell/flayer/self/weapon - Space Station 13
Space Station 13 - Modules - TypesVar Details

weapon

Vars

weapon_refReference to the weapon itself, set on create_new_weapon
weapon_typeTypepath of the weapon

Var Details

weapon_ref

Reference to the weapon itself, set on create_new_weapon

weapon_type

Typepath of the weapon

\ No newline at end of file diff --git a/datum/spell/flayer/surveillance_monitor.html b/datum/spell/flayer/surveillance_monitor.html new file mode 100644 index 00000000000..792bf4ccad7 --- /dev/null +++ b/datum/spell/flayer/surveillance_monitor.html @@ -0,0 +1 @@ +/datum/spell/flayer/surveillance_monitor - Space Station 13
Space Station 13 - Modules - TypesVar Details

surveillance_monitor

Hack computer cameras to use them as a secret camera network

Vars

active_bugsList of references to the bugs inside the computers that we hacked
internal_cameraAn internal camera bug
maximum_hacked_computersHow many computers can we have hacked at most?

Var Details

active_bugs

List of references to the bugs inside the computers that we hacked

internal_camera

An internal camera bug

maximum_hacked_computers

How many computers can we have hacked at most?

\ No newline at end of file diff --git a/datum/spell/flayer/techno_wall.html b/datum/spell/flayer/techno_wall.html new file mode 100644 index 00000000000..a6c10996335 --- /dev/null +++ b/datum/spell/flayer/techno_wall.html @@ -0,0 +1 @@ +/datum/spell/flayer/techno_wall - Space Station 13
Space Station 13 - Modules - TypesVar Details

techno_wall

Vars

max_wallsHow big can we make our wall
start_turfStarting turf for the wall. Should be nulled after each cast or the cancelling of a cast

Var Details

max_walls

How big can we make our wall

start_turf

Starting turf for the wall. Should be nulled after each cast or the cancelling of a cast

\ No newline at end of file diff --git a/datum/spell/hackerman_deck.html b/datum/spell/hackerman_deck.html new file mode 100644 index 00000000000..9254a5a29d9 --- /dev/null +++ b/datum/spell/hackerman_deck.html @@ -0,0 +1 @@ +/datum/spell/hackerman_deck - Space Station 13
Space Station 13 - Modules - TypesVar Details

hackerman_deck

Vars

recent_hackingHow many times have we successfully hacked in the last minute? Increases burn damage by 3 for each value above 0.

Var Details

recent_hacking

How many times have we successfully hacked in the last minute? Increases burn damage by 3 for each value above 0.

\ No newline at end of file diff --git a/datum/spell/mimic.html b/datum/spell/mimic.html new file mode 100644 index 00000000000..90c9ec743f6 --- /dev/null +++ b/datum/spell/mimic.html @@ -0,0 +1 @@ +/datum/spell/mimic - Space Station 13
Space Station 13 - Modules - TypesVar Details

mimic

Vars

available_formsWhich forms the user can become
max_formsHow many forms the user can remember
next_override_indexWhich index will be overriden next when the user wants to remember another form
perfect_disguiseIf a message is shown when somebody examines the user from close range
selected_formWhich form is currently selected

Var Details

available_forms

Which forms the user can become

max_forms

How many forms the user can remember

next_override_index

Which index will be overriden next when the user wants to remember another form

perfect_disguise

If a message is shown when somebody examines the user from close range

selected_form

Which form is currently selected

\ No newline at end of file diff --git a/datum/spell/morph_spell.html b/datum/spell/morph_spell.html new file mode 100644 index 00000000000..91ed7477de6 --- /dev/null +++ b/datum/spell/morph_spell.html @@ -0,0 +1 @@ +/datum/spell/morph_spell - Space Station 13
Space Station 13 - Modules - TypesVar Details

morph_spell

Vars

hunger_costHow much food it costs the morph to use this

Var Details

hunger_cost

How much food it costs the morph to use this

\ No newline at end of file diff --git a/datum/spell/pointed/ash_beams.html b/datum/spell/pointed/ash_beams.html new file mode 100644 index 00000000000..3b0ed60b523 --- /dev/null +++ b/datum/spell/pointed/ash_beams.html @@ -0,0 +1 @@ +/datum/spell/pointed/ash_beams - Space Station 13
Space Station 13 - Modules - TypesVar Details

ash_beams

Vars

flame_line_lengthThe length of the flame line spit out.

Var Details

flame_line_length

The length of the flame line spit out.

\ No newline at end of file diff --git a/datum/spell/pointed/cleave.html b/datum/spell/pointed/cleave.html new file mode 100644 index 00000000000..37be74234c8 --- /dev/null +++ b/datum/spell/pointed/cleave.html @@ -0,0 +1 @@ +/datum/spell/pointed/cleave - Space Station 13
Space Station 13 - Modules - TypesVar Details

cleave

Vars

cleave_radiusThe radius of the cleave effect

Var Details

cleave_radius

The radius of the cleave effect

\ No newline at end of file diff --git a/datum/spell/pointed/rust_construction.html b/datum/spell/pointed/rust_construction.html new file mode 100644 index 00000000000..8d04a3d1431 --- /dev/null +++ b/datum/spell/pointed/rust_construction.html @@ -0,0 +1 @@ +/datum/spell/pointed/rust_construction - Space Station 13
Space Station 13 - Modules - TypesVar Details

rust_construction

Vars

filter_durationHow long does the filter last on walls we make?

Var Details

filter_duration

How long does the filter last on walls we make?

\ No newline at end of file diff --git a/datum/spell/pointed/void_phase.html b/datum/spell/pointed/void_phase.html new file mode 100644 index 00000000000..9b8c7fe934b --- /dev/null +++ b/datum/spell/pointed/void_phase.html @@ -0,0 +1 @@ +/datum/spell/pointed/void_phase - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

void_phase

Vars

damage_radiusThe radius of damage around the void bubble
min_cast_rangeThe minimum range to cast the phase.

Procs

cause_aoeDoes the AOE effect of the blinka t the passed turf

Var Details

damage_radius

The radius of damage around the void bubble

min_cast_range

The minimum range to cast the phase.

Proc Details

cause_aoe

Does the AOE effect of the blinka t the passed turf

\ No newline at end of file diff --git a/datum/spell/projectile.html b/datum/spell/projectile.html new file mode 100644 index 00000000000..84284f07f19 --- /dev/null +++ b/datum/spell/projectile.html @@ -0,0 +1 @@ +/datum/spell/projectile - Space Station 13
Space Station 13 - Modules - TypesVar Details

projectile

Vars

proj_typeThe projectile we spawn. Make sure to override this

Var Details

proj_type

The projectile we spawn. Make sure to override this

\ No newline at end of file diff --git a/datum/spell/shadow_cloak.html b/datum/spell/shadow_cloak.html new file mode 100644 index 00000000000..0f05d704bc3 --- /dev/null +++ b/datum/spell/shadow_cloak.html @@ -0,0 +1 @@ +/datum/spell/shadow_cloak - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shadow_cloak

Vars

active_cloakThe cloak currently active
uncloak_timeHow long before we automatically uncloak?

Procs

on_early_cloak_lossSignal proc for COMSIG_PARENT_QDELETING, if our cloak is deleted early, impart negative effects
on_focus_lostSignal proc for [SIGNAL_REMOVETRAIT] via TRAIT_ALLOW_HERETIC_CASTING, losing our focus midcast will throw us out.

Var Details

active_cloak

The cloak currently active

uncloak_time

How long before we automatically uncloak?

Proc Details

on_early_cloak_loss

Signal proc for COMSIG_PARENT_QDELETING, if our cloak is deleted early, impart negative effects

on_focus_lost

Signal proc for [SIGNAL_REMOVETRAIT] via TRAIT_ALLOW_HERETIC_CASTING, losing our focus midcast will throw us out.

\ No newline at end of file diff --git a/datum/spell/shapeshift/shed_human_form.html b/datum/spell/shapeshift/shed_human_form.html new file mode 100644 index 00000000000..4b41129bb94 --- /dev/null +++ b/datum/spell/shapeshift/shed_human_form.html @@ -0,0 +1 @@ +/datum/spell/shapeshift/shed_human_form - Space Station 13
Space Station 13 - Modules - TypesVar Details

shed_human_form

Vars

scare_radiusThe radius around us that we cause brain damage to.
segment_lengthThe length of our new wormy when we shed.

Var Details

scare_radius

The radius around us that we cause brain damage to.

segment_length

The length of our new wormy when we shed.

\ No newline at end of file diff --git a/datum/spell/spacetime_dist.html b/datum/spell/spacetime_dist.html new file mode 100644 index 00000000000..740ffe4b711 --- /dev/null +++ b/datum/spell/spacetime_dist.html @@ -0,0 +1 @@ +/datum/spell/spacetime_dist - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

spacetime_dist

Vars

durationThe duration of the scramble
effectsA lazylist of all scramble effects this spell has created.
readyWhether we're ready to cast again yet or not. In the event someone lowers their cooldown with charge.
scramble_radiusThe radius of the scramble around the caster. Increased by 3 * spell_level

Procs

clean_turfsCallback which cleans up our effects list after the duration expires.

Var Details

duration

The duration of the scramble

effects

A lazylist of all scramble effects this spell has created.

ready

Whether we're ready to cast again yet or not. In the event someone lowers their cooldown with charge.

scramble_radius

The radius of the scramble around the caster. Increased by 3 * spell_level

Proc Details

clean_turfs

Callback which cleans up our effects list after the duration expires.

\ No newline at end of file diff --git a/datum/spell/summonitem.html b/datum/spell/summonitem.html new file mode 100644 index 00000000000..7804022bc56 --- /dev/null +++ b/datum/spell/summonitem.html @@ -0,0 +1 @@ +/datum/spell/summonitem - Space Station 13
Space Station 13 - Modules - TypesVar Details

summonitem

Vars

blacklisted_summonsList of objects which will result in the spell stopping with the recursion search

Var Details

blacklisted_summons

List of objects which will result in the spell stopping with the recursion search

\ No newline at end of file diff --git a/datum/spell/touch.html b/datum/spell/touch.html new file mode 100644 index 00000000000..97ce8772117 --- /dev/null +++ b/datum/spell/touch.html @@ -0,0 +1 @@ +/datum/spell/touch - Space Station 13
Space Station 13 - Modules - TypesVar Details

touch

Vars

ascendedHas this spell been boosted by a heretic ascending?

Var Details

ascended

Has this spell been boosted by a heretic ascending?

\ No newline at end of file diff --git a/datum/spell/touch/alien_spell.html b/datum/spell/touch/alien_spell.html new file mode 100644 index 00000000000..1defe6ce85c --- /dev/null +++ b/datum/spell/touch/alien_spell.html @@ -0,0 +1 @@ +/datum/spell/touch/alien_spell - Space Station 13
Space Station 13 - Modules - TypesVar Details

alien_spell

Vars

base_cooldownExtremely fast cooldown, only present so the cooldown system doesn't explode
create_custom_logsEvery alien spell creates only logs, no attack messages on someone placing weeds, but you DO get attack messages on neurotoxin and corrosive acid
on_remove_messageWe want a special on remove message, so we got this variable to do so
plasma_costHow much plasma it costs to use this

Var Details

base_cooldown

Extremely fast cooldown, only present so the cooldown system doesn't explode

create_custom_logs

Every alien spell creates only logs, no attack messages on someone placing weeds, but you DO get attack messages on neurotoxin and corrosive acid

on_remove_message

We want a special on remove message, so we got this variable to do so

plasma_cost

How much plasma it costs to use this

\ No newline at end of file diff --git a/datum/spell/touch/star_touch.html b/datum/spell/touch/star_touch.html new file mode 100644 index 00000000000..9c64b6b2843 --- /dev/null +++ b/datum/spell/touch/star_touch.html @@ -0,0 +1 @@ +/datum/spell/touch/star_touch - Space Station 13
Space Station 13 - Modules - TypesVar Details

star_touch

Vars

star_gazerStores the UID for the Star Gazer after ascending

Var Details

star_gazer

Stores the UID for the Star Gazer after ascending

\ No newline at end of file diff --git a/datum/spell/turf_teleport.html b/datum/spell/turf_teleport.html new file mode 100644 index 00000000000..ecf6e721e20 --- /dev/null +++ b/datum/spell/turf_teleport.html @@ -0,0 +1 @@ +/datum/spell/turf_teleport - Space Station 13
Space Station 13 - Modules - TypesVar Details

turf_teleport

Vars

include_light_turfsWhether the spell can teleport to light locations

Var Details

include_light_turfs

Whether the spell can teleport to light locations

\ No newline at end of file diff --git a/datum/spell/vampire.html b/datum/spell/vampire.html new file mode 100644 index 00000000000..d3550d61dc5 --- /dev/null +++ b/datum/spell/vampire.html @@ -0,0 +1 @@ +/datum/spell/vampire - Space Station 13
Space Station 13 - Modules - TypesVar Details

vampire

Vars

required_bloodHow much blood this ability costs to use

Var Details

required_blood

How much blood this ability costs to use

\ No newline at end of file diff --git a/datum/spell/vampire/arena.html b/datum/spell/vampire/arena.html new file mode 100644 index 00000000000..496f4c0505b --- /dev/null +++ b/datum/spell/vampire/arena.html @@ -0,0 +1 @@ +/datum/spell/vampire/arena - Space Station 13
Space Station 13 - Modules - TypesVar Details

arena

Vars

all_temp_wallsHolds a reference to all arena walls so we can qdel them easily with dispel()
timerHolds a reference to the timer until either the spell runs out or we recast it

Var Details

all_temp_walls

Holds a reference to all arena walls so we can qdel them easily with dispel()

timer

Holds a reference to the timer until either the spell runs out or we recast it

\ No newline at end of file diff --git a/datum/spell/vampire/soul_anchor.html b/datum/spell/vampire/soul_anchor.html new file mode 100644 index 00000000000..f16b96adcf9 --- /dev/null +++ b/datum/spell/vampire/soul_anchor.html @@ -0,0 +1 @@ +/datum/spell/vampire/soul_anchor - Space Station 13
Space Station 13 - Modules - TypesVar Details

soul_anchor

Vars

making_anchorAre we making an anchor?
timerHolds a reference to the timer until the caster fake recalls

Var Details

making_anchor

Are we making an anchor?

timer

Holds a reference to the timer until the caster fake recalls

\ No newline at end of file diff --git a/datum/spell_cooldown.html b/datum/spell_cooldown.html new file mode 100644 index 00000000000..e45767dda19 --- /dev/null +++ b/datum/spell_cooldown.html @@ -0,0 +1 @@ +/datum/spell_cooldown - Space Station 13
Space Station 13 - Modules - TypesVar Details

spell_cooldown

Vars

recharge_durationthe amount of time that must pass before a spell can be used again
recharge_timethe world.time the spell will be available again
spell_parentholds a ref to the spell
starts_off_cooldowndoes it start off cooldown?

Var Details

recharge_duration

the amount of time that must pass before a spell can be used again

recharge_time

the world.time the spell will be available again

spell_parent

holds a ref to the spell

starts_off_cooldown

does it start off cooldown?

\ No newline at end of file diff --git a/datum/spell_cooldown/charges.html b/datum/spell_cooldown/charges.html new file mode 100644 index 00000000000..46980d6e2b3 --- /dev/null +++ b/datum/spell_cooldown/charges.html @@ -0,0 +1 @@ +/datum/spell_cooldown/charges - Space Station 13
Space Station 13 - Modules - TypesVar Details

charges

Vars

charge_durationthe cooldown between uses of charges
charge_timethe time at which a spell charge can be used
current_chargesthe number of charges we currently have
max_chargesthe max number of charges a spell can have

Var Details

charge_duration

the cooldown between uses of charges

charge_time

the time at which a spell charge can be used

current_charges

the number of charges we currently have

max_charges

the max number of charges a spell can have

\ No newline at end of file diff --git a/datum/spell_handler/alien.html b/datum/spell_handler/alien.html new file mode 100644 index 00000000000..079a9a7fd7a --- /dev/null +++ b/datum/spell_handler/alien.html @@ -0,0 +1 @@ +/datum/spell_handler/alien - Space Station 13
Space Station 13 - Modules - TypesVar Details

alien

Vars

plasma_costAmount of plasma required to use this ability

Var Details

plasma_cost

Amount of plasma required to use this ability

\ No newline at end of file diff --git a/datum/spell_handler/flayer.html b/datum/spell_handler/flayer.html new file mode 100644 index 00000000000..ecda10ea271 --- /dev/null +++ b/datum/spell_handler/flayer.html @@ -0,0 +1 @@ +/datum/spell_handler/flayer - Space Station 13
Space Station 13 - Modules - TypesVar Details

flayer

Vars

checks_nullificationDo we check for nullification

Var Details

checks_nullification

Do we check for nullification

\ No newline at end of file diff --git a/datum/spell_handler/morph.html b/datum/spell_handler/morph.html new file mode 100644 index 00000000000..1690d37c717 --- /dev/null +++ b/datum/spell_handler/morph.html @@ -0,0 +1 @@ +/datum/spell_handler/morph - Space Station 13
Space Station 13 - Modules - TypesVar Details

morph

Vars

hunger_costHow much food it costs the morph to use this

Var Details

hunger_cost

How much food it costs the morph to use this

\ No newline at end of file diff --git a/datum/spell_handler/vampire.html b/datum/spell_handler/vampire.html new file mode 100644 index 00000000000..89c964bf46e --- /dev/null +++ b/datum/spell_handler/vampire.html @@ -0,0 +1 @@ +/datum/spell_handler/vampire - Space Station 13
Space Station 13 - Modules - TypesVar Details

vampire

Vars

deduct_blood_on_castIf the blood cost should be handled by this handler. Or if the spell will handle it itself

Var Details

deduct_blood_on_cast

If the blood cost should be handled by this handler. Or if the spell will handle it itself

\ No newline at end of file diff --git a/datum/spell_targeting.html b/datum/spell_targeting.html new file mode 100644 index 00000000000..73218fe2533 --- /dev/null +++ b/datum/spell_targeting.html @@ -0,0 +1,32 @@ +/datum/spell_targeting - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

spell_targeting

The base class for the targeting systems spells use.

+

To create a new targeting datum you just inherit from this base type and override the /datum/spell_targeting/proc/choose_targets proc. +Override the /datum/spell_targeting/proc/valid_target proc for more complex validations. +More complex behaviour like auto targeting and click based activation is possible.

Vars

allowed_typeWhich type the targets have to be
include_userIf it includes user. Not always used in all spell_targeting objects
max_targetsHow many targets are allowed. INFINITY is used to target unlimited targets
rangeThe range of the spell; outer radius for aoe spells
selection_typeCan be SPELL_SELECTION_RANGE or SPELL_SELECTION_VIEW
try_auto_targetWhether or not the spell will try to auto target first before setting up the intercept click
use_intercept_clickWhether or not the targeting is done by intercepting a click or not
use_obstacle_checkIf the spell should do an obstacle check from the user to the target. Windows, for example, will block the spell if this is true.
use_turf_of_userWhether or not the spell should use the turf of the user as starting point

Procs

InterceptClickOnCalled when the parent spell intercepts the click
attempt_auto_targetWill attempt to auto target the spell. Only works with 1 target currently
choose_targetsCalled when choosing the targets for the parent spell
obstacle_checkChecks if the path from the source to the target is free. +Mobs won't block the path. But any dense object (other than tables) will.
valid_targetChecks whether or not the given target is valid. Calls spell.valid_target as well

Var Details

allowed_type

Which type the targets have to be

include_user

If it includes user. Not always used in all spell_targeting objects

max_targets

How many targets are allowed. INFINITY is used to target unlimited targets

range

The range of the spell; outer radius for aoe spells

selection_type

Can be SPELL_SELECTION_RANGE or SPELL_SELECTION_VIEW

try_auto_target

Whether or not the spell will try to auto target first before setting up the intercept click

use_intercept_click

Whether or not the targeting is done by intercepting a click or not

use_obstacle_check

If the spell should do an obstacle check from the user to the target. Windows, for example, will block the spell if this is true.

use_turf_of_user

Whether or not the spell should use the turf of the user as starting point

Proc Details

InterceptClickOn

Called when the parent spell intercepts the click

+

Arguments:

+

attempt_auto_target

Will attempt to auto target the spell. Only works with 1 target currently

choose_targets

Called when choosing the targets for the parent spell

+

Arguments:

+

obstacle_check

Checks if the path from the source to the target is free. +Mobs won't block the path. But any dense object (other than tables) will.

+

Arguments:

+

valid_target

Checks whether or not the given target is valid. Calls spell.valid_target as well

+

Arguments:

+
\ No newline at end of file diff --git a/datum/spell_targeting/aoe.html b/datum/spell_targeting/aoe.html new file mode 100644 index 00000000000..aff6ae599a2 --- /dev/null +++ b/datum/spell_targeting/aoe.html @@ -0,0 +1 @@ +/datum/spell_targeting/aoe - Space Station 13
Space Station 13 - Modules - TypesVar Details

aoe

An area of effect based spell targeting system. Will return all targets in the given range

Vars

inner_radiusThe radius of turfs not being affected. -1 is inactive

Var Details

inner_radius

The radius of turfs not being affected. -1 is inactive

\ No newline at end of file diff --git a/datum/spell_targeting/click.html b/datum/spell_targeting/click.html new file mode 100644 index 00000000000..283368d7018 --- /dev/null +++ b/datum/spell_targeting/click.html @@ -0,0 +1 @@ +/datum/spell_targeting/click - Space Station 13
Space Station 13 - Modules - TypesVar Details

click

A click based spell targeting system. The clicked atom will be used to determine who/what to target

Vars

click_radiusHow big the radius around the clicked atom is to find clicked_atom suitable target. -1 is only the selected atom is considered

Var Details

click_radius

How big the radius around the clicked atom is to find clicked_atom suitable target. -1 is only the selected atom is considered

\ No newline at end of file diff --git a/datum/spell_targeting/cone.html b/datum/spell_targeting/cone.html new file mode 100644 index 00000000000..1b01fdbbfe1 --- /dev/null +++ b/datum/spell_targeting/cone.html @@ -0,0 +1,4 @@ +/datum/spell_targeting/cone - Space Station 13
Space Station 13 - Modules - TypesVar 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_shapeAdjusts the width of the cone at the passed level. +This is never called on the first level of the cone (level 1 is always 1 width)

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

Adjusts the width of the cone at the passed level. +This is never called on the first level of the cone (level 1 is always 1 width)

+

Return a number - the TOTAL width of the cone at the passed level.

\ No newline at end of file diff --git a/datum/spell_targeting/spiral.html b/datum/spell_targeting/spiral.html new file mode 100644 index 00000000000..3e6dd849246 --- /dev/null +++ b/datum/spell_targeting/spiral.html @@ -0,0 +1,3 @@ +/datum/spell_targeting/spiral - Space Station 13
Space Station 13 - Modules - Types

spiral

Gets a list of turfs around the center atom to scramble.

+

Returns an assoc list of turf to turf. These pairs are what turfs are +swapped between one another when the cast is done.

\ No newline at end of file diff --git a/datum/spell_targeting/targeted.html b/datum/spell_targeting/targeted.html new file mode 100644 index 00000000000..afff658e5fd --- /dev/null +++ b/datum/spell_targeting/targeted.html @@ -0,0 +1 @@ +/datum/spell_targeting/targeted - Space Station 13
Space Station 13 - Modules - TypesVar Details

targeted

A spell targeting system which is able to select 1 to many targets in range/view of the caster. Has a random mode, distance from user based mode or a user input mode.

Vars

can_hit_target_more_than_onceOnly important if max_targets > 1, affects if the spell can be cast multiple times at one person from one cast
random_targetChooses random viable target instead of asking the caster
target_priorityWho to target when too many targets are found. Only matters when max_targets = 1

Var Details

can_hit_target_more_than_once

Only important if max_targets > 1, affects if the spell can be cast multiple times at one person from one cast

random_target

Chooses random viable target instead of asking the caster

target_priority

Who to target when too many targets are found. Only matters when max_targets = 1

\ No newline at end of file diff --git a/datum/sprite_accessory/hair/dave.html b/datum/sprite_accessory/hair/dave.html new file mode 100644 index 00000000000..63ce9ca850f --- /dev/null +++ b/datum/sprite_accessory/hair/dave.html @@ -0,0 +1,2 @@ +/datum/sprite_accessory/hair/dave - Space Station 13
Space Station 13 - Modules - Types

dave

END VG HAIRSTYLES//

+

START POLARIS HAIRSTYLES

\ No newline at end of file diff --git a/datum/sprite_accessory/hair/eighties_ponytail.html b/datum/sprite_accessory/hair/eighties_ponytail.html new file mode 100644 index 00000000000..907c586850b --- /dev/null +++ b/datum/sprite_accessory/hair/eighties_ponytail.html @@ -0,0 +1,2 @@ +/datum/sprite_accessory/hair/eighties_ponytail - Space Station 13
Space Station 13 - Modules - Types

eighties_ponytail

//END POLARIS HAIRSTYLES///

+

Ume hairstyles

\ No newline at end of file diff --git a/datum/stack_recipe.html b/datum/stack_recipe.html new file mode 100644 index 00000000000..a79caa4abe1 --- /dev/null +++ b/datum/stack_recipe.html @@ -0,0 +1 @@ +/datum/stack_recipe - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

stack_recipe

Vars

cult_structureResulting atom is a cult structure
max_res_amountMaximum amount of atoms made
on_floorRequires a floor underneath to make
on_floor_or_latticeRequires a floor OR lattice underneath to make
one_per_turfOnly one resulting atom is allowed per turf
req_amountRequired stack amount to make
res_amountAmount of atoms made
result_imageGenerated base64 image. Used only if result has color
result_typeResulting typepath of crafted atom
timeTime to make
titleVisible title of recipe
window_checksRequires a valid window location to make

Procs

do_buildCreates the atom defined by the recipe. Should always return the object it creates or FALSE. This proc assumes that the construction is already possible; for checking whether a recipe can be built before construction, use try_build()
post_buildWhat should be done after the object is built? obj/item/stack/result might not actually be a stack, but this proc needs access to merge() to work, which is on obj/item/stack, so declare it as obj/item/stack anyways.
try_buildReturns TRUE if the recipe can be built, otherwise returns FALSE. This proc is only meant as a series of tests to check if construction is possible; the actual creation of the resulting atom should be handled in do_build()

Var Details

cult_structure

Resulting atom is a cult structure

max_res_amount

Maximum amount of atoms made

on_floor

Requires a floor underneath to make

on_floor_or_lattice

Requires a floor OR lattice underneath to make

one_per_turf

Only one resulting atom is allowed per turf

req_amount

Required stack amount to make

res_amount

Amount of atoms made

result_image

Generated base64 image. Used only if result has color

result_type

Resulting typepath of crafted atom

time

Time to make

title

Visible title of recipe

window_checks

Requires a valid window location to make

Proc Details

do_build

Creates the atom defined by the recipe. Should always return the object it creates or FALSE. This proc assumes that the construction is already possible; for checking whether a recipe can be built before construction, use try_build()

post_build

What should be done after the object is built? obj/item/stack/result might not actually be a stack, but this proc needs access to merge() to work, which is on obj/item/stack, so declare it as obj/item/stack anyways.

try_build

Returns TRUE if the recipe can be built, otherwise returns FALSE. This proc is only meant as a series of tests to check if construction is possible; the actual creation of the resulting atom should be handled in do_build()

\ No newline at end of file diff --git a/datum/station_department.html b/datum/station_department.html new file mode 100644 index 00000000000..b69c7d68996 --- /dev/null +++ b/datum/station_department.html @@ -0,0 +1 @@ +/datum/station_department - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

station_department

Vars

account_accessThe access need to get into this department account, this is a one req access list, used especialy for supply computer
account_base_payThe amount this department will be payed every payday at a minimum (unless deducted otherwise)
account_starting_balanceThe amount this departments will get endowed with a roundstart in their money account
auto_approval_capIf there is auto approval, is it capped?
crate_auto_approveWill this department's account auto approve crates?
department_accountThe money account tied to this department
department_namename of department, used to determine department money account names as well
department_rolesA list of occupation names in this department
head_of_staffThe occupation name of the person in charge of this department officially

Procs

has_account_accesschecks to see if the crew members has the right access or is whitelisted on the department account

Var Details

account_access

The access need to get into this department account, this is a one req access list, used especialy for supply computer

account_base_pay

The amount this department will be payed every payday at a minimum (unless deducted otherwise)

account_starting_balance

The amount this departments will get endowed with a roundstart in their money account

auto_approval_cap

If there is auto approval, is it capped?

crate_auto_approve

Will this department's account auto approve crates?

department_account

The money account tied to this department

department_name

name of department, used to determine department money account names as well

department_roles

A list of occupation names in this department

head_of_staff

The occupation name of the person in charge of this department officially

Proc Details

has_account_access

checks to see if the crew members has the right access or is whitelisted on the department account

\ No newline at end of file diff --git a/datum/station_goal/secondary.html b/datum/station_goal/secondary.html new file mode 100644 index 00000000000..85966bc1c0d --- /dev/null +++ b/datum/station_goal/secondary.html @@ -0,0 +1 @@ +/datum/station_goal/secondary - Space Station 13
Space Station 13 - Modules - TypesVar Details

secondary

Vars

admin_descAdmin-only shor description of the goal.
departmentAssigned department. Should match the values used for requests consoles.
personal_accountThe money account of the person who requested the goal.
progressProgress type of this goal.
progress_typeType path of the progress tracker used.
requester_nameThe person who requested the goal.
should_send_crateShould we (still) send a personal crate on the next shipment?
trackerTracker that manages the goal progress, permanent and temporary.
weightThe goal weight of a secondary goal type defines how many copies of it are in the grab bag that new secondary goals are pulled from. When the bag is empty, it gets refilled with the same number of each secondary goal type. Max 10.

Var Details

admin_desc

Admin-only shor description of the goal.

department

Assigned department. Should match the values used for requests consoles.

personal_account

The money account of the person who requested the goal.

progress

Progress type of this goal.

progress_type

Type path of the progress tracker used.

requester_name

The person who requested the goal.

should_send_crate

Should we (still) send a personal crate on the next shipment?

tracker

Tracker that manages the goal progress, permanent and temporary.

weight

The goal weight of a secondary goal type defines how many copies of it are in the grab bag that new secondary goals are pulled from. When the bag is empty, it gets refilled with the same number of each secondary goal type. Max 10.

\ No newline at end of file diff --git a/datum/station_goal/secondary/medicine_of_type.html b/datum/station_goal/secondary/medicine_of_type.html new file mode 100644 index 00000000000..1e7c631addf --- /dev/null +++ b/datum/station_goal/secondary/medicine_of_type.html @@ -0,0 +1 @@ +/datum/station_goal/secondary/medicine_of_type - Space Station 13
Space Station 13 - Modules - TypesVar Details

medicine_of_type

Vars

adequate_medsMedicine that will count 2:1 towards the goal amount.
preferred_medsMedicine that will count 1:1 towards the goal amount.

Var Details

adequate_meds

Medicine that will count 2:1 towards the goal amount.

preferred_meds

Medicine that will count 1:1 towards the goal amount.

\ No newline at end of file diff --git a/datum/station_goal/secondary/random_smithed_item.html b/datum/station_goal/secondary/random_smithed_item.html new file mode 100644 index 00000000000..95c2f330ea7 --- /dev/null +++ b/datum/station_goal/secondary/random_smithed_item.html @@ -0,0 +1 @@ +/datum/station_goal/secondary/random_smithed_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

random_smithed_item

Vars

materialWhat should the material type be?
qualityWhat quality should the product be?
rewardWhat do you get for accomplishing this goal (in credits)

Var Details

material

What should the material type be?

quality

What quality should the product be?

reward

What do you get for accomplishing this goal (in credits)

\ No newline at end of file diff --git a/datum/station_goal/secondary/variety_food.html b/datum/station_goal/secondary/variety_food.html new file mode 100644 index 00000000000..d14f27afced --- /dev/null +++ b/datum/station_goal/secondary/variety_food.html @@ -0,0 +1 @@ +/datum/station_goal/secondary/variety_food - Space Station 13
Space Station 13 - Modules - TypesVar Details

variety_food

Vars

amount_perHow many of each food type are needed.
different_typesHow many different types of food are needed.

Var Details

amount_per

How many of each food type are needed.

different_types

How many different types of food are needed.

\ No newline at end of file diff --git a/datum/station_state.html b/datum/station_state.html new file mode 100644 index 00000000000..b6f6c7b6dfa --- /dev/null +++ b/datum/station_state.html @@ -0,0 +1 @@ +/datum/station_state - Space Station 13
Space Station 13 - Modules - TypesVar Details

station_state

Vars

doorAmount of airlocks
floorAmount of floors
grilleAmount of grilles (without windows)
machAmount of machines
r_wallAmount of reinforced walles
wallAmount of regular walls
windowAmount of full windows

Var Details

door

Amount of airlocks

floor

Amount of floors

grille

Amount of grilles (without windows)

mach

Amount of machines

r_wall

Amount of reinforced walles

wall

Amount of regular walls

window

Amount of full windows

\ No newline at end of file diff --git a/datum/station_trait.html b/datum/station_trait.html new file mode 100644 index 00000000000..0b8c08b3b09 --- /dev/null +++ b/datum/station_trait.html @@ -0,0 +1 @@ +/datum/station_trait - Space Station 13
Space Station 13 - Modules - TypesVar 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
dynamic_threat_idThe ID that we look for in dynamic.json. Not synced with 'name' because I can already see this go wrong
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, planetary or space only
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

dynamic_threat_id

The ID that we look for in dynamic.json. Not synced with 'name' because I can already see this go wrong

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, planetary or space only

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.

\ No newline at end of file diff --git a/datum/station_trait/cybernetic_revolution.html b/datum/station_trait/cybernetic_revolution.html new file mode 100644 index 00000000000..1b9262e39d8 --- /dev/null +++ b/datum/station_trait/cybernetic_revolution.html @@ -0,0 +1 @@ +/datum/station_trait/cybernetic_revolution - Space Station 13
Space Station 13 - Modules - TypesVar Details

cybernetic_revolution

NOTE: THIS MAKES EMP MUCH MORE EXPENSIVE.

Vars

job_to_cyberneticList of all job types with the cybernetics they should receive.

Var Details

job_to_cybernetic

List of all job types with the cybernetics they should receive.

\ No newline at end of file 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..5625bfa5392 --- /dev/null +++ b/datum/station_trait/random_event_weight_modifier.html @@ -0,0 +1 @@ +/datum/station_trait/random_event_weight_modifier - Space Station 13
Space Station 13 - Modules - TypesVar Details

random_event_weight_modifier

Vars

disable_is_one_shotDo we want to turn off is one shot?
event_namesThe names of the event we modify.
event_severityThe severity of the event we modify.
weight_multiplierMultiplier applied to the weight of the event. may want to apply to scaling as well

Var Details

disable_is_one_shot

Do we want to turn off is one shot?

event_names

The names of the event we modify.

event_severity

The severity of the event we modify.

weight_multiplier

Multiplier applied to the weight of the event. may want to apply to scaling as well

\ No newline at end of file diff --git a/datum/status_effect.html b/datum/status_effect.html new file mode 100644 index 00000000000..ad6daae2151 --- /dev/null +++ b/datum/status_effect.html @@ -0,0 +1 @@ +/datum/status_effect - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

status_effect

Vars

idA unique ID that is used to see if there is already a status effect of the same type on something. Also used for screen alerts
show_durationDo we show the duration of the status effect on the alert

Procs

before_removeCalled before being removed; returning FALSE will cancel removal
update_shown_durationUpdates the status effect alert's maptext (if possible)

Var Details

id

A unique ID that is used to see if there is already a status effect of the same type on something. Also used for screen alerts

show_duration

Do we show the duration of the status effect on the alert

Proc Details

before_remove

Called before being removed; returning FALSE will cancel removal

update_shown_duration

Updates the status effect alert's maptext (if possible)

\ No newline at end of file diff --git a/datum/status_effect/blooddrunk.html b/datum/status_effect/blooddrunk.html new file mode 100644 index 00000000000..c398f819ea0 --- /dev/null +++ b/datum/status_effect/blooddrunk.html @@ -0,0 +1 @@ +/datum/status_effect/blooddrunk - Space Station 13
Space Station 13 - Modules - TypesVar Details

blooddrunk

Vars

chariotIf this is the chariot subtype, which grants pacifism while the effect is active.

Var Details

chariot

If this is the chariot subtype, which grants pacifism while the effect is active.

\ No newline at end of file diff --git a/datum/status_effect/bubblegum_curse.html b/datum/status_effect/bubblegum_curse.html new file mode 100644 index 00000000000..ae56c38b9ea --- /dev/null +++ b/datum/status_effect/bubblegum_curse.html @@ -0,0 +1 @@ +/datum/status_effect/bubblegum_curse - Space Station 13
Space Station 13 - Modules - TypesVar Details

bubblegum_curse

Vars

coward_checkingAre we starting the process to check if the person has still gotten out of range of bubble / crossed zlvls.
damageThe damage the status effect does per tick.

Var Details

coward_checking

Are we starting the process to check if the person has still gotten out of range of bubble / crossed zlvls.

damage

The damage the status effect does per tick.

\ No newline at end of file diff --git a/datum/status_effect/cloudstruck.html b/datum/status_effect/cloudstruck.html new file mode 100644 index 00000000000..f3675cc85c7 --- /dev/null +++ b/datum/status_effect/cloudstruck.html @@ -0,0 +1 @@ +/datum/status_effect/cloudstruck - Space Station 13
Space Station 13 - Modules - TypesVar 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.

\ No newline at end of file diff --git a/datum/status_effect/cosmic_beam.html b/datum/status_effect/cosmic_beam.html new file mode 100644 index 00000000000..6cd216da1fa --- /dev/null +++ b/datum/status_effect/cosmic_beam.html @@ -0,0 +1,5 @@ +/datum/status_effect/cosmic_beam - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cosmic_beam

Vars

activeWether the beam is active or not
check_delayThe delay of when the beam gets checked
current_beamThe storage for the beam
current_targetStores the current beam target
last_checkChecks the time of the last check
max_rangeThe maximum range of the beam

Procs

beam_diedProc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = lose_target, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first
lose_targetProc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()
on_beam_hitWhat to add when the beam connects to a target
on_beam_releaseWhat to remove when the beam disconnects from a target
on_beam_tickWhat to process when the beam is connected to a target
start_beamUsed for starting the beam when a target has been acquired

Var Details

active

Wether the beam is active or not

check_delay

The delay of when the beam gets checked

current_beam

The storage for the beam

current_target

Stores the current beam target

last_check

Checks the time of the last check

max_range

The maximum range of the beam

Proc Details

beam_died

Proc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = lose_target, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first

lose_target

Proc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()

on_beam_hit

What to add when the beam connects to a target

on_beam_release

What to remove when the beam disconnects from a target

on_beam_tick

What to process when the beam is connected to a target

start_beam

Used for starting the beam when a target has been acquired

\ No newline at end of file diff --git a/datum/status_effect/cursed.html b/datum/status_effect/cursed.html new file mode 100644 index 00000000000..82791881b48 --- /dev/null +++ b/datum/status_effect/cursed.html @@ -0,0 +1,2 @@ +/datum/status_effect/cursed - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cursed

Status effect that gives the target miscellanous debuffs while throwing a status alert and causing them to smoke from the damage they're incurring. +Purposebuilt for cursed slot machines.

Vars

branded_handThe hand we are branded to.
curse_countThe amount of times we have been "applied" to the target.
damage_chanceRaw probability we have to deal damage this tick.
max_curse_countThe max number of curses a target can incur with this status effect.
monologuingAre we currently in the process of sending a monologue?

Procs

check_cursesChecks the number of curses we have and returns information back to the slot machine. max_curse_amount is set by the slot machine itself.
clear_cursesCleans ourselves up and removes our curses. Meant to be done in a "positive" way, when the curse is broken. Directly use qdel otherwise.
handle_after_effectsMakes a nice lorey message about the curse level we're at. I think it's nice
on_deathIf our owner dies without getting gibbed, we gib them, because fuck you baltamore
on_stat_changedIf our owner's stat changes, rapidly surge the damage chance.
update_curse_countHandles the debuffs of this status effect and incrementing the number of curses we have.

Var Details

branded_hand

The hand we are branded to.

curse_count

The amount of times we have been "applied" to the target.

damage_chance

Raw probability we have to deal damage this tick.

max_curse_count

The max number of curses a target can incur with this status effect.

monologuing

Are we currently in the process of sending a monologue?

Proc Details

check_curses

Checks the number of curses we have and returns information back to the slot machine. max_curse_amount is set by the slot machine itself.

clear_curses

Cleans ourselves up and removes our curses. Meant to be done in a "positive" way, when the curse is broken. Directly use qdel otherwise.

handle_after_effects

Makes a nice lorey message about the curse level we're at. I think it's nice

on_death

If our owner dies without getting gibbed, we gib them, because fuck you baltamore

on_stat_changed

If our owner's stat changes, rapidly surge the damage chance.

update_curse_count

Handles the debuffs of this status effect and incrementing the number of curses we have.

\ No newline at end of file diff --git a/datum/status_effect/eldritch.html b/datum/status_effect/eldritch.html new file mode 100644 index 00000000000..234a6aac917 --- /dev/null +++ b/datum/status_effect/eldritch.html @@ -0,0 +1 @@ +/datum/status_effect/eldritch - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

eldritch

Vars

effect_iconicon file for the underlay
effect_icon_stateicon state for the underlay
marked_underlayunderlay used to indicate that someone is marked

Procs

on_effectCalled when the mark is activated by the heretic.

Var Details

effect_icon

icon file for the underlay

effect_icon_state

icon state for the underlay

marked_underlay

underlay used to indicate that someone is marked

Proc Details

on_effect

Called when the mark is activated by the heretic.

\ No newline at end of file diff --git a/datum/status_effect/eldritch/ash.html b/datum/status_effect/eldritch/ash.html new file mode 100644 index 00000000000..d6787c90c07 --- /dev/null +++ b/datum/status_effect/eldritch/ash.html @@ -0,0 +1 @@ +/datum/status_effect/eldritch/ash - Space Station 13
Space Station 13 - Modules - TypesVar Details

ash

Vars

repetitionsDictates how much stamina and burn damage the mark will cause on trigger.

Var Details

repetitions

Dictates how much stamina and burn damage the mark will cause on trigger.

\ No newline at end of file diff --git a/datum/status_effect/eldritch/blade.html b/datum/status_effect/eldritch/blade.html new file mode 100644 index 00000000000..d14a9b5e495 --- /dev/null +++ b/datum/status_effect/eldritch/blade.html @@ -0,0 +1 @@ +/datum/status_effect/eldritch/blade - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

blade

Vars

locked_toIf set, the owner of the status effect will not be able to leave this area.

Procs

is_escaping_locked_areaChecks if the movement from moving_from to going_to leaves our [var/locked_to] area. Returns TRUE if so.
on_moveSignal proc for COMSIG_MOVABLE_MOVED that blocks any movement out of our locked area
on_teleportSignal proc for [COMSIG_MOVABLE_TELEPORTED] that blocks any teleports from our locked area.

Var Details

locked_to

If set, the owner of the status effect will not be able to leave this area.

Proc Details

is_escaping_locked_area

Checks if the movement from moving_from to going_to leaves our [var/locked_to] area. Returns TRUE if so.

on_move

Signal proc for COMSIG_MOVABLE_MOVED that blocks any movement out of our locked area

on_teleport

Signal proc for [COMSIG_MOVABLE_TELEPORTED] that blocks any teleports from our locked area.

\ No newline at end of file diff --git a/datum/status_effect/eldritch/cosmic.html b/datum/status_effect/eldritch/cosmic.html new file mode 100644 index 00000000000..84eab470954 --- /dev/null +++ b/datum/status_effect/eldritch/cosmic.html @@ -0,0 +1 @@ +/datum/status_effect/eldritch/cosmic - Space Station 13
Space Station 13 - Modules - TypesVar Details

cosmic

Vars

cosmic_diamondFor storing the location when the mark got applied.
teleport_effectEffect when triggering mark.

Var Details

cosmic_diamond

For storing the location when the mark got applied.

teleport_effect

Effect when triggering mark.

\ No newline at end of file diff --git a/datum/status_effect/eldritch/moon.html b/datum/status_effect/eldritch/moon.html new file mode 100644 index 00000000000..9e0c212dcf1 --- /dev/null +++ b/datum/status_effect/eldritch/moon.html @@ -0,0 +1 @@ +/datum/status_effect/eldritch/moon - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

moon

Vars

damage_sustainedUsed for checking if the pacifism effect should end early

Procs

on_damagedChecks for damage so the heretic can't just attack them with another weapon whilst they are unable to fight back

Var Details

damage_sustained

Used for checking if the pacifism effect should end early

Proc Details

on_damaged

Checks for damage so the heretic can't just attack them with another weapon whilst they are unable to fight back

\ No newline at end of file diff --git a/datum/status_effect/fake_virus.html b/datum/status_effect/fake_virus.html new file mode 100644 index 00000000000..bf8d892ab6c --- /dev/null +++ b/datum/status_effect/fake_virus.html @@ -0,0 +1 @@ +/datum/status_effect/fake_virus - Space Station 13
Space Station 13 - Modules - TypesVar Details

fake_virus

Vars

current_fake_diseaseWhich disease we are going to fake?
fake_emoteFake virus emotes with three stages
fake_msgFake virus messages by with three stages
msg_stageSo you dont get the most intense messages immediately

Var Details

current_fake_disease

Which disease we are going to fake?

fake_emote

Fake virus emotes with three stages

fake_msg

Fake virus messages by with three stages

msg_stage

So you dont get the most intense messages immediately

\ No newline at end of file diff --git a/datum/status_effect/fire_blasted.html b/datum/status_effect/fire_blasted.html new file mode 100644 index 00000000000..09ad7e8e6d0 --- /dev/null +++ b/datum/status_effect/fire_blasted.html @@ -0,0 +1,2 @@ +/datum/status_effect/fire_blasted - Space Station 13
Space Station 13 - Modules - TypesVar Details

fire_blasted

Status effect applied when someone's hit by the fire blast.

+

Applies an overlay, then causes a damage over time (or heal over time)

Vars

animate_durationHow long does the animation of the appearance last? If 0 or negative, we make no overlay
mob_overlayThis overlay is applied to the owner for the duration of the effect.
tick_damageHow much fire / stam to do per tick (stamina damage is doubled this)

Var Details

animate_duration

How long does the animation of the appearance last? If 0 or negative, we make no overlay

mob_overlay

This overlay is applied to the owner for the duration of the effect.

tick_damage

How much fire / stam to do per tick (stamina damage is doubled this)

\ No newline at end of file diff --git a/datum/status_effect/fire_ring.html b/datum/status_effect/fire_ring.html new file mode 100644 index 00000000000..9e013f02543 --- /dev/null +++ b/datum/status_effect/fire_ring.html @@ -0,0 +1 @@ +/datum/status_effect/fire_ring - Space Station 13
Space Station 13 - Modules - TypesVar Details

fire_ring

Simple status effect for adding a ring of fire around a mob.

Vars

ring_radiusThe radius of the ring around us.

Var Details

ring_radius

The radius of the ring around us.

\ No newline at end of file diff --git a/datum/status_effect/fleshmend.html b/datum/status_effect/fleshmend.html new file mode 100644 index 00000000000..348650022e9 --- /dev/null +++ b/datum/status_effect/fleshmend.html @@ -0,0 +1 @@ +/datum/status_effect/fleshmend - Space Station 13
Space Station 13 - Modules - TypesVar Details

fleshmend

Vars

active_instancesa list of integers, one for each remaining instance of fleshmend.
freezingThis diminishes the healing of fleshmend if the user is cold when it is activated
toleranceThis diminishes the healing of fleshmend the higher it is.

Var Details

active_instances

a list of integers, one for each remaining instance of fleshmend.

freezing

This diminishes the healing of fleshmend if the user is cold when it is activated

tolerance

This diminishes the healing of fleshmend the higher it is.

\ No newline at end of file diff --git a/datum/status_effect/ghoul.html b/datum/status_effect/ghoul.html new file mode 100644 index 00000000000..99b05b448fc --- /dev/null +++ b/datum/status_effect/ghoul.html @@ -0,0 +1 @@ +/datum/status_effect/ghoul - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ghoul

Vars

master_mindReference to the master of the ghoul's mind
new_max_healthThe new max health value set for the ghoul, if supplied
on_lost_callbackAn optional callback invoked when a goul is unghouled (on_removed)
on_made_callbackAn optional callback invoked when a ghoul is made (on_apply)
stamina_mod_appliedWhat, if any, stamina modifier we applied to the ghoul mob

Procs

remove_ghoul_statusRemoves the ghoul effects from our owner and returns them to normal.

Var Details

master_mind

Reference to the master of the ghoul's mind

new_max_health

The new max health value set for the ghoul, if supplied

on_lost_callback

An optional callback invoked when a goul is unghouled (on_removed)

on_made_callback

An optional callback invoked when a ghoul is made (on_apply)

stamina_mod_applied

What, if any, stamina modifier we applied to the ghoul mob

Proc Details

remove_ghoul_status

Removes the ghoul effects from our owner and returns them to normal.

\ No newline at end of file diff --git a/datum/status_effect/grouped.html b/datum/status_effect/grouped.html new file mode 100644 index 00000000000..7d89d16b033 --- /dev/null +++ b/datum/status_effect/grouped.html @@ -0,0 +1 @@ +/datum/status_effect/grouped - Space Station 13
Space Station 13 - Modules - TypesVar Details

grouped

Status effect from multiple sources, when all sources are removed, so is the effect

Vars

status_typeAdds itself to sources and destroys itself if one exists already, there are never multiple

Var Details

status_type

Adds itself to sources and destroys itself if one exists already, there are never multiple

\ No newline at end of file diff --git a/datum/status_effect/heretic_curse.html b/datum/status_effect/heretic_curse.html new file mode 100644 index 00000000000..3b947ee4351 --- /dev/null +++ b/datum/status_effect/heretic_curse.html @@ -0,0 +1 @@ +/datum/status_effect/heretic_curse - Space Station 13
Space Station 13 - Modules - TypesVar Details

heretic_curse

A curse given to people to disencourage them from retaliating against someone who sacrificed them

Vars

consequence_cooldownDon't experience bad things too often
the_curserWho cursed us?

Var Details

consequence_cooldown

Don't experience bad things too often

the_curser

Who cursed us?

\ No newline at end of file diff --git a/datum/status_effect/high_five.html b/datum/status_effect/high_five.html new file mode 100644 index 00000000000..72a74b0abf4 --- /dev/null +++ b/datum/status_effect/high_five.html @@ -0,0 +1 @@ +/datum/status_effect/high_five - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

high_five

Vars

critical_successMessage displayed when wizards perform this together
item_pathItem to be shown in the pop-up balloon.
requestMessage displayed when this status effect is applied.
sound_effectSound effect played when this emote is completed.
successMessage displayed when normal people perform this together

Procs

wiz_cleanupSo we don't leave folks with god-mode

Var Details

critical_success

Message displayed when wizards perform this together

item_path

Item to be shown in the pop-up balloon.

request

Message displayed when this status effect is applied.

sound_effect

Sound effect played when this emote is completed.

success

Message displayed when normal people perform this together

Proc Details

wiz_cleanup

So we don't leave folks with god-mode

\ No newline at end of file diff --git a/datum/status_effect/high_five/rps.html b/datum/status_effect/high_five/rps.html new file mode 100644 index 00000000000..f9af34b70ab --- /dev/null +++ b/datum/status_effect/high_five/rps.html @@ -0,0 +1 @@ +/datum/status_effect/high_five/rps - Space Station 13
Space Station 13 - Modules - TypesVar Details

rps

Vars

moveThe move that you'll be making.

Var Details

move

The move that you'll be making.

\ No newline at end of file diff --git a/datum/status_effect/hippocratic_oath.html b/datum/status_effect/hippocratic_oath.html new file mode 100644 index 00000000000..5afc571f61a --- /dev/null +++ b/datum/status_effect/hippocratic_oath.html @@ -0,0 +1 @@ +/datum/status_effect/hippocratic_oath - Space Station 13
Space Station 13 - Modules - TypesVar Details

hippocratic_oath

Vars

heal_pointsHow many points the rod has to heal with, maxes at 50, or whatever heal_points_max is set to.
max_heal_pointsMax heal points for the rod to spend on healing people

Var Details

heal_points

How many points the rod has to heal with, maxes at 50, or whatever heal_points_max is set to.

max_heal_points

Max heal points for the rod to spend on healing people

\ No newline at end of file diff --git a/datum/status_effect/his_grace.html b/datum/status_effect/his_grace.html new file mode 100644 index 00000000000..5a81e1dddab --- /dev/null +++ b/datum/status_effect/his_grace.html @@ -0,0 +1 @@ +/datum/status_effect/his_grace - Space Station 13
Space Station 13 - Modules - TypesVar Details

his_grace

Vars

toolboxAttached His Grace toolbox

Var Details

toolbox

Attached His Grace toolbox

\ No newline at end of file diff --git a/datum/status_effect/ice_block_talisman.html b/datum/status_effect/ice_block_talisman.html new file mode 100644 index 00000000000..10c2266816c --- /dev/null +++ b/datum/status_effect/ice_block_talisman.html @@ -0,0 +1 @@ +/datum/status_effect/ice_block_talisman - Space Station 13
Space Station 13 - Modules - TypesVar 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

\ No newline at end of file diff --git a/datum/status_effect/incapacitating/sleeping.html b/datum/status_effect/incapacitating/sleeping.html new file mode 100644 index 00000000000..e5c5a7aa945 --- /dev/null +++ b/datum/status_effect/incapacitating/sleeping.html @@ -0,0 +1,3 @@ +/datum/status_effect/incapacitating/sleeping - Space Station 13
Space Station 13 - Modules - TypesVar Details

sleeping

Vars

voluntaryWhether we decided to take a nap on our own. +As opposed to being hard knocked out with N2O or similar.

Var Details

voluntary

Whether we decided to take a nap on our own. +As opposed to being hard knocked out with N2O or similar.

\ No newline at end of file diff --git a/datum/status_effect/incapacitating/stun/goliath_tentacled.html b/datum/status_effect/incapacitating/stun/goliath_tentacled.html new file mode 100644 index 00000000000..4b56a4aeb1d --- /dev/null +++ b/datum/status_effect/incapacitating/stun/goliath_tentacled.html @@ -0,0 +1 @@ +/datum/status_effect/incapacitating/stun/goliath_tentacled - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

goliath_tentacled

Goliath tentacle stun with special removal conditions

Vars

tentacleThe tentacle that is tenderly holding us close

Procs

on_helpedSome kind soul has rescued us
on_tentacle_leftSomething happened to our associated tentacle
releaseSomething happened to make the tentacle let go

Var Details

tentacle

The tentacle that is tenderly holding us close

Proc Details

on_helped

Some kind soul has rescued us

on_tentacle_left

Something happened to our associated tentacle

release

Something happened to make the tentacle let go

\ No newline at end of file diff --git a/datum/status_effect/limited_bonus.html b/datum/status_effect/limited_bonus.html new file mode 100644 index 00000000000..196fa132269 --- /dev/null +++ b/datum/status_effect/limited_bonus.html @@ -0,0 +1,2 @@ +/datum/status_effect/limited_bonus - Space Station 13
Space Station 13 - Modules - TypesVar Details

limited_bonus

A status effect that can have a certain amount of "bonus" duration added, which extends the duration every tick, +although there is a maximum amount of bonus time that can be active at any given time.

Vars

bonus_timeHow much extra time has been added
bonus_time_per_tickHow much extra time to apply per tick
max_bonus_timeHow much maximum bonus time can be active at once

Var Details

bonus_time

How much extra time has been added

bonus_time_per_tick

How much extra time to apply per tick

max_bonus_time

How much maximum bonus time can be active at once

\ No newline at end of file diff --git a/datum/status_effect/lwap_scope.html b/datum/status_effect/lwap_scope.html new file mode 100644 index 00000000000..eba5cd684ac --- /dev/null +++ b/datum/status_effect/lwap_scope.html @@ -0,0 +1 @@ +/datum/status_effect/lwap_scope - Space Station 13
Space Station 13 - Modules - TypesVar Details

lwap_scope

Vars

locksThe number of people the gun has locked on to. Caps at 10 for sanity.

Var Details

locks

The number of people the gun has locked on to. Caps at 10 for sanity.

\ No newline at end of file diff --git a/datum/status_effect/moon_converted.html b/datum/status_effect/moon_converted.html new file mode 100644 index 00000000000..bc4793fb154 --- /dev/null +++ b/datum/status_effect/moon_converted.html @@ -0,0 +1 @@ +/datum/status_effect/moon_converted - Space Station 13
Space Station 13 - Modules - TypesVar Details

moon_converted

Used by moon heretics to make people mad

Vars

damage_sustainedused to track damage
effect_iconicon file for the overlay
effect_icon_stateicon state for the overlay
moon_insanity_overlayoverlay used to indicate that someone is marked

Var Details

damage_sustained

used to track damage

effect_icon

icon file for the overlay

effect_icon_state

icon state for the overlay

moon_insanity_overlay

overlay used to indicate that someone is marked

\ No newline at end of file diff --git a/datum/status_effect/overclock.html b/datum/status_effect/overclock.html new file mode 100644 index 00000000000..40d84234931 --- /dev/null +++ b/datum/status_effect/overclock.html @@ -0,0 +1 @@ +/datum/status_effect/overclock - Space Station 13
Space Station 13 - Modules - TypesVar Details

overclock

Vars

danger_stack_amountHow many stacks until we start heating up even more?
heat_per_tickHow much do we heat up per tick?
stacksHow many ticks has the ability been turned on?

Var Details

danger_stack_amount

How many stacks until we start heating up even more?

heat_per_tick

How much do we heat up per tick?

stacks

How many ticks has the ability been turned on?

\ No newline at end of file diff --git a/datum/status_effect/protective_blades.html b/datum/status_effect/protective_blades.html new file mode 100644 index 00000000000..be130a900cf --- /dev/null +++ b/datum/status_effect/protective_blades.html @@ -0,0 +1,4 @@ +/datum/status_effect/protective_blades - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

protective_blades

Summons multiple foating knives around the owner. +Each knife will block an attack straight up.

Vars

blade_orbit_radiusThe radius of the blade's orbit.
blade_typeWhat blade type to create
bladesA list of blade effects orbiting / protecting our owner
delete_on_blades_goneIf TRUE, we self-delete our status effect after all the blades are deleted.
max_num_bladesThe number of blades we summon up to.
time_between_initial_bladesThe time between spawning blades.

Procs

create_bladeCreates a floating blade, adds it to our blade list, and makes it orbit our owner.
on_shield_reactionSignal proc for [COMSIG_LIVING_CHECK_BLOCK]. +If we have a blade in our list, consume it and block the incoming attack (shield it)
remove_bladeRemove deleted blades from our blades list properly.

Var Details

blade_orbit_radius

The radius of the blade's orbit.

blade_type

What blade type to create

blades

A list of blade effects orbiting / protecting our owner

delete_on_blades_gone

If TRUE, we self-delete our status effect after all the blades are deleted.

max_num_blades

The number of blades we summon up to.

time_between_initial_blades

The time between spawning blades.

Proc Details

create_blade

Creates a floating blade, adds it to our blade list, and makes it orbit our owner.

on_shield_reaction

Signal proc for [COMSIG_LIVING_CHECK_BLOCK]. +If we have a blade in our list, consume it and block the incoming attack (shield it)

remove_blade

Remove deleted blades from our blades list properly.

\ No newline at end of file diff --git a/datum/status_effect/protective_blades/recharging.html b/datum/status_effect/protective_blades/recharging.html new file mode 100644 index 00000000000..6bc5fe6589e --- /dev/null +++ b/datum/status_effect/protective_blades/recharging.html @@ -0,0 +1,2 @@ +/datum/status_effect/protective_blades/recharging - Space Station 13
Space Station 13 - Modules - TypesVar Details

recharging

A subtype that doesn't self-delete / disappear when all blades are gone +It instead regenerates over time back to the max after blades are consumed

Vars

blade_recharge_timeThe amount of time it takes for a blade to recharge

Var Details

blade_recharge_time

The amount of time it takes for a blade to recharge

\ No newline at end of file diff --git a/datum/status_effect/quicksilver_form.html b/datum/status_effect/quicksilver_form.html new file mode 100644 index 00000000000..14b6710ec5e --- /dev/null +++ b/datum/status_effect/quicksilver_form.html @@ -0,0 +1 @@ +/datum/status_effect/quicksilver_form - Space Station 13
Space Station 13 - Modules - TypesVar Details

quicksilver_form

Vars

should_deflectDo we also reflect projectiles
temporary_flag_storageTemporary storage of the owner's flags to restore them properly after the ability is over

Var Details

should_deflect

Do we also reflect projectiles

temporary_flag_storage

Temporary storage of the owner's flags to restore them properly after the ability is over

\ No newline at end of file diff --git a/datum/status_effect/realignment.html b/datum/status_effect/realignment.html new file mode 100644 index 00000000000..3dfe18351b1 --- /dev/null +++ b/datum/status_effect/realignment.html @@ -0,0 +1 @@ +/datum/status_effect/realignment - Space Station 13
Space Station 13 - Modules - TypesVar Details

realignment

Vars

realignment_traitsTraits to add/remove

Var Details

realignment_traits

Traits to add/remove

\ No newline at end of file diff --git a/datum/status_effect/shadow_cloak.html b/datum/status_effect/shadow_cloak.html new file mode 100644 index 00000000000..04a830c8945 --- /dev/null +++ b/datum/status_effect/shadow_cloak.html @@ -0,0 +1,2 @@ +/datum/status_effect/shadow_cloak - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

shadow_cloak

Shadow cloak effect. Conceals the owner in a cloud of purple smoke, making them unidentifiable. +Also comes with some other buffs and debuffs - faster movespeed, slower actionspeed, etc.

Vars

cloak_imageMethod to track plant overlay on mob for later removal
damage_before_revealHow much damage we can be hit with before it starts rolling reveal chances
damage_sustainedHow much damage we've been hit with

Procs

on_damagedSignal proc for COMSIG_MOB_APPLY_DAMAGE, being damaged past a threshold will roll a chance to stop the effect
on_dir_changeSignal proc for COMSIG_ATOM_DIR_CHANGE, handles turning the effect as we turn
on_movementSignal proc for COMSIG_MOVABLE_MOVED, leaves a cool looking trail behind us as we walk
on_stat_changeSignal proc for COMSIG_MOB_STATCHANGE, going past soft crit will stop the effect

Var Details

cloak_image

Method to track plant overlay on mob for later removal

damage_before_reveal

How much damage we can be hit with before it starts rolling reveal chances

damage_sustained

How much damage we've been hit with

Proc Details

on_damaged

Signal proc for COMSIG_MOB_APPLY_DAMAGE, being damaged past a threshold will roll a chance to stop the effect

on_dir_change

Signal proc for COMSIG_ATOM_DIR_CHANGE, handles turning the effect as we turn

on_movement

Signal proc for COMSIG_MOVABLE_MOVED, leaves a cool looking trail behind us as we walk

on_stat_change

Signal proc for COMSIG_MOB_STATCHANGE, going past soft crit will stop the effect

\ No newline at end of file diff --git a/datum/status_effect/shadow_mend.html b/datum/status_effect/shadow_mend.html new file mode 100644 index 00000000000..e085cdd7605 --- /dev/null +++ b/datum/status_effect/shadow_mend.html @@ -0,0 +1 @@ +/datum/status_effect/shadow_mend - Space Station 13
Space Station 13 - Modules - TypesVar Details

shadow_mend

Vars

devilIf this is true, the status effect will try to apply the debuff to others, rather than the user

Var Details

devil

If this is true, the status effect will try to apply the debuff to others, rather than the user

\ No newline at end of file diff --git a/datum/status_effect/speedlegs.html b/datum/status_effect/speedlegs.html new file mode 100644 index 00000000000..e7512c60fcd --- /dev/null +++ b/datum/status_effect/speedlegs.html @@ -0,0 +1 @@ +/datum/status_effect/speedlegs - Space Station 13
Space Station 13 - Modules - TypesVar Details

speedlegs

Vars

clingA reference to the changeling's changeling antag datum.

Var Details

cling

A reference to the changeling's changeling antag datum.

\ No newline at end of file diff --git a/datum/status_effect/star_mark.html b/datum/status_effect/star_mark.html new file mode 100644 index 00000000000..030bf183e41 --- /dev/null +++ b/datum/status_effect/star_mark.html @@ -0,0 +1 @@ +/datum/status_effect/star_mark - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

star_mark

Vars

cosmic_overlayoverlay used to indicate that someone is marked
effect_iconicon file for the overlay
effect_icon_stateicon state for the overlay
spell_casterStorage for the spell caster

Procs

update_owner_overlayUpdates the overlay of the owner

Var Details

cosmic_overlay

overlay used to indicate that someone is marked

effect_icon

icon file for the overlay

effect_icon_state

icon state for the overlay

spell_caster

Storage for the spell caster

Proc Details

update_owner_overlay

Updates the overlay of the owner

\ No newline at end of file diff --git a/datum/status_effect/temporal_slash.html b/datum/status_effect/temporal_slash.html new file mode 100644 index 00000000000..0c967edbc49 --- /dev/null +++ b/datum/status_effect/temporal_slash.html @@ -0,0 +1 @@ +/datum/status_effect/temporal_slash - Space Station 13
Space Station 13 - Modules - TypesVar Details

temporal_slash

Vars

cutsHow many times the user has been cut. Each cut adds a damage value below
damage_per_cutHow much damage the blade will do each slice

Var Details

cuts

How many times the user has been cut. Each cut adds a damage value below

damage_per_cut

How much damage the blade will do each slice

\ No newline at end of file diff --git a/datum/status_effect/temporal_slash_finisher.html b/datum/status_effect/temporal_slash_finisher.html new file mode 100644 index 00000000000..e285ea37972 --- /dev/null +++ b/datum/status_effect/temporal_slash_finisher.html @@ -0,0 +1 @@ +/datum/status_effect/temporal_slash_finisher - Space Station 13
Space Station 13 - Modules - TypesVar Details

temporal_slash_finisher

Vars

cutsHow many times the user has been cut. Each cut adds a damage value below
damage_per_cutHow much damage the blade will do each slice
finishing_cutsHave we done enough damage to trigger the finisher?

Var Details

cuts

How many times the user has been cut. Each cut adds a damage value below

damage_per_cut

How much damage the blade will do each slice

finishing_cuts

Have we done enough damage to trigger the finisher?

\ No newline at end of file diff --git a/datum/status_effect/transient.html b/datum/status_effect/transient.html new file mode 100644 index 00000000000..6d54c3145b3 --- /dev/null +++ b/datum/status_effect/transient.html @@ -0,0 +1,2 @@ +/datum/status_effect/transient - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Transient Status Effect (basetype)

A status effect that works off a (possibly decimal) counter before expiring, rather than a specified world.time. +This allows for a more precise tweaking of status durations at runtime (e.g. paralysis).

Vars

strengthHow much strength left before expiring? time in deciseconds.

Procs

calc_decayReturns how much strength should be adjusted per tick.

Var Details

strength

How much strength left before expiring? time in deciseconds.

Proc Details

calc_decay

Returns how much strength should be adjusted per tick.

\ No newline at end of file diff --git a/datum/status_effect/transient/disgust.html b/datum/status_effect/transient/disgust.html new file mode 100644 index 00000000000..c1556893ca2 --- /dev/null +++ b/datum/status_effect/transient/disgust.html @@ -0,0 +1 @@ +/datum/status_effect/transient/disgust - Space Station 13
Space Station 13 - Modules - TypesVar Details

disgust

Vars

old_disgustHow disgusted we were last tick.

Var Details

old_disgust

How disgusted we were last tick.

\ No newline at end of file diff --git a/datum/status_effect/transient/drunkenness.html b/datum/status_effect/transient/drunkenness.html new file mode 100644 index 00000000000..519167f6f30 --- /dev/null +++ b/datum/status_effect/transient/drunkenness.html @@ -0,0 +1,2 @@ +/datum/status_effect/transient/drunkenness - Space Station 13
Space Station 13 - Modules - TypesVar Details

Drukenness

Causes a myriad of status effects and other afflictions the stronger it is. +Decays at a rate of 1 per second if no alcohol remains inside.

Vars

cached_strengthCached actual strength so we can read it out

Var Details

cached_strength

Cached actual strength so we can read it out

\ No newline at end of file diff --git a/datum/status_effect/transient/hallucination.html b/datum/status_effect/transient/hallucination.html new file mode 100644 index 00000000000..a48669c4283 --- /dev/null +++ b/datum/status_effect/transient/hallucination.html @@ -0,0 +1,5 @@ +/datum/status_effect/transient/hallucination - Space Station 13
Space Station 13 - Modules - TypesProc Details

hallucination

Procs

hallucinateSpawns an hallucination for the mob.

Proc Details

hallucinate

Spawns an hallucination for the mob.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/status_effect/unholy_determination.html b/datum/status_effect/unholy_determination.html new file mode 100644 index 00000000000..ea740701e47 --- /dev/null +++ b/datum/status_effect/unholy_determination.html @@ -0,0 +1 @@ +/datum/status_effect/unholy_determination - Space Station 13
Space Station 13 - Modules - TypesVar Details

unholy_determination

The buff given to people within the shadow realm to assist them in surviving.

Vars

heal_per_secondHow much to heal every second

Var Details

heal_per_second

How much to heal every second

\ No newline at end of file diff --git a/datum/status_effect/void_chill.html b/datum/status_effect/void_chill.html new file mode 100644 index 00000000000..de8cda4acca --- /dev/null +++ b/datum/status_effect/void_chill.html @@ -0,0 +1,5 @@ +/datum/status_effect/void_chill - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

void_chill

Vars

stack_limitMaximum of stacks that we could possibly get
stacksCurrent amount of stacks we have
stacks_overlayicon for the overlay

Procs

set_stacksSetter and adjuster procs for stacks
update_movespeedUpdates the movespeed of owner based on the amount of stacks of the debuff
update_stacks_overlayUpdates the overlay that gets applied on our victim

Var Details

stack_limit

Maximum of stacks that we could possibly get

stacks

Current amount of stacks we have

stacks_overlay

icon for the overlay

Proc Details

set_stacks

Setter and adjuster procs for stacks

+

Arguments:

+

update_movespeed

Updates the movespeed of owner based on the amount of stacks of the debuff

update_stacks_overlay

Updates the overlay that gets applied on our victim

\ No newline at end of file diff --git a/datum/status_effect/void_prison.html b/datum/status_effect/void_prison.html new file mode 100644 index 00000000000..8b663906f22 --- /dev/null +++ b/datum/status_effect/void_prison.html @@ -0,0 +1 @@ +/datum/status_effect/void_prison - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

void_prison

Vars

stasis_overlayThe overlay that gets applied to whoever has this status active

Procs

clear_overlayMakes sure to clear the ref in case the voidball ever suddenly disappears
enter_prisonFreezes our prisoner in place

Var Details

stasis_overlay

The overlay that gets applied to whoever has this status active

Proc Details

clear_overlay

Makes sure to clear the ref in case the voidball ever suddenly disappears

enter_prison

Freezes our prisoner in place

\ No newline at end of file diff --git a/datum/strip_menu.html b/datum/strip_menu.html new file mode 100644 index 00000000000..11cf37ce54a --- /dev/null +++ b/datum/strip_menu.html @@ -0,0 +1 @@ +/datum/strip_menu - Space Station 13
Space Station 13 - Modules - TypesVar Details

strip_menu

A representation of the stripping UI

Vars

base64_cacheAssociated list of "[icon][icon_state]" = base64 representation of icon. Used for PERFORMANCE.
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

Var Details

base64_cache

Associated list of "[icon][icon_state]" = base64 representation of icon. Used for PERFORMANCE.

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

\ No newline at end of file diff --git a/datum/strippable_item.html b/datum/strippable_item.html new file mode 100644 index 00000000000..e4eb8211a6d --- /dev/null +++ b/datum/strippable_item.html @@ -0,0 +1,25 @@ +/datum/strippable_item - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

strippable_item

A representation of an item that can be stripped down

Vars

keyThe STRIPPABLE_ITEM_* key

Procs

alternate_actionPerforms an alternative action on this strippable_item. +has_alternate_action needs to be TRUE. +Returns FALSE if blocked by signal, TRUE otherwise.
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_actionsReturns 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_body_actionActions that can happen to that body part, regardless if there is an item or not. As long as it is not obscured
get_itemGets the item from the given source.
get_obscuringReturns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.
in_thief_modeReturns whether the user is in "thief mode" where stripping/equipping is silent and stealing from pockets moves stuff to your hands
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

Proc Details

alternate_action

Performs an alternative action on this strippable_item. +has_alternate_action needs to be TRUE. +Returns FALSE if blocked by signal, TRUE otherwise.

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_actions

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_body_action

Actions that can happen to that body part, regardless if there is an item or not. As long as it is not obscured

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.

in_thief_mode

Returns whether the user is in "thief mode" where stripping/equipping is silent and stealing from pockets moves stuff to your hands

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.

\ No newline at end of file diff --git a/datum/strippable_item/hand.html b/datum/strippable_item/hand.html new file mode 100644 index 00000000000..a087bbb9eff --- /dev/null +++ b/datum/strippable_item/hand.html @@ -0,0 +1 @@ +/datum/strippable_item/hand - Space Station 13
Space Station 13 - Modules - TypesVar Details

hand

A strippable item for a hand

Vars

which_handWhich hand?

Var Details

which_hand

Which hand?

\ No newline at end of file diff --git a/datum/strippable_item/mob_item_slot.html b/datum/strippable_item/mob_item_slot.html new file mode 100644 index 00000000000..d5b35a893bb --- /dev/null +++ b/datum/strippable_item/mob_item_slot.html @@ -0,0 +1 @@ +/datum/strippable_item/mob_item_slot - Space Station 13
Space Station 13 - Modules - TypesVar 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

\ No newline at end of file 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..c5e7bf17094 --- /dev/null +++ b/datum/strippable_item/mob_item_slot/pocket.html @@ -0,0 +1 @@ +/datum/strippable_item/mob_item_slot/pocket - Space Station 13
Space Station 13 - Modules - TypesVar 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.

\ No newline at end of file diff --git a/datum/supply_order.html b/datum/supply_order.html new file mode 100644 index 00000000000..d97b9d9169b --- /dev/null +++ b/datum/supply_order.html @@ -0,0 +1 @@ +/datum/supply_order - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

supply_order

Vars

commentReason/purpose for order given by orderer
objectThe supply pack this order is for
ordered_by_departmentThe station department datum of the person's department who ordered the supply order
orderedbyThe person who ordered the supply order
orderedbyRankThe occupation/assignment of the person who ordered the supply order
orderedbyaccountThe account tied to this order, important for personal orders
ordernumThe orders ID number
requires_cargo_approvaldoes this order need to be approve by carg?
requires_head_approvaldoes this order need to be approve by the department head?

Procs

clear_requestClear the request from the request list so it's not permanently stuck in the console
set_accountSet the account that made the request and make sure the request is deleted when the account is deleted

Var Details

comment

Reason/purpose for order given by orderer

object

The supply pack this order is for

ordered_by_department

The station department datum of the person's department who ordered the supply order

orderedby

The person who ordered the supply order

orderedbyRank

The occupation/assignment of the person who ordered the supply order

orderedbyaccount

The account tied to this order, important for personal orders

ordernum

The orders ID number

requires_cargo_approval

does this order need to be approve by carg?

requires_head_approval

does this order need to be approve by the department head?

Proc Details

clear_request

Clear the request from the request list so it's not permanently stuck in the console

set_account

Set the account that made the request and make sure the request is deleted when the account is deleted

\ No newline at end of file diff --git a/datum/supply_packs.html b/datum/supply_packs.html new file mode 100644 index 00000000000..b1e68eb2a06 --- /dev/null +++ b/datum/supply_packs.html @@ -0,0 +1,3 @@ +/datum/supply_packs - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

supply_packs

Vars

accessIf the container is lockable, the access to require for it.
amountThe number of crates that get generated by this pack.
announce_beaconsParticular beacons that we'll notify the relevant department when we reach
are_you_sure_you_want_to_be_bannedIf this variable is filled, this grants the user a special TGUI confirmation prompt about ordering this shuttle, before they can place the order. Similar to bag of holding.
cmag_hiddenIf TRUE, this pack is only visible on a cmagged supply console.
containernameThe name to give the container itself.
containertypeThe type of container that the contents will arrive in.
containsOBJ: What is inside the crate
contains_specialSTRING: What is inside the crate
contrabandIf TRUE, this pack is only visible on a hacked supply console.
costThe cost of this pack.
department_restrictionsDetermines which departments do not need QM approval to order this supply pack
groupThe pack group this should appear in.
hiddenIf TRUE, this pack is only visible on an emagged supply console.
manifestThe manifest contents for this order.
nameThe name of this supply pack.
order_typePath of the type of order that should be generated from this order
singletonIf true, this pack can only be ordered in units of 1.
singleton_group_idIdentifier indicating the specific "set" of singletons that this belongs to. +Only one item in this set can be in the shopping cart at once.
specialA special pack that should not appear unless certain circumstances are fulfilled (event, station goals, admin packs)
special_enabledIf this pack is special, whether it should be visible or not.
ui_manifestList of names for being done in TGUI

Procs

can_orderDefine a special condition as to whether or not this crate can currently be ordered.
create_orderCreate a supply order for this pack.
on_order_confirmCalled right when an order for this pack is confirmed.

Var Details

access

If the container is lockable, the access to require for it.

amount

The number of crates that get generated by this pack.

announce_beacons

Particular beacons that we'll notify the relevant department when we reach

are_you_sure_you_want_to_be_banned

If this variable is filled, this grants the user a special TGUI confirmation prompt about ordering this shuttle, before they can place the order. Similar to bag of holding.

cmag_hidden

If TRUE, this pack is only visible on a cmagged supply console.

containername

The name to give the container itself.

containertype

The type of container that the contents will arrive in.

contains

OBJ: What is inside the crate

contains_special

STRING: What is inside the crate

contraband

If TRUE, this pack is only visible on a hacked supply console.

cost

The cost of this pack.

department_restrictions

Determines which departments do not need QM approval to order this supply pack

group

The pack group this should appear in.

hidden

If TRUE, this pack is only visible on an emagged supply console.

manifest

The manifest contents for this order.

name

The name of this supply pack.

order_type

Path of the type of order that should be generated from this order

singleton

If true, this pack can only be ordered in units of 1.

singleton_group_id

Identifier indicating the specific "set" of singletons that this belongs to. +Only one item in this set can be in the shopping cart at once.

special

A special pack that should not appear unless certain circumstances are fulfilled (event, station goals, admin packs)

special_enabled

If this pack is special, whether it should be visible or not.

ui_manifest

List of names for being done in TGUI

Proc Details

can_order

Define a special condition as to whether or not this crate can currently be ordered.

create_order

Create a supply order for this pack.

on_order_confirm

Called right when an order for this pack is confirmed.

\ No newline at end of file diff --git a/datum/supply_packs/abstract/shuttle.html b/datum/supply_packs/abstract/shuttle.html new file mode 100644 index 00000000000..2635bb76c5e --- /dev/null +++ b/datum/supply_packs/abstract/shuttle.html @@ -0,0 +1,3 @@ +/datum/supply_packs/abstract/shuttle - Space Station 13
Space Station 13 - Modules - TypesVar Details

shuttle

A "supply pack" that allows for purchasing a custom shuttle.

Vars

speed_factorThe base speed multiplier to apply to the shuttle. 2 means it arrives twice as fast.
templateThe shuttle that this pack corresponds to ordering. +If given on init, will fill out the pack automagically.

Var Details

speed_factor

The base speed multiplier to apply to the shuttle. 2 means it arrives twice as fast.

template

The shuttle that this pack corresponds to ordering. +If given on init, will fill out the pack automagically.

\ No newline at end of file diff --git a/datum/surgery.html b/datum/surgery.html new file mode 100644 index 00000000000..ad34e4a4ea1 --- /dev/null +++ b/datum/surgery.html @@ -0,0 +1,16 @@ +/datum/surgery - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

surgery

Datum Surgery Helpers

Vars

abstractWhether or not this should be a selectable surgery at all
can_cancelWhether this surgery can be stopped after the first step with a cautery
cancel_on_organ_changeWhether this surgery should be cancelled when an organ change happens. (removed if requires bodypart, or added if doesn't require bodypart)
descDescription of the surgery
germ_prevention_qualityHow likely it should be for the surgery to cause infection: 0-1
ignore_clothesWhether you need to remove clothes to perform the surgery
locationLocation of the surgery
lying_requiredDoes the victim (patient) need to be lying down?
nameName of the surgery
organ_to_manipulateBody part the surgery is currently being performed on. Useful for checking to see if the organ desired is still in the body after the surgery has begun.
possible_locsBody locations this surgery can be performed on
replaced_byDon't show this surgery if this type exists. Set to /datum/surgery if you want to hide a "base" surgery.
requires_bodypartSurgery is only available if the target bodypart is present (or if it's missing)
requires_organic_bodypartWhether we can perform the surgery on a robotic limb
requires_real_bodypartSome surgeries might work on limbs that don't really exist (like chainsaw arms or flashlight eyes)
self_operableCan the surgery be performed on yourself?
speed_modifierSurgery step speed modifier
step_in_progressIf we're currently performing a step
step_numberHow far along we are in a surgery being performed.
stepsSurgical steps that go into performing this procedure
targetTarget of the surgery
target_mobtypesMobs on which this can be performed

Procs

NewCreate a new surgery.
can_startWhether or not we can start this surgery. +If this returns FALSE, this surgery won't show up in the list.
get_surgery_next_stepGet the next step in the current surgery, or null if we're on the last one.
get_surgery_stepGet the current surgery step we're on
handle_organ_state_changeHandle an organ's insertion or removal mid-surgery. +If cancel_on_organ_change is true, then this will cancel the surgery in certain cases.
is_organ_compatibleGet whether the target organ is compatible with the current surgery.
next_stepTry to perform the next step in the current operation. +This gets called in the attack chain, and as such returning FALSE in here means that the target +will be hit with whatever's in your hand.

Var Details

abstract

Whether or not this should be a selectable surgery at all

can_cancel

Whether this surgery can be stopped after the first step with a cautery

cancel_on_organ_change

Whether this surgery should be cancelled when an organ change happens. (removed if requires bodypart, or added if doesn't require bodypart)

desc

Description of the surgery

germ_prevention_quality

How likely it should be for the surgery to cause infection: 0-1

ignore_clothes

Whether you need to remove clothes to perform the surgery

location

Location of the surgery

lying_required

Does the victim (patient) need to be lying down?

name

Name of the surgery

organ_to_manipulate

Body part the surgery is currently being performed on. Useful for checking to see if the organ desired is still in the body after the surgery has begun.

possible_locs

Body locations this surgery can be performed on

replaced_by

Don't show this surgery if this type exists. Set to /datum/surgery if you want to hide a "base" surgery.

requires_bodypart

Surgery is only available if the target bodypart is present (or if it's missing)

requires_organic_bodypart

Whether we can perform the surgery on a robotic limb

requires_real_bodypart

Some surgeries might work on limbs that don't really exist (like chainsaw arms or flashlight eyes)

self_operable

Can the surgery be performed on yourself?

speed_modifier

Surgery step speed modifier

step_in_progress

If we're currently performing a step

step_number

How far along we are in a surgery being performed.

steps

Surgical steps that go into performing this procedure

target

Target of the surgery

target_mobtypes

Mobs on which this can be performed

Proc Details

New

Create a new surgery.

+

Arguments:

+

can_start

Whether or not we can start this surgery. +If this returns FALSE, this surgery won't show up in the list.

get_surgery_next_step

Get the next step in the current surgery, or null if we're on the last one.

get_surgery_step

Get the current surgery step we're on

handle_organ_state_change

Handle an organ's insertion or removal mid-surgery. +If cancel_on_organ_change is true, then this will cancel the surgery in certain cases.

is_organ_compatible

Get whether the target organ is compatible with the current surgery.

next_step

Try to perform the next step in the current operation. +This gets called in the attack chain, and as such returning FALSE in here means that the target +will be hit with whatever's in your hand.

+

The return is passed to the attack chain, so return TRUE to stop any sort of afterattack.

\ No newline at end of file diff --git a/datum/surgery/heal.html b/datum/surgery/heal.html new file mode 100644 index 00000000000..66008a656da --- /dev/null +++ b/datum/surgery/heal.html @@ -0,0 +1 @@ +/datum/surgery/heal - Space Station 13
Space Station 13 - Modules - TypesVar Details

heal

Vars

healing_step_typeA subtype of /datum/surgery_step/heal that this will invoke.

Var Details

healing_step_type

A subtype of /datum/surgery_step/heal that this will invoke.

\ No newline at end of file diff --git a/datum/surgery_step.html b/datum/surgery_step.html new file mode 100644 index 00000000000..e4e5e1c604f --- /dev/null +++ b/datum/surgery_step.html @@ -0,0 +1,66 @@ +/datum/surgery_step - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

surgery_step

Vars

accept_any_itemDoes the surgery step accept any item? If true, ignores implements. Compatible with accept_hand.
accept_handdoes the surgery step require an open hand? If true, ignores implements. Compatible with accept_any_item.
allowed_toolsType path of tools that can be used to complete this step. Format is path = probability of success. +If the tool has a specific surgery tooltype, you can use that as a key as well.
blood_levelHow much blood this step can get on surgeon. See SURGERY_BLOODSPREAD_* defines
can_infectWhether this surgery step can cause an infection.
chems_neededList of chems needed in the mob to complete the step. Even on success, this step will have no effect if the required chems aren't in the mob.
failure_soundSound played if the step fails. Single value only
implement_typeThe current type of implement from allowed_tools in use. This has to be stored, as the typepath of the tool might not match the list type (such as if we're using tool behavior)
preop_soundSound played when the step is started. Lists or single value can be used for this var as well as tool defines
repeatableIs this step repeatable by using the same tool again after it's finished? +Make sure it isn't the last step, or it's used in a cancellable surgery. Otherwise, you might get stuck in a loop!
require_all_chemsDo we require any of the needed chems, or all of them?
silicons_ignore_probWhether silicons ignore any probabilities (and are therefore "perfect" surgeons)
success_soundSound played if the step succeeded. Single value only
timeduration of the step
times_repeatedHow many times this step has been automatically repeated.

Procs

can_repeatDetermines whether or not this surgery step can repeat if its end/fail steps returned SURGERY_STEP_RETRY.
chem_checkCheck that the target contains the chems we expect them to.
deal_painTry to inflict pain during a surgery, a surgeon's dream come true. +This will wake up the user if they're voluntarily sleeping.
end_stepFinish a surgery step, performing anything that runs on the tail-end of a successful surgery. +This runs if the surgery step passes the probability check, and therefore is a success.
fail_stepPlay out the failure state of a surgery step. +This runs if the surgery step fails the probability check, the right chems weren't present, or if the user deliberately failed the surgery.
get_step_informationGet the action that will be performed during this surgery step, in context of the surgery it is a part of.
initiateInitiate and really perform the surgery itself. +This includes the main do-after and the checking of probabilities for successful surgeries. +If try_to_fail is TRUE, then this surgery will be deliberately failed out of.
is_valid_toolWhether or not the tool being used is usable for the surgery. +Checks both the tool itself as well as any tool behaviors defined in allowed_tools. +Arguments:
slowdown_immuneCheck for mobs that would be immune to surgery slowdowns/speedups.
spread_germs_by_incisionSpread germs directly from a tool.
spread_germs_to_organSpread some nasty germs to an organ.
tool_checkGet whether the tool should be usable in its current state. Useful for checks to see if a welder is on, for example.
try_opTry to perform an operation on a user. +Arguments:

Var Details

accept_any_item

Does the surgery step accept any item? If true, ignores implements. Compatible with accept_hand.

accept_hand

does the surgery step require an open hand? If true, ignores implements. Compatible with accept_any_item.

allowed_tools

Type path of tools that can be used to complete this step. Format is path = probability of success. +If the tool has a specific surgery tooltype, you can use that as a key as well.

blood_level

How much blood this step can get on surgeon. See SURGERY_BLOODSPREAD_* defines

can_infect

Whether this surgery step can cause an infection.

chems_needed

List of chems needed in the mob to complete the step. Even on success, this step will have no effect if the required chems aren't in the mob.

failure_sound

Sound played if the step fails. Single value only

implement_type

The current type of implement from allowed_tools in use. This has to be stored, as the typepath of the tool might not match the list type (such as if we're using tool behavior)

preop_sound

Sound played when the step is started. Lists or single value can be used for this var as well as tool defines

repeatable

Is this step repeatable by using the same tool again after it's finished? +Make sure it isn't the last step, or it's used in a cancellable surgery. Otherwise, you might get stuck in a loop!

require_all_chems

Do we require any of the needed chems, or all of them?

silicons_ignore_prob

Whether silicons ignore any probabilities (and are therefore "perfect" surgeons)

success_sound

Sound played if the step succeeded. Single value only

time

duration of the step

times_repeated

How many times this step has been automatically repeated.

Proc Details

can_repeat

Determines whether or not this surgery step can repeat if its end/fail steps returned SURGERY_STEP_RETRY.

+

Arguments:

+ +

If this returns TRUE, the step will automatically retry. If not, the user will have to manually start the step again.

chem_check

Check that the target contains the chems we expect them to.

deal_pain

Try to inflict pain during a surgery, a surgeon's dream come true. +This will wake up the user if they're voluntarily sleeping.

+

Returns the success rate that the user's amount of pain would deal, while also handling extra pain behavior.

end_step

Finish a surgery step, performing anything that runs on the tail-end of a successful surgery. +This runs if the surgery step passes the probability check, and therefore is a success.

+

Should return SURGERY_STEP_CONTINUE to advance the surgery, though may return SURGERY_STEP_INCOMPLETE to keep the surgery step from advancing.

fail_step

Play out the failure state of a surgery step. +This runs if the surgery step fails the probability check, the right chems weren't present, or if the user deliberately failed the surgery.

+

Should return SURGERY_STEP_INCOMPLETE to prevent the surgery step from advancing, though may return SURGERY_STEP_CONTINUE to advance to the next step regardless.

get_step_information

Get the action that will be performed during this surgery step, in context of the surgery it is a part of.

+

Arguments:

+

initiate

Initiate and really perform the surgery itself. +This includes the main do-after and the checking of probabilities for successful surgeries. +If try_to_fail is TRUE, then this surgery will be deliberately failed out of.

+

Returns TRUE if the surgery should proceed to the next step, or FALSE otherwise.

is_valid_tool

Whether or not the tool being used is usable for the surgery. +Checks both the tool itself as well as any tool behaviors defined in allowed_tools. +Arguments:

+

slowdown_immune

Check for mobs that would be immune to surgery slowdowns/speedups.

spread_germs_by_incision

Spread germs directly from a tool.

+

spread_germs_to_organ

Spread some nasty germs to an organ.

+

tool_check

Get whether the tool should be usable in its current state. Useful for checks to see if a welder is on, for example.

+

Arguments:

+

try_op

Try to perform an operation on a user. +Arguments:

+
\ No newline at end of file diff --git a/datum/surgery_step/generic/dissect.html b/datum/surgery_step/generic/dissect.html new file mode 100644 index 00000000000..c0b49e42248 --- /dev/null +++ b/datum/surgery_step/generic/dissect.html @@ -0,0 +1 @@ +/datum/surgery_step/generic/dissect - Space Station 13
Space Station 13 - Modules - TypesProc Details

dissect

Procs

pick_qualityDecides the quality of the new organ based off tool efficiency and tool bit mods

Proc Details

pick_quality

Decides the quality of the new organ based off tool efficiency and tool bit mods

\ No newline at end of file diff --git a/datum/surgery_step/heal.html b/datum/surgery_step/heal.html new file mode 100644 index 00000000000..cb40149805e --- /dev/null +++ b/datum/surgery_step/heal.html @@ -0,0 +1 @@ +/datum/surgery_step/heal - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

heal

Vars

brute_damage_healedAmount of brute damage to treat per op.
brute_damage_healmodMultiplier based on the amount of brute damage that the patient has, increasing the efficiency at higher levels of damage.
burn_damage_healedAmount of burn damage to treat per op.
burn_damage_healmodMultiplier based on the amount of burn damage that the patient has.

Procs

get_progressGet a message indicating how the surgery is going.

Var Details

brute_damage_healed

Amount of brute damage to treat per op.

brute_damage_healmod

Multiplier based on the amount of brute damage that the patient has, increasing the efficiency at higher levels of damage.

burn_damage_healed

Amount of burn damage to treat per op.

burn_damage_healmod

Multiplier based on the amount of burn damage that the patient has.

Proc Details

get_progress

Get a message indicating how the surgery is going.

\ No newline at end of file diff --git a/datum/surgery_step/heal/burn.html b/datum/surgery_step/heal/burn.html new file mode 100644 index 00000000000..549f346db05 --- /dev/null +++ b/datum/surgery_step/heal/burn.html @@ -0,0 +1 @@ +/datum/surgery_step/heal/burn - Space Station 13
Space Station 13 - Modules - TypesProc Details

burn

Procs

get_progressBURN STEPS

Proc Details

get_progress

BURN STEPS

\ No newline at end of file diff --git a/datum/surgery_step/internal.html b/datum/surgery_step/internal.html new file mode 100644 index 00000000000..4d35deb26a8 --- /dev/null +++ b/datum/surgery_step/internal.html @@ -0,0 +1,2 @@ +/datum/surgery_step/internal - Space Station 13
Space Station 13 - Modules - TypesProc Details

internal

Procs

get_organ_listGet an internal list of organs for a zone (or an external organ).

Proc Details

get_organ_list

Get an internal list of organs for a zone (or an external organ).

+

Helper function since we end up calling this a ton to work with carbons

\ No newline at end of file diff --git a/datum/surgery_step/proxy.html b/datum/surgery_step/proxy.html new file mode 100644 index 00000000000..987f989172b --- /dev/null +++ b/datum/surgery_step/proxy.html @@ -0,0 +1,30 @@ +/datum/surgery_step/proxy - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

proxy

Here's the special sauce: a surgery step that can pretend to be a few different surgery steps. +These proxy steps will, depending on the tool that's used, either continue to the next surgery step, or temporarily spin off a new surgery +by adding new steps to the current surgery.

Vars

branchesOptional surgery TYPES that we can branch out to +Note that these must not share any starting tools.
branches_initInitialized versions of types specified in branches. +Don't fill this yourself, instead fill branches with surgery TYPES.
insert_self_afterWhether or not we should add ourselves as a step after we run a branch. This doesn't apply to failures, those will always add ourselves after.
overriding_toolsThese tools are just...special cases. +If we're using one of these tools and there's a tool conflict with the original surgery, +just ignore any branches and continue with the original surgery.

Procs

try_next_stepTest the next step, but don't fully commit to it unless it completes successfully. +If the next step doesn't fully complete (such as being interrupted or failing), we'll insert ourselves again to bring us back +to the "base" state. +If it does, we'll add the subsequent steps to the surgery and continue down the expected branch. If you complete the surgery step, it +means you've committed to what comes next. +Part of the motivation behind this is that I don't want to mutate a surgery retroactively. We can insert, but we shouldn't be changing anything +behind us.

Var Details

branches

Optional surgery TYPES that we can branch out to +Note that these must not share any starting tools.

branches_init

Initialized versions of types specified in branches. +Don't fill this yourself, instead fill branches with surgery TYPES.

insert_self_after

Whether or not we should add ourselves as a step after we run a branch. This doesn't apply to failures, those will always add ourselves after.

overriding_tools

These tools are just...special cases. +If we're using one of these tools and there's a tool conflict with the original surgery, +just ignore any branches and continue with the original surgery.

Proc Details

try_next_step

Test the next step, but don't fully commit to it unless it completes successfully. +If the next step doesn't fully complete (such as being interrupted or failing), we'll insert ourselves again to bring us back +to the "base" state. +If it does, we'll add the subsequent steps to the surgery and continue down the expected branch. If you complete the surgery step, it +means you've committed to what comes next. +Part of the motivation behind this is that I don't want to mutate a surgery retroactively. We can insert, but we shouldn't be changing anything +behind us.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/surgery_step/proxy/open_organ/extra.html b/datum/surgery_step/proxy/open_organ/extra.html new file mode 100644 index 00000000000..1de4d8ba639 --- /dev/null +++ b/datum/surgery_step/proxy/open_organ/extra.html @@ -0,0 +1 @@ +/datum/surgery_step/proxy/open_organ/extra - Space Station 13
Space Station 13 - Modules - TypesVar Details

extra

Surgeries for tending brute and burn damage without needing to expend items.

Vars

other_surgeriesOther surgeries to fire off next.

Var Details

other_surgeries

Other surgeries to fire off next.

\ No newline at end of file diff --git a/datum/symptom.html b/datum/symptom.html new file mode 100644 index 00000000000..0c9f154f1a3 --- /dev/null +++ b/datum/symptom.html @@ -0,0 +1 @@ +/datum/symptom - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

symptom

Vars

activation_probHow likely the symptom is to activate each process cycle
chem_treatmentsAsoc list of treatment reagents to multiplier and timer. Multiplier multiplies the frequency and strength of the symptom
idThe hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
levelThe type level of the symptom. Higher is harder to generate.
phys_treatmentsAsoc list of physical treatments to multiplier and timer. Multiplier multiplies the frequency and strength of the symptom
purge_amountAmount of treatment reagents the symptom will consume
severityThe severity level of the symptom. Higher is more dangerous.

Procs

ActivateChecks the conditions for symptom activation
check_chem_treatmentDefault behaviour for treatment chems. Mitigate the symptom for a while after being consumed.
check_phys_treatmentDefault behaviour for physical treatments. Mitigate the symptoms while effects remain
check_treatmentChecks all forms of treatment and
post_treatmentActions that are taken after the treatment check like reverting or lessening effects.
symptom_actApplies the symptom effects

Var Details

activation_prob

How likely the symptom is to activate each process cycle

chem_treatments

Asoc list of treatment reagents to multiplier and timer. Multiplier multiplies the frequency and strength of the symptom

id

The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!

level

The type level of the symptom. Higher is harder to generate.

phys_treatments

Asoc list of physical treatments to multiplier and timer. Multiplier multiplies the frequency and strength of the symptom

purge_amount

Amount of treatment reagents the symptom will consume

severity

The severity level of the symptom. Higher is more dangerous.

Proc Details

Activate

Checks the conditions for symptom activation

check_chem_treatment

Default behaviour for treatment chems. Mitigate the symptom for a while after being consumed.

check_phys_treatment

Default behaviour for physical treatments. Mitigate the symptoms while effects remain

check_treatment

Checks all forms of treatment and

post_treatment

Actions that are taken after the treatment check like reverting or lessening effects.

symptom_act

Applies the symptom effects

\ No newline at end of file diff --git a/datum/syndicate_contract.html b/datum/syndicate_contract.html new file mode 100644 index 00000000000..3c1c641f460 --- /dev/null +++ b/datum/syndicate_contract.html @@ -0,0 +1,54 @@ +/datum/syndicate_contract - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Syndicate Contract

Describes a contract that can be completed by a Contractor.

Vars

chosen_difficultyThe selected difficulty.
completed_timeFormatted station time at which the contract was completed, if applicable.
contractThe /datum/objective/contract associated to this contract.
credits_baseThe base credits reward upon completion. Multiplied by the two lower bounds below.
dead_extractionWhether the contract was completed with the victim being dead on extraction.
extraction_cooldownCooldown before making another extraction request in deciseconds.
extraction_deadlineThe world.time at which the current extraction fulton will vanish and another extraction can be requested.
extraction_flareThe flare indicating the extraction point.
extraction_portalThe extraction portal.
extraction_timer_handleDeadline reached timer handle. Deletes the portal and tells the agent to call extraction again.
fail_reasonVisual reason as to why the contract failed, if applicable.
fluff_messageFluff message explaining why the kidnapee is the target.
nt_am_board_resignedWhether the additional fluff story from any contractor completing all of their contracts was made already or not.
owning_hubThe owning contractor hub.
portal_durationHow long an extraction portal remains before going away. Should be less than /datum/syndicate_contract/var/extraction_cooldown.
prison_timeHow long a target remains in the Syndicate jail.
prisoner_timer_handlePrisoner jail timer handle. On completion, returns the prisoner back to station.
reward_creditsAmount of credits the contractor will receive upon completion.
reward_tcAmount of telecrystals the contract will receive upon completion, depending on the chosen difficulty. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => number
statusCurrent contract status.
target_nameName of the target to display on the UI.
target_photoThe target's photo to display on the UI.
temp_objsTemporary objects that are available to the kidnapee during their time in jail. These are deleted when the victim is returned.
victim_belongingsThe kidnapee's belongings. Set upon extraction by the contractor.

Procs

clean_upCleans up the contract.
completeMarks the contract as completed and gives the rewards to the contractor.
deadline_reachedCalled when the extraction window closes.
default_damageDefault damage if no injury is possible.
failMarks the contract as failed and stops it.
generateFills the contract with valid data to be used.
handle_target_experienceHandles the target's experience from extraction.
handle_target_returnHandles the target's return to station.
initiateBegins the contract if possible.
injure_targetHandles the target's injury/interrogation at the Syndicate Jail.
invalidateMarks the contract as invalid and effectively cancels it for later use.
notify_completionNotifies the uplink's holder that a contract has been completed.
open_extraction_portalOpens the extraction portal.
start_extraction_processInitiates the extraction process if conditions are met.
target_receivedCalled when a contract target has been extracted through the portal.

Var Details

chosen_difficulty

The selected difficulty.

completed_time

Formatted station time at which the contract was completed, if applicable.

contract

The /datum/objective/contract associated to this contract.

credits_base

The base credits reward upon completion. Multiplied by the two lower bounds below.

dead_extraction

Whether the contract was completed with the victim being dead on extraction.

extraction_cooldown

Cooldown before making another extraction request in deciseconds.

extraction_deadline

The world.time at which the current extraction fulton will vanish and another extraction can be requested.

extraction_flare

The flare indicating the extraction point.

extraction_portal

The extraction portal.

extraction_timer_handle

Deadline reached timer handle. Deletes the portal and tells the agent to call extraction again.

fail_reason

Visual reason as to why the contract failed, if applicable.

fluff_message

Fluff message explaining why the kidnapee is the target.

nt_am_board_resigned

Whether the additional fluff story from any contractor completing all of their contracts was made already or not.

owning_hub

The owning contractor hub.

portal_duration

How long an extraction portal remains before going away. Should be less than /datum/syndicate_contract/var/extraction_cooldown.

prison_time

How long a target remains in the Syndicate jail.

prisoner_timer_handle

Prisoner jail timer handle. On completion, returns the prisoner back to station.

reward_credits

Amount of credits the contractor will receive upon completion.

reward_tc

Amount of telecrystals the contract will receive upon completion, depending on the chosen difficulty. +Structure: EXTRACTION_DIFFICULTY_(EASY|MEDIUM|HARD) => number

status

Current contract status.

target_name

Name of the target to display on the UI.

target_photo

The target's photo to display on the UI.

temp_objs

Temporary objects that are available to the kidnapee during their time in jail. These are deleted when the victim is returned.

victim_belongings

The kidnapee's belongings. Set upon extraction by the contractor.

Proc Details

clean_up

Cleans up the contract.

complete

Marks the contract as completed and gives the rewards to the contractor.

+

Arguments:

+

deadline_reached

Called when the extraction window closes.

default_damage

Default damage if no injury is possible.

+

Arguments:

+

fail

Marks the contract as failed and stops it.

+

Arguments:

+

generate

Fills the contract with valid data to be used.

handle_target_experience

Handles the target's experience from extraction.

+

Arguments:

+

handle_target_return

Handles the target's return to station.

+

Arguments:

+

initiate

Begins the contract if possible.

+

Arguments:

+

injure_target

Handles the target's injury/interrogation at the Syndicate Jail.

+

Arguments:

+

invalidate

Marks the contract as invalid and effectively cancels it for later use.

notify_completion

Notifies the uplink's holder that a contract has been completed.

+

Arguments:

+

open_extraction_portal

Opens the extraction portal.

+

Arguments:

+

start_extraction_process

Initiates the extraction process if conditions are met.

+

Arguments:

+

target_received

Called when a contract target has been extracted through the portal.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/targeting_strategy.html b/datum/targeting_strategy.html new file mode 100644 index 00000000000..0913e5d6266 --- /dev/null +++ b/datum/targeting_strategy.html @@ -0,0 +1,3 @@ +/datum/targeting_strategy - Space Station 13
Space Station 13 - Modules - TypesProc Details

targeting_strategy

Datum for basic mobs to define what they can attack. +Global, just like ai_behaviors. +Meant to be subtyped into different kinds of targeting strategies.

Procs

can_attackReturns true or false depending on if the target can be attacked by the mob.
find_hidden_mobsReturns something the target might be hiding inside of.

Proc Details

can_attack

Returns true or false depending on if the target can be attacked by the mob.

find_hidden_mobs

Returns something the target might be hiding inside of.

\ No newline at end of file diff --git a/datum/targeting_strategy/basic.html b/datum/targeting_strategy/basic.html new file mode 100644 index 00000000000..6f6be802155 --- /dev/null +++ b/datum/targeting_strategy/basic.html @@ -0,0 +1 @@ +/datum/targeting_strategy/basic - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

basic

Vars

aggro_range_keyBlackboard key for the maximum aggro range of the mob
check_factions_exactlyWhen we do our basic faction check, do we look for exact faction matches?
ignore_sightWhether we care for seeing the target or not
minimum_stat_keyBlackboard key containing the minimum stat of a living mob to target
target_wounded_keyIf this blackboard key is TRUE, makes us only target wounded mobs

Procs

faction_checkReturns true if the mob and target share factions

Var Details

aggro_range_key

Blackboard key for the maximum aggro range of the mob

check_factions_exactly

When we do our basic faction check, do we look for exact faction matches?

ignore_sight

Whether we care for seeing the target or not

minimum_stat_key

Blackboard key containing the minimum stat of a living mob to target

target_wounded_key

If this blackboard key is TRUE, makes us only target wounded mobs

Proc Details

faction_check

Returns true if the mob and target share factions

\ No newline at end of file diff --git a/datum/targeting_strategy/basic/malf_drone.html b/datum/targeting_strategy/basic/malf_drone.html new file mode 100644 index 00000000000..8ec4de14491 --- /dev/null +++ b/datum/targeting_strategy/basic/malf_drone.html @@ -0,0 +1 @@ +/datum/targeting_strategy/basic/malf_drone - Space Station 13
Space Station 13 - Modules - TypesProc Details

malf_drone

Procs

can_attackReturns false if we're on passive mode. If we get attacked, we swap out of passive mode.

Proc Details

can_attack

Returns false if we're on passive mode. If we get attacked, we swap out of passive mode.

\ No newline at end of file diff --git a/datum/targeting_strategy/basic/not_friends.html b/datum/targeting_strategy/basic/not_friends.html new file mode 100644 index 00000000000..67f4e9e7405 --- /dev/null +++ b/datum/targeting_strategy/basic/not_friends.html @@ -0,0 +1 @@ +/datum/targeting_strategy/basic/not_friends - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

not_friends

Don't target an atom in our friends list (or turfs), anything else is fair game

Vars

attack_closed_turfIf we can try to wall/mineral turfs or not
attack_objIf we want it to attack ALL OBJECTS

Procs

can_attackReturns true or false depending on if the target can be attacked by the mob
faction_checkfriends dont care about factions

Var Details

attack_closed_turf

If we can try to wall/mineral turfs or not

attack_obj

If we want it to attack ALL OBJECTS

Proc Details

can_attack

Returns true or false depending on if the target can be attacked by the mob

faction_check

friends dont care about factions

\ No newline at end of file diff --git a/datum/targeting_strategy/basic/of_size.html b/datum/targeting_strategy/basic/of_size.html new file mode 100644 index 00000000000..c3be727ffa0 --- /dev/null +++ b/datum/targeting_strategy/basic/of_size.html @@ -0,0 +1 @@ +/datum/targeting_strategy/basic/of_size - Space Station 13
Space Station 13 - Modules - TypesVar Details

of_size

Subtype which searches for mobs of a size relative to ours

Vars

find_smallerIf true, we will return mobs which are smaller than us. If false, larger.
inclusiveIf true, we will return mobs which are the same size as us.

Var Details

find_smaller

If true, we will return mobs which are smaller than us. If false, larger.

inclusive

If true, we will return mobs which are the same size as us.

\ No newline at end of file diff --git a/datum/targeting_strategy/lightgeist.html b/datum/targeting_strategy/lightgeist.html new file mode 100644 index 00000000000..3e691eb9dc2 --- /dev/null +++ b/datum/targeting_strategy/lightgeist.html @@ -0,0 +1 @@ +/datum/targeting_strategy/lightgeist - Space Station 13
Space Station 13 - Modules - TypesVar Details

lightgeist

Attack only mobs who have damage that we can heal, I think this is specific enough not to be a generic type

Vars

heal_biotypesTypes of mobs we can heal, not in a blackboard key because there is no point changing this at runtime because the component will already exist

Var Details

heal_biotypes

Types of mobs we can heal, not in a blackboard key because there is no point changing this at runtime because the component will already exist

\ No newline at end of file diff --git a/datum/tarot.html b/datum/tarot.html new file mode 100644 index 00000000000..8aba0c23eb5 --- /dev/null +++ b/datum/tarot.html @@ -0,0 +1 @@ +/datum/tarot - Space Station 13
Space Station 13 - Modules - TypesVar Details

tarot

Vars

antimagic_flagsWhat antimagic flags do we have?
card_iconWhat icon is used for the card?
descDesc used for the card description of the card
extended_descExtended desc for the cards. For what they do
nameName used for the card
reversedAre we reversed? Used for the card back.

Var Details

antimagic_flags

What antimagic flags do we have?

card_icon

What icon is used for the card?

desc

Desc used for the card description of the card

extended_desc

Extended desc for the cards. For what they do

name

Name used for the card

reversed

Are we reversed? Used for the card back.

\ No newline at end of file diff --git a/datum/tcomms_message.html b/datum/tcomms_message.html new file mode 100644 index 00000000000..71d7ece38be --- /dev/null +++ b/datum/tcomms_message.html @@ -0,0 +1,5 @@ +/datum/tcomms_message - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Telecommunications Message

Datum which holds all the data for a message being sent

+

This used to be a single associative list with just keys and values +It had no typepath or presence checking, and was absolutely awful to work with +This fixes that

Vars

connectionOrigin of the signal
follow_targetFollow target for AI use
freqWhat frequency the message is sent on
message_piecesPieces of the message
needs_tcommsDid the signal come from a device that requires tcomms to function
passShould this signal be re-broadcasted (Can be modified by NTTC, defaults to TRUE)
pre_modify_namesender_name before modify_message modifies it, because it introduces html tags.
radioThe radio it was sent from
rejectIs this signal meant to be rejected
senderWho sent it
sender_jobWhat job are they
sender_nameWho sent the message
sender_rankWhat rank are they (this is used for formatting)
signal_typeThe signal type (See defines/radio.dm)
source_levelSource Z-level
verbageVerbage used
vmaskWas it sent with a voice changer
vnameVoice name if the person doesnt have a name (diona, alien, etc)
zlevelsList of all channels this can be sent or received on

Procs

DestroyDestructor for the TCM datum.

Var Details

connection

Origin of the signal

follow_target

Follow target for AI use

freq

What frequency the message is sent on

message_pieces

Pieces of the message

needs_tcomms

Did the signal come from a device that requires tcomms to function

pass

Should this signal be re-broadcasted (Can be modified by NTTC, defaults to TRUE)

pre_modify_name

sender_name before modify_message modifies it, because it introduces html tags.

radio

The radio it was sent from

reject

Is this signal meant to be rejected

sender

Who sent it

sender_job

What job are they

sender_name

Who sent the message

sender_rank

What rank are they (this is used for formatting)

signal_type

The signal type (See defines/radio.dm)

source_level

Source Z-level

verbage

Verbage used

vmask

Was it sent with a voice changer

vname

Voice name if the person doesnt have a name (diona, alien, etc)

zlevels

List of all channels this can be sent or received on

Proc Details

Destroy

Destructor for the TCM datum.

+

This needs to happen like this so that things dont keep references held in place

\ No newline at end of file diff --git a/datum/team.html b/datum/team.html new file mode 100644 index 00000000000..c8218c6b035 --- /dev/null +++ b/datum/team.html @@ -0,0 +1,15 @@ +/datum/team - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Antagonist Team

Datum used by team antagonists to track it's members and objectives the team needs to complete.

Vars

antag_datum_typeType of antag datum members of this team have. Also given to new members added by admins.
blackbox_save_nameThe name to save objective successes under in the blackboxes. Saves nothing if blank.
membersA list of minds who belong to this team.
nameThe name of the team.
objective_holderA list of objectives which all team members share.

Procs

add_memberAdds new_member to this team.
add_team_objectiveAdds a team objective to each member's matching antag datum.
admin_add_memberAdds a new member to this team from a list of players in the round.
admin_add_objectiveAllows admins to add a team objective. +Minimize overriding this proc please.
admin_announce_objectivesAllows admins to announce objectives to all team members.
admin_communicateAllows admins to send a message to all members of this team.
admin_remove_memberAllows admins to remove a team member.
admin_remove_objectiveAllows admins to remove a team objective.
admin_rename_teamAllows admins to rename the team.
get_admin_commandsA list of team-specific admin commands for this team. Should be in the form of "command" = CALLBACK(x, PROC_REF(some_proc)).
get_admin_priority_objectivesReturns an associated list of priority objectives for admins to add to the team, this is like +Must return in the form objective name = objective_path.
get_antag_datum_from_memberReturn an antag datum from a member which is linked with this team.
get_target_excludesSpecial overrides for teams for target exclusion from objectives.
handle_adding_admin_objectiveOverridable logic for handling how the adding of objectives works works +Can return an objective datum, or a boolean. +Returns a boolean if its already added to the team objectives in a custom way
handle_adding_memberAn internal proc to allow teams to handle custom parts of adding a member. +This should ONLY be called by add_member() to ensure proper order of operations.
handle_removing_memberAn internal proc for teams to remove a member.
on_round_endDisplays the roundend stats for teams
remove_memberRemoves member from this team. +This is an interface proc, to prevent handle_removing_member from being called multiple times.
remove_team_objectiveRemove a team objective from each member's matching antag datum.

Var Details

antag_datum_type

Type of antag datum members of this team have. Also given to new members added by admins.

blackbox_save_name

The name to save objective successes under in the blackboxes. Saves nothing if blank.

members

A list of minds who belong to this team.

name

The name of the team.

objective_holder

A list of objectives which all team members share.

Proc Details

add_member

Adds new_member to this team.

+

This is an interface proc, to prevent handle_removing_member from being called multiple times. +It is better if this is only called from add_antag_datum(), but it is not required.

add_team_objective

Adds a team objective to each member's matching antag datum.

admin_add_member

Adds a new member to this team from a list of players in the round.

admin_add_objective

Allows admins to add a team objective. +Minimize overriding this proc please.

admin_announce_objectives

Allows admins to announce objectives to all team members.

admin_communicate

Allows admins to send a message to all members of this team.

admin_remove_member

Allows admins to remove a team member.

admin_remove_objective

Allows admins to remove a team objective.

admin_rename_team

Allows admins to rename the team.

get_admin_commands

A list of team-specific admin commands for this team. Should be in the form of "command" = CALLBACK(x, PROC_REF(some_proc)).

get_admin_priority_objectives

Returns an associated list of priority objectives for admins to add to the team, this is like +Must return in the form objective name = objective_path.

get_antag_datum_from_member

Return an antag datum from a member which is linked with this team.

get_target_excludes

Special overrides for teams for target exclusion from objectives.

handle_adding_admin_objective

Overridable logic for handling how the adding of objectives works works +Can return an objective datum, or a boolean. +Returns a boolean if its already added to the team objectives in a custom way

handle_adding_member

An internal proc to allow teams to handle custom parts of adding a member. +This should ONLY be called by add_member() to ensure proper order of operations.

handle_removing_member

An internal proc for teams to remove a member.

on_round_end

Displays the roundend stats for teams

remove_member

Removes member from this team. +This is an interface proc, to prevent handle_removing_member from being called multiple times.

remove_team_objective

Remove a team objective from each member's matching antag datum.

\ No newline at end of file diff --git a/datum/team/cult.html b/datum/team/cult.html new file mode 100644 index 00000000000..c75d813fb36 --- /dev/null +++ b/datum/team/cult.html @@ -0,0 +1,13 @@ +/datum/team/cult - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cult

Vars

ascend_numberHow many crew need to be converted to ascend
ascend_percentUsed for the CentComm announcement at ascension
cult_ascendantDoes the cult have halos
cult_risenDoes the cult have glowing eyes
cult_statusVariable used for tracking the progress of the cult's sacrifices & god summonings
is_in_transitionBoolean that prevents all_members_timer from being called multiple times
mirror_shields_activeAre cultist mirror shields active yet?
obj_summonGod summon objective added when ready_to_summon() is called
recount_timerTimer until we do a recount of cultist members
rise_numberHow many crew need to be converted to rise
unlocked_heretic_itemsList that keeps track of which items have been unlocked after a heretic was sacked.

Procs

all_members_timerThis is a magic fuckin proc that takes a proc_ref, and calls it on all the human cultists. +Created so that we don't make 1000 timers, and I'm too lazy to make a proc for all of these. +Used in callbacks for some magic bullshit.
cult_body_transferMakes sure that the signal stays on the correct body when a cultist changes bodies
cult_threshold_checkDecides at the start of the round how many conversions are needed to rise/ascend.
current_sac_objectiveReturn the current sacrifice objective datum, if any
get_admin_commandsADMIN STUFF DOWN YONDER
get_cultistsReturns the current number of cultists and constructs.

Var Details

ascend_number

How many crew need to be converted to ascend

ascend_percent

Used for the CentComm announcement at ascension

cult_ascendant

Does the cult have halos

cult_risen

Does the cult have glowing eyes

cult_status

Variable used for tracking the progress of the cult's sacrifices & god summonings

is_in_transition

Boolean that prevents all_members_timer from being called multiple times

mirror_shields_active

Are cultist mirror shields active yet?

obj_summon

God summon objective added when ready_to_summon() is called

recount_timer

Timer until we do a recount of cultist members

rise_number

How many crew need to be converted to rise

unlocked_heretic_items

List that keeps track of which items have been unlocked after a heretic was sacked.

Proc Details

all_members_timer

This is a magic fuckin proc that takes a proc_ref, and calls it on all the human cultists. +Created so that we don't make 1000 timers, and I'm too lazy to make a proc for all of these. +Used in callbacks for some magic bullshit.

cult_body_transfer

Makes sure that the signal stays on the correct body when a cultist changes bodies

cult_threshold_check

Decides at the start of the round how many conversions are needed to rise/ascend.

+

The number is decided by (Percentage * (Players - Cultists)), so for example at 110 players it would be 11 conversions for rise. (0.1 * (110 - 4)) +These values change based on population because 20 cultists are MUCH more powerful if there's only 50 players, compared to 120.

+

Below 100 players, CULT_RISEN_LOW and CULT_ASCENDANT_LOW are used. +Above 100 players, CULT_RISEN_HIGH and CULT_ASCENDANT_HIGH are used.

current_sac_objective

Return the current sacrifice objective datum, if any

get_admin_commands

ADMIN STUFF DOWN YONDER

get_cultists

Returns the current number of cultists and constructs.

+

Returns the number of cultists and constructs in the format list(number of Cultists, number of Constructs), or as one combined number.

+
\ No newline at end of file diff --git a/datum/team/revolution.html b/datum/team/revolution.html new file mode 100644 index 00000000000..ac0e29fd48c --- /dev/null +++ b/datum/team/revolution.html @@ -0,0 +1,48 @@ +/datum/team/revolution - Space Station 13
Space Station 13 - Modules - TypesProc Details

revolution

Procs

need_another_headrev

Proc Details

need_another_headrev

\ No newline at end of file diff --git a/datum/team/uplifted_primitive.html b/datum/team/uplifted_primitive.html new file mode 100644 index 00000000000..074d7f5bd5d --- /dev/null +++ b/datum/team/uplifted_primitive.html @@ -0,0 +1 @@ +/datum/team/uplifted_primitive - Space Station 13
Space Station 13 - Modules - TypesVar Details

uplifted_primitive

An team containing all uplifted primitives of a given species.

Vars

guaranteed_sentient_spawnsThe number of spawns that should always poll ghosts for nests of this team.
has_added_team_objectiveWhether or not the team objective has been added yet.
potential_objectivesAll potential objectives which can be added as the team objective.
team_hudThe antag hud specific to this team, only shown to other members of the team.
team_speciesThe species this team represents.

Var Details

guaranteed_sentient_spawns

The number of spawns that should always poll ghosts for nests of this team.

has_added_team_objective

Whether or not the team objective has been added yet.

potential_objectives

All potential objectives which can be added as the team objective.

team_hud

The antag hud specific to this team, only shown to other members of the team.

team_species

The species this team represents.

\ No newline at end of file diff --git a/datum/tech.html b/datum/tech.html new file mode 100644 index 00000000000..83b40112743 --- /dev/null +++ b/datum/tech.html @@ -0,0 +1,4 @@ +/datum/tech - Space Station 13
Space Station 13 - Modules - TypesVar Details

tech

				Technology Datums					
+
+

Includes all the various technoliges and what they make. +Datum of individual technologies.

Vars

ui_iconName of the FontAwesome icon to represent the tech

Var Details

ui_icon

Name of the FontAwesome icon to represent the tech

\ No newline at end of file diff --git a/datum/tgs_chat_channel.html b/datum/tgs_chat_channel.html new file mode 100644 index 00000000000..b85a4619892 --- /dev/null +++ b/datum/tgs_chat_channel.html @@ -0,0 +1 @@ +/datum/tgs_chat_channel - Space Station 13
Space Station 13 - Modules - TypesVar 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.
embeds_supportedTRUE/FALSE if the channel supports embeds.
friendly_nameUser friendly name of the channel.
idTGS internal channel ID.
is_admin_channelTRUE/FALSE based on if the server operator has marked this channel for game admins only.
is_private_channelTRUE/FALSE if the channel is a private message channel for a /datum/tgs_chat_user.

Var Details

connection_name

Name of the chat connection. This is the IRC server address or the Discord guild.

custom_tag

Tag string associated with the channel in TGS.

embeds_supported

TRUE/FALSE if the channel supports embeds.

friendly_name

User friendly name of the channel.

id

TGS internal channel ID.

is_admin_channel

TRUE/FALSE based on if the server operator has marked this channel for game admins only.

is_private_channel

TRUE/FALSE if the channel is a private message channel for a /datum/tgs_chat_user.

\ No newline at end of file diff --git a/datum/tgs_chat_command.html b/datum/tgs_chat_command.html new file mode 100644 index 00000000000..241e42e4b8d --- /dev/null +++ b/datum/tgs_chat_command.html @@ -0,0 +1,3 @@ +/datum/tgs_chat_command - Space Station 13
Space Station 13 - Modules - TypesVar 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.
ignore_typeA subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.
nameThe string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Procs

RunProcess command activation. Should return a /datum/tgs_message_content to respond to the issuer with.

Var Details

admin_only

If this command should be available to game administrators only.

help_text

The help text displayed for this command.

ignore_type

A subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.

name

The string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Proc Details

Run

Process command activation. Should return a /datum/tgs_message_content to respond to the issuer with.

+

sender - The /datum/tgs_chat_user who issued the command. +params - The trimmed string following the command `/datum/tgs_chat_command/var/name].

\ No newline at end of file diff --git a/datum/tgs_chat_embed/footer.html b/datum/tgs_chat_embed/footer.html new file mode 100644 index 00000000000..9acbb6f3f6f --- /dev/null +++ b/datum/tgs_chat_embed/footer.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/footer - Space Station 13
Space Station 13 - Modules - TypesVar Details

footer

See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.

Vars

textMust be set in New().

Var Details

text

Must be set in New().

\ No newline at end of file diff --git a/datum/tgs_chat_embed/media.html b/datum/tgs_chat_embed/media.html new file mode 100644 index 00000000000..1f9e3642f79 --- /dev/null +++ b/datum/tgs_chat_embed/media.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/media - Space Station 13
Space Station 13 - Modules - TypesVar Details

media

Common datum for similar discord embed medias.

Vars

urlMust be set in New().

Var Details

url

Must be set in New().

\ No newline at end of file diff --git a/datum/tgs_chat_embed/structure.html b/datum/tgs_chat_embed/structure.html new file mode 100644 index 00000000000..ad36ec64d0b --- /dev/null +++ b/datum/tgs_chat_embed/structure.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/structure - Space Station 13
Space Station 13 - Modules - TypesVar Details

structure

User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details.

Vars

colourColour must be #AARRGGBB or #RRGGBB hex string.
imageSee https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.
thumbnailSee https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details.
timestampTimestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.
videoSee https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.

Var Details

colour

Colour must be #AARRGGBB or #RRGGBB hex string.

image

See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.

thumbnail

See https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details.

timestamp

Timestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.

video

See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.

\ No newline at end of file diff --git a/datum/tgs_chat_user.html b/datum/tgs_chat_user.html new file mode 100644 index 00000000000..fbf49911b15 --- /dev/null +++ b/datum/tgs_chat_user.html @@ -0,0 +1 @@ +/datum/tgs_chat_user - Space Station 13
Space Station 13 - Modules - TypesVar Details

tgs_chat_user

Vars

channelThe /datum/tgs_chat_channel the user was from.
friendly_nameThe user's display name.
idTGS internal user ID.
mentionThe string to use to ping this user in a message.

Var Details

channel

The /datum/tgs_chat_channel the user was from.

friendly_name

The user's display name.

id

TGS internal user ID.

mention

The string to use to ping this user in a message.

\ No newline at end of file diff --git a/datum/tgs_event_handler.html b/datum/tgs_event_handler.html new file mode 100644 index 00000000000..d92378bcd41 --- /dev/null +++ b/datum/tgs_event_handler.html @@ -0,0 +1,2 @@ +/datum/tgs_event_handler - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgs_event_handler

User definable handler for TGS events.

Vars

receive_health_checksIf the handler receieves TGS_EVENT_HEALTH_CHECK events.

Procs

HandleEventUser definable callback for handling TGS events.

Var Details

receive_health_checks

If the handler receieves TGS_EVENT_HEALTH_CHECK events.

Proc Details

HandleEvent

User definable callback for handling TGS events.

+

event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each.

\ No newline at end of file diff --git a/datum/tgs_message_content.html b/datum/tgs_message_content.html new file mode 100644 index 00000000000..c9284f5091c --- /dev/null +++ b/datum/tgs_message_content.html @@ -0,0 +1 @@ +/datum/tgs_message_content - Space Station 13
Space Station 13 - Modules - TypesVar Details

tgs_message_content

User definable chat message.

Vars

embedThe /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.
textThe tring content of the message. Must be provided in New().

Var Details

embed

The /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.

text

The tring content of the message. Must be provided in New().

\ No newline at end of file diff --git a/datum/tgs_revision_information.html b/datum/tgs_revision_information.html new file mode 100644 index 00000000000..38263fe552a --- /dev/null +++ b/datum/tgs_revision_information.html @@ -0,0 +1 @@ +/datum/tgs_revision_information - Space Station 13
Space Station 13 - Modules - TypesVar 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.

\ No newline at end of file diff --git a/datum/tgs_revision_information/test_merge.html b/datum/tgs_revision_information/test_merge.html new file mode 100644 index 00000000000..1235ae99887 --- /dev/null +++ b/datum/tgs_revision_information/test_merge.html @@ -0,0 +1 @@ +/datum/tgs_revision_information/test_merge - Space Station 13
Space Station 13 - Modules - TypesVar 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.

\ No newline at end of file diff --git a/datum/tgs_version.html b/datum/tgs_version.html new file mode 100644 index 00000000000..bec38154163 --- /dev/null +++ b/datum/tgs_version.html @@ -0,0 +1 @@ +/datum/tgs_version - Space Station 13
Space Station 13 - Modules - TypesVar 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.

\ No newline at end of file diff --git a/datum/tgui.html b/datum/tgui.html new file mode 100644 index 00000000000..f6e34f0cc1e --- /dev/null +++ b/datum/tgui.html @@ -0,0 +1,32 @@ +/datum/tgui - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui

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

+

tgui datum (represents a UI).

Vars

asset_dataAsset data to be sent with every update
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.
refresh_cooldownRate limit client refreshes to prevent DoS.
refreshingTimed refreshing state
src_objectThe object which owns the UI.
stateTopic state used to determine status/interactability.
statusThe status/visibility of the UI.
titleThe title of te UI.
userThe mob who opened/is using the UI.
windowThe window_id for browse() and onclose().
window_keyKey that is used for remembering the window geometry.
window_sizeDeprecated: Window size.

Procs

Newpublic
closepublic
get_payloadprivate
on_messageprivate
openpublic
processprivate
process_statusprivate
send_assetpublic
send_full_updatepublic
send_updatepublic
set_autoupdatepublic
set_statepublic

Var Details

asset_data

Asset data to be sent with every update

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.

refresh_cooldown

Rate limit client refreshes to prevent DoS.

refreshing

Timed refreshing state

src_object

The object which owns the UI.

state

Topic state used to determine status/interactability.

status

The status/visibility of the UI.

title

The title of te UI.

user

The mob who opened/is using the UI.

window

The window_id for browse() and onclose().

window_key

Key that is used for remembering the window geometry.

window_size

Deprecated: Window size.

Proc Details

New

public

+

Create a new UI.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object or datum which owns the UI. +required interface string The interface used to render the UI. +optional title string The title of the UI. +optional ui_x int Deprecated: Window width. +optional ui_y int Deprecated: Window height.

+

return datum/tgui The requested UI.

close

public

+

Close the UI.

+

optional can_be_suspended bool

get_payload

private

+

Package the data to send to the UI, as JSON.

+

return list

on_message

private

+

Callback for handling incoming tgui messages.

open

public

+

Open this UI (and initialize it with data).

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

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

\ No newline at end of file diff --git a/datum/tgui_alert.html b/datum/tgui_alert.html new file mode 100644 index 00000000000..a69ba710508 --- /dev/null +++ b/datum/tgui_alert.html @@ -0,0 +1,4 @@ +/datum/tgui_alert - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui_alert

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_alert was closed by the user.
deletion_timerThe attached timer that handles this objects timeout deletion
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_alert was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the tgui_alert, 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_alert'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_alert was closed by the user.

deletion_timer

The attached timer that handles this objects timeout deletion

message

The textual body of the TGUI window

start_time

The time at which the tgui_alert was created, for displaying timeout progress.

state

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout

The lifespan of the tgui_alert, 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_alert's prompt before returning. Returns early if +the window was closed by the user.

\ No newline at end of file diff --git a/datum/tgui_bug_report_form.html b/datum/tgui_bug_report_form.html new file mode 100644 index 00000000000..57c6d1d299a --- /dev/null +++ b/datum/tgui_bug_report_form.html @@ -0,0 +1 @@ +/datum/tgui_bug_report_form - Space Station 13
Space Station 13 - Modules - TypesVar Details

tgui_bug_report_form

Vars

approving_userclient of the admin/dev who is accessing the report, we don't want multiple people unknowingly making changes at the same time.
awaiting_approvalvalue to determine if the bug report is submitted and awaiting admin/dev approval, used for state purposes in tgui.
bug_report_datacontains all the body text for the bug report.
file_timetime the report was filed
handledWhether the report has been handled
initial_keyckey of the author
initial_user_uidclient of the bug report author, needed to create the ticket
row_indexIndex of the report in the db
selected_confirmfor garbage collection purposes.

Var Details

approving_user

client of the admin/dev who is accessing the report, we don't want multiple people unknowingly making changes at the same time.

awaiting_approval

value to determine if the bug report is submitted and awaiting admin/dev approval, used for state purposes in tgui.

bug_report_data

contains all the body text for the bug report.

file_time

time the report was filed

handled

Whether the report has been handled

initial_key

ckey of the author

initial_user_uid

client of the bug report author, needed to create the ticket

row_index

Index of the report in the db

selected_confirm

for garbage collection purposes.

\ No newline at end of file diff --git a/datum/tgui_input_color.html b/datum/tgui_input_color.html new file mode 100644 index 00000000000..033168f1e40 --- /dev/null +++ b/datum/tgui_input_color.html @@ -0,0 +1,4 @@ +/datum/tgui_input_color - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui_input_color

tgui_input_color

+

Datum used for instantiating and using a TGUI-controlled color picker.

Vars

autofocusThe bool that controls if this modal should grab window focus
choiceThe color the user selected, null if no selection has been made
closedBoolean field describing if the tgui_input_color was closed by the user.
defaultThe default choice, used if there is an existing value
deletion_timerThe attached timer that handles this objects timeout deletion
messageThe message to show the user
start_timeThe time at which the tgui_input_color was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the tgui_input_color, 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_input_color'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

choice

The color the user selected, null if no selection has been made

closed

Boolean field describing if the tgui_input_color was closed by the user.

default

The default choice, used if there is an existing value

deletion_timer

The attached timer that handles this objects timeout deletion

message

The message to show the user

start_time

The time at which the tgui_input_color was created, for displaying timeout progress.

state

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout

The lifespan of the tgui_input_color, 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_input_color's prompt before returning. Returns early if +the window was closed by the user.

\ No newline at end of file diff --git a/datum/tgui_input_keycombo.html b/datum/tgui_input_keycombo.html new file mode 100644 index 00000000000..fc0ea5b8dde --- /dev/null +++ b/datum/tgui_input_keycombo.html @@ -0,0 +1,4 @@ +/datum/tgui_input_keycombo - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui_input_keycombo

Datum used for instantiating and using a TGUI-controlled key input that prompts the user with +a message and listens for key presses.

Vars

closedBoolean field describing if the tgui_input_number was closed by the user.
defaultThe default (or current) value, shown as a default. Users can press reset with this.
deletion_timerThe attached timer that handles this objects timeout deletion
entryThe entry that the user has return_typed in.
messageThe prompt's body, if any, of the TGUI window.
start_timeThe time at which the number input was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the number 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_input_keycombo's prompt before returning. Returns early if +the window was closed by the user.

Var Details

closed

Boolean field describing if the tgui_input_number was closed by the user.

default

The default (or current) value, shown as a default. Users can press reset with this.

deletion_timer

The attached timer that handles this objects timeout deletion

entry

The entry that the user has return_typed in.

message

The prompt's body, if any, of the TGUI window.

start_time

The time at which the number input was created, for displaying timeout progress.

state

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout

The lifespan of the number input, after which the window will close and delete itself.

title

The title of the TGUI window

Proc Details

wait

Waits for a user's response to the tgui_input_keycombo's prompt before returning. Returns early if +the window was closed by the user.

\ No newline at end of file diff --git a/datum/tgui_input_number.html b/datum/tgui_input_number.html new file mode 100644 index 00000000000..d47746a9e21 --- /dev/null +++ b/datum/tgui_input_number.html @@ -0,0 +1,4 @@ +/datum/tgui_input_number - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui_input_number

Datum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.

Vars

closedBoolean field describing if the tgui_input_number was closed by the user.
defaultThe default (or current) value, shown as a default. Users can press reset with this.
deletion_timerThe attached timer that handles this objects timeout deletion
entryThe entry that the user has return_typed in.
max_valueThe maximum value that can be entered.
messageThe prompt's body, if any, of the TGUI window.
min_valueThe minimum value that can be entered.
round_valueWhether the submitted number is rounded down into an integer.
start_timeThe time at which the number input was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the number 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_input_number's prompt before returning. Returns early if +the window was closed by the user.

Var Details

closed

Boolean field describing if the tgui_input_number was closed by the user.

default

The default (or current) value, shown as a default. Users can press reset with this.

deletion_timer

The attached timer that handles this objects timeout deletion

entry

The entry that the user has return_typed in.

max_value

The maximum value that can be entered.

message

The prompt's body, if any, of the TGUI window.

min_value

The minimum value that can be entered.

round_value

Whether the submitted number is rounded down into an integer.

start_time

The time at which the number input was created, for displaying timeout progress.

state

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout

The lifespan of the number input, after which the window will close and delete itself.

title

The title of the TGUI window

Proc Details

wait

Waits for a user's response to the tgui_input_number's prompt before returning. Returns early if +the window was closed by the user.

\ No newline at end of file diff --git a/datum/tgui_input_text.html b/datum/tgui_input_text.html new file mode 100644 index 00000000000..c18bf6c14e0 --- /dev/null +++ b/datum/tgui_input_text.html @@ -0,0 +1,11 @@ +/datum/tgui_input_text - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui_input_text

tgui_input_text

+

Datum used for instantiating and using a TGUI-controlled text input that prompts the user with +a message and has an input for text entry.

Vars

closedBoolean field describing if the tgui_input_text was closed by the user.
defaultThe default (or current) value, shown as a default.
deletion_timerThe attached timer that handles this objects timeout deletion
encodeWhether the input should be stripped using html_encode
entryThe entry that the user has return_typed in.
max_lengthThe maximum length for text entry
messageThe prompt's body, if any, of the TGUI window.
multilineMultiline input for larger input boxes.
start_timeThe time at which the text input was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the text input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

set_entrySets the return value for the tgui text proc. +If html encoding is enabled, the text will be encoded. +This can sometimes result in a string that is longer than the max length. +If the string is longer than the max length, it will be clipped.
waitWaits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.

Var Details

closed

Boolean field describing if the tgui_input_text was closed by the user.

default

The default (or current) value, shown as a default.

deletion_timer

The attached timer that handles this objects timeout deletion

encode

Whether the input should be stripped using html_encode

entry

The entry that the user has return_typed in.

max_length

The maximum length for text entry

message

The prompt's body, if any, of the TGUI window.

multiline

Multiline input for larger input boxes.

start_time

The time at which the text input was created, for displaying timeout progress.

state

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout

The lifespan of the text input, after which the window will close and delete itself.

title

The title of the TGUI window

Proc Details

set_entry

Sets the return value for the tgui text proc. +If html encoding is enabled, the text will be encoded. +This can sometimes result in a string that is longer than the max length. +If the string is longer than the max length, it will be clipped.

wait

Waits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.

\ No newline at end of file diff --git a/datum/tgui_list_input.html b/datum/tgui_list_input.html new file mode 100644 index 00000000000..775e063cad1 --- /dev/null +++ b/datum/tgui_list_input.html @@ -0,0 +1,4 @@ +/datum/tgui_list_input - Space Station 13
Space Station 13 - Modules - TypesVar 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

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.
defaultThe default button to be selected
deletion_timerThe attached timer that handles this objects timeout deletion
invalidWhether the tgui list input is invalid or not (i.e. due to all list entries being null)
itemsThe list of items (responses) provided on the TGUI window
items_mapButtons (strings specifically) mapped to the actual value (e.g. a mob or a verb)
messageThe textual body of the TGUI window
modal_typeThe TGUI modal to use for this popup
start_timeThe time at which the tgui_list_input was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
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

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.

default

The default button to be selected

deletion_timer

The attached timer that handles this objects timeout deletion

invalid

Whether the tgui list input is invalid or not (i.e. due to all list entries being null)

items

The list of items (responses) provided on the TGUI window

items_map

Buttons (strings specifically) mapped to the actual value (e.g. a mob or a verb)

message

The textual body of the TGUI window

modal_type

The TGUI modal to use for this popup

start_time

The time at which the tgui_list_input was created, for displaying timeout progress.

state

The TGUI UI state that will be returned in ui_state(). Default: always_state

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.

\ No newline at end of file diff --git a/datum/tgui_panel.html b/datum/tgui_panel.html new file mode 100644 index 00000000000..7b201d456bd --- /dev/null +++ b/datum/tgui_panel.html @@ -0,0 +1,22 @@ +/datum/tgui_panel - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui_panel

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

+

tgui_panel datum +Hosts tgchat and other nice features.

Vars

admins_warnedEach client notifies on protected playback, so this prevents spamming admins.
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

admins_warned

Each client notifies on protected playback, so this prevents spamming admins.

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.

\ No newline at end of file diff --git a/datum/tgui_say.html b/datum/tgui_say.html new file mode 100644 index 00000000000..08ba3a80de6 --- /dev/null +++ b/datum/tgui_say.html @@ -0,0 +1,34 @@ +/datum/tgui_say - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tgui_say

The tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.

Vars

clientThe user who opened the window
windowThe modal window
window_openBoolean for whether the tgui_say was opened by the user.

Procs

NewCreates the new input window to exist in the background.
closeCloses the window serverside. Closes any open chat bubbles +regardless of preference.
delegate_speechDelegates the speech to the proper channel.
handle_entryHandles text entry and forced speech.
initializeAfter a brief period, injects the scripts into +the window to listen for open commands.
loadEnsures nothing funny is going on window load. +Minimizes the window, sets max length, closes all +typing and thinking indicators. This is triggered +as soon as the window sends the "ready" message.
on_messageThe equivalent of ui_act, this waits on messages from the window +and delegates actions.
openSets the window as "opened" server side, though it is already +visible to the user. We do this to set local vars & +start typing (if enabled and in an IC channel).
start_thinkingSets the mob as "thinking" - with indicator
start_typingHandles the user typing. After a brief period of inactivity, +signals the client mob to revert to the "thinking" icon.
stop_thinkingRemoves typing/thinking indicators and flags the mob as not thinking
stop_typingCallback to remove the typing indicator after a brief period of inactivity. +If the user was typing IC, the thinking indicator is shown.

Var Details

client

The user who opened the window

window

The modal window

window_open

Boolean for whether the tgui_say was opened by the user.

Proc Details

New

Creates the new input window to exist in the background.

close

Closes the window serverside. Closes any open chat bubbles +regardless of preference.

delegate_speech

Delegates the speech to the proper channel.

+

Arguments: +entry - the text to broadcast +channel - the channel to broadcast in +Returns: +boolean - on success or failure

handle_entry

Handles text entry and forced speech.

+

Arguments: +payload - a string list containing entry & channel +Returns: +boolean - success or failure

initialize

After a brief period, injects the scripts into +the window to listen for open commands.

load

Ensures nothing funny is going on window load. +Minimizes the window, sets max length, closes all +typing and thinking indicators. This is triggered +as soon as the window sends the "ready" message.

on_message

The equivalent of ui_act, this waits on messages from the window +and delegates actions.

open

Sets the window as "opened" server side, though it is already +visible to the user. We do this to set local vars & +start typing (if enabled and in an IC channel).

+

Arguments: +payload - A list containing the channel the window was opened in.

start_thinking

Sets the mob as "thinking" - with indicator

start_typing

Handles the user typing. After a brief period of inactivity, +signals the client mob to revert to the "thinking" icon.

stop_thinking

Removes typing/thinking indicators and flags the mob as not thinking

stop_typing

Callback to remove the typing indicator after a brief period of inactivity. +If the user was typing IC, the thinking indicator is shown.

\ No newline at end of file diff --git a/datum/tgui_window.html b/datum/tgui_window.html new file mode 100644 index 00000000000..71dfff3c6ea --- /dev/null +++ b/datum/tgui_window.html @@ -0,0 +1,46 @@ +/datum/tgui_window - Space Station 13
Space Station 13 - Modules - TypesProc Details

tgui_window

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

Procs

Newpublic
acquire_lockpublic
can_be_suspendedpublic
closepublic
flush_message_queueprivate
initializepublic
is_readypublic
on_messageprivate
reinitializepublic
release_lockpublic
replace_htmlpublic
send_assetpublic
send_messagepublic
send_raw_messagepublic
subscribepublic
unsubscribepublic

Proc Details

New

public

+

Create a new tgui window.

+

required client /client +required id string A unique window identifier.

acquire_lock

public

+

Acquire the window lock. Pool will not be able to provide this window +to other UIs for the duration of the lock.

+

Can be given an optional tgui datum, which will be automatically +subscribed to incoming messages via the on_message proc.

+

optional ui /datum/tgui

can_be_suspended

public

+

Checks if the window can be sanely suspended.

+

return bool

close

public

+

Close the UI.

+

optional can_be_suspended bool

flush_message_queue

private

+

Sends queued messages if the queue wasn't empty.

initialize

public

+

Initializes the window with a fresh page. Puts window into the "loading" +state. You can begin sending messages right after initializing. Messages +will be put into the queue until the window finishes loading.

+

optional strict_mode bool - Enables strict error handling and BSOD. +optional fancy bool - If TRUE and if this is NOT a panel, will hide the window titlebar. +optional assets list - List of assets to load during initialization. +optional inline_html string - Custom HTML to inject. +optional inline_js string - Custom JS to inject. +optional inline_css string - Custom CSS to inject.

is_ready

public

+

Checks if the window is ready to receive data.

+

return bool

on_message

private

+

Callback for handling incoming tgui messages.

reinitialize

public

+

Reinitializes the panel with previous data used for initialization.

release_lock

public

+

Release the window lock.

replace_html

public

+

Replaces the inline HTML content.

+

required inline_html string HTML to inject

send_asset

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - TRUE if any assets had to be sent to the client

send_message

public

+

Sends a message to tgui window.

+

required type string Message type +required payload list Message payload +optional force bool Send regardless of the ready status.

send_raw_message

public

+

Sends a raw payload to tgui window.

+

required message string JSON+urlencoded blob to send. +optional force bool Send regardless of the ready status.

subscribe

public

+

Subscribes the datum to consume window messages on a specified proc.

+

Note, that this supports only one subscriber, because code for that +is simpler and therefore faster. If necessary, this can be rewritten +to support multiple subscribers.

unsubscribe

public

+

Unsubscribes the datum. Do not forget to call this when cleaning up.

\ No newline at end of file diff --git a/datum/theft_objective.html b/datum/theft_objective.html new file mode 100644 index 00000000000..5993e9ca349 --- /dev/null +++ b/datum/theft_objective.html @@ -0,0 +1 @@ +/datum/theft_objective - Space Station 13
Space Station 13 - Modules - TypesVar Details

theft_objective

Vars

extra_informationAny extra information about the objective
job_possessionIf a steal objective has forbidden jobs, and the forbidden jobs would not be in the possession of this item, set this to false
objective_name_overideDo we overide naming to not say steal at the front?
special_equipmentDo we have a special item we give to somewhen when they get this objective?

Var Details

extra_information

Any extra information about the objective

job_possession

If a steal objective has forbidden jobs, and the forbidden jobs would not be in the possession of this item, set this to false

objective_name_overide

Do we overide naming to not say steal at the front?

special_equipment

Do we have a special item we give to somewhen when they get this objective?

\ No newline at end of file diff --git a/datum/thrownthing.html b/datum/thrownthing.html new file mode 100644 index 00000000000..722c484aeca --- /dev/null +++ b/datum/thrownthing.html @@ -0,0 +1 @@ +/datum/thrownthing - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

thrownthing

Vars

block_movementWill thrownthing datum actually block movement? this might be FALSE with some circumstances even if var/should_block_movement is TRUE. This variable change automatically during the throw
callbackIf a thrown thing has a callback, it can be invoked here within thrownthing.
delayed_timeHow long an object has been paused for, to be added to the travel time.
diagonal_errorHow many tiles that need to be moved in order to travel to the target.
diagonals_firstA variable that helps in describing objects thrown at an angle, if it should be moved diagonally first or last.
dist_travelledTracks how far a thrownthing has traveled mid-throw for the purposes of maxrange
dist_xDistance to travel in the X axis/direction.
dist_yDistance to travel in the y axis/direction.
dodgeableWhen this variable is false, non dense mobs will be hit by a thrown item. useful for things that you dont want to be cheesed by crawling, EG. gravitational anomalies
dxThe Horizontal direction we're traveling (EAST or WEST)
dyThe VERTICAL direction we're traveling (NORTH or SOUTH)
forceThe movement force provided to a given object in transit. More info on these in move_force.dm
init_dirThe initial direction of the thrower of the thrownthing for building the trajectory of the throw.
initial_target_uidUID of the original intended target of the throw, to prevent hardDels
last_moveThe last world.time value stored when the thrownthing was moving.
maxrangeThe maximum number of turfs that the thrownthing will travel to reach it's target.
pausedMainly exists for things that would freeze a thrown object in place, like a timestop'd tile. Or a Tractor Beam.
pure_diagonalSet to TRUE if the throw is exclusively diagonal (45 Degree angle throws for example)
should_block_movementCan a thrown mob move themselves to stop the throw?
speedTurfs to travel per tick
start_timeThe start_time obtained via world.time for the purposes of tiles moved/tick.
starting_turfThe turf that we were thrown from.
target_turfThe turf that the target was on, if it's not a turf itself.
target_zoneIf the target happens to be a carbon and that carbon has a body zone aimed at, this is carried on here.
thrower_uidIf a mob is the one who has thrown the object, then its UID is stored here. This can be null and must be null checked before trying to use it.
thrownthingThrown atom this datum is attached to

Procs

get_throwerReturns the mob thrower, or null
on_thrownthing_qdelDefines the datum behavior on the thrownthing's qdeletion event.

Var Details

block_movement

Will thrownthing datum actually block movement? this might be FALSE with some circumstances even if var/should_block_movement is TRUE. This variable change automatically during the throw

callback

If a thrown thing has a callback, it can be invoked here within thrownthing.

delayed_time

How long an object has been paused for, to be added to the travel time.

diagonal_error

How many tiles that need to be moved in order to travel to the target.

diagonals_first

A variable that helps in describing objects thrown at an angle, if it should be moved diagonally first or last.

dist_travelled

Tracks how far a thrownthing has traveled mid-throw for the purposes of maxrange

dist_x

Distance to travel in the X axis/direction.

dist_y

Distance to travel in the y axis/direction.

dodgeable

When this variable is false, non dense mobs will be hit by a thrown item. useful for things that you dont want to be cheesed by crawling, EG. gravitational anomalies

dx

The Horizontal direction we're traveling (EAST or WEST)

dy

The VERTICAL direction we're traveling (NORTH or SOUTH)

force

The movement force provided to a given object in transit. More info on these in move_force.dm

init_dir

The initial direction of the thrower of the thrownthing for building the trajectory of the throw.

initial_target_uid

UID of the original intended target of the throw, to prevent hardDels

last_move

The last world.time value stored when the thrownthing was moving.

maxrange

The maximum number of turfs that the thrownthing will travel to reach it's target.

paused

Mainly exists for things that would freeze a thrown object in place, like a timestop'd tile. Or a Tractor Beam.

pure_diagonal

Set to TRUE if the throw is exclusively diagonal (45 Degree angle throws for example)

should_block_movement

Can a thrown mob move themselves to stop the throw?

speed

Turfs to travel per tick

start_time

The start_time obtained via world.time for the purposes of tiles moved/tick.

starting_turf

The turf that we were thrown from.

target_turf

The turf that the target was on, if it's not a turf itself.

target_zone

If the target happens to be a carbon and that carbon has a body zone aimed at, this is carried on here.

thrower_uid

If a mob is the one who has thrown the object, then its UID is stored here. This can be null and must be null checked before trying to use it.

thrownthing

Thrown atom this datum is attached to

Proc Details

get_thrower

Returns the mob thrower, or null

on_thrownthing_qdel

Defines the datum behavior on the thrownthing's qdeletion event.

\ No newline at end of file diff --git a/datum/ticket.html b/datum/ticket.html new file mode 100644 index 00000000000..83f191b50d7 --- /dev/null +++ b/datum/ticket.html @@ -0,0 +1 @@ +/datum/ticket - Space Station 13
Space Station 13 - Modules - TypesVar Details

ticket

Vars

adminwho_dataList of adminwho data
client_ckeyckey of the client who opened the ticket.
first_raw_responseThe first raw response. Used for ticket conversions
ingame_time_openedIngame time the ticket was opened
lastResponseTimeWhen the staff last responded.
lastStaffResponseLast staff member who responded.
locationSentThe location the player was when they sent the ticket.
mobControlledThe mob the player was controlling when they sent the ticket.
real_time_openedReal time the ticket was opened.
staffAssignedStaff member who has assigned themselves to this ticket.
staff_ckeyStaff member ckey who took it
staff_take_timeThe time the staff member took the ticket
ticketCooldownCooldown before allowing the user to open another ticket.
ticketNumTicket number.
ticketStateState of the ticket, open, closed, resolved etc.
ticket_convertedHas the ticket been converted to another type? (Mhelp to Ahelp, etc.)
ticket_responsesContent of the staff help.
timeUntilStaleWhen the ticket goes stale.
titleThe initial message from the user.

Var Details

adminwho_data

List of adminwho data

client_ckey

ckey of the client who opened the ticket.

first_raw_response

The first raw response. Used for ticket conversions

ingame_time_opened

Ingame time the ticket was opened

lastResponseTime

When the staff last responded.

lastStaffResponse

Last staff member who responded.

locationSent

The location the player was when they sent the ticket.

mobControlled

The mob the player was controlling when they sent the ticket.

real_time_opened

Real time the ticket was opened.

staffAssigned

Staff member who has assigned themselves to this ticket.

staff_ckey

Staff member ckey who took it

staff_take_time

The time the staff member took the ticket

ticketCooldown

Cooldown before allowing the user to open another ticket.

ticketNum

Ticket number.

ticketState

State of the ticket, open, closed, resolved etc.

ticket_converted

Has the ticket been converted to another type? (Mhelp to Ahelp, etc.)

ticket_responses

Content of the staff help.

timeUntilStale

When the ticket goes stale.

title

The initial message from the user.

\ No newline at end of file diff --git a/datum/ticket_response.html b/datum/ticket_response.html new file mode 100644 index 00000000000..ff77570c5ff --- /dev/null +++ b/datum/ticket_response.html @@ -0,0 +1 @@ +/datum/ticket_response - Space Station 13
Space Station 13 - Modules - TypesVar Details

ticket_response

Vars

response_textText of this response
response_timeThe time of the response
response_userWho made the response

Var Details

response_text

Text of this response

response_time

The time of the response

response_user

Who made the response

\ No newline at end of file diff --git a/datum/tilt_crit.html b/datum/tilt_crit.html new file mode 100644 index 00000000000..6b637d4ba89 --- /dev/null +++ b/datum/tilt_crit.html @@ -0,0 +1,9 @@ +/datum/tilt_crit - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

tilt_crit

Framework for custom vendor crits.

Vars

fall_towards_mobIf we should be thrown against the mob or not.
harmlessIf it'll deal damage or not
nameName of a crit. Only crits with a name will be options.
valid_typecacheTypecache of valid types
valid_types_whitelistList of types which we should be valid for

Procs

is_validReturn whether or not the crit selected is valid.
tip_crit_effectPerform the tip crit effect on a victim. +Arguments:

Var Details

fall_towards_mob

If we should be thrown against the mob or not.

harmless

If it'll deal damage or not

name

Name of a crit. Only crits with a name will be options.

valid_typecache

Typecache of valid types

valid_types_whitelist

List of types which we should be valid for

Proc Details

is_valid

Return whether or not the crit selected is valid.

tip_crit_effect

Perform the tip crit effect on a victim. +Arguments:

+
\ No newline at end of file diff --git a/datum/timedevent.html b/datum/timedevent.html new file mode 100644 index 00000000000..ab18b704cb9 --- /dev/null +++ b/datum/timedevent.html @@ -0,0 +1,9 @@ +/datum/timedevent - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Timed Event

This is the actual timer, it contains the callback and necessary data to maintain +the timer.

+

See the documentation for the timer subsystem for an explanation of the buckets referenced +below in next and prev

Vars

bucket_joinedBoolean indicating if timer joined into bucket
bucket_posInitial bucket position
callBackThe callback to invoke after the timer completes
flagsFlags associated with the timer, see _DEFINES/subsystems.dm
hashUnique hash generated when TIMER_UNIQUE flag is present
idID used for timers when the TIMER_STOPPABLE flag is present
nameAn informative name generated for the timer as its representation in strings, useful for debugging
nextNext timed event in the bucket
prevPrevious timed event in the bucket
sourceThe source of the timedevent, whatever called addtimer
spentTime at which the timer was invoked or destroyed
timeToRunThe time at which the callback should be invoked at
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.
getTimerInfoReturns debug information about timer
getcallingtypeReturns a string of the type of the callback for this timer

Var Details

bucket_joined

Boolean indicating if timer joined into bucket

bucket_pos

Initial bucket position

callBack

The callback to invoke after the timer completes

flags

Flags associated with the timer, see _DEFINES/subsystems.dm

hash

Unique hash generated when TIMER_UNIQUE flag is present

id

ID used for timers when the TIMER_STOPPABLE flag is present

name

An informative name generated for the timer as its representation in strings, useful for debugging

next

Next timed event in the bucket

prev

Previous timed event in the bucket

source

The source of the timedevent, whatever called addtimer

spent

Time at which the timer was invoked or destroyed

timeToRun

The time at which the callback should be invoked at

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.

getTimerInfo

Returns debug information about timer

getcallingtype

Returns a string of the type of the callback for this timer

\ No newline at end of file diff --git a/datum/traders.html b/datum/traders.html new file mode 100644 index 00000000000..6d665ed1efb --- /dev/null +++ b/datum/traders.html @@ -0,0 +1 @@ +/datum/traders - Space Station 13
Space Station 13 - Modules - TypesVar Details

traders

Vars

dock_siteWhat specific station the traders came from
ship_templateThe type of shuttle the traders get
trader_locationWhere the traders originate from
trader_major_specialWhat big ticket faction gear do they start with
trader_minor_specialWhat standard faction gear do they start with
trader_outfitWhat outfit do the traders spawn with
trader_speciesWhat species the traders consist of
trader_typeWhat faction the trader is

Var Details

dock_site

What specific station the traders came from

ship_template

The type of shuttle the traders get

trader_location

Where the traders originate from

trader_major_special

What big ticket faction gear do they start with

trader_minor_special

What standard faction gear do they start with

trader_outfit

What outfit do the traders spawn with

trader_species

What species the traders consist of

trader_type

What faction the trader is

\ No newline at end of file diff --git a/datum/transaction.html b/datum/transaction.html new file mode 100644 index 00000000000..477bcbe75cd --- /dev/null +++ b/datum/transaction.html @@ -0,0 +1 @@ +/datum/transaction - Space Station 13
Space Station 13 - Modules - TypesVar Details

transaction

Vars

accountthe account this log is attached to, used for money db level logging
amountIf money is utilized/changed during this transaction, how much
is_depositWhether or not this added or money from the account
purposeWhat this transaction is doing
timewhen the transaction occurred
transactorWho performed the action

Var Details

account

the account this log is attached to, used for money db level logging

amount

If money is utilized/changed during this transaction, how much

is_deposit

Whether or not this added or money from the account

purpose

What this transaction is doing

time

when the transaction occurred

transactor

Who performed the action

\ No newline at end of file diff --git a/datum/transfer_request.html b/datum/transfer_request.html new file mode 100644 index 00000000000..1e4b0293bbb --- /dev/null +++ b/datum/transfer_request.html @@ -0,0 +1 @@ +/datum/transfer_request - Space Station 13
Space Station 13 - Modules - TypesVar Details

transfer_request

Vars

amounthow much money is being request
purposereason for transfer request
requesting_accountthe money account that is requesting money
timewhen the money was requested

Var Details

amount

how much money is being request

purpose

reason for transfer request

requesting_account

the money account that is requesting money

time

when the money was requested

\ No newline at end of file diff --git a/datum/turf_reservation.html b/datum/turf_reservation.html new file mode 100644 index 00000000000..52406ed2331 --- /dev/null +++ b/datum/turf_reservation.html @@ -0,0 +1,7 @@ +/datum/turf_reservation - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

turf_reservation

Vars

bottom_left_turfBottom left turf of the reservation
cordon_turfsTurfs around the reservation for cordoning
heightThe height of the reservation
pre_cordon_turfsArea of turfs next to the cordon to fill with pre_cordon_area's
required_traitsThe z-level traits required by the turf reservation. Modify only if +you are absolutely certain pre-existing reservation types do not support +your use-case, as an entirely new z-level will be reserved if this list +of traits is unique.
reserved_turfsAll turfs that we've reserved
top_right_turfTop right turf of the reservation
turf_typeThe turf type the reservation is initially made with
widthThe width of the reservation

Procs

_reserve_areaInternal proc which handles reserving the area for the reservation.
calculate_cordon_turfsAttempts to calaculate and store a list of turfs around the reservation for cordoning. Returns whether a valid cordon was calculated
generate_cordonActually generates the cordon around the reservation, and marking the cordon turfs as reserved

Var Details

bottom_left_turf

Bottom left turf of the reservation

cordon_turfs

Turfs around the reservation for cordoning

height

The height of the reservation

pre_cordon_turfs

Area of turfs next to the cordon to fill with pre_cordon_area's

required_traits

The z-level traits required by the turf reservation. Modify only if +you are absolutely certain pre-existing reservation types do not support +your use-case, as an entirely new z-level will be reserved if this list +of traits is unique.

reserved_turfs

All turfs that we've reserved

top_right_turf

Top right turf of the reservation

turf_type

The turf type the reservation is initially made with

width

The width of the reservation

Proc Details

_reserve_area

Internal proc which handles reserving the area for the reservation.

calculate_cordon_turfs

Attempts to calaculate and store a list of turfs around the reservation for cordoning. Returns whether a valid cordon was calculated

generate_cordon

Actually generates the cordon around the reservation, and marking the cordon turfs as reserved

\ No newline at end of file diff --git a/datum/ui_modal.html b/datum/ui_modal.html new file mode 100644 index 00000000000..0325293234c --- /dev/null +++ b/datum/ui_modal.html @@ -0,0 +1,9 @@ +/datum/ui_modal - Space Station 13
Space Station 13 - Modules - TypesProc Details

ui_modal

Modal datum (contains base information for a modal)

Procs

on_answerCalled when a modal receives an answer
preprocess_answerCalled when it's time to pre-process the answer before using it
to_dataCreates a list that describes a modal visually to be passed to JS

Proc Details

on_answer

Called when a modal receives an answer

+

Arguments:

+

preprocess_answer

Called when it's time to pre-process the answer before using it

+

Arguments:

+

to_data

Creates a list that describes a modal visually to be passed to JS

\ No newline at end of file diff --git a/datum/ui_modal/input/bento.html b/datum/ui_modal/input/bento.html new file mode 100644 index 00000000000..20cfd22a573 --- /dev/null +++ b/datum/ui_modal/input/bento.html @@ -0,0 +1,2 @@ +/datum/ui_modal/input/bento - Space Station 13
Space Station 13 - Modules - Types

bento

Bento modal - Similar to choice, it displays the choices in a grid of images

+

The returned answer is the index of the choice.

\ No newline at end of file diff --git a/datum/ui_module/colour_matrix_tester.html b/datum/ui_module/colour_matrix_tester.html new file mode 100644 index 00000000000..07ebe7ab245 --- /dev/null +++ b/datum/ui_module/colour_matrix_tester.html @@ -0,0 +1 @@ +/datum/ui_module/colour_matrix_tester - Space Station 13
Space Station 13 - Modules - TypesVar Details

colour_matrix_tester

Vars

target_datumThe datum we are modifying. This will almost always be an atom, but clients have colours too

Var Details

target_datum

The datum we are modifying. This will almost always be an atom, but clients have colours too

\ No newline at end of file diff --git a/datum/ui_module/crew_monitor.html b/datum/ui_module/crew_monitor.html new file mode 100644 index 00000000000..13ed8cd464c --- /dev/null +++ b/datum/ui_module/crew_monitor.html @@ -0,0 +1,5 @@ +/datum/ui_module/crew_monitor - Space Station 13
Space Station 13 - Modules - TypesVar Details

crew_monitor

Vars

highlighted_namesA list of displayed names. Displayed names were intentionally chosen over ckeys, +refs, or uids, because exposing any of the aforementioned to the client could allow +an exploit to detect changelings on sensors.
ignore_sensorsIf true, we'll see everyone, regardless of their suit sensors.
offset_xThe X offset of the UI map
offset_yThe Y offset of the UI map
tab_indexThe ID of the currently opened UI tab
zoomThe zoom level of the UI map view

Var Details

highlighted_names

A list of displayed names. Displayed names were intentionally chosen over ckeys, +refs, or uids, because exposing any of the aforementioned to the client could allow +an exploit to detect changelings on sensors.

ignore_sensors

If true, we'll see everyone, regardless of their suit sensors.

offset_x

The X offset of the UI map

offset_y

The Y offset of the UI map

tab_index

The ID of the currently opened UI tab

zoom

The zoom level of the UI map view

\ No newline at end of file diff --git a/datum/ui_module/emojipedia.html b/datum/ui_module/emojipedia.html new file mode 100644 index 00000000000..9e0ad558401 --- /dev/null +++ b/datum/ui_module/emojipedia.html @@ -0,0 +1 @@ +/datum/ui_module/emojipedia - Space Station 13
Space Station 13 - Modules - TypesVar Details

emojipedia

Vars

emoji_listStore the list of potential emojis here.

Var Details

emoji_list

Store the list of potential emojis here.

\ No newline at end of file diff --git a/datum/ui_module/ert_manager.html b/datum/ui_module/ert_manager.html new file mode 100644 index 00000000000..e43b4d0c22d --- /dev/null +++ b/datum/ui_module/ert_manager.html @@ -0,0 +1 @@ +/datum/ui_module/ert_manager - Space Station 13
Space Station 13 - Modules - TypesVar Details

ert_manager

Vars

cyborg_securityThe below is a toggle for if sec cyborgs are enabled or not

Var Details

cyborg_security

The below is a toggle for if sec cyborgs are enabled or not

\ No newline at end of file diff --git a/datum/ui_module/ghost_hud_panel.html b/datum/ui_module/ghost_hud_panel.html new file mode 100644 index 00000000000..93674327be2 --- /dev/null +++ b/datum/ui_module/ghost_hud_panel.html @@ -0,0 +1 @@ +/datum/ui_module/ghost_hud_panel - Space Station 13
Space Station 13 - Modules - TypesVar Details

Ghost HUD panel

Allows ghosts to view a TGUI window which contains toggles for all HUD types available to them.

Vars

hud_type_lookupAssociative list to get the appropriate hud type based on the string passed from TGUI.

Var Details

hud_type_lookup

Associative list to get the appropriate hud type based on the string passed from TGUI.

\ No newline at end of file diff --git a/datum/ui_module/library_manager.html b/datum/ui_module/library_manager.html new file mode 100644 index 00000000000..7495a71f7de --- /dev/null +++ b/datum/ui_module/library_manager.html @@ -0,0 +1 @@ +/datum/ui_module/library_manager - Space Station 13
Space Station 13 - Modules - TypesVar Details

library_manager

Vars

cached_booksWhere we will store our cachedbook datums
page_stateTGUI page we are currently on
reportslist of assoc lists detailing each invidual reports, can contain multiple reports for same book
selected_ckeyCkey's books we are viewing
view_bookinformation for the book we are opening in browserui
view_book_pagebrowserui helper variable for turning pages in book

Var Details

cached_books

Where we will store our cachedbook datums

page_state

TGUI page we are currently on

reports

list of assoc lists detailing each invidual reports, can contain multiple reports for same book

selected_ckey

Ckey's books we are viewing

view_book

information for the book we are opening in browserui

view_book_page

browserui helper variable for turning pages in book

\ No newline at end of file diff --git a/datum/ui_module/robot_self_diagnosis.html b/datum/ui_module/robot_self_diagnosis.html new file mode 100644 index 00000000000..ff733337dd4 --- /dev/null +++ b/datum/ui_module/robot_self_diagnosis.html @@ -0,0 +1 @@ +/datum/ui_module/robot_self_diagnosis - Space Station 13
Space Station 13 - Modules - TypesVar Details

robot_self_diagnosis

Vars

ownerThe robot who can use this UI to diagnose themselves.

Var Details

owner

The robot who can use this UI to diagnose themselves.

\ No newline at end of file diff --git a/datum/ui_state.html b/datum/ui_state.html new file mode 100644 index 00000000000..472b00ba049 --- /dev/null +++ b/datum/ui_state.html @@ -0,0 +1,6 @@ +/datum/ui_state - Space Station 13
Space Station 13 - Modules - TypesProc 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.

\ No newline at end of file diff --git a/datum/uplink_item.html b/datum/uplink_item.html new file mode 100644 index 00000000000..6bbd75ab36d --- /dev/null +++ b/datum/uplink_item.html @@ -0,0 +1 @@ +/datum/uplink_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

uplink_item

Vars

abstractIs what we're spawning abstract?
can_discountCan this be sold at a discount?
categoryWhat category is the item listed under
costHow many TC does this cost?
descDescription of the item in the uplink
excludefromEmpty list does nothing. Place the name of uplink type you don't want this item to be available in here.
hijack_onlyCan this item be purchased only during hijackings or nukings? Hijack-only items are by default unable to be on sale.
itemWhat is spawned when we purchase this?
jobIs this job locked?
limited_stockCan you only buy so many? -1 allows for infinite purchases
nameName of the item in the uplink
referenceUsed for discounts. Any unique string will do.
refund_amountspecified refund amount in case there needs to be a TC penalty for refunds.
refund_pathAlternative path for refunds, in case the item purchased isn't what is actually refunded (ie: holoparasites).
refundableCan you refund this in the uplink?
speciesThis makes an item on the uplink only show up to the specified species
surplusChance of being included in the surplus crate (when pick() selects it)
uplinktypesEmpty list means it is in all the uplink types. Otherwise place the uplink type here.
uses_special_spawnOur special little snowflakes that have to be spawned in a different way than normal, like a surplus crate spawning a crate or contractor kits

Var Details

abstract

Is what we're spawning abstract?

can_discount

Can this be sold at a discount?

category

What category is the item listed under

cost

How many TC does this cost?

desc

Description of the item in the uplink

excludefrom

Empty list does nothing. Place the name of uplink type you don't want this item to be available in here.

hijack_only

Can this item be purchased only during hijackings or nukings? Hijack-only items are by default unable to be on sale.

item

What is spawned when we purchase this?

job

Is this job locked?

limited_stock

Can you only buy so many? -1 allows for infinite purchases

name

Name of the item in the uplink

reference

Used for discounts. Any unique string will do.

refund_amount

specified refund amount in case there needs to be a TC penalty for refunds.

refund_path

Alternative path for refunds, in case the item purchased isn't what is actually refunded (ie: holoparasites).

refundable

Can you refund this in the uplink?

species

This makes an item on the uplink only show up to the specified species

surplus

Chance of being included in the surplus crate (when pick() selects it)

uplinktypes

Empty list means it is in all the uplink types. Otherwise place the uplink type here.

uses_special_spawn

Our special little snowflakes that have to be spawned in a different way than normal, like a surplus crate spawning a crate or contractor kits

\ No newline at end of file diff --git a/datum/uplink_item/species_restricted/prescan.html b/datum/uplink_item/species_restricted/prescan.html new file mode 100644 index 00000000000..b14d9ac8983 --- /dev/null +++ b/datum/uplink_item/species_restricted/prescan.html @@ -0,0 +1 @@ +/datum/uplink_item/species_restricted/prescan - Space Station 13
Space Station 13 - Modules - TypesVar Details

prescan

Vars

speciesA fresh start, but a start with nothing. Hard to use as well

Var Details

species

A fresh start, but a start with nothing. Hard to use as well

\ No newline at end of file diff --git a/datum/user_verb.html b/datum/user_verb.html new file mode 100644 index 00000000000..125b129f093 --- /dev/null +++ b/datum/user_verb.html @@ -0,0 +1,3 @@ +/datum/user_verb - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

user_verb

This is the user verb datum. It is used to store the verb's information and handle the verb's functionality. +All of this is setup for you, and you should not be defining this manually. +That means you reader.

Vars

categoryThe category of the verb.
descriptionThe description of the verb.
nameThe name of the verb.
permissionsThe permissions required to use the verb.
verb_pathThe path to the verb proc.
visibility_flagThe flag that determines if the verb is visible.

Procs

assign_to_clientAssigns the verb to the user.
do_chat_pingLets people be pinged inside of staff channels.
unassign_from_clientUnassigns the verb from the user.

Var Details

category

The category of the verb.

description

The description of the verb.

name

The name of the verb.

permissions

The permissions required to use the verb.

verb_path

The path to the verb proc.

visibility_flag

The flag that determines if the verb is visible.

Proc Details

assign_to_client

Assigns the verb to the user.

do_chat_ping

Lets people be pinged inside of staff channels.

unassign_from_client

Unassigns the verb from the user.

\ No newline at end of file diff --git a/datum/user_verb/timer_log.html b/datum/user_verb/timer_log.html new file mode 100644 index 00000000000..1fe200302d7 --- /dev/null +++ b/datum/user_verb/timer_log.html @@ -0,0 +1,2 @@ +/datum/user_verb/timer_log - Space Station 13
Space Station 13 - Modules - Types

timer_log

Opens a log of timers

+

In-round ability to view what has created a timer, and how many times a timer for that path has been created

\ No newline at end of file diff --git a/datum/user_verb/uid_log.html b/datum/user_verb/uid_log.html new file mode 100644 index 00000000000..50073237de0 --- /dev/null +++ b/datum/user_verb/uid_log.html @@ -0,0 +1,2 @@ +/datum/user_verb/uid_log - Space Station 13
Space Station 13 - Modules - Types

uid_log

Opens a log of UIDs

+

In-round ability to view what has created a UID, and how many times a UID for that path has been declared

\ No newline at end of file diff --git a/datum/vampire_subclass.html b/datum/vampire_subclass.html new file mode 100644 index 00000000000..57832e9d841 --- /dev/null +++ b/datum/vampire_subclass.html @@ -0,0 +1 @@ +/datum/vampire_subclass - Space Station 13
Space Station 13 - Modules - TypesVar Details

vampire_subclass

Vars

full_power_overrideIf true, lets the vampire have access to their full power abilities without meeting the blood requirement, or needing a certain number of drained humans.
fully_powered_abilitiesA list of the powers a vampire unlocks when it reaches full power.
improved_rejuv_healingWhether or not a vampire heals more based on damage taken.
nameThe subclass' name. Used for blackbox logging.
standard_powersA list of powers that a vampire unlocks. The value of the list entry is equal to the blood total required for the vampire to unlock it.
thrall_capmaximun number of thralls a vampire may have at a time. incremented as they grow stronger, up to a cap at full power.
unique_objectivesThe subclass' potential unique objectives.

Var Details

full_power_override

If true, lets the vampire have access to their full power abilities without meeting the blood requirement, or needing a certain number of drained humans.

fully_powered_abilities

A list of the powers a vampire unlocks when it reaches full power.

improved_rejuv_healing

Whether or not a vampire heals more based on damage taken.

name

The subclass' name. Used for blackbox logging.

standard_powers

A list of powers that a vampire unlocks. The value of the list entry is equal to the blood total required for the vampire to unlock it.

thrall_cap

maximun number of thralls a vampire may have at a time. incremented as they grow stronger, up to a cap at full power.

unique_objectives

The subclass' potential unique objectives.

\ No newline at end of file diff --git a/datum/ventcrawl_node.html b/datum/ventcrawl_node.html new file mode 100644 index 00000000000..bd7e12b5068 --- /dev/null +++ b/datum/ventcrawl_node.html @@ -0,0 +1 @@ +/datum/ventcrawl_node - Space Station 13
Space Station 13 - Modules - TypesVar Details

ventcrawl_node

Vars

f_valueThe A* node weight (f_value = number_of_tiles + heuristic)
number_tilesHow many steps it's taken to get here from the start
previous_nodeThe node we just came from

Var Details

f_value

The A* node weight (f_value = number_of_tiles + heuristic)

number_tiles

How many steps it's taken to get here from the start

previous_node

The node we just came from

\ No newline at end of file diff --git a/datum/virology_goal.html b/datum/virology_goal.html new file mode 100644 index 00000000000..f983c53d322 --- /dev/null +++ b/datum/virology_goal.html @@ -0,0 +1 @@ +/datum/virology_goal - Space Station 13
Space Station 13 - Modules - TypesVar Details

virology_goal

Vars

delivered_amountThe amount of units currently already delivered
delivery_goalThe amount of units of the required virus that must be delivered for the completion of this goal

Var Details

delivered_amount

The amount of units currently already delivered

delivery_goal

The amount of units of the required virus that must be delivered for the completion of this goal

\ No newline at end of file diff --git a/datum/voice_of_god_command.html b/datum/voice_of_god_command.html new file mode 100644 index 00000000000..b1a36f6589b --- /dev/null +++ b/datum/voice_of_god_command.html @@ -0,0 +1 @@ +/datum/voice_of_god_command - Space Station 13
Space Station 13 - Modules - TypesVar Details

voice_of_god_command

Voice of god command datums that are used in [/proc/voice_of_god()]

Vars

cooldowncooldown variable which is normally returned to [proc/voice_of_god] and used as its return value.
is_regexIs the trigger supposed to be a regex? If so, convert it to such on New()
triggera text string or regex that triggers the command.

Var Details

cooldown

cooldown variable which is normally returned to [proc/voice_of_god] and used as its return value.

is_regex

Is the trigger supposed to be a regex? If so, convert it to such on New()

trigger

a text string or regex that triggers the command.

\ No newline at end of file diff --git a/datum/voice_of_god_command/emote.html b/datum/voice_of_god_command/emote.html new file mode 100644 index 00000000000..d647b19b6f2 --- /dev/null +++ b/datum/voice_of_god_command/emote.html @@ -0,0 +1 @@ +/datum/voice_of_god_command/emote - Space Station 13
Space Station 13 - Modules - TypesVar Details

emote

Supertype of all those commands that make people emote and nothing else. Fuck copypasta.

Vars

emote_nameThe emote to run.

Var Details

emote_name

The emote to run.

\ No newline at end of file diff --git a/datum/vote.html b/datum/vote.html new file mode 100644 index 00000000000..b70f7db401b --- /dev/null +++ b/datum/vote.html @@ -0,0 +1 @@ +/datum/vote - Space Station 13
Space Station 13 - Modules - TypesVar Details

vote

Vars

choicesChoices available in the vote
initiatorPerson who started the vote
is_customWas this vote custom started?
questionThe question being asked
show_countsDo we want to show the vote counts as it goes
started_timeworld.time the vote started at
vote_result_typeVote result type. This determines how a winner is picked
vote_type_textVote type text, for showing in UIs and stuff

Var Details

choices

Choices available in the vote

initiator

Person who started the vote

is_custom

Was this vote custom started?

question

The question being asked

show_counts

Do we want to show the vote counts as it goes

started_time

world.time the vote started at

vote_result_type

Vote result type. This determines how a winner is picked

vote_type_text

Vote type text, for showing in UIs and stuff

\ No newline at end of file diff --git a/datum/weather.html b/datum/weather.html new file mode 100644 index 00000000000..6361799451b --- /dev/null +++ b/datum/weather.html @@ -0,0 +1 @@ +/datum/weather - Space Station 13
Space Station 13 - Modules - TypesVar Details

weather

Vars

perpetualThis causes the weather to only end if forced to

Var Details

perpetual

This causes the weather to only end if forced to

\ No newline at end of file diff --git a/datum/weather/ash_storm.html b/datum/weather/ash_storm.html new file mode 100644 index 00000000000..87a506e880c --- /dev/null +++ b/datum/weather/ash_storm.html @@ -0,0 +1 @@ +/datum/weather/ash_storm - Space Station 13
Space Station 13 - Modules - TypesVar Details

ash_storm

MARK: Ash Storm

Vars

burn_damageAmount of burn damage we receive if we aren't immune
thermal_protection_thresholdAmount of thermal protection we need to be protected from this storm

Var Details

burn_damage

Amount of burn damage we receive if we aren't immune

thermal_protection_threshold

Amount of thermal protection we need to be protected from this storm

\ No newline at end of file diff --git a/datum/weather/solar_flare.html b/datum/weather/solar_flare.html new file mode 100644 index 00000000000..f609c8487e5 --- /dev/null +++ b/datum/weather/solar_flare.html @@ -0,0 +1 @@ +/datum/weather/solar_flare - Space Station 13
Space Station 13 - Modules - TypesVar Details

solar_flare

Vars

semi_protected_areasAreas which are "semi-protected". Mobs inside these areas take reduced burn damage from the solar flare.

Var Details

semi_protected_areas

Areas which are "semi-protected". Mobs inside these areas take reduced burn damage from the solar flare.

\ No newline at end of file diff --git a/datum/wires.html b/datum/wires.html new file mode 100644 index 00000000000..24ded5f40a8 --- /dev/null +++ b/datum/wires.html @@ -0,0 +1,97 @@ +/datum/wires - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

wires

Vars

assembliesAn associative list of signalers attached to the wires. The wire color is the key, and the signaler object reference is the value.
colorsAn associative list with the wire color as the key, and the wire define as the value.
cut_wiresA list of all cut wires. The same values that can go into wires will get added and removed from this list.
dictionary_keyKey that enables wire assignments to be common across different holders. If null, will use the holder_type as a key.
holderThe atom the wires belong too. For example: an airlock.
holder_typeThe holder type; used to make sure that the holder is the correct type.
labelledTRUE if the wires are labelled for every user
proper_nameThe display name for the TGUI window. For example, given the var is "APC"... +When the TGUI window is opened, "wires" will be appended to it's title, and it would become "APC wires".
randomizeTRUE if the wires will be different every time a new wire datum is created.
wire_countThe total number of wires that our holder atom has.
wiresA list of all wires. For a list of valid wires defines that can go here, see code/__DEFINES/wires.dm

Procs

InteractProc called when the user attempts to interact with wires UI.
add_dudsAdds in dud wires, which do nothing when cut/pulsed.
attach_assemblyProc called when a mob tries to attach a signaler to a wire.
cutCut or mend a wire. Calls on_cut().
cut_allCuts all wires.
cut_colorCut the wire which corresponds with the passed in color.
cut_randomCuts a random wire.
cut_random_uncut_wireCuts a random uncut wire.
detach_assemblyProc called when a mob tries to detach a signaler from a wire.
emp_pulseUse this proc if you want wires to be pulsed on EMP
get_attachedGets the signaler attached to the given wire color, if there is one.
get_statusBase proc, intended to be overwritten. Put wire information you'll see at the botton of the TGUI window here, such as "The red light is blinking".
get_wireGets the wire associated with the color passed in.
get_wire_nameGet the name of the wire passed in. +If wires can't be read, may either return something scrambled or nothing at all. +A null return here means that there should be no name displayed at all.
interactableBase proc, intended to be overriden. Wire datum specific checks you want to run before the TGUI is shown to the user should go here.
is_all_cutDetermines if all of the wires are cut. Returns TRUE they're all cut, FALSE otherwise.
is_attachedChecks if the given wire has a signaler on it.
is_color_cutDetermines if the wire associated with the passed in color, is cut or not. Returns TRUE if it's cut, FALSE otherwise.
is_cutDetermines if the passed in wire is cut or not. Returns TRUE if it's cut, FALSE otherwise.
is_dudDetermines if the passed in wire is a dud or not. Returns TRUE if the wire is a dud, FALSE otherwise.
is_dud_colorReturns TRUE if the wire that corresponds to the passed in color is a dud. FALSE otherwise.
on_cutProc called when any wire is cut.
on_pulseProc called when any wire is pulsed.
pulsePulses the given wire. Calls on_pulse().
pulse_assemblyProc called when an attached signaler receives a signal.
pulse_colorPulses the wire associated with the given color.
randomizeRandomly generates a new set of wires. and corresponding colors from the given pool. Assigns the information as an associative list, to colors.
repairRepairs all cut wires.
shuffle_wiresClears the colors list, and randomizes it to a new set of color-to-wire relations.
ui_hostUsers will be interacting with our holder object and not the wire datum directly, therefore we need to return the holder.

Var Details

assemblies

An associative list of signalers attached to the wires. The wire color is the key, and the signaler object reference is the value.

colors

An associative list with the wire color as the key, and the wire define as the value.

cut_wires

A list of all cut wires. The same values that can go into wires will get added and removed from this list.

dictionary_key

Key that enables wire assignments to be common across different holders. If null, will use the holder_type as a key.

holder

The atom the wires belong too. For example: an airlock.

holder_type

The holder type; used to make sure that the holder is the correct type.

labelled

TRUE if the wires are labelled for every user

proper_name

The display name for the TGUI window. For example, given the var is "APC"... +When the TGUI window is opened, "wires" will be appended to it's title, and it would become "APC wires".

randomize

TRUE if the wires will be different every time a new wire datum is created.

wire_count

The total number of wires that our holder atom has.

wires

A list of all wires. For a list of valid wires defines that can go here, see code/__DEFINES/wires.dm

Proc Details

Interact

Proc called when the user attempts to interact with wires UI.

+

Checks if the user exists, is a mob, the wires are attached to something (holder) and makes sure interactable(user) returns TRUE. +If all the checks succeed, open the TGUI interface for the user.

+

Arugments:

+

add_duds

Adds in dud wires, which do nothing when cut/pulsed.

+

Arguments:

+

attach_assembly

Proc called when a mob tries to attach a signaler to a wire.

+

Makes sure that S is actually a signaler and that something is not already attached to the wire. +Adds the signaler to the assemblies list as a value, with the color as a the key.

+

Arguments:

+

cut

Cut or mend a wire. Calls on_cut().

+

Arugments:

+

cut_all

Cuts all wires.

cut_color

Cut the wire which corresponds with the passed in color.

+

Arugments:

+

cut_random

Cuts a random wire.

cut_random_uncut_wire

Cuts a random uncut wire.

detach_assembly

Proc called when a mob tries to detach a signaler from a wire.

+

First checks if there is a signaler on the wire. If so, removes the signaler, and clears it from assemblies list.

+

Arguments:

+

emp_pulse

Use this proc if you want wires to be pulsed on EMP

get_attached

Gets the signaler attached to the given wire color, if there is one.

+

Arguments:

+

get_status

Base proc, intended to be overwritten. Put wire information you'll see at the botton of the TGUI window here, such as "The red light is blinking".

get_wire

Gets the wire associated with the color passed in.

+

Arugments:

+

get_wire_name

Get the name of the wire passed in. +If wires can't be read, may either return something scrambled or nothing at all. +A null return here means that there should be no name displayed at all.

+

Arguments:

+

interactable

Base proc, intended to be overriden. Wire datum specific checks you want to run before the TGUI is shown to the user should go here.

is_all_cut

Determines if all of the wires are cut. Returns TRUE they're all cut, FALSE otherwise.

is_attached

Checks if the given wire has a signaler on it.

+

Arguments:

+

is_color_cut

Determines if the wire associated with the passed in color, is cut or not. Returns TRUE if it's cut, FALSE otherwise.

+

Arugments:

+

is_cut

Determines if the passed in wire is cut or not. Returns TRUE if it's cut, FALSE otherwise.

+

Arugments:

+

is_dud

Determines if the passed in wire is a dud or not. Returns TRUE if the wire is a dud, FALSE otherwise.

+

Arugments:

+

is_dud_color

Returns TRUE if the wire that corresponds to the passed in color is a dud. FALSE otherwise.

+

Arugments:

+

on_cut

Proc called when any wire is cut.

+

Base proc, intended to be overriden. +Place an behavior you want to happen when certain wires are cut, into this proc.

+

Arugments:

+

on_pulse

Proc called when any wire is pulsed.

+

Base proc, intended to be overriden. +Place behavior you want to happen when certain wires are pulsed, into this proc.

+

Arugments:

+

pulse

Pulses the given wire. Calls on_pulse().

+

Arugments:

+

pulse_assembly

Proc called when an attached signaler receives a signal.

+

Searches through the assemblies list for the wire that the signaler is attached to. Pulses the wire when it's found.

+

Arugments:

+

pulse_color

Pulses the wire associated with the given color.

+

Arugments:

+

randomize

Randomly generates a new set of wires. and corresponding colors from the given pool. Assigns the information as an associative list, to colors.

+

In the colors list, the name of the color is the key, and the wire is the value. +For example: colors["red"] = WIRE_ELECTRIFY. This will look like list("red" = WIRE_ELECTRIFY) internally.

repair

Repairs all cut wires.

shuffle_wires

Clears the colors list, and randomizes it to a new set of color-to-wire relations.

ui_host

Users will be interacting with our holder object and not the wire datum directly, therefore we need to return the holder.

\ No newline at end of file diff --git a/datum/world_topic_handler.html b/datum/world_topic_handler.html new file mode 100644 index 00000000000..66fe9556384 --- /dev/null +++ b/datum/world_topic_handler.html @@ -0,0 +1,13 @@ +/datum/world_topic_handler - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

world_topic_handler

Vars

requires_commskeySet this to TRUE if the topic handler needs an authorised comms key
topic_keyKey which invokes this topic

Procs

executeActually executes the user's topic
invokeInvokes the world/Topic handler

Var Details

requires_commskey

Set this to TRUE if the topic handler needs an authorised comms key

topic_key

Key which invokes this topic

Proc Details

execute

Actually executes the user's topic

+

Override this to do your work in subtypes of this topic

+

Arguments:

+

invoke

Invokes the world/Topic handler

+

This includes sanity checking for if the key is required, as well as other sanity checks +DO NOT OVERRIDE +Arguments:

+
\ No newline at end of file diff --git a/datum/world_topic_spam_prevention_handler.html b/datum/world_topic_spam_prevention_handler.html new file mode 100644 index 00000000000..273a80ea2b3 --- /dev/null +++ b/datum/world_topic_spam_prevention_handler.html @@ -0,0 +1,3 @@ +/datum/world_topic_spam_prevention_handler - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

world_topic_spam_prevention_handler

Vars

ipIP. Used purely for select purposes.
last_requestTime of last request
locked_outIs this IP currently locked out
strikesAmount of strikes. [WORLD_TOPIC_STRIKES_THRESHOLD] strikes is a lockout of [WORLD_TOPIC_LOCKOUT_TIME]
unlock_timeUnlock time

Procs

check_lockoutLockout handler

Var Details

ip

IP. Used purely for select purposes.

last_request

Time of last request

locked_out

Is this IP currently locked out

strikes

Amount of strikes. [WORLD_TOPIC_STRIKES_THRESHOLD] strikes is a lockout of [WORLD_TOPIC_LOCKOUT_TIME]

unlock_time

Unlock time

Proc Details

check_lockout

Lockout handler

+

Updates strikes and timers of the most recent client to topic the server +including any relevant detail

\ No newline at end of file diff --git a/datum/wound.html b/datum/wound.html new file mode 100644 index 00000000000..26215761242 --- /dev/null +++ b/datum/wound.html @@ -0,0 +1 @@ +/datum/wound - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

wound

Vars

nameWhat is this wound called
parentReference to the parent organ

Procs

cure_woundThe cure wounds proc. Just deletes the wound by default, but can be used to apply additional effects upon cure
do_effectA proc that will do an effect from the wound

Var Details

name

What is this wound called

parent

Reference to the parent organ

Proc Details

cure_wound

The cure wounds proc. Just deletes the wound by default, but can be used to apply additional effects upon cure

do_effect

A proc that will do an effect from the wound

\ No newline at end of file diff --git a/datum/wound/cirrhosis.html b/datum/wound/cirrhosis.html new file mode 100644 index 00000000000..4587fe57c20 --- /dev/null +++ b/datum/wound/cirrhosis.html @@ -0,0 +1 @@ +/datum/wound/cirrhosis - Space Station 13
Space Station 13 - Modules - TypesVar Details

cirrhosis

Vars

stageCirrhosis has two "gamefied" stages, mild and severe

Var Details

stage

Cirrhosis has two "gamefied" stages, mild and severe

\ No newline at end of file diff --git a/datum/xenobiology_surgery_container.html b/datum/xenobiology_surgery_container.html new file mode 100644 index 00000000000..ee32bf81c7d --- /dev/null +++ b/datum/xenobiology_surgery_container.html @@ -0,0 +1 @@ +/datum/xenobiology_surgery_container - Space Station 13
Space Station 13 - Modules - TypesVar Details

xenobiology_surgery_container

Vars

custom_organ_statesDoes this organ have custom icon states it should be choosing from
dissection_failure_textContains specialty text for dissection step failures
dissection_success_textContains specialty text for dissection success steps
dissection_textContains specialty text for each dissection step.
dissection_tool_stepContains the list for which paths are needed at each dissection step.
xeno_generic_organsHolds the list of all generic non-specific organs
xeno_specialized_organsContains the results for any specialized organs this creature should have

Var Details

custom_organ_states

Does this organ have custom icon states it should be choosing from

dissection_failure_text

Contains specialty text for dissection step failures

dissection_success_text

Contains specialty text for dissection success steps

dissection_text

Contains specialty text for each dissection step.

dissection_tool_step

Contains the list for which paths are needed at each dissection step.

xeno_generic_organs

Holds the list of all generic non-specific organs

xeno_specialized_organs

Contains the results for any specialized organs this creature should have

\ No newline at end of file diff --git a/datum/zlev_manager.html b/datum/zlev_manager.html new file mode 100644 index 00000000000..86d17eaa807 --- /dev/null +++ b/datum/zlev_manager.html @@ -0,0 +1 @@ +/datum/zlev_manager - Space Station 13
Space Station 13 - Modules - TypesProc Details

zlev_manager

Procs

increase_max_zlevel_toSPACE ALLOCATION

Proc Details

increase_max_zlevel_to

SPACE ALLOCATION

\ No newline at end of file diff --git a/dmdoc.css b/dmdoc.css new file mode 100644 index 00000000000..8307e907a15 --- /dev/null +++ b/dmdoc.css @@ -0,0 +1,112 @@ +body { + margin: auto; + background: #f4f4f4; + color: #333333; + font-size: 16px; + line-height: 1.3; + max-width: 73%; + overflow-y: scroll; + font-family: Arial, Helvetica, sans-serif; +} +pre, code { + background: white; + tab-size: 4; + -moz-tab-size: 4; +} +pre { + padding: 8px; + white-space: pre-wrap; +} +code { + font-family: Consolas, "DejaVu Sans Mono", "Courier New", Courier, monospace; +} +a { + color: #333333; +} +article { + margin: 2.5% auto; +} +header, footer { + margin: 2.5% -6px; + border: 1px solid #444444; + border-radius: 5px; + padding: 5px; +} +h1 aside, h2 aside, h3 aside, h4 aside, h5 aside { + display: inline; + font-weight: normal; + font-size: smaller; +} +aside.declaration, aside.parent { + display: inline-block; + position: relative; + text-align: right; + width: 100px; + margin-right: -100px; + right: 105px; +} +aside.declaration, span.as { + 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..cb930c14f28 --- /dev/null +++ b/global.html @@ -0,0 +1,624 @@ +(global) - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

/(global)

Vars

FailsafeFailsafe
MasterStonedMC
SSai_behaviorsThe subsystem used to tick /datum/ai_behavior instances. +Handling the individual actions an AI can take like punching someone in the fucking NUTS
SSai_controllersThe subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.
SSai_movementThe subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances
SSambienceThe subsystem used to play ambience to users every now and then, makes them real excited.
SSchatCopyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT
SScleanup
SSearly_assetsInitializes any assets that need to be loaded ASAP.
SSpathfinderQueues and manages JPS pathfinding steps
SSpersistent_data
SSspatial_grid
SStguitgui subsystem
SStimer
SSunplanned_controllersHandles making mobs perform lightweight "idle" behaviors such as wandering around when they have nothing planned
SSverb_managerSSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.
SSvis_overlays

Procs

GetBestWeaponReturns either the best weapon from the given choices or null if held weapons are better
HTTPGetHTTP Get (Powered by rustlibs)
IsEdiblereturns if something can be consumed, drink or food
MakeAPICallInternal API Caller
RoundDiagBarDiagnostic HUDs!
_queue_verbqueue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.
add_attack_logsCreates attack (old and new) logs for the user and defense logs for the target. +Will message admins depending on the custom_level, user and target.
add_verbhandles adding verbs and updating the stat panel browser
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.
announce_merge_conflict_markerWe REALLY do not want un-addressed merge conflicts in maps for an +inexhaustible list of reasons. This should help ensure that this will not be +missed in case linters fail to catch it for any reason what-so-ever.
assoc_to_keysTurns an associative list into a flat list of keys
atmos_scanOutputs a message to the user describing the target's gasmixes. +Used in chat-based gas scans.
avoid_assoc_duplicate_keystakes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input
bangCreates a flashing effect that blinds and deafens mobs within range
border_diamond_range_turfsReturns the list of turfs around the outside of a center based on RANGE_TURFS()
broadcast_messageMessage Broadcast Proc
byondapi_stack_traceExists by default in 516, but needs to be defined for 515 or byondapi-rs doesn't like it.
calculate_projectile_angle_and_pixel_offsetsCalculates the pixel offsets and angle that a projectile should be launched at.
callback_add_traitProc wrapper of add_trait. You should only use this for callback. Otherwise, use the macro.
callback_remove_traitProc wrapper of remove_trait. You should only use this for callback. Otherwise, use the macro.
check_active_security_force
check_behindChecks to see if atom/source is behind atom/target
circle_rangeReturns all atoms present in a circle around the center
circle_range_turfsReturns a list of turfs around a center based on RANGE_TURFS()
circle_viewReturns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)
circle_view_turfsReturns a list of turfs around a center based on view()
client2rankcolourProc to generate a "rank colour" from a client
cmp_heretic_knowledgeOrders heretic knowledge by priority
collect_nested_mobsRecursively loops through the contents of this atom looking for mobs, optionally requiring them to have a client.
compare_listcompare two lists, returns TRUE if they are the same
condense_watercondenses water on a tile at the specified coordinates
contaminate_adjacentContaminate things that share our immediate location(periodic)
contaminate_targetContaminate the contents of a target(single instance)
costly_icon2assetCostlier version of icon2asset() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs.
cover_flags2body_zonesTurns a Body_parts_covered bitfield into a list of organ/limb names.
create_shrapnelCreates an explosion of shrapnel at a turf.
create_strippable_listCreates an assoc list of keys to /datum/strippable_item
cryo_ssdTeleport an SSD human inside a cryopod, or a robot to a robot storage unit, but do not despawn them.
cut_relative_directionTakes a screen_loc string and cut out any directions like NORTH or SOUTH
delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
deltimerDelete a timer
diagonally_blockedcheck if 2 diagonal turfs are blocked by dense objects
do_teleportWill teleport the given atom to the given destination using the other parameters
emissive_appearanceProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EMISSIVE_COLOR. Order of application matters: Default generated blockers are overlays, and will block its own emissive underlays. If you want an object to be both a blocker, and have their own emissive, it has to be an overlay instead. Grayscale lightmasks are visible in the BYOND right-click and Examine pane, unless they're covered up by another overlay.
emissive_blockerProduces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EM_BLOCK_COLOR.
emoji_parseTurns :ai: into an emoji in text.
empulseWill cause an EMP on the given epicenter. +This proc can sleep depending on the affected objects. So assume it sleeps!
fill_with_onesGiven a list, return a copy where values without defined weights are given weight 1. +For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) +Useful for weighted random choices (loot tables, syllables in languages, etc.)
finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
fire_curse_handTorment the target with a frightening hand
fire_flash_logFlashfire is a proc used to log fire causing chemical reactions.
first_nameFind the first name of a mob from a passed string with regex
flatten_listFlattens a keyed list into a list of its contents
force_cryoImmeditely teleport a human or robot to cryo and then despawn them.
format_si_suffixFormats num with an SI prefix.
generate_and_hash_rsc_fileGenerates a filename for a given asset. +Like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +Used so that certain asset files dont have to be hashed twice
generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
get_active_player_countGet active players who are playing in the round
get_adjacent_areasReturns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.
get_adjacent_turfsReturns a list of all turfs that are adjacent to the center atom's turf, clear the list of nulls at the end.
get_admin_objective_targetsAllows admins to safely pick from SSticker.minds for objectives
get_all_linked_levels_zposProc to get a list of all the linked-together Z-Levels
get_allowed_instrument_idsGet all non admin_only instruments as a list of text ids.
get_angle_rawAngle between two arbitrary points and horizontal line same as [/proc/get_angle]
get_antag_type_strings_listA proc that return an array of capitalized strings containing name of the antag types they are
get_antag_type_truncated_plaintext_stringA proc that return a string containing all the singled out antags . Empty string if not antag
get_atoms_of_typeReturns a list of atoms in a location of a given type. Can be refined to look for pixel-shift.
get_bbox_of_atomsGet a bounding box of a list of atoms.
get_channel_nameReturns the clean name of an audio channel.
get_departments_from_jobmatches a string job name to their department(s) and returns it as a list
get_dist_euclideanReturns the distance between two atoms
get_dummy_savefileGets a dummy savefile for usage in icon generation. +Savefiles generated from this proc will be empty.
get_edge_target_turfReturns the turf located at the map edge in the specified direction relative to target_atom used for mass driver
get_hearLike view but bypasses luminosity check
get_hearers_in_LOSReturns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive
get_hearers_in_rangeThe exact same as get_hearers_in_view, but not limited by visibility. Does no filtering for traits, line of sight, or any other such criteria. +Filtering is intended to be done by whatever calls this function.
get_hearers_in_viewreturns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS().
get_icon_dimensionsReturns a list containing the width and height of an icon file
get_icon_dmi_pathGiven an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +A weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +But stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +So if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""
get_lineGet a list of turfs in a line from starting_atom to ending_atom.
get_living_playersThis proc returns every player with a client who is not a ghost or a new_player
get_living_players_countGet living players who are playing in the round (no ghosts)
get_nested_locsReturns a list of all locations (except the area) the movable is within.
get_obj_screen_xyGets the location of an object on a client's screen. Thanks to Kaioken on BYOND forums.
get_path_toThis 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. +It will yield until a path is returned, using magic
get_rad_contentsA special GetAllContents that doesn't search past things with rad insulation +Components which return COMPONENT_BLOCK_RADIATION prevent further searching into that object's contents. The object itself will get returned still. +The ignore list makes those objects never return at all
get_ranged_target_turf
get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
get_safe_random_station_turf_equal_weightReturns a random department of areas to pass into get_safe_random_station_turf() for more equal spawning.
get_safe_speciesReturns a list of names of non-blacklisted or hazardous species.
get_swarm_path_toPOTENTIALLY cheaper version of get_path_to +This proc generates a path map for the end atom's turf, which allows us to cheaply do pathing operations "at" it +Generation is significantly SLOWER then get_path_to, but if many things are/might be pathing at something then it is much faster +Runs the risk of returning an suboptimal or INVALID PATH if the delay between map creation and use is too long
get_total_resourcesReturns the net resources available for event rolling
get_unrestricted_random_reagent_idReturns a random reagent ID, with real non blacklisted balance boosting action!
get_valid_screen_locationReturns a valid location to place a screen object without overflowing the viewport
get_valid_vent_spawnsReturns a list of vents that can be used as a potential spawn if they meet the criteria set by the arguments
goonchem_vortexThrows or pulls objects to/from a chem reaction
hit_zone_to_clothes_zoneConvert the impact zone of a projectile to a clothing zone we can do a contamination check on
icon2assetgenerate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. +Arguments:
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)
icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting no_sprite to TRUE will print a stack trace ONCE.
init_reagent_listInitialises all of /datum/reagent into a list indexed by reagent id.
initialize_starting_knowledgeReturns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.
is_bad_connectionConnection checker
is_color_darkGiven a color in the format of "#RRGGBB", will return if the color is dark.
is_special_characterADMIN HELPER PROCS +A proc that return whether the mob is a "Special Character" aka Antagonist
is_type_in_UID_listIf the list L contains a datum UID who's type matches D's type, returns the UID of that datum in the list. Otherwise returns null.
is_valid_dmi_filegiven a text string, returns whether it is a valid dmi icons folder path
last_nameFind the last name of a mob from a passed string with regex
list_clear_nullsRemoves any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise
lists_equal_unorderedChecks to make sure that the lists have the exact same contents, ignores the order of the contents.
locateUIDLocates a datum based off of the UID
makeDatumRefListsInitial Building
make_associativeA proc for turning a list into an associative list.
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_adminTicketSends a message to the staff able to see admin tickets +Arguments: +msg - The message being send +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE
message_mentorTicketSends a message to the staff able to see mentor tickets +Arguments: +msg - The message being send +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE
message_rolesSends a message to all players with a role and the specified permissions
message_to_htmlMessage-related procs
offset_to_screen_locTakes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope
parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
path_map_passalongWe generate a path for the passed in callbacks, and then pipe it over
pathfinding_finishedUses funny pass by reference bullshit to take the output created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution
phase_filterThis filter proc makes a visual effect where the object is split into fragments, with vertical lines cut out of them. It will appear as 2 seperate things are made of the one object that was cut out
pick_multiple_uniquePicks multiple unique elements from the suplied list. +If the given list has a length less than the amount given then it will return a list with an equal amount
pick_unique_lawsetreturns a random non starting / kill crew lawset if the station has a unique ai lawset
pick_weight_recursiveLike pick_weight, but allowing for nested lists.
pickweightPicks an element based on its weight. +L - The input list
pickweight_fractionPicks an element based on its weight. Weight can be any real number +L - The input list
propagate_networkremove the old powernet and replace it with a new one throughout the network.
radial_menu_helperSimilar to show_radial_menu, but choices is a list of atoms, for which icons will be automatically generated. +Supports multiple items of the same name, 2 soaps will become soap (1) and soap (2) to the user. +Otherwise, has the exact same arguments as show_radial_menu
random_body_accessoryReturns a random body accessory for a given species name. Can be null based on is_optional argument.
random_skin_toneRandomises skin tone, specifically for each species that has a skin tone. Otherwise keeps a default of 1
ranked_rights2textConverts the full permissions details of a DB-ranked admin to a HTML-colored string
read_bug_report_tablePopulates a list using the bug reports db table and returns it
read_bug_report_titlesCreate a list of ids, authors and titles of bug reports awaiting approval
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
remove_clunky_diagonalsProcesses a path (list of turfs), removes any diagonal moves that would lead to a weird bump
remove_diagonalsProcesses a path (list of turfs), removes any diagonal moves
remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
rights2textConverts a rights bitfield into a string
round_healthrounds value to limited symbols after the period for organ damage and other values
runechat_emoteSend an emote to runechat for all (listening) users in the vicinity.
rustlibs_create_toast(Windows only) Triggers a desktop notification with the specified title and body
rustlibs_dbp_generateThis proc generates a grid of perlin-like noise
safe_get_ckeySafe ckey getter
sanitize_for_icsanitize() with a pre-set list of characters to remove from IC speech.
screen_loc_to_offsetTakes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc
seconds_to_clockTake a value in seconds and makes it display like a clock. Hours are stripped. (mm:ss)
seconds_to_full_clockTake a value in seconds and makes it display like a clock (h:mm:ss)
seedifyConvert a grown object into seeds.
setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
shake_cameraShake the camera of the person viewing the mob SO REAL!
show_blurbShows a ticker reading out the given text on a client's screen.
slice_off_turfsReturns a slice of a list of turfs, defined by the ones that are inside the inner/outer angle's bounds
start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
start_watchReturns "watch handle" (really just a timestamp :V)
stop_watchReturns number of seconds elapsed. +@param wh number The "Watch Handle" from start_watch(). (timestamp)
string_listCaches lists with non-numeric stringify-able values (text or typepath).
strip_html_tagsStrips HTML tags (and only tags) from the input. +The result may still include HTML entities, like ' for '
tgui_TopicMiddleware for /client/Topic.
tgui_alertCreates a TGUI alert window and returns the user's response.
tgui_input_checkbox_listCreates a TGUI input list window and returns the user's response in a ranked order.
tgui_input_colorCreates a TGUI color picker window and returns the user's response.
tgui_input_keycomboCreates a TGUI window with a key input. Returns the user's response as a full key with modifiers, eg ShiftK.
tgui_input_listCreates a TGUI input list window and returns the user's response.
tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
tgui_input_ranked_listCreates a TGUI ranked input list window and returns the user's response in a ranked order.
tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
tint_colorReturns a purely random tint for specific color
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. +trailing_newline, confidential, and handle_whitespace currently have no effect, please fix this in the future or remove the arguments to lower cache!
trim_lengthReturns a string that does not exceed max_length characters in size
turf_peelBehaves like the orange() proc, but only looks in the outer range of the function (The "peel" of the orange). +This is useful for things like checking if a mob is in a certain range, but not within a smaller range.
type_list_to_counted_assoc_listThis proc takes a list of types, and returns them in the format below. +[type] = amount of type in list. +Useful for recipes.
view_to_pixelsTakes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)
wiki_linkCreates a hyperlink for a specified wiki article.

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

SSai_behaviors

The subsystem used to tick /datum/ai_behavior instances. +Handling the individual actions an AI can take like punching someone in the fucking NUTS

SSai_controllers

The subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.

SSai_movement

The subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances

SSambience

The subsystem used to play ambience to users every now and then, makes them real excited.

SSchat

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

SScleanup

Cleanup Subsystem

+

For now, all it does is periodically clean the supplied global lists of any null values they may contain.

+

Why is this important?

+

Sometimes, these lists can gain nulls due to errors. +For example, when a dead player trasitions from the dead_mob_list to the alive_mob_list, a null value may get stuck in the dead mob list. +This can cause issues when other code tries to do things with the values in the list, but are instead met with null values. +These problems are incredibly hard to track down and fix, so this subsystem is a solution to that.

SSearly_assets

Initializes any assets that need to be loaded ASAP.

SSpathfinder

Queues and manages JPS pathfinding steps

SSpersistent_data

Persistent Data Subsystem

+

Provides a centralised handler for persistent data reading and writing. +The subsystem does not do any actual spawning itself, as this focuses on objects and mobs +Should anything that is turf persistence related added in, that can be chucked into this SS +Its quite a simple subsystem. For now, anyways.

SSspatial_grid

Spatial Grid

+

a gamewide grid of spatial_grid_cell datums, each "covering" SPATIAL_GRID_CELLSIZE ^ 2 turfs. +each spatial_grid_cell datum stores information about what is inside its covered area, so that searches through that area dont have to literally search +through all turfs themselves to know what is within it since view() calls are expensive, and so is iterating through stuff you dont want. +this allows you to only go through lists of what you want very cheaply.

+

you can also register to objects entering and leaving a spatial cell, this allows you to do things like stay idle until a player enters, so you wont +have to use expensive view() calls or iteratite over the global list of players and call get_dist() on every one. which is fineish for a few things, but is +k * n operations for k objects iterating through n players.

+

currently this system is only designed for searching for relatively uncommon things, small subsets of /atom/movable. +dont add stupid shit to the cells please, keep the information that the cells store to things that need to be searched for often

+

The system currently implements two different "classes" of spatial type

+

The first exists to support important_recursive_contents. +So if a client is inside a locker and the locker crosses a boundary, you'll still get a signal from the spatial grid. +These types are SPATIAL_GRID_CONTENTS_TYPE_HEARING and SPATIAL_GRID_CONTENTS_TYPE_CLIENTS

+

The second pattern is more paired down, and supports more wide use. +Rather then the object and anything the object is in being sensitive, it's limited to just the object itself +Currently only SPATIAL_GRID_CONTENTS_TYPE_ATMOS uses this pattern. This is because it's far more common, and so worth optimizing

SStgui

tgui subsystem

+

Contains all tgui state and subsystem code.

+

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

SStimer

Timer Subsystem

+

Handles creation, callbacks, and destruction of timed events.

+

It is important to understand the buckets used in the timer subsystem are just a series of doubly-linked +lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a list, which has prev +and next references for the respective elements in that bucket's list.

SSunplanned_controllers

Handles making mobs perform lightweight "idle" behaviors such as wandering around when they have nothing planned

SSverb_manager

SSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.

+

see TICK_ORDER.md for more info on how the byond tick is structured.

+

The way the MC allots its time is via TICK_LIMIT_RUNNING, it simply subtracts the cost of SendMaps (MAPTICK_LAST_INTERNAL_TICK_USAGE) +plus TICK_BYOND_RESERVE from the tick and uses up to that amount of time (minus the percentage of the tick used by the time it executes subsystems) +on subsystems running cool things like atmospherics or Life or SSInput or whatever.

+

Without this subsystem, verbs are likely to cause overtime if the MC uses all of the time it has alloted for itself in the tick, and SendMaps +uses as much as its expected to, and an expensive verb ends up executing that tick. This is because the MC is completely blind to the cost of +verbs, it can't account for it at all. The only chance for verbs to not cause overtime in a tick where the MC used as much of the tick +as it alloted itself and where SendMaps costed as much as it was expected to is if the verb(s) take less than TICK_BYOND_RESERVE percent of +the tick, which isnt much. Not to mention if SendMaps takes more than 30% of the tick and the MC forces itself to take at least 70% of the +normal tick duration which causes ticks to naturally overrun even in the absence of verbs.

+

With this subsystem, the MC can account for the cost of verbs and thus stop major overruns of ticks. This means that the most important subsystems +like SSinput can start at the same time they were supposed to, leading to a smoother experience for the player since ticks arent riddled with +minor hangs over and over again.

SSvis_overlays

SSvis_overlays

+

This subsystem handles visual overlays for objects in the game world.

+

It manages the creation, caching, and removal of visual overlays, allowing for dynamic visual effects +associated with various atoms. Overlays can be reused if they are not unique, and they are automatically +cleaned up if they go unused for a specified duration.

Proc Details

GetBestWeapon

Returns either the best weapon from the given choices or null if held weapons are better

HTTPGet

HTTP Get (Powered by rustlibs)

+

This proc should be used as a replacement for /world/proc/Export due to an underlying issue with it. +See: https://www.byond.com/forum/post/2772166 +The one thing you will need to be aware of is that this no longer wraps the response inside a "file", so anything that relies on a file2text() unwrap will need tweaking. +RUST HTTP also has better support for HTTPS as well as weird quirks with modern webservers. +Returns an assoc list that follows the standard /world/proc/Export format (https://secure.byond.com/docs/ref/index.html#/world/proc/Export), with the above exception

+

Arguments:

+

IsEdible

returns if something can be consumed, drink or food

MakeAPICall

Internal API Caller

+

Makes calls to the internal Paradise API and returns a /datum/http_response.

+

Arguments:

+

RoundDiagBar

Diagnostic HUDs!

_queue_verb

queue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.

+

returns TRUE if the queuing was successful, FALSE otherwise.

add_attack_logs

Creates attack (old and new) logs for the user and defense logs for the target. +Will message admins depending on the custom_level, user and target.

+

custom_level will determine the log level set. Unless the target is SSD and there is a user doing it +If custom_level is not set then the log level will be determined using the user and the target.

+

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:

+

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:

+

announce_merge_conflict_marker

We REALLY do not want un-addressed merge conflicts in maps for an +inexhaustible list of reasons. This should help ensure that this will not be +missed in case linters fail to catch it for any reason what-so-ever.

assoc_to_keys

Turns an associative list into a flat list of keys

atmos_scan

Outputs a message to the user describing the target's gasmixes. +Used in chat-based gas scans.

avoid_assoc_duplicate_keys

takes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input

bang

Creates a flashing effect that blinds and deafens mobs within range

+

Arguments:

+

border_diamond_range_turfs

Returns the list of turfs around the outside of a center based on RANGE_TURFS()

broadcast_message

Message Broadcast Proc

+

This big fat disaster is responsible for sending the message out to all headsets and radios on the station +It is absolutely disgusting, but used to take about 20 arguments before I slimmed it down to just one +Arguments:

+

byondapi_stack_trace

Exists by default in 516, but needs to be defined for 515 or byondapi-rs doesn't like it.

calculate_projectile_angle_and_pixel_offsets

Calculates the pixel offsets and angle that a projectile should be launched at.

+

Arguments:

+

callback_add_trait

Proc wrapper of add_trait. You should only use this for callback. Otherwise, use the macro.

callback_remove_trait

Proc wrapper of remove_trait. You should only use this for callback. Otherwise, use the macro.

check_active_security_force

check_behind

Checks to see if atom/source is behind atom/target

circle_range

Returns all atoms present in a circle around the center

circle_range_turfs

Returns a list of turfs around a center based on RANGE_TURFS()

circle_view

Returns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)

circle_view_turfs

Returns a list of turfs around a center based on view()

client2rankcolour

Proc to generate a "rank colour" from a client

+

This takes the client and looks at various factors in order, such as patreon status, staff rank, and more +Arguments:

+

cmp_heretic_knowledge

Orders heretic knowledge by priority

collect_nested_mobs

Recursively loops through the contents of this atom looking for mobs, optionally requiring them to have a client.

compare_list

compare two lists, returns TRUE if they are the same

condense_water

condenses water on a tile at the specified coordinates

contaminate_adjacent

Contaminate things that share our immediate location(periodic)

contaminate_target

Contaminate the contents of a target(single instance)

costly_icon2asset

Costlier version of icon2asset() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs.

cover_flags2body_zones

Turns a Body_parts_covered bitfield into a list of organ/limb names.

create_shrapnel

Creates an explosion of shrapnel at a turf.

+

create_strippable_list

Creates an assoc list of keys to /datum/strippable_item

cryo_ssd

Teleport an SSD human inside a cryopod, or a robot to a robot storage unit, but do not despawn them.

cut_relative_direction

Takes a screen_loc string and cut out any directions like NORTH or SOUTH

delete_all_SS_and_recreate_master

Delete all existing SS to basically start over

deltimer

Delete a timer

+

Arguments:

+

diagonally_blocked

check if 2 diagonal turfs are blocked by dense objects

do_teleport

Will teleport the given atom to the given destination using the other parameters

+

Arguments:

+

emissive_appearance

Produces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EMISSIVE_COLOR. Order of application matters: Default generated blockers are overlays, and will block its own emissive underlays. If you want an object to be both a blocker, and have their own emissive, it has to be an overlay instead. Grayscale lightmasks are visible in the BYOND right-click and Examine pane, unless they're covered up by another overlay.

emissive_blocker

Produces a mutable appearance glued to the EMISSIVE_PLANE dyed to be the EM_BLOCK_COLOR.

emoji_parse

Turns :ai: into an emoji in text.

empulse

Will cause an EMP on the given epicenter. +This proc can sleep depending on the affected objects. So assume it sleeps!

+

epicenter - The center of the EMP. Can be an atom, as long as the given atom is on a turf (in)directly +heavy_range - The max distance from the epicenter where objects will be get heavy EMPed +light_range - The max distance from the epicenter where objects will get light EMPed +log - Whether or not this action should be logged or not. Will use the cause if provided +cause - The cause of the EMP. Used for the logging

fill_with_ones

Given a list, return a copy where values without defined weights are given weight 1. +For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) +Useful for weighted random choices (loot tables, syllables in languages, etc.)

finish_unequip_mob

A utility function for /datum/strippable_items to finish unequipping an item from a mob.

fire_curse_hand

Torment the target with a frightening hand

fire_flash_log

Flashfire is a proc used to log fire causing chemical reactions.

+

Call this whenever you have a chemical reaction that makes fire flashes. +Arguments:

+

first_name

Find the first name of a mob from a passed string with regex

flatten_list

Flattens a keyed list into a list of its contents

force_cryo

Immeditely teleport a human or robot to cryo and then despawn them.

format_si_suffix

Formats num with an SI prefix.

+

Returns a string formatted with a multiple of num and an SI prefix corresponding to an exponent of 10. +Only considers exponents that are multiples of 3 (deca, deci, hecto, and centi are not included). +A unit is not included in the string, the prefix is placed after the number with no spacing added anywhere. +Listing of prefixes: https://en.wikipedia.org/wiki/Metric_prefix#List_of_SI_prefixes

generate_and_hash_rsc_file

Generates a filename for a given asset. +Like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +Used so that certain asset files dont have to be hashed twice

generate_bitfields

Turns /datum/bitfield subtypes into a list for use in debugging

get_active_player_count

Get active players who are playing in the round

get_adjacent_areas

Returns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.

get_adjacent_turfs

Returns a list of all turfs that are adjacent to the center atom's turf, clear the list of nulls at the end.

get_admin_objective_targets

Allows admins to safely pick from SSticker.minds for objectives

+

get_all_linked_levels_zpos

Proc to get a list of all the linked-together Z-Levels

+

Returns a list of zlevel numbers which can be accessed from travelling space naturally

get_allowed_instrument_ids

Get all non admin_only instruments as a list of text ids.

get_angle_raw

Angle between two arbitrary points and horizontal line same as [/proc/get_angle]

get_antag_type_strings_list

A proc that return an array of capitalized strings containing name of the antag types they are

+

Arguments:

+

get_antag_type_truncated_plaintext_string

A proc that return a string containing all the singled out antags . Empty string if not antag

+

Usually, you'd return a FALSE, but since this is consumed by javascript you're in +for a world of hurt if you pass a byond FALSE which get converted into a fucking string anyway and pass for TRUE in check. Fuck. +It always append "(May be other antag)" +Arguments:

+

get_atoms_of_type

Returns a list of atoms in a location of a given type. Can be refined to look for pixel-shift.

+

Arguments:

+

get_bbox_of_atoms

Get a bounding box of a list of atoms.

+

Arguments:

+ +

Returns: list(x1, y1, x2, y2)

get_channel_name

Returns the clean name of an audio channel.

+

Arguments:

+

get_departments_from_job

matches a string job name to their department(s) and returns it as a list

get_dist_euclidean

Returns the distance between two atoms

get_dummy_savefile

Gets a dummy savefile for usage in icon generation. +Savefiles generated from this proc will be empty.

get_edge_target_turf

Returns the turf located at the map edge in the specified direction relative to target_atom used for mass driver

get_hear

Like view but bypasses luminosity check

get_hearers_in_LOS

Returns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive

+

get_hearers_in_range

The exact same as get_hearers_in_view, but not limited by visibility. Does no filtering for traits, line of sight, or any other such criteria. +Filtering is intended to be done by whatever calls this function.

+

This function exists to allow for mobs to hear speech without line of sight, if such a thing is needed.

+

get_hearers_in_view

returns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS().

+

get_icon_dimensions

Returns a list containing the width and height of an icon file

get_icon_dmi_path

Given an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +A weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +But stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +So if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""

get_line

Get a list of turfs in a line from starting_atom to ending_atom.

+

Uses the ultra-fast Bresenham Line-Drawing Algorithm.

get_living_players

This proc returns every player with a client who is not a ghost or a new_player

get_living_players_count

Get living players who are playing in the round (no ghosts)

get_nested_locs

Returns a list of all locations (except the area) the movable is within.

get_obj_screen_xy

Gets the location of an object on a client's screen. Thanks to Kaioken on BYOND forums.

get_path_to

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. +It will yield until a path is returned, using magic

+

Arguments:

+

get_rad_contents

A special GetAllContents that doesn't search past things with rad insulation +Components which return COMPONENT_BLOCK_RADIATION prevent further searching into that object's contents. The object itself will get returned still. +The ignore list makes those objects never return at all

get_ranged_target_turf

get_ranged_target_turf_direct

Get ranged target turf, but with direct targets as opposed to directions

+

Starts at atom starting_atom and gets the exact angle between starting_atom and target +Moves from starting_atom with that angle, Range amount of times, until it stops, bound to map size +Arguments:

+

get_safe_random_station_turf_equal_weight

Returns a random department of areas to pass into get_safe_random_station_turf() for more equal spawning.

get_safe_species

Returns a list of names of non-blacklisted or hazardous species.

get_swarm_path_to

POTENTIALLY cheaper version of get_path_to +This proc generates a path map for the end atom's turf, which allows us to cheaply do pathing operations "at" it +Generation is significantly SLOWER then get_path_to, but if many things are/might be pathing at something then it is much faster +Runs the risk of returning an suboptimal or INVALID PATH if the delay between map creation and use is too long

+

If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing. +It will yield until a path is returned, using magic

+

Arguments:

+

get_total_resources

Returns the net resources available for event rolling

get_unrestricted_random_reagent_id

Returns a random reagent ID, with real non blacklisted balance boosting action!

get_valid_screen_location

Returns a valid location to place a screen object without overflowing the viewport

+ +

Returns a screen loc representing the valid location

get_valid_vent_spawns

Returns a list of vents that can be used as a potential spawn if they meet the criteria set by the arguments

+

Will not include parent-less vents to the returned list. +Arguments:

+

goonchem_vortex

Throws or pulls objects to/from a chem reaction

+

Scales the amount of objects thrown with the volume, unless ignore_volume is TRUE

+

Arguments:

+

hit_zone_to_clothes_zone

Convert the impact zone of a projectile to a clothing zone we can do a contamination check on

icon2asset

generate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. +Arguments:

+

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)

icon_exists

Checks if the given iconstate exists in the given file, caching the result. Setting no_sprite to TRUE will print a stack trace ONCE.

init_reagent_list

Initialises all of /datum/reagent into a list indexed by reagent id.

initialize_starting_knowledge

Returns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.

is_bad_connection

Connection checker

+

Checks the connection frequency against the intended frequency for the message +NOTE: I barely know what on earth this does, but it works and it scares me +Arguments:

+

is_color_dark

Given a color in the format of "#RRGGBB", will return if the color is dark.

is_special_character

ADMIN HELPER PROCS +A proc that return whether the mob is a "Special Character" aka Antagonist

+

Arguments:

+

is_type_in_UID_list

If the list L contains a datum UID who's type matches D's type, returns the UID of that datum in the list. Otherwise returns null.

is_valid_dmi_file

given a text string, returns whether it is a valid dmi icons folder path

last_name

Find the last name of a mob from a passed string with regex

list_clear_nulls

Removes any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise

lists_equal_unordered

Checks to make sure that the lists have the exact same contents, ignores the order of the contents.

locateUID

Locates a datum based off of the UID

+

Replacement for locate() which takes a UID instead of a ref +Returns the datum, if found

makeDatumRefLists

Initial Building

make_associative

A proc for turning a list into an associative list.

+

A simple proc for turning all things in a list into an associative list, instead +Each item in the list will have an associative value of TRUE

+

Arguments:

+

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_adminTicket

Sends a message to the staff able to see admin tickets +Arguments: +msg - The message being send +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE

message_mentorTicket

Sends a message to the staff able to see mentor tickets +Arguments: +msg - The message being send +important - If the message is important. If TRUE it will ignore the CHAT_NO_TICKETLOGS preferences, +send a sound and flash the window. Defaults to FALSE

message_roles

Sends a message to all players with a role and the specified permissions

message_to_html

Message-related procs

+

Message format (/list):

+ +

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

offset_to_screen_loc

Takes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope

parse_caught_click_modifiers

Returns a turf based on text inputs, original turf and viewing client

path_map_passalong

We generate a path for the passed in callbacks, and then pipe it over

pathfinding_finished

Uses funny pass by reference bullshit to take the output created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution

phase_filter

This filter proc makes a visual effect where the object is split into fragments, with vertical lines cut out of them. It will appear as 2 seperate things are made of the one object that was cut out

pick_multiple_unique

Picks multiple unique elements from the suplied list. +If the given list has a length less than the amount given then it will return a list with an equal amount

+

Arguments:

+

pick_unique_lawset

returns a random non starting / kill crew lawset if the station has a unique ai lawset

pick_weight_recursive

Like pick_weight, but allowing for nested lists.

+

For example, given the following list: +list(A = 1, list(B = 1, C = 1)) +A would have a 50% chance of being picked, +and list(B, C) would have a 50% chance of being picked. +If list(B, C) was picked, B and C would then each have a 50% chance of being picked. +So the final probabilities would be 50% for A, 25% for B, and 25% for C.

+

Weights should be integers. Entries without weights are assigned weight 1 (so unweighted lists can be used as well)

pickweight

Picks an element based on its weight. +L - The input list

+

example: list("a" = 1, "b" = 2) will pick "b" 2/3s of the time

pickweight_fraction

Picks an element based on its weight. Weight can be any real number +L - The input list

+

example: list("a" = 0.33, "b" = 0.67) will have a 67% chance to pick "b"

propagate_network

remove the old powernet and replace it with a new one throughout the network.

radial_menu_helper

Similar to show_radial_menu, but choices is a list of atoms, for which icons will be automatically generated. +Supports multiple items of the same name, 2 soaps will become soap (1) and soap (2) to the user. +Otherwise, has the exact same arguments as show_radial_menu

random_body_accessory

Returns a random body accessory for a given species name. Can be null based on is_optional argument.

+

Arguments:

+

random_skin_tone

Randomises skin tone, specifically for each species that has a skin tone. Otherwise keeps a default of 1

ranked_rights2text

Converts the full permissions details of a DB-ranked admin to a HTML-colored string

read_bug_report_table

Populates a list using the bug reports db table and returns it

read_bug_report_titles

Create a list of ids, authors and titles of bug reports awaiting approval

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

remove_clunky_diagonals

Processes a path (list of turfs), removes any diagonal moves that would lead to a weird bump

+

path - The path to process down +pass_info - Holds all the info about what this path attempt can go through +simulated_only - If we are not allowed to pass space turfs +avoid - A turf to be avoided

remove_diagonals

Processes a path (list of turfs), removes any diagonal moves

+

path - The path to process down +pass_info - Holds all the info about what this path attempt can go through +simulated_only - If we are not allowed to pass space turfs +avoid - A turf to be avoided

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:

+

rights2text

Converts a rights bitfield into a string

round_health

rounds value to limited symbols after the period for organ damage and other values

runechat_emote

Send an emote to runechat for all (listening) users in the vicinity.

+

rustlibs_create_toast

(Windows only) Triggers a desktop notification with the specified title and body

rustlibs_dbp_generate

This proc generates a grid of perlin-like noise

+

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

+

Arguments:

+

safe_get_ckey

Safe ckey getter

+

Should be used whenever broadcasting public information about a mob, +as this proc will make a best effort to hide the users ckey if they request it. +It will first check the mob for a client, then use the mobs last ckey as a directory lookup. +If a client cant be found to check preferences on, it will just show as DC'd. +This proc should only be used for public facing stuff, not administration related things.

+

Arguments:

+

sanitize_for_ic

sanitize() with a pre-set list of characters to remove from IC speech.

screen_loc_to_offset

Takes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc

seconds_to_clock

Take a value in seconds and makes it display like a clock. Hours are stripped. (mm:ss)

seconds_to_full_clock

Take a value in seconds and makes it display like a clock (h:mm:ss)

seedify

Convert a grown object into seeds.

setup_mod_themes

Global proc that sets up all MOD themes as singletons in a list and returns it.

shake_camera

Shake the camera of the person viewing the mob SO REAL!

show_blurb

Shows a ticker reading out the given text on a client's screen.

+

Arguments:

+

slice_off_turfs

Returns a slice of a list of turfs, defined by the ones that are inside the inner/outer angle's bounds

start_unequip_mob

A utility function for /datum/strippable_items to start unequipping an item from a mob.

start_watch

Returns "watch handle" (really just a timestamp :V)

stop_watch

Returns number of seconds elapsed. +@param wh number The "Watch Handle" from start_watch(). (timestamp)

string_list

Caches lists with non-numeric stringify-able values (text or typepath).

strip_html_tags

Strips HTML tags (and only tags) from the input. +The result may still include HTML entities, like ' for '

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_input_checkbox_list

Creates a TGUI input list window and returns the user's response in a ranked order.

+

Arguments:

+

tgui_input_color

Creates a TGUI color picker window and returns the user's response.

+

This proc should be used to create a color picker that the caller will wait for a response from. +Arguments:

+

tgui_input_keycombo

Creates a TGUI window with a key input. Returns the user's response as a full key with modifiers, eg ShiftK.

+

This proc should be used to create windows for key entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input.

+

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_number

Creates a TGUI window with a number input. Returns the user's response as num | null.

+

This proc should be used to create windows for number entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If a max or min value is specified, will +validate the input inside the UI and ui_act.

+

Arguments:

+

tgui_input_ranked_list

Creates a TGUI ranked input list window and returns the user's response in a ranked order.

+

Arguments:

+

tgui_input_text

Creates a TGUI window with a text input. Returns the user's response.

+

This proc should be used to create windows for text entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If max_length is specified, will return +stripped_multiline_input.

+

Arguments:

+

tint_color

Returns a purely random tint for specific color

to_chat

Sends the message to the recipient (target).

+

Recommended way to write to_chat calls:

+
to_chat(client, "You have found <strong>[object]</strong>", MESSAGE_TYPE_INFO,
+
+

Always remember to close spans!

+

Arguments:

+ +

trailing_newline, confidential, and handle_whitespace currently have no effect, please fix this in the future or remove the arguments to lower cache!

to_chat_immediate

Circumvents the message queue and sends the message to the recipient (target) as soon as possible. +trailing_newline, confidential, and handle_whitespace currently have no effect, please fix this in the future or remove the arguments to lower cache!

trim_length

Returns a string that does not exceed max_length characters in size

turf_peel

Behaves like the orange() proc, but only looks in the outer range of the function (The "peel" of the orange). +This is useful for things like checking if a mob is in a certain range, but not within a smaller range.

+

@params outer_range - The outer range of the cicle to pull from. +@params inner_range - The inner range of the circle to NOT pull from. +@params center - The center of the circle to pull from, can be an atom (we'll apply get_turf() to it within circle_x_turfs procs.) +@params view_based - If TRUE, we'll use circle_view_turfs instead of circle_range_turfs procs.

type_list_to_counted_assoc_list

This proc takes a list of types, and returns them in the format below. +[type] = amount of type in list. +Useful for recipes.

view_to_pixels

Takes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)

Creates a hyperlink for a specified wiki article.

\ No newline at end of file diff --git a/icon.html b/icon.html new file mode 100644 index 00000000000..65586229786 --- /dev/null +++ b/icon.html @@ -0,0 +1 @@ +/icon - Space Station 13
Space Station 13 - Modules - TypesProc Details

icon

Procs

swap_paletteSwaps an entire palette, for convenience, given two same-length lists of rgb or rgba colors

Proc Details

swap_palette

Swaps an entire palette, for convenience, given two same-length lists of rgb or rgba colors

\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000000..560d5e97747 --- /dev/null +++ b/index.html @@ -0,0 +1,284 @@ +Index - Space Station 13 + +
Space Station 13 - Modules - Types

Space Station 13

Modules

Types

\ No newline at end of file diff --git a/matrix.html b/matrix.html new file mode 100644 index 00000000000..fcebd38857d --- /dev/null +++ b/matrix.html @@ -0,0 +1,5 @@ +/matrix - Space Station 13
Space Station 13 - Modules - TypesProc Details

matrix

Procs

ShearShear the transform on either or both axes.

Proc Details

Shear

Shear the transform on either or both axes.

+
\ No newline at end of file diff --git a/mob.html b/mob.html new file mode 100644 index 00000000000..541dc806e89 --- /dev/null +++ b/mob.html @@ -0,0 +1,190 @@ +/mob - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mob

Vars

active_mutationsList of the active mutation types
alertslazy list. contains /atom/movable/screen/alert only, On /mob so clientless mobs will throw alerts properly
audio_emote_cd_statusCooldown on audio effects from emotes.
audio_emote_unintentional_cd_statusCooldown on audio effects from unintentional emotes.
blood_stateWeirdly named, effects how blood transfers onto objects
bloody_feetAssoc list for tracking how "bloody" a mobs feet are, used for creating bloody foot/shoeprints on turfs when moving
bloody_handsMakes items bloody if you touch them
buckledmovable atoms buckled to this mob
canon_clientThe current client inhabiting this mob. Managed by login/logout +This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed +We need to do this because the mob on logout never actually has a reference to client +We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout
click_interceptorAllows a datum to intercept all click calls this mob is the source of. +This is not necessarily an instance of /datum/click_intercept.
do_aftersFor storing what do_after's something has, key = string, value = amount of interactions of that type happening.
emote_cooldown_overrideOverride for cooldowns on non-audio emotes. Should be a number in deciseconds.
emotes_usedTracks last uses of emotes for cooldown purposes
feet_blood_DNABasically a lazy list, copies the DNA of blood you step in
feet_blood_coloraffects the blood color of your feet, color taken from the blood you step in
gunshot_residuegunshot residue for det work. holds the caliber of any BALLISTIC weapon fired by this mob without gloves.
handTrue for left hand active, otherwise for right hand active
health_hud_overrideOverrides the health HUD element state if set.
hud_typeThe type of HUD that this mob uses. Not to
hud_usedThe instantiated version of the mob's hud.
input_focusThe datum receiving keyboard input. parent mob by default.
last_movement_dirThe direction they last moved
last_typedLast thing we typed in to the typing indicator, probably does not need to exist
last_typed_timeLast time we typed something in to the typing popup
memoryother mobs we wont move when we're grab pulled. Not empty only when being grab pulled
next_clickThis is mainly modified by click code, to modify click delays elsewhere, use next_move and changeNext_move(), Controls the click delay. Changed with
next_click_adjustUnused
next_click_modifierUnused
next_move_adjustUnused, used to adjust our next move on a linar skill world.time + (how_many_deciseconds + Next move adjust) = Next move
next_move_modifierValue to multiply action delays by, actually used world.time + (how_many_deciseconds * Next move Adjust) = Next move
observersList of observers currently observing us.
open_uisTracks the open UIs that a mob has, used in TGUI for various things, such as updating UIs
runechat_msg_locationA soft reference to the location where this mob's runechat message will appear. Uses UID().
s_activeActive storage container
screensUsed for some screen objects
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)
speaks_oocDoes this mob speak OOC? +Controls whether they can say some symbols.
statIs this mob alive, unconscious or dead?
suicidingIs our mob currently suiciding? Used for suicide code along with many different revival checks
tgui_open_uisglobal
thinkingAffects if you have a thinking indicator
typingAffects if you have a typing indicator
wear_maskThe currently worn mask
zone_selectedThe zone this mob is currently targeting

Procs

AddDiseaseDirectly adds a disease to a mob.
ForceContractDiseaseForces the mob to contract a virus. If the mob can have viruses. Ignores clothing and other protection +Returns TRUE if it succeeds. False if it doesn't
HasDiseaseReturns whether or not the mob has the disease
Process_SpacemoveHandles mob/living movement in space (or no gravity)
add_quirk_to_saveMob Procs, mostly for many mob/new_player in the lobby screen
adjust_disgustAdjust the disgust level of a mob
adjust_nutritionAdjust the nutrition of a mob
become_mouseReturns true if the player successfully becomes a mouse
become_unclientedCleanup proc that's called when a mob loses a client, either through client destroy or logout +Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent
broadcast_examineTells nearby mobs about our examination.
buckle_mobBuckle to another mob
can_block_magicChecks to see if the mob can block magic
can_bucklecan the mob be buckled to something by default?
can_cast_magicChecks to see if the mob can cast normal magic spells.
can_contract_diseaseChecks if a mob can contract the disease
can_resistCan this mob resist (default FALSE)
can_unbucklecan the mob be unbuckled from something by default?
can_use_audio_emoteHelper proc to determine if a mob can use emotes that make sound or not.
can_use_clickbindsCan this mob use keybinded click actions? (Altclick, Ctrlclick, ect)
clear_important_client_contentsClears the clients channel of this mob
compressor_grindGrinds a mob in the turbine
create_chat_messageCreates a message overlay at a defined location for a given speaker
custom_emotePerform a custom emote.
drop_item_to_groundUnequip target and drop it at our current location.
emoteSend an emote.
enable_client_mobs_in_contentsPropogates ourselves through our nested contents, similar to other important_recursive_contents procs +Main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye
flash_screen_colorFlash up a color as an overlay on a player's screen, then fade back to normal.
get_empty_held_indexesReturns a number corresponding to an open hand, or null if no open hands.
get_mob_buckling_heightreturns the height in pixel the mob should have when buckled to another mob.
get_random_valid_zone[/proc/ran_zone] but only returns bodyzones that the mob actually has.
get_spacemove_backupFinds a target near a mob that is viable for pushing off when moving. +Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting
get_telepathic_targetsReturns an assoc list which contains the mobs in range and their "visible" name. +Mobs out of view but in range will be listed as unknown. Else they will have their visible name
ghost_can_reenterChecks if a mob's ghost can reenter their body or not. Used to check for DNR or AntagHUD.
grant_actions_by_listTakes in an associated list (key /datum/action typepaths, value is the AI +blackboard key) and handles granting the action and adding it to the mob's +AI controller blackboard. This is only useful in instances where you don't +want to store the reference to the action on a variable on the mob. You can +set the value to null if you don't want to add it to the blackboard (like in +player controlled instances). Is also safe with null AI controllers. Assumes +that the action will be initialized and held in the mob itself, which is +typically standard.
held_itemsReturns a list of items being held
hide_other_mob_action_buttonsHide another mob's action buttons from this mob
is_holdingCheck if an item is in one of our hands
manual_emoteAllows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:
on_block_magic_effectsCalled whenever a magic effect with a charge cost is blocked and we haven't recently blocked magic.
on_observing_action_grantedSignal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, +we need to update with any newly added buttons granted to the mob.
on_observing_action_removedSignal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, +we need to update with any removed buttons from the mob.
pointedPoint at an atom
post_buckle_mobCall back post buckle to a mob to offset your visual height
post_unbuckle_mobCall back post unbuckle from a mob, (reset your visual height here)
remove_quirk_from_saveReturns true if a quirk was removed, false otherwise
run_modeproc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called
run_pointedpossibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. +either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro
run_quick_equipproc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded
say_understandsChecks if the mob can understand the other speaker
set_invisibleProc to PROPERLY set mob invisibility, huds gotta get set too!
set_nutritionForce set the mob nutrition
set_thinking_indicatorToggles the floating thought bubble above a players head.
set_typing_indicatorToggles the floating chat bubble above a players head.
shared_ui_interactionpublic
show_other_mob_action_buttonsShow (most) of the another mob's action buttons to this mob
show_radsShow an overlay of radiation levels on radioactive objects.
shuttleRotateTurf rotate procs
special_get_hands_checkSpecal proc for special mobs that use "hands" in weird ways
start_audio_emote_cooldownStart the cooldown for an emote that plays audio.
tamedCalled after the atom is 'tamed' for type-specific operations, Usually called by the tameable component but also other things.
throw_alertProc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already. +Each mob may only have one alert per category.
transfer_item_toUnequip target and relocate it to destination.
unequipUnequip target without relocating it.
unequip_toCentral proc for unequipping items. Cannot be called but can be overridden so +long as default arg values are preserved. Use /mob/proc/unequip, +/mob/proc/drop_item_to_ground, or /mob/proc/transfer_item_to instead.
update_runechat_msg_locationUpdates the mob's runechat maptext display location.
usable_emote_keysGet a list of all emote keys usable by the current mob.

Var Details

active_mutations

List of the active mutation types

alerts

lazy list. contains /atom/movable/screen/alert only, On /mob so clientless mobs will throw alerts properly

audio_emote_cd_status

Cooldown on audio effects from emotes.

audio_emote_unintentional_cd_status

Cooldown on audio effects from unintentional emotes.

blood_state

Weirdly named, effects how blood transfers onto objects

bloody_feet

Assoc list for tracking how "bloody" a mobs feet are, used for creating bloody foot/shoeprints on turfs when moving

bloody_hands

Makes items bloody if you touch them

buckled

movable atoms buckled to this mob

canon_client

The current client inhabiting this mob. Managed by login/logout +This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed +We need to do this because the mob on logout never actually has a reference to client +We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout

click_interceptor

Allows a datum to intercept all click calls this mob is the source of. +This is not necessarily an instance of /datum/click_intercept.

do_afters

For storing what do_after's something has, key = string, value = amount of interactions of that type happening.

emote_cooldown_override

Override for cooldowns on non-audio emotes. Should be a number in deciseconds.

emotes_used

Tracks last uses of emotes for cooldown purposes

feet_blood_DNA

Basically a lazy list, copies the DNA of blood you step in

feet_blood_color

affects the blood color of your feet, color taken from the blood you step in

gunshot_residue

gunshot residue for det work. holds the caliber of any BALLISTIC weapon fired by this mob without gloves.

hand

True for left hand active, otherwise for right hand active

health_hud_override

Overrides the health HUD element state if set.

hud_type

The type of HUD that this mob uses. Not to

hud_used

The instantiated version of the mob's hud.

input_focus

The datum receiving keyboard input. parent mob by default.

last_movement_dir

The direction they last moved

last_typed

Last thing we typed in to the typing indicator, probably does not need to exist

last_typed_time

Last time we typed something in to the typing popup

memory

other mobs we wont move when we're grab pulled. Not empty only when being grab pulled

next_click

This is mainly modified by click code, to modify click delays elsewhere, use next_move and changeNext_move(), Controls the click delay. Changed with

next_click_adjust

Unused

next_click_modifier

Unused

next_move_adjust

Unused, used to adjust our next move on a linar skill world.time + (how_many_deciseconds + Next move adjust) = Next move

next_move_modifier

Value to multiply action delays by, actually used world.time + (how_many_deciseconds * Next move Adjust) = Next move

observers

List of observers currently observing us.

open_uis

Tracks the open UIs that a mob has, used in TGUI for various things, such as updating UIs

runechat_msg_location

A soft reference to the location where this mob's runechat message will appear. Uses UID().

s_active

Active storage container

screens

Used for some screen objects

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)

speaks_ooc

Does this mob speak OOC? +Controls whether they can say some symbols.

stat

Is this mob alive, unconscious or dead?

suiciding

Is our mob currently suiciding? Used for suicide code along with many different revival checks

tgui_open_uis

global

+

Tracks open UIs for a user.

thinking

Affects if you have a thinking indicator

typing

Affects if you have a typing indicator

wear_mask

The currently worn mask

zone_selected

The zone this mob is currently targeting

Proc Details

AddDisease

Directly adds a disease to a mob.

ForceContractDisease

Forces the mob to contract a virus. If the mob can have viruses. Ignores clothing and other protection +Returns TRUE if it succeeds. False if it doesn't

+

Arguments:

+

HasDisease

Returns whether or not the mob has the disease

Process_Spacemove

Handles mob/living movement in space (or no gravity)

+

Called by /client/Move()

+

return TRUE for movement or FALSE for none

add_quirk_to_save

Mob Procs, mostly for many mob/new_player in the lobby screen

adjust_disgust

Adjust the disgust level of a mob

adjust_nutrition

Adjust the nutrition of a mob

become_mouse

Returns true if the player successfully becomes a mouse

become_uncliented

Cleanup proc that's called when a mob loses a client, either through client destroy or logout +Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent

broadcast_examine

Tells nearby mobs about our examination.

buckle_mob

Buckle to another mob

+

You can buckle on mobs if you're next to them since most are dense

+

Turns you to face the other mob too

can_block_magic

Checks to see if the mob can block magic

+

args:

+

can_buckle

can the mob be buckled to something by default?

can_cast_magic

Checks to see if the mob can cast normal magic spells.

+

args:

+

can_contract_disease

Checks if a mob can contract the disease

can_resist

Can this mob resist (default FALSE)

can_unbuckle

can the mob be unbuckled from something by default?

can_use_audio_emote

Helper proc to determine if a mob can use emotes that make sound or not.

can_use_clickbinds

Can this mob use keybinded click actions? (Altclick, Ctrlclick, ect)

clear_important_client_contents

Clears the clients channel of this mob

compressor_grind

Grinds a mob in the turbine

create_chat_message

Creates a message overlay at a defined location for a given speaker

+

Arguments:

+

custom_emote

Perform a custom emote.

+

drop_item_to_ground

Unequip target and drop it at our current location.

+

Returns FALSE if the unequip failed, and target if it succeeded. Returns +FALSE if there is no target to drop. If the caller cares about handling the +resultant dropped object, they are responsible for ensuring that the thing +actually exists. This is to ensure that the return value is meaningful and that +a nonexistant item being unequipped and returning null is not interpreted as +a failure.

+

However, if you don't care about the return value, feel free to pass in possibly +nonexistant objects, such as when dropping anything in a slot for a spell/virus +that replaces existing clothing.

emote

Send an emote.

+

enable_client_mobs_in_contents

Propogates ourselves through our nested contents, similar to other important_recursive_contents procs +Main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye

flash_screen_color

Flash up a color as an overlay on a player's screen, then fade back to normal.

+

Arguments:

+

get_empty_held_indexes

Returns a number corresponding to an open hand, or null if no open hands.

get_mob_buckling_height

returns the height in pixel the mob should have when buckled to another mob.

get_random_valid_zone

[/proc/ran_zone] but only returns bodyzones that the mob actually has.

+

get_spacemove_backup

Finds a target near a mob that is viable for pushing off when moving. +Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting

get_telepathic_targets

Returns an assoc list which contains the mobs in range and their "visible" name. +Mobs out of view but in range will be listed as unknown. Else they will have their visible name

ghost_can_reenter

Checks if a mob's ghost can reenter their body or not. Used to check for DNR or AntagHUD.

+

Returns FALSE if there is a ghost, and it can't reenter the body. Returns TRUE otherwise.

grant_actions_by_list

Takes in an associated list (key /datum/action typepaths, value is the AI +blackboard key) and handles granting the action and adding it to the mob's +AI controller blackboard. This is only useful in instances where you don't +want to store the reference to the action on a variable on the mob. You can +set the value to null if you don't want to add it to the blackboard (like in +player controlled instances). Is also safe with null AI controllers. Assumes +that the action will be initialized and held in the mob itself, which is +typically standard.

held_items

Returns a list of items being held

hide_other_mob_action_buttons

Hide another mob's action buttons from this mob

+

Used for observers viewing another mob's screen

is_holding

Check if an item is in one of our hands

manual_emote

Allows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:

+ +

Returns TRUE if it was able to run the emote, FALSE otherwise.

on_block_magic_effects

Called whenever a magic effect with a charge cost is blocked and we haven't recently blocked magic.

on_observing_action_granted

Signal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, +we need to update with any newly added buttons granted to the mob.

on_observing_action_removed

Signal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, +we need to update with any removed buttons from the mob.

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

post_buckle_mob

Call back post buckle to a mob to offset your visual height

post_unbuckle_mob

Call back post unbuckle from a mob, (reset your visual height here)

remove_quirk_from_save

Returns true if a quirk was removed, false otherwise

run_mode

proc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called

run_pointed

possibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. +either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro

run_quick_equip

proc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded

say_understands

Checks if the mob can understand the other speaker

+

If it return FALSE, then the message will have some letters replaced with stars from the heard message

set_invisible

Proc to PROPERLY set mob invisibility, huds gotta get set too!

set_nutrition

Force set the mob nutrition

set_thinking_indicator

Toggles the floating thought bubble above a players head.

+

Arguments:

+

set_typing_indicator

Toggles the floating chat bubble above a players head.

+

Arguments:

+

shared_ui_interaction

public

+

Standard interaction/sanity checks. Different mob types may have overrides.

+

return UI_state The state of the UI.

show_other_mob_action_buttons

Show (most) of the another mob's action buttons to this mob

+

Used for observers viewing another mob's screen

show_rads

Show an overlay of radiation levels on radioactive objects.

shuttleRotate

Turf rotate procs

+

Mob rotate procs

special_get_hands_check

Specal proc for special mobs that use "hands" in weird ways

start_audio_emote_cooldown

Start the cooldown for an emote that plays audio.

+

Arguments:

+

tamed

Called after the atom is 'tamed' for type-specific operations, Usually called by the tameable component but also other things.

throw_alert

Proc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already. +Each mob may only have one alert per category.

+

Arguments:

+

transfer_item_to

Unequip target and relocate it to destination.

+

Returns FALSE if the transfer failed for any reason, and TRUE if it succeeded.

unequip

Unequip target without relocating it.

+

Returns FALSE if the transfer failed for any reason, and TRUE if it succeeded.

+

A destination cannot be specified; you must either forceMove or qdel it. +If you intend to qdel it immediately, it is not necessary to call this; +[/obj/item/proc/Destroy] will perform the necessary unequipping.

unequip_to

Central proc for unequipping items. Cannot be called but can be overridden so +long as default arg values are preserved. Use /mob/proc/unequip, +/mob/proc/drop_item_to_ground, or /mob/proc/transfer_item_to instead.

+

update_runechat_msg_location

Updates the mob's runechat maptext display location.

+

By default, we set this to the src mob's UID().

usable_emote_keys

Get a list of all emote keys usable by the current mob.

+
\ No newline at end of file diff --git a/mob/camera/eye.html b/mob/camera/eye.html new file mode 100644 index 00000000000..bcbea466c00 --- /dev/null +++ b/mob/camera/eye.html @@ -0,0 +1,8 @@ +/mob/camera/eye - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

eye

Camera eyes are remote-control mobs that can move and see throughout the global cameranet. +They're used in AI eyes, holograms, advanced camera consoles, abductor consoles, shuttle consoles, +and xenobiology consoles. When created, the user with which they are initialized will be granted control, +and their movements will be relayed to the camera eye instead. When destroyed, the user's control of the +camera eye will be released; if they were previously remote controlling another object (such as another +camera eye) then they will be put back in control of that object; otherwise they will return to their body.

Vars

accelerationToggles camera acceleration on or off.
acceleration_rateThe amount that sprint is increased per move
ai_detector_visibleToggles whether this eye is detectable by AI Detectors.
cooldownThe absolute time that sprint will reset to its initial value
cooldown_rateThe time after which sprint should be reset to its initial state, if no movements are made
max_sprintThe maximum sprint value - this caps acceleration
networksThe list of cameranets that this camera eye can see and access.
originThe object that created the eye.
relay_speechIf true, speech near the camera eye will be relayed to its controller.
sprintKeeps track of acceleration - movement rate is 1 + round(sprint / sprint_threshold)
sprint_thresholdThe minimum sprint needed to increase base velocity
static_visibility_rangeSets the camera eye visibility range; does not expand viewport, only affects cameranet obscuring
userThe user controlling the eye.
user_imageThe in-memory image of the camera eye's icon.
user_previous_remote_controlThe thing that the user was previously remote controlling before this eye.
visible_camera_chunksThe list of camera chunks currently visible to the camera eye.
visible_iconToggles whether the eye's icon should be visible to its user.

Procs

MoveDisables independent movement by camera eyes; camera eyes must be controlled by relaymove.
first_active_cameraReturns the turf of the first active camera in the global cameranet.
get_viewer_clientReturns the user's client, if it exists; otherwise returns null.
give_controlForces this eye's current user to release control, renames this eye, and grants new_user control of this eye.
hear_sayIf relay_speech is truthy, allows the camera eye's user to hear speech spoken at the eye's location.
refresh_visible_iconRefreshes user_image in the user's client.images.
relaymoveCalled when the user controlling this eye attempts to move; uses camera acceleration settings.
release_chunksRemove this eye from all chunks containing it.
release_controlCalls remove_images, changes the user's remote control from this camera eye to user_previous_remote_control.
remove_imagesRemoves obscured chunk images and user_images from the user's client.images.
rename_cameraRenames the camera eye (only visible in observer Orbit menu)
set_locSets the camera eye's location to T, updates global cameranet visibility, and refreshes user_images.
update_visibilityUpdates what the global cameranet can see with respect to this eye and its user's client.
validate_active_cameranetValidates that there is an active cameranet. If strict is 0, does nothing. +Returns 1 if there is an active cameranet. Warns the user and returns 0 if there is not.

Var Details

acceleration

Toggles camera acceleration on or off.

acceleration_rate

The amount that sprint is increased per move

ai_detector_visible

Toggles whether this eye is detectable by AI Detectors.

cooldown

The absolute time that sprint will reset to its initial value

cooldown_rate

The time after which sprint should be reset to its initial state, if no movements are made

max_sprint

The maximum sprint value - this caps acceleration

networks

The list of cameranets that this camera eye can see and access.

origin

The object that created the eye.

relay_speech

If true, speech near the camera eye will be relayed to its controller.

sprint

Keeps track of acceleration - movement rate is 1 + round(sprint / sprint_threshold)

sprint_threshold

The minimum sprint needed to increase base velocity

static_visibility_range

Sets the camera eye visibility range; does not expand viewport, only affects cameranet obscuring

user

The user controlling the eye.

user_image

The in-memory image of the camera eye's icon.

user_previous_remote_control

The thing that the user was previously remote controlling before this eye.

visible_camera_chunks

The list of camera chunks currently visible to the camera eye.

visible_icon

Toggles whether the eye's icon should be visible to its user.

Proc Details

Move

Disables independent movement by camera eyes; camera eyes must be controlled by relaymove.

first_active_camera

Returns the turf of the first active camera in the global cameranet.

get_viewer_client

Returns the user's client, if it exists; otherwise returns null.

give_control

Forces this eye's current user to release control, renames this eye, and grants new_user control of this eye.

hear_say

If relay_speech is truthy, allows the camera eye's user to hear speech spoken at the eye's location.

refresh_visible_icon

Refreshes user_image in the user's client.images.

relaymove

Called when the user controlling this eye attempts to move; uses camera acceleration settings.

release_chunks

Remove this eye from all chunks containing it.

release_control

Calls remove_images, changes the user's remote control from this camera eye to user_previous_remote_control.

remove_images

Removes obscured chunk images and user_images from the user's client.images.

rename_camera

Renames the camera eye (only visible in observer Orbit menu)

set_loc

Sets the camera eye's location to T, updates global cameranet visibility, and refreshes user_images.

update_visibility

Updates what the global cameranet can see with respect to this eye and its user's client.

validate_active_cameranet

Validates that there is an active cameranet. If strict is 0, does nothing. +Returns 1 if there is an active cameranet. Warns the user and returns 0 if there is not.

\ No newline at end of file diff --git a/mob/camera/eye/abductor.html b/mob/camera/eye/abductor.html new file mode 100644 index 00000000000..ae646268585 --- /dev/null +++ b/mob/camera/eye/abductor.html @@ -0,0 +1 @@ +/mob/camera/eye/abductor - Space Station 13
Space Station 13 - Modules - TypesProc Details

abductor

Procs

validate_active_cameranetRequires the cameranet to be validated.

Proc Details

validate_active_cameranet

Requires the cameranet to be validated.

\ No newline at end of file diff --git a/mob/camera/eye/ai.html b/mob/camera/eye/ai.html new file mode 100644 index 00000000000..16ac7c33b37 --- /dev/null +++ b/mob/camera/eye/ai.html @@ -0,0 +1,5 @@ +/mob/camera/eye/ai - Space Station 13
Space Station 13 - Modules - TypesProc Details

ai

Procs

hear_sayRelays speech near the AI eye to the AI if the AI has surveillance, either from a malf module or a station trait
relaymoveCancels the camera's follow target if tracking has stopped, and lights up nearby lights if the AI has +"Toggle Camera Lights" enabled
set_locEnsures that the user's perspective is on this eye (instead of, for example, a mech or hologram eye) and +updates parallax

Proc Details

hear_say

Relays speech near the AI eye to the AI if the AI has surveillance, either from a malf module or a station trait

relaymove

Cancels the camera's follow target if tracking has stopped, and lights up nearby lights if the AI has +"Toggle Camera Lights" enabled

set_loc

Ensures that the user's perspective is on this eye (instead of, for example, a mech or hologram eye) and +updates parallax

\ No newline at end of file diff --git a/mob/camera/eye/hologram.html b/mob/camera/eye/hologram.html new file mode 100644 index 00000000000..3c0022b9426 --- /dev/null +++ b/mob/camera/eye/hologram.html @@ -0,0 +1,3 @@ +/mob/camera/eye/hologram - Space Station 13
Space Station 13 - Modules - TypesProc Details

hologram

Procs

relaymoveHologram movement copies the delays and diagonal delays of regular mob movement +for crew, and for AI unless fast holograms are enabled
set_locMoves the associated hologram, and the previously controlled object (probably an AI eye), to the new location.
validate_active_cameranetRequires the cameranet to be validated.

Proc Details

relaymove

Hologram movement copies the delays and diagonal delays of regular mob movement +for crew, and for AI unless fast holograms are enabled

set_loc

Moves the associated hologram, and the previously controlled object (probably an AI eye), to the new location.

validate_active_cameranet

Requires the cameranet to be validated.

\ No newline at end of file diff --git a/mob/camera/eye/shuttle_docker.html b/mob/camera/eye/shuttle_docker.html new file mode 100644 index 00000000000..7097456cbd5 --- /dev/null +++ b/mob/camera/eye/shuttle_docker.html @@ -0,0 +1 @@ +/mob/camera/eye/shuttle_docker - Space Station 13
Space Station 13 - Modules - TypesProc Details

shuttle_docker

Procs

set_locPrevents moving the camera eye into the station, and updates the current location's landing spot validity.
update_visibilityPrevents the shuttle docker eye from updating global cameranet chunks. Shuttle dockers don't use station cameras.

Proc Details

set_loc

Prevents moving the camera eye into the station, and updates the current location's landing spot validity.

update_visibility

Prevents the shuttle docker eye from updating global cameranet chunks. Shuttle dockers don't use station cameras.

\ No newline at end of file diff --git a/mob/camera/eye/xenobio.html b/mob/camera/eye/xenobio.html new file mode 100644 index 00000000000..ade675dd8a8 --- /dev/null +++ b/mob/camera/eye/xenobio.html @@ -0,0 +1 @@ +/mob/camera/eye/xenobio - Space Station 13
Space Station 13 - Modules - TypesProc Details

xenobio

Procs

set_locPrevents the camera eye from going outside of the xenobiology area

Proc Details

set_loc

Prevents the camera eye from going outside of the xenobiology area

\ No newline at end of file diff --git a/mob/dead/observer.html b/mob/dead/observer.html new file mode 100644 index 00000000000..fcab9903333 --- /dev/null +++ b/mob/dead/observer.html @@ -0,0 +1,10 @@ +/mob/dead/observer - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

observer

Vars

alive_runechat_colorThe "color" their runechat would have had
data_hud_seenDefines from __DEFINES/hud.dm go here based on which huds the ghost has activated.
ghost_flagsGhost flags. Being set on Initialize
ghost_orbitShape we orbit in. Other values are unused currently..
mob_observedUID of the mob which we are currently observing

Procs

check_ahud_rejoin_eligibilityCheck if a player has antag-hudded, and if so, if they can rejoin. +Returns TRUE if the player can rejoin, and FALSE if the player is ineligible to rejoin. +If allow_roundstart_observers is FALSE (TRUE by default), then any observers who were able to ahud due to joining roundstart will be excluded as well.
cleanup_observeClean up observing
toggle_all_huds_offToggles off all HUDs for the ghost player.
toggle_all_huds_onToggles on all HUDs for the ghost player.

Var Details

alive_runechat_color

The "color" their runechat would have had

data_hud_seen

Defines from __DEFINES/hud.dm go here based on which huds the ghost has activated.

ghost_flags

Ghost flags. Being set on Initialize

ghost_orbit

Shape we orbit in. Other values are unused currently..

mob_observed

UID of the mob which we are currently observing

Proc Details

check_ahud_rejoin_eligibility

Check if a player has antag-hudded, and if so, if they can rejoin. +Returns TRUE if the player can rejoin, and FALSE if the player is ineligible to rejoin. +If allow_roundstart_observers is FALSE (TRUE by default), then any observers who were able to ahud due to joining roundstart will be excluded as well.

cleanup_observe

Clean up observing

toggle_all_huds_off

Toggles off all HUDs for the ghost player.

toggle_all_huds_on

Toggles on all HUDs for the ghost player.

+

Enables antag HUD only if the ghost belongs to an admin.

+

Arguments:

+
\ No newline at end of file diff --git a/mob/living.html b/mob/living.html new file mode 100644 index 00000000000..26f266f6055 --- /dev/null +++ b/mob/living.html @@ -0,0 +1,72 @@ +/mob/living - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

living

Vars

admin_prev_sleepingUsed for keeping track of previous sleeping value with admin freeze.
advanced_bullet_dodge_chanceThis variable is the chance for a mob to automatically dodge a bullet. Useful for admins, and applied to some mobs by default, such as the malfunctioning drone mobs.
big_voiceDoes this mob talk with a BIG VOICE. 0 off, 1 single use, 2 multi-use
bucklingmovable atom we are buckled to
butcher_timeHow long does it take to harvest a mob?
can_hideCan this mob hide?
contains_xeno_organDoes this creature contain a xeno organ we can harvest?
deathmessageThe action emote which is displayed after the mob's name upon death.
extra_message_rangeIf a creature gets to be super special and have extra range on their chat messages
flags_2Flag to enable these making trees semi-transparent if behind them
forced_lookThis can either be a numerical direction or a soft object reference (UID). It makes the mob always face towards the selected thing.
frozenUsed for preventing attacks on admin-frozen mobs.
gib_nullifies_iconSets our icon to null when gib() is used
healableHealable by medical stacks?
holder_typethe type of holder that will be created when a mob gets scooped up
ignore_generic_organsThe toggle for if this creature should ignore the rolls for generic organs upon dissection
incorporeal_moveAllows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
initial_traitsList of traits that should be applied on Initialize
last_taste_textStores a var of the last tast message we got. used so we don't spam people messages while they eat
last_taste_timeStores a var of the last world time we tasted something. used so we don't spam people messages while they eat
last_wordsFamous last words -- if succumbing, what the user's last words were
lying_angleNumber of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on.
pass_door_while_hiddenAllows a mob to pass unbolted doors while hidden
restingif a mob is choosing to lay down
stamina_regen_block_modifierA multiplier for the ammount of time it takes for someone to regenerate stamina damage.
surgery_containerPoints to what specialized dissection information a mob gets.

Procs

AdjustConfusedSets confusion to current amount + given, clamped between lower and higher bounds.
AdjustDizzySets dizziness to current amount + given, clamped between lower and higher bounds.
AdjustDrowsySets drowsiness to current amount + given, clamped between lower and higher bounds.
AdjustDrunkSets drunkenness to current amount + given, clamped between lower and higher bounds.
ConfusedSets confusion if it's higher than current.
DizzySets dizziness if it's higher than current.
DrowsySets drowsiness if it's higher than current.
DrunkSets drunkenness if it's higher than current.
IsFrozenFROZEN
SetConfusedSets confusion if it's higher than zero.
SetDizzySets dizziness if it's higher than zero.
SetDrowsySets drowsiness if it's higher than zero.
SetDrunkSets drunkenness if it's higher than zero.
add_stun_absorptionSTUN ABSORPTION
admin_Freezemob freeze procs
advanced_bullet_dodgeTries to dodge incoming bullets if we aren't disabled for any reasons. Advised to overide with advanced effects, this is as basic example admins can apply.
apply_status_effectApplies a given status effect to this mob, returning the effect if it was successful or null otherwise
befriendProc for giving a mob a new 'friend', generally used for AI control and +targeting. Returns false if already friends or null if qdeleted.
can_be_revivedChecks if we are actually able to ressuscitate this mob. +(We don't want to revive then to have them instantly die again)
can_remote_apc_interfaceCan a mob interact with the apc remotely like a pulse demon, cyborg, or AI?
can_run_surgeryCheck to see if a surgical operation proposed on ourselves is valid or not. We are the target of the surgery
clear_forced_lookClears the mob's direction lock if enabled.
do_rust_heretic_actwrapper proc that passes our mob's rust_strength to the target we are rusting
electrocute_actAs the name suggests, this should be called to apply electric shocks.
get_confusionReturns current amount of confusion, 0 if none.
get_dizzinessReturns current amount of dizziness, 0 if none.
get_drowsinessReturns current amount of drowsiness, 0 if none.
get_drunkennessReturns current amount of drunkenness, 0 if none.
getarmorReturns armor value of our mob. +As u can see, mobs have no armor by default so we override this proc on mob subtypes if we add them any armor
grant_guardian_actionsGrants all existing /datum/action/guardian type actions to the src mob.
handle_environmentHandle temperature/pressure differences between body and environment
handle_fireBurns a mob and slowly puts the fires out. Returns TRUE if the mob is on fire
has_status_effectReturns the effect if the mob calling the proc owns the given status effect, or null otherwise
has_status_effect_listReturns a list of effects with matching IDs that the mod owns; use for effects there can be multiple of
has_status_effect_typeReturns the effect if the mob calling the proc owns the given status effect, but checks by type.
heal_and_reviveHeals up the mob up to [heal_to] of the main damage types. +EX: If heal_to is 50, and they have 150 brute damage, they will heal 100 brute (up to 50 brute damage)
lazarus_reviveProc called when TARGETED by a lazarus injector
on_fakedeath_trait_gainCalled when [TRAIT_FAKEDEATH] is added to the mob.
on_fakedeath_trait_lossCalled when [TRAIT_FAKEDEATH] is removed from the mob.
on_floored_trait_gainCalled when TRAIT_FLOORED is added to the mob.
on_floored_trait_lossCalled when TRAIT_FLOORED is removed from the mob.
on_forced_standing_trait_gainCalled when [TRAIT_FORCED_STANDING] is added to the mob.
on_forced_standing_trait_lossCalled when [TRAIT_FORCED_STANDING] is removed from the mob.
on_handsblocked_trait_gainCalled when TRAIT_HANDS_BLOCKED is added to the mob.
on_handsblocked_trait_lossCalled when TRAIT_HANDS_BLOCKED is removed from the mob.
on_immobilized_trait_gainCalled when TRAIT_IMMOBILIZED is added to the mob.
on_immobilized_trait_lossCalled when TRAIT_IMMOBILIZED is removed from the mob.
on_knockedout_trait_gainCalled when TRAIT_KNOCKEDOUT is added to the mob.
on_knockedout_trait_lossCalled when TRAIT_KNOCKEDOUT is removed from the mob.
on_pressure_vision_trait_gainCalled when [TRAIT_PRESSURE_VISION] is added to the mob.
on_pressure_vision_trait_lossCalled when [TRAIT_PRESSURE_VISION] is removed from the mob.
on_pull_blocked_trait_gainCalled when TRAIT_CANNOT_PULL is added to the mob.
on_pull_blocked_trait_lossCalled when TRAIT_CANNOT_PULL is removed from the mob.
on_restrained_trait_gainCalled when TRAIT_RESTRAINED is added to the mob.
on_restrained_trait_lossCalled when TRAIT_RESTRAINED is removed from the mob.
on_ui_blocked_trait_gainCalled when TRAIT_UI_BLOCKED is added to the mob.
on_ui_blocked_trait_lossCalled when TRAIT_UI_BLOCKED is removed from the mob.
on_unknown_traitGaining or losing [TRAIT_UNKNOWN] updates our name and our sechud
register_init_signalsCalled on [/mob/living/proc/Initialize], for the mob to register to relevant signals.
remove_guardian_actionsRemoves all /datum/action/guardian type actions from the src mob.
remove_status_effectRemoves all of a given status effect from this mob, returning TRUE if at least one was removed
run_armor_checkReturns final, affected by armor_penetration_flat and armor_penetration_percentage, armor value of specific armor type
run_resistproc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called
sentience_actLegacy method for simplemobs to handle turning off their AI. +Unrelated to and unused for AI controllers, which handle their +AI cooperation with signals.
set_forced_lookSets the mob's direction lock towards a given atom.
set_lying_angleChanges the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.
shared_living_ui_distancepublic
transfer_blood_toMARK: BLOOD TRANSFERS
unbuckleUnbuckle the mob from whatever it is buckled to.

Var Details

admin_prev_sleeping

Used for keeping track of previous sleeping value with admin freeze.

advanced_bullet_dodge_chance

This variable is the chance for a mob to automatically dodge a bullet. Useful for admins, and applied to some mobs by default, such as the malfunctioning drone mobs.

big_voice

Does this mob talk with a BIG VOICE. 0 off, 1 single use, 2 multi-use

buckling

movable atom we are buckled to

butcher_time

How long does it take to harvest a mob?

can_hide

Can this mob hide?

contains_xeno_organ

Does this creature contain a xeno organ we can harvest?

deathmessage

The action emote which is displayed after the mob's name upon death.

extra_message_range

If a creature gets to be super special and have extra range on their chat messages

flags_2

Flag to enable these making trees semi-transparent if behind them

forced_look

This can either be a numerical direction or a soft object reference (UID). It makes the mob always face towards the selected thing.

frozen

Used for preventing attacks on admin-frozen mobs.

gib_nullifies_icon

Sets our icon to null when gib() is used

healable

Healable by medical stacks?

holder_type

the type of holder that will be created when a mob gets scooped up

ignore_generic_organs

The toggle for if this creature should ignore the rolls for generic organs upon dissection

incorporeal_move

Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.

initial_traits

List of traits that should be applied on Initialize

last_taste_text

Stores a var of the last tast message we got. used so we don't spam people messages while they eat

last_taste_time

Stores a var of the last world time we tasted something. used so we don't spam people messages while they eat

last_words

Famous last words -- if succumbing, what the user's last words were

lying_angle

Number of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on.

pass_door_while_hidden

Allows a mob to pass unbolted doors while hidden

resting

if a mob is choosing to lay down

stamina_regen_block_modifier

A multiplier for the ammount of time it takes for someone to regenerate stamina damage.

surgery_container

Points to what specialized dissection information a mob gets.

Proc Details

AdjustConfused

Sets confusion to current amount + given, clamped between lower and higher bounds.

+

Arguments:

+

AdjustDizzy

Sets dizziness to current amount + given, clamped between lower and higher bounds.

+

Arguments:

+

AdjustDrowsy

Sets drowsiness to current amount + given, clamped between lower and higher bounds.

+

Arguments:

+

AdjustDrunk

Sets drunkenness to current amount + given, clamped between lower and higher bounds.

+

Arguments:

+

Confused

Sets confusion if it's higher than current.

Dizzy

Sets dizziness if it's higher than current.

Drowsy

Sets drowsiness if it's higher than current.

Drunk

Sets drunkenness if it's higher than current.

IsFrozen

FROZEN

SetConfused

Sets confusion if it's higher than zero.

SetDizzy

Sets dizziness if it's higher than zero.

SetDrowsy

Sets drowsiness if it's higher than zero.

SetDrunk

Sets drunkenness if it's higher than zero.

add_stun_absorption

STUN ABSORPTION

admin_Freeze

mob freeze procs

advanced_bullet_dodge

Tries to dodge incoming bullets if we aren't disabled for any reasons. Advised to overide with advanced effects, this is as basic example admins can apply.

apply_status_effect

Applies a given status effect to this mob, returning the effect if it was successful or null otherwise

befriend

Proc for giving a mob a new 'friend', generally used for AI control and +targeting. Returns false if already friends or null if qdeleted.

can_be_revived

Checks if we are actually able to ressuscitate this mob. +(We don't want to revive then to have them instantly die again)

can_remote_apc_interface

Can a mob interact with the apc remotely like a pulse demon, cyborg, or AI?

can_run_surgery

Check to see if a surgical operation proposed on ourselves is valid or not. We are the target of the surgery

clear_forced_look

Clears the mob's direction lock if enabled.

+

Arguments:

+

do_rust_heretic_act

wrapper proc that passes our mob's rust_strength to the target we are rusting

electrocute_act

As the name suggests, this should be called to apply electric shocks.

get_confusion

Returns current amount of confusion, 0 if none.

get_dizziness

Returns current amount of dizziness, 0 if none.

get_drowsiness

Returns current amount of drowsiness, 0 if none.

get_drunkenness

Returns current amount of drunkenness, 0 if none.

getarmor

Returns armor value of our mob. +As u can see, mobs have no armor by default so we override this proc on mob subtypes if we add them any armor

grant_guardian_actions

Grants all existing /datum/action/guardian type actions to the src mob.

+

Called whenever the host gains their gauardian.

handle_environment

Handle temperature/pressure differences between body and environment

handle_fire

Burns a mob and slowly puts the fires out. Returns TRUE if the mob is on fire

has_status_effect

Returns the effect if the mob calling the proc owns the given status effect, or null otherwise

has_status_effect_list

Returns a list of effects with matching IDs that the mod owns; use for effects there can be multiple of

has_status_effect_type

Returns the effect if the mob calling the proc owns the given status effect, but checks by type.

heal_and_revive

Heals up the mob up to [heal_to] of the main damage types. +EX: If heal_to is 50, and they have 150 brute damage, they will heal 100 brute (up to 50 brute damage)

+

If the target is dead, also revives them and heals their organs / restores blood. +If we have a [revive_message], play a visible message if the revive was successful.

+

Arguments

+ +

Returns TRUE if the mob is alive afterwards, or FALSE if they're still dead (revive failed).

lazarus_revive

Proc called when TARGETED by a lazarus injector

on_fakedeath_trait_gain

Called when [TRAIT_FAKEDEATH] is added to the mob.

on_fakedeath_trait_loss

Called when [TRAIT_FAKEDEATH] is removed from the mob.

on_floored_trait_gain

Called when TRAIT_FLOORED is added to the mob.

on_floored_trait_loss

Called when TRAIT_FLOORED is removed from the mob.

on_forced_standing_trait_gain

Called when [TRAIT_FORCED_STANDING] is added to the mob.

on_forced_standing_trait_loss

Called when [TRAIT_FORCED_STANDING] is removed from the mob.

on_handsblocked_trait_gain

Called when TRAIT_HANDS_BLOCKED is added to the mob.

on_handsblocked_trait_loss

Called when TRAIT_HANDS_BLOCKED is removed from the mob.

on_immobilized_trait_gain

Called when TRAIT_IMMOBILIZED is added to the mob.

on_immobilized_trait_loss

Called when TRAIT_IMMOBILIZED is removed from the mob.

on_knockedout_trait_gain

Called when TRAIT_KNOCKEDOUT is added to the mob.

on_knockedout_trait_loss

Called when TRAIT_KNOCKEDOUT is removed from the mob.

on_pressure_vision_trait_gain

Called when [TRAIT_PRESSURE_VISION] is added to the mob.

on_pressure_vision_trait_loss

Called when [TRAIT_PRESSURE_VISION] is removed from the mob.

on_pull_blocked_trait_gain

Called when TRAIT_CANNOT_PULL is added to the mob.

on_pull_blocked_trait_loss

Called when TRAIT_CANNOT_PULL is removed from the mob.

on_restrained_trait_gain

Called when TRAIT_RESTRAINED is added to the mob.

on_restrained_trait_loss

Called when TRAIT_RESTRAINED is removed from the mob.

on_ui_blocked_trait_gain

Called when TRAIT_UI_BLOCKED is added to the mob.

on_ui_blocked_trait_loss

Called when TRAIT_UI_BLOCKED is removed from the mob.

on_unknown_trait

Gaining or losing [TRAIT_UNKNOWN] updates our name and our sechud

register_init_signals

Called on [/mob/living/proc/Initialize], for the mob to register to relevant signals.

remove_guardian_actions

Removes all /datum/action/guardian type actions from the src mob.

+

Called whenever the host loses their guardian.

remove_status_effect

Removes all of a given status effect from this mob, returning TRUE if at least one was removed

run_armor_check

Returns final, affected by armor_penetration_flat and armor_penetration_percentage, armor value of specific armor type

+

run_resist

proc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called

sentience_act

Legacy method for simplemobs to handle turning off their AI. +Unrelated to and unused for AI controllers, which handle their +AI cooperation with signals.

set_forced_look

Sets the mob's direction lock towards a given atom.

+

Arguments:

+

set_lying_angle

Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.

+

In BYOND-angles 0 is NORTH, 90 is EAST, 180 is SOUTH and 270 is WEST. +This usually means that 0 is standing up, 90 and 270 are horizontal positions to right and left respectively, and 180 is upside-down. +Mobs that do now follow these conventions due to unusual sprites should require a special handling or redefinition of this proc, due to the density and layer changes. +The return of this proc is the previous value of the modified lying_angle if a change was successful (might include zero), or null if no change was made.

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.

transfer_blood_to

MARK: BLOOD TRANSFERS

unbuckle

Unbuckle the mob from whatever it is buckled to.

\ No newline at end of file diff --git a/mob/living/basic.html b/mob/living/basic.html new file mode 100644 index 00000000000..fe6390253a1 --- /dev/null +++ b/mob/living/basic.html @@ -0,0 +1,21 @@ +/mob/living/basic - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Basic Mob

Basic mobs are a modern replacement for the simple_animal/"simple mob" +system. Rather than deep type trees with overrides for AI, basic mobs rely +on their AI controllers for the majority of their behavior.

+

It is also intended that as little implementation as possible be part of the +basic mob definition directly; rather, as much behavior as possible should +be delegated to components and elements, such as +/datum/element/atmos_requirements for handling reacting to atmosphere, and +/datum/element/body_temperature for handling changes in body temperature.

+

Migrating simple mobs to basic mobs is an incremental effort; and refactors +should be considered before making large changes to existing simple mob +code.

Vars

armor_penetration_flatFlat armour reduction, occurs after percentage armour penetration.
armor_penetration_percentagePercentage armour reduction, happens before flat armour reduction.
atmos_requirementsLeaving something at 0 means it's off - has no maximum.
attack_soundSound played when the critter attacks.
attack_verb_continuousBasic mob's own attacks verbs, +Attacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attacked_soundSound played when the critter is attacked.
can_be_on_fireCan this mob ignite?
casing_typeWhat casing type is the projectile?
damage_coeff1 for full damage, 0 for none, -1 for 1:1 heal from that source.
death_messageThe message displayed on death
death_soundThe sound played on death
environment_smashWhat can this mob break?
fire_damageHow much fire damage does a mob take?
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
harm_intent_damageThe amount of damage done to the mob when hand-attacked on harm intent.
icon_deadIcon when the animal is dead.
icon_gibWe only try to show a gibbing animation if this exists.
icon_livingIcon to use when the animal is alive.
icon_restingIcon when the animal is resting
is_rangedDoes this type do range attacks?
lootLoot this mob drops on death.
master_commanderHolding var for determining who own/controls a sentient simple animal (for sentience potions).
maximum_survivable_temperatureMaximal body temperature without receiving damage
melee_attack_cooldown_maxUpper bound for melee attack cooldown
melee_attack_cooldown_minLower bound for melee attack cooldown
melee_damage_lowerLower bound of damage done by unarmed melee attacks.
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
melee_damage_upperUpper bound of damage done by unarmed melee attacks.
minimum_survivable_temperatureMinimal body temperature without receiving damage
nestCompatibility with mob spawners
obj_damageHow much damage this simple animal does to objects, if any
projectile_soundWhat sound does it make when firing?
projectile_typeWhat projectile do we shoot?
ranged_burst_countHow many shots in a burst?
ranged_burst_intervalHow fast do we fire between shots in a burst?
ranged_cooldownTime between bursts
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
speedHigher speed is slower, negative speed is faster
step_typeFootsteps
unintelligble_phrasesWhat is heard by mobs who cannot understand this one when speaking. +This doesn't feel like it belongs here but say code and language code +is a mess to untangle so maybe it can move somewhere later.
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above. +Set to 0 to avoid adding the atmos_requirements element.
unsuitable_cold_damageThis damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the body_temp_sensitive element.
unsuitable_heat_damageThis damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the body_temp_sensitive element.

Procs

valid_respawn_target_forReturn whether or not ghosts can take over this mob via "Respawn as NPC"

Var Details

armor_penetration_flat

Flat armour reduction, occurs after percentage armour penetration.

armor_penetration_percentage

Percentage armour reduction, happens before flat armour reduction.

atmos_requirements

Leaving something at 0 means it's off - has no maximum.

attack_sound

Sound played when the critter attacks.

attack_verb_continuous

Basic mob's own attacks verbs, +Attacking verb in present continuous tense.

attack_verb_simple

Attacking verb in present simple tense.

attacked_sound

Sound played when the critter is attacked.

can_be_on_fire

Can this mob ignite?

casing_type

What casing type is the projectile?

damage_coeff

1 for full damage, 0 for none, -1 for 1:1 heal from that source.

death_message

The message displayed on death

death_sound

The sound played on death

environment_smash

What can this mob break?

fire_damage

How much fire damage does a mob take?

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

harm_intent_damage

The amount of damage done to the mob when hand-attacked on harm intent.

icon_dead

Icon when the animal is dead.

icon_gib

We only try to show a gibbing animation if this exists.

icon_living

Icon to use when the animal is alive.

icon_resting

Icon when the animal is resting

is_ranged

Does this type do range attacks?

loot

Loot this mob drops on death.

master_commander

Holding var for determining who own/controls a sentient simple animal (for sentience potions).

maximum_survivable_temperature

Maximal body temperature without receiving damage

melee_attack_cooldown_max

Upper bound for melee attack cooldown

melee_attack_cooldown_min

Lower bound for melee attack cooldown

melee_damage_lower

Lower bound of damage done by unarmed melee attacks.

melee_damage_type

Damage type of a simple mob's melee attack, should it do damage.

melee_damage_upper

Upper bound of damage done by unarmed melee attacks.

minimum_survivable_temperature

Minimal body temperature without receiving damage

nest

Compatibility with mob spawners

obj_damage

How much damage this simple animal does to objects, if any

projectile_sound

What sound does it make when firing?

projectile_type

What projectile do we shoot?

ranged_burst_count

How many shots in a burst?

ranged_burst_interval

How fast do we fire between shots in a burst?

ranged_cooldown

Time between bursts

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

speed

Higher speed is slower, negative speed is faster

step_type

Footsteps

unintelligble_phrases

What is heard by mobs who cannot understand this one when speaking. +This doesn't feel like it belongs here but say code and language code +is a mess to untangle so maybe it can move somewhere later.

unsuitable_atmos_damage

This damage is taken when atmos doesn't fit all the requirements above. +Set to 0 to avoid adding the atmos_requirements element.

unsuitable_cold_damage

This damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the body_temp_sensitive element.

unsuitable_heat_damage

This damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the body_temp_sensitive element.

Proc Details

valid_respawn_target_for

Return whether or not ghosts can take over this mob via "Respawn as NPC"

\ No newline at end of file diff --git a/mob/living/basic/alien.html b/mob/living/basic/alien.html new file mode 100644 index 00000000000..df29e4189cd --- /dev/null +++ b/mob/living/basic/alien.html @@ -0,0 +1 @@ +/mob/living/basic/alien - Space Station 13
Space Station 13 - Modules - TypesVar Details

alien

Vars

can_lay_eggsBoolean on whether the xeno can lay eggs.
can_plant_weedsBoolean on whether the xeno can plant weeds.

Var Details

can_lay_eggs

Boolean on whether the xeno can lay eggs.

can_plant_weeds

Boolean on whether the xeno can plant weeds.

\ No newline at end of file diff --git a/mob/living/basic/alien/maid.html b/mob/living/basic/alien/maid.html new file mode 100644 index 00000000000..c459a7cb478 --- /dev/null +++ b/mob/living/basic/alien/maid.html @@ -0,0 +1 @@ +/mob/living/basic/alien/maid - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

maid

Vars

cleanspeedHow fast do we clean?

Procs

early_melee_attackClean instead of attack.

Var Details

cleanspeed

How fast do we clean?

Proc Details

early_melee_attack

Clean instead of attack.

\ No newline at end of file diff --git a/mob/living/basic/bee.html b/mob/living/basic/bee.html new file mode 100644 index 00000000000..50a3ed754c7 --- /dev/null +++ b/mob/living/basic/bee.html @@ -0,0 +1 @@ +/mob/living/basic/bee - Space Station 13
Space Station 13 - Modules - TypesVar Details

bee

Vars

bee_iconsIcon creation
bee_syndicateIs this a syndibee?
beegentthe reagent the bee has
beehomethe house we live in
icon_baseour icon base
is_queenthe bee is a queen?

Var Details

bee_icons

Icon creation

bee_syndicate

Is this a syndibee?

beegent

the reagent the bee has

beehome

the house we live in

icon_base

our icon base

is_queen

the bee is a queen?

\ No newline at end of file diff --git a/mob/living/basic/butterfly.html b/mob/living/basic/butterfly.html new file mode 100644 index 00000000000..df182ac2a58 --- /dev/null +++ b/mob/living/basic/butterfly.html @@ -0,0 +1 @@ +/mob/living/basic/butterfly - Space Station 13
Space Station 13 - Modules - TypesProc Details

butterfly

Procs

decomposeMade so severe anxiety does not overload the SSmob while keeping it's effect

Proc Details

decompose

Made so severe anxiety does not overload the SSmob while keeping it's effect

\ No newline at end of file diff --git a/mob/living/basic/chick.html b/mob/living/basic/chick.html new file mode 100644 index 00000000000..3f061eb50bb --- /dev/null +++ b/mob/living/basic/chick.html @@ -0,0 +1 @@ +/mob/living/basic/chick - Space Station 13
Space Station 13 - Modules - TypesVar Details

chick

Vars

amount_grownHow grown up are we?

Var Details

amount_grown

How grown up are we?

\ No newline at end of file diff --git a/mob/living/basic/chicken.html b/mob/living/basic/chicken.html new file mode 100644 index 00000000000..cde8caff86a --- /dev/null +++ b/mob/living/basic/chicken.html @@ -0,0 +1 @@ +/mob/living/basic/chicken - Space Station 13
Space Station 13 - Modules - TypesVar Details

chicken

Vars

body_colorWhat color chicken are we?
ediblesWhat can the chicken eat?
egg_typeWhat type of egg do we lay?
eggsFertileAre the eggs fertile?
eggsleftHow many eggs do we have left to lay?
icon_prefixPrefix for icon determining colors
layMessageWhat message to play when laying an egg?
validColorsWhat colors can chickens be?

Var Details

body_color

What color chicken are we?

edibles

What can the chicken eat?

egg_type

What type of egg do we lay?

eggsFertile

Are the eggs fertile?

eggsleft

How many eggs do we have left to lay?

icon_prefix

Prefix for icon determining colors

layMessage

What message to play when laying an egg?

validColors

What colors can chickens be?

\ No newline at end of file diff --git a/mob/living/basic/cockroach.html b/mob/living/basic/cockroach.html new file mode 100644 index 00000000000..bf2c1a8cf7a --- /dev/null +++ b/mob/living/basic/cockroach.html @@ -0,0 +1 @@ +/mob/living/basic/cockroach - Space Station 13
Space Station 13 - Modules - TypesVar Details

cockroach

Vars

squish_chanceChance to get squished

Var Details

squish_chance

Chance to get squished

\ No newline at end of file diff --git a/mob/living/basic/cow.html b/mob/living/basic/cow.html new file mode 100644 index 00000000000..382ffd63963 --- /dev/null +++ b/mob/living/basic/cow.html @@ -0,0 +1 @@ +/mob/living/basic/cow - Space Station 13
Space Station 13 - Modules - TypesVar Details

cow

Vars

food_typeswhat this cow munches on

Var Details

food_types

what this cow munches on

\ No newline at end of file diff --git a/mob/living/basic/deer.html b/mob/living/basic/deer.html new file mode 100644 index 00000000000..bc59f5e2329 --- /dev/null +++ b/mob/living/basic/deer.html @@ -0,0 +1 @@ +/mob/living/basic/deer - Space Station 13
Space Station 13 - Modules - TypesVar Details

deer

Vars

stationary_scary_thingsThings that will scare us into being stationary. Vehicles are scary to deers because they might have headlights.

Var Details

stationary_scary_things

Things that will scare us into being stationary. Vehicles are scary to deers because they might have headlights.

\ No newline at end of file diff --git a/mob/living/basic/demon/pulse_demon.html b/mob/living/basic/demon/pulse_demon.html new file mode 100644 index 00000000000..1624d71dbf9 --- /dev/null +++ b/mob/living/basic/demon/pulse_demon.html @@ -0,0 +1 @@ +/mob/living/basic/demon/pulse_demon - Space Station 13
Space Station 13 - Modules - TypesVar Details

pulse_demon

Conversion ratio from Watt ticks to joules.

Vars

apc_being_hijackedReference to the APC currently being hijacked.
apc_imagesImages of APCs currently being shown on the client.
apcs_remainingCurrent APC amount for use as upgrade currency
bot_movedelayDelay tracker for movement inside bots.
cable_imagesImages of cables currently being shown on the client.
can_exit_cableControls whether the demon can move outside of cables. Toggled by a spell.
chargeCurrent quantity of energy the demon currently holds (Joules), spent while purchasing, upgrading or using spells or upgrades. Use adjust_charge to modify this.
charge_drainedBook keeping for objective win conditions (Joules).
controlling_areaArea being controlled, should be maintained as long as the demon does not move outside a container (APC, object, robot, bot).
current_botInhabited bot, only maintained while inside the bot.
current_cableInhabited cable, only maintained while on top of the cable.
current_powerInhabited power source, maintained while inside, or while inside its area if it is an APC.
current_robotInhabited cyborg, only maintained while inside the cyborg.
current_weaponInhabited item, only items which can be used in rechargers can be hijacked. Only maintained while inside the item.
do_drainControls whether the demon will drain power from sources. Toggled by a spell.
emp_debounceTracking to prevent multiple EMPs in the same tick from instakilling a demon.
glow_colorThe color of light the demon emits. The range of the light is proportional to energy stored.
health_loss_rateAmount of health lost per Life tick when the power requirement was not met.
health_regen_rateAmount of health regenerated per Life tick when the power requirement was met.
hijack_timeThe time it takes to hijack APCs and cyborgs.
hijacked_apcsList of all previously hijacked APCs.
hijacked_robotsA cyborg that has already been hijacked can be re-entered instantly.
hurt_soundsList of sounds that is picked from when the demon dies or is EMP'd.
inside_cable_speedSpeed used while moving inside cables.
max_drain_rateMaximum value for power_drain_rate based on upgrades. (Watts)
maxchargeMaximum quantity of energy the demon can hold at once (Joules).
outside_cable_speedSpeed used while moving outside cables. Can be upgraded.
power_drain_rateAmount of power (Watts) to drain from power sources every Life tick.
power_per_regenAmount of power (Watts) required to regenerate health.
regen_lockLock health regeneration while this is not 0, decreases by 1 every Life tick.
speech_soundsList of sounds that is picked from when the demon speaks.
strong_shocksDoes the pulse demon attempt to use internal power to bypass shock immunity

Var Details

apc_being_hijacked

Reference to the APC currently being hijacked.

apc_images

Images of APCs currently being shown on the client.

apcs_remaining

Current APC amount for use as upgrade currency

bot_movedelay

Delay tracker for movement inside bots.

cable_images

Images of cables currently being shown on the client.

can_exit_cable

Controls whether the demon can move outside of cables. Toggled by a spell.

charge

Current quantity of energy the demon currently holds (Joules), spent while purchasing, upgrading or using spells or upgrades. Use adjust_charge to modify this.

charge_drained

Book keeping for objective win conditions (Joules).

controlling_area

Area being controlled, should be maintained as long as the demon does not move outside a container (APC, object, robot, bot).

current_bot

Inhabited bot, only maintained while inside the bot.

current_cable

Inhabited cable, only maintained while on top of the cable.

current_power

Inhabited power source, maintained while inside, or while inside its area if it is an APC.

current_robot

Inhabited cyborg, only maintained while inside the cyborg.

current_weapon

Inhabited item, only items which can be used in rechargers can be hijacked. Only maintained while inside the item.

do_drain

Controls whether the demon will drain power from sources. Toggled by a spell.

emp_debounce

Tracking to prevent multiple EMPs in the same tick from instakilling a demon.

glow_color

The color of light the demon emits. The range of the light is proportional to energy stored.

health_loss_rate

Amount of health lost per Life tick when the power requirement was not met.

health_regen_rate

Amount of health regenerated per Life tick when the power requirement was met.

hijack_time

The time it takes to hijack APCs and cyborgs.

hijacked_apcs

List of all previously hijacked APCs.

hijacked_robots

A cyborg that has already been hijacked can be re-entered instantly.

hurt_sounds

List of sounds that is picked from when the demon dies or is EMP'd.

inside_cable_speed

Speed used while moving inside cables.

max_drain_rate

Maximum value for power_drain_rate based on upgrades. (Watts)

maxcharge

Maximum quantity of energy the demon can hold at once (Joules).

outside_cable_speed

Speed used while moving outside cables. Can be upgraded.

power_drain_rate

Amount of power (Watts) to drain from power sources every Life tick.

power_per_regen

Amount of power (Watts) required to regenerate health.

regen_lock

Lock health regeneration while this is not 0, decreases by 1 every Life tick.

speech_sounds

List of sounds that is picked from when the demon speaks.

strong_shocks

Does the pulse demon attempt to use internal power to bypass shock immunity

\ No newline at end of file diff --git a/mob/living/basic/demon/shadow.html b/mob/living/basic/demon/shadow.html new file mode 100644 index 00000000000..c0848e53527 --- /dev/null +++ b/mob/living/basic/demon/shadow.html @@ -0,0 +1 @@ +/mob/living/basic/demon/shadow - Space Station 13
Space Station 13 - Modules - TypesVar Details

shadow

Vars

block_shadow_crawlShould only be TRUE if we're shooting the Shadow Grapple right now. If its TRUE, the demon wont be able to shadow crawl.
last_block_shadow_crawlUsed for fault tolerance. If you set it manually, it may fuck up shooting_grapple var.

Var Details

block_shadow_crawl

Should only be TRUE if we're shooting the Shadow Grapple right now. If its TRUE, the demon wont be able to shadow crawl.

last_block_shadow_crawl

Used for fault tolerance. If you set it manually, it may fuck up shooting_grapple var.

\ No newline at end of file diff --git a/mob/living/basic/diona_nymph.html b/mob/living/basic/diona_nymph.html new file mode 100644 index 00000000000..24b977cb341 --- /dev/null +++ b/mob/living/basic/diona_nymph.html @@ -0,0 +1 @@ +/mob/living/basic/diona_nymph - Space Station 13
Space Station 13 - Modules - TypesVar Details

diona_nymph

Vars

awareness_donorsAmount of blood donors needed for understand language
ediblesList of stuff (mice) that we want to eat
evolve_donorsAmount of blood donors needed to evolve
nutrition_needAmount of nutrition needed before evolving

Var Details

awareness_donors

Amount of blood donors needed for understand language

edibles

List of stuff (mice) that we want to eat

evolve_donors

Amount of blood donors needed to evolve

nutrition_need

Amount of nutrition needed before evolving

\ No newline at end of file diff --git a/mob/living/basic/giant_spider.html b/mob/living/basic/giant_spider.html new file mode 100644 index 00000000000..54404bce73d --- /dev/null +++ b/mob/living/basic/giant_spider.html @@ -0,0 +1 @@ +/mob/living/basic/giant_spider - Space Station 13
Space Station 13 - Modules - TypesVar Details

giant_spider

Vars

innate_actionsActions to grant on Initialize
venom_per_biteHow much venom is injected per bite into the poor victim

Var Details

innate_actions

Actions to grant on Initialize

venom_per_bite

How much venom is injected per bite into the poor victim

\ No newline at end of file diff --git a/mob/living/basic/giant_spider/hunter/infestation_spider.html b/mob/living/basic/giant_spider/hunter/infestation_spider.html new file mode 100644 index 00000000000..059b47702e9 --- /dev/null +++ b/mob/living/basic/giant_spider/hunter/infestation_spider.html @@ -0,0 +1 @@ +/mob/living/basic/giant_spider/hunter/infestation_spider - Space Station 13
Space Station 13 - Modules - TypesVar Details

infestation_spider

Child of giant_spider because this should do everything the spider does and more

Vars

current_orderHandles the spider's behavior
gibbedTo check and gib the spider when dead, then remove only one of the counter for the changeling owner
owner_UIDReferences to the owner changeling

Var Details

current_order

Handles the spider's behavior

gibbed

To check and gib the spider when dead, then remove only one of the counter for the changeling owner

owner_UID

References to the owner changeling

\ No newline at end of file diff --git a/mob/living/basic/giant_spider/nurse.html b/mob/living/basic/giant_spider/nurse.html new file mode 100644 index 00000000000..5ff4e82b0e4 --- /dev/null +++ b/mob/living/basic/giant_spider/nurse.html @@ -0,0 +1 @@ +/mob/living/basic/giant_spider/nurse - Space Station 13
Space Station 13 - Modules - TypesVar Details

nurse

Vars

fedHow much have we eaten

Var Details

fed

How much have we eaten

\ No newline at end of file diff --git a/mob/living/basic/goat.html b/mob/living/basic/goat.html new file mode 100644 index 00000000000..d318477ff63 --- /dev/null +++ b/mob/living/basic/goat.html @@ -0,0 +1 @@ +/mob/living/basic/goat - Space Station 13
Space Station 13 - Modules - TypesVar Details

goat

Vars

ediblesWhat can the goat eat?
udderThe goat's udder

Var Details

edibles

What can the goat eat?

udder

The goat's udder

\ No newline at end of file diff --git a/mob/living/basic/gorilla.html b/mob/living/basic/gorilla.html new file mode 100644 index 00000000000..6a3a43926c2 --- /dev/null +++ b/mob/living/basic/gorilla.html @@ -0,0 +1 @@ +/mob/living/basic/gorilla - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

gorilla

Vars

carriable_cacheTypecache of all the types we can pick up and carry
crate_limitThe max number of crates we can carry
crates_in_handA lazylist of all crates we are carrying
dismember_chanceChance to dismember while unconcious
is_bipedalIs the gorilla stood up or not?
stamina_damageAmount of stamina lost on a successful hit
throw_onhitChance of doing the throw or stamina damage, along with the flat damage amount

Procs

drop_all_cratesDrops all the crates in our crate list.
drop_random_crateDrops one random crates from our crate list.
get_target_bodypartsReturns null when the target is not an unconscious carbon mob; a list of limbs (possibly empty) otherwise.

Var Details

carriable_cache

Typecache of all the types we can pick up and carry

crate_limit

The max number of crates we can carry

crates_in_hand

A lazylist of all crates we are carrying

dismember_chance

Chance to dismember while unconcious

is_bipedal

Is the gorilla stood up or not?

stamina_damage

Amount of stamina lost on a successful hit

throw_onhit

Chance of doing the throw or stamina damage, along with the flat damage amount

Proc Details

drop_all_crates

Drops all the crates in our crate list.

drop_random_crate

Drops one random crates from our crate list.

get_target_bodyparts

Returns null when the target is not an unconscious carbon mob; a list of limbs (possibly empty) otherwise.

\ No newline at end of file diff --git a/mob/living/basic/gorilla/cargo_domestic.html b/mob/living/basic/gorilla/cargo_domestic.html new file mode 100644 index 00000000000..c543c1ed33b --- /dev/null +++ b/mob/living/basic/gorilla/cargo_domestic.html @@ -0,0 +1 @@ +/mob/living/basic/gorilla/cargo_domestic - Space Station 13
Space Station 13 - Modules - TypesVar Details

cargo_domestic

Vars

access_cardThe ID card that the gorilla is currently wearing.

Var Details

access_card

The ID card that the gorilla is currently wearing.

\ No newline at end of file diff --git a/mob/living/basic/hellhound.html b/mob/living/basic/hellhound.html new file mode 100644 index 00000000000..66097b145de --- /dev/null +++ b/mob/living/basic/hellhound.html @@ -0,0 +1 @@ +/mob/living/basic/hellhound - Space Station 13
Space Station 13 - Modules - TypesVar Details

hellhound

Vars

life_regen_amountHow much is healed when regenerating
life_regen_cycle_triggerTrigger number for health regen
life_regen_cyclesHow many cycles has the hellhound rested
smoke_freqHow often can the hellhound use smoke
smoke_lastuseWhen did the hellhound last use smoke

Var Details

life_regen_amount

How much is healed when regenerating

life_regen_cycle_trigger

Trigger number for health regen

life_regen_cycles

How many cycles has the hellhound rested

smoke_freq

How often can the hellhound use smoke

smoke_lastuse

When did the hellhound last use smoke

\ No newline at end of file diff --git a/mob/living/basic/heretic_summon.html b/mob/living/basic/heretic_summon.html new file mode 100644 index 00000000000..1cf23322777 --- /dev/null +++ b/mob/living/basic/heretic_summon.html @@ -0,0 +1 @@ +/mob/living/basic/heretic_summon - Space Station 13
Space Station 13 - Modules - TypesVar Details

heretic_summon

Vars

actions_to_addInnate spells that are added when a beast is created.

Var Details

actions_to_add

Innate spells that are added when a beast is created.

\ No newline at end of file diff --git a/mob/living/basic/heretic_summon/armsy.html b/mob/living/basic/heretic_summon/armsy.html new file mode 100644 index 00000000000..cb25d8c5836 --- /dev/null +++ b/mob/living/basic/heretic_summon/armsy.html @@ -0,0 +1 @@ +/mob/living/basic/heretic_summon/armsy - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

armsy

The "Terror of the Night" / Armsy, a large worm made of multiple bodyparts that occupies multiple tiles

Vars

allow_pullingAllow / disallow pulling
backsyPrevious segment in the chain
current_stacksCurrently eaten arms
followDoes this follow other pieces?
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 every body in the chain to force move onto a single tile.
update_chain_linksUpdates the next mob in the chain to move to our last location. Fixes the chain if somehow broken.

Var Details

allow_pulling

Allow / disallow pulling

backsy

Previous segment in the chain

current_stacks

Currently eaten arms

follow

Does this follow other pieces?

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 every body in the chain to force move onto a single tile.

Updates the next mob in the chain to move to our last location. Fixes the chain if somehow broken.

\ No newline at end of file diff --git a/mob/living/basic/heretic_summon/fire_shark.html b/mob/living/basic/heretic_summon/fire_shark.html new file mode 100644 index 00000000000..a9af1e7d264 --- /dev/null +++ b/mob/living/basic/heretic_summon/fire_shark.html @@ -0,0 +1 @@ +/mob/living/basic/heretic_summon/fire_shark - Space Station 13
Space Station 13 - Modules - TypesVar Details

fire_shark

Vars

phlog_per_biteHow much Phlog should we inject per bite?

Var Details

phlog_per_bite

How much Phlog should we inject per bite?

\ No newline at end of file diff --git a/mob/living/basic/heretic_summon/maid_in_the_mirror.html b/mob/living/basic/heretic_summon/maid_in_the_mirror.html new file mode 100644 index 00000000000..d313cb390e6 --- /dev/null +++ b/mob/living/basic/heretic_summon/maid_in_the_mirror.html @@ -0,0 +1 @@ +/mob/living/basic/heretic_summon/maid_in_the_mirror - Space Station 13
Space Station 13 - Modules - TypesVar Details

maid_in_the_mirror

Vars

recent_examine_damage_cooldownThe cooldown after being examined that the same mob cannot trigger it again
recent_examiner_refsA list of uids to people who recently examined us
weak_on_examineWhether we take damage when we're examined

Var Details

recent_examine_damage_cooldown

The cooldown after being examined that the same mob cannot trigger it again

recent_examiner_refs

A list of uids to people who recently examined us

weak_on_examine

Whether we take damage when we're examined

\ No newline at end of file diff --git a/mob/living/basic/heretic_summon/raw_prophet.html b/mob/living/basic/heretic_summon/raw_prophet.html new file mode 100644 index 00000000000..1bb2362bce8 --- /dev/null +++ b/mob/living/basic/heretic_summon/raw_prophet.html @@ -0,0 +1 @@ +/mob/living/basic/heretic_summon/raw_prophet - Space Station 13
Space Station 13 - Modules - TypesVar Details

raw_prophet

Vars

last_targetThe UID to the last target we smacked. Hitting targets consecutively does more damage.

Var Details

last_target

The UID to the last target we smacked. Hitting targets consecutively does more damage.

\ No newline at end of file diff --git a/mob/living/basic/heretic_summon/star_gazer.html b/mob/living/basic/heretic_summon/star_gazer.html new file mode 100644 index 00000000000..04e3677a8f7 --- /dev/null +++ b/mob/living/basic/heretic_summon/star_gazer.html @@ -0,0 +1 @@ +/mob/living/basic/heretic_summon/star_gazer - Space Station 13
Space Station 13 - Modules - TypesVar Details

star_gazer

Vars

pet_commandsThe commands our summoner can give us

Var Details

pet_commands

The commands our summoner can give us

\ No newline at end of file diff --git a/mob/living/basic/hivebot/tele.html b/mob/living/basic/hivebot/tele.html new file mode 100644 index 00000000000..8b1af05c9f2 --- /dev/null +++ b/mob/living/basic/hivebot/tele.html @@ -0,0 +1 @@ +/mob/living/basic/hivebot/tele - Space Station 13
Space Station 13 - Modules - TypesVar Details

tele

Vars

bot_amtThe total number of hivebots to spawn

Var Details

bot_amt

The total number of hivebots to spawn

\ No newline at end of file diff --git a/mob/living/basic/hostile_mech.html b/mob/living/basic/hostile_mech.html new file mode 100644 index 00000000000..b9af0f7f0ac --- /dev/null +++ b/mob/living/basic/hostile_mech.html @@ -0,0 +1 @@ +/mob/living/basic/hostile_mech - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

hostile_mech

Vars

can_moveTime until next move
deflect_chanceChance the mech bounces a hit
innate_actionsActions to grant on Initialize
mech_punchDoes the mech use a punch?
step_inAmount of time to add on move
weapon_typesWeapon types the mech has

Procs

cycle_weaponProc used for switching weapons

Var Details

can_move

Time until next move

deflect_chance

Chance the mech bounces a hit

innate_actions

Actions to grant on Initialize

mech_punch

Does the mech use a punch?

step_in

Amount of time to add on move

weapon_types

Weapon types the mech has

Proc Details

cycle_weapon

Proc used for switching weapons

\ No newline at end of file diff --git a/mob/living/basic/isopod.html b/mob/living/basic/isopod.html new file mode 100644 index 00000000000..9714b931160 --- /dev/null +++ b/mob/living/basic/isopod.html @@ -0,0 +1 @@ +/mob/living/basic/isopod - Space Station 13
Space Station 13 - Modules - TypesVar Details

isopod

Vars

ediblesList of stuff that we want to eat
max_nutritionMax the bug can eat

Var Details

edibles

List of stuff that we want to eat

max_nutrition

Max the bug can eat

\ No newline at end of file diff --git a/mob/living/basic/lizard.html b/mob/living/basic/lizard.html new file mode 100644 index 00000000000..dab2ac48b96 --- /dev/null +++ b/mob/living/basic/lizard.html @@ -0,0 +1 @@ +/mob/living/basic/lizard - Space Station 13
Space Station 13 - Modules - TypesVar Details

lizard

Vars

ediblesList of stuff that we want to eat
has_tailLizards start with a tail

Var Details

edibles

List of stuff that we want to eat

has_tail

Lizards start with a tail

\ No newline at end of file diff --git a/mob/living/basic/malf_drone.html b/mob/living/basic/malf_drone.html new file mode 100644 index 00000000000..05631ea14fb --- /dev/null +++ b/mob/living/basic/malf_drone.html @@ -0,0 +1 @@ +/mob/living/basic/malf_drone - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

malf_drone

Vars

passiveIs the drone passive?

Procs

advanced_bullet_dodgeWe overide the basic effect, as malfunctioning drones are in space, and use jets to dodge. Also lets us do cool effects.

Var Details

passive

Is the drone passive?

Proc Details

advanced_bullet_dodge

We overide the basic effect, as malfunctioning drones are in space, and use jets to dodge. Also lets us do cool effects.

\ No newline at end of file diff --git a/mob/living/basic/megafauna.html b/mob/living/basic/megafauna.html new file mode 100644 index 00000000000..c46447842e4 --- /dev/null +++ b/mob/living/basic/megafauna.html @@ -0,0 +1 @@ +/mob/living/basic/megafauna - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

megafauna

Vars

crusher_lootThe loot the mob should drop if killed with a crusher
difficulty_ore_modifierHow much ore should killing this give
eliminationIs the mob truly dead?
enragedHas someone enabled hard mode?
enraged_lootPath of the hardmode loot disk, if applicable.
innate_actionsActions to grant on Initialize
internal_gpsThe mob's internal GPS, if it has one
medal_typeThe type of medal it drops if on hard mode
score_typeThe type of boss for the medal it drops
true_spawnIf this is a megafauna that should grant achievements, or have a gps signal

Procs

calc_ore_rewardHandling the ore part of the mega reward, the higher the difficulty_ore_modifier the more ore will spawn
enrageThis proc is called by the HRD-MDE grenade to enrage the megafauna. This should increase the megafaunas attack speed if possible, give it new moves, or disable weak moves. This should be reverseable, and reverses on zlvl change.
generate_random_lootIf the megafauna has a pool of random loot items to pick from, override this proc to have it be set on initialization

Var Details

crusher_loot

The loot the mob should drop if killed with a crusher

difficulty_ore_modifier

How much ore should killing this give

elimination

Is the mob truly dead?

enraged

Has someone enabled hard mode?

enraged_loot

Path of the hardmode loot disk, if applicable.

innate_actions

Actions to grant on Initialize

internal_gps

The mob's internal GPS, if it has one

medal_type

The type of medal it drops if on hard mode

score_type

The type of boss for the medal it drops

true_spawn

If this is a megafauna that should grant achievements, or have a gps signal

Proc Details

calc_ore_reward

Handling the ore part of the mega reward, the higher the difficulty_ore_modifier the more ore will spawn

enrage

This proc is called by the HRD-MDE grenade to enrage the megafauna. This should increase the megafaunas attack speed if possible, give it new moves, or disable weak moves. This should be reverseable, and reverses on zlvl change.

generate_random_loot

If the megafauna has a pool of random loot items to pick from, override this proc to have it be set on initialization

\ No newline at end of file diff --git a/mob/living/basic/megafauna/bluespace_horror.html b/mob/living/basic/megafauna/bluespace_horror.html new file mode 100644 index 00000000000..7ea38598f1e --- /dev/null +++ b/mob/living/basic/megafauna/bluespace_horror.html @@ -0,0 +1 @@ +/mob/living/basic/megafauna/bluespace_horror - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

bluespace_horror

Vars

final_burstDid we do the big attack?

Procs

instability_correctionWHen hitting a mob five times, does something random
shoot_projectileProc used for various powers and spells

Var Details

final_burst

Did we do the big attack?

Proc Details

instability_correction

WHen hitting a mob five times, does something random

shoot_projectile

Proc used for various powers and spells

\ No newline at end of file diff --git a/mob/living/basic/megafauna/kidan_princess.html b/mob/living/basic/megafauna/kidan_princess.html new file mode 100644 index 00000000000..8ea6e8035f7 --- /dev/null +++ b/mob/living/basic/megafauna/kidan_princess.html @@ -0,0 +1 @@ +/mob/living/basic/megafauna/kidan_princess - Space Station 13
Space Station 13 - Modules - TypesVar Details

kidan_princess

Vars

martial_rushingIs our martial rush active
ruin_bossIs this mob associated with a ruin

Var Details

martial_rushing

Is our martial rush active

ruin_boss

Is this mob associated with a ruin

\ No newline at end of file diff --git a/mob/living/basic/megafauna/space_whale.html b/mob/living/basic/megafauna/space_whale.html new file mode 100644 index 00000000000..99f8f90b19b --- /dev/null +++ b/mob/living/basic/megafauna/space_whale.html @@ -0,0 +1 @@ +/mob/living/basic/megafauna/space_whale - Space Station 13
Space Station 13 - Modules - TypesVar Details

space_whale

Vars

ediblesList of stuff (space fish) that we want to eat

Var Details

edibles

List of stuff (space fish) that we want to eat

\ No newline at end of file diff --git a/mob/living/basic/megafauna/vox_armalis.html b/mob/living/basic/megafauna/vox_armalis.html new file mode 100644 index 00000000000..ae98b586954 --- /dev/null +++ b/mob/living/basic/megafauna/vox_armalis.html @@ -0,0 +1 @@ +/mob/living/basic/megafauna/vox_armalis - Space Station 13
Space Station 13 - Modules - TypesVar Details

vox_armalis

Vars

do_death_explosionDo we explode on death?
plasma_clawsAre the claws on

Var Details

do_death_explosion

Do we explode on death?

plasma_claws

Are the claws on

\ No newline at end of file diff --git a/mob/living/basic/mimic.html b/mob/living/basic/mimic.html new file mode 100644 index 00000000000..707959ad491 --- /dev/null +++ b/mob/living/basic/mimic.html @@ -0,0 +1 @@ +/mob/living/basic/mimic - Space Station 13
Space Station 13 - Modules - TypesVar Details

mimic

Vars

is_electronicUsed for if the mob should be affected by EMPs or ions

Var Details

is_electronic

Used for if the mob should be affected by EMPs or ions

\ No newline at end of file diff --git a/mob/living/basic/mimic/copy.html b/mob/living/basic/mimic/copy.html new file mode 100644 index 00000000000..9cc89dedfbb --- /dev/null +++ b/mob/living/basic/mimic/copy.html @@ -0,0 +1 @@ +/mob/living/basic/mimic/copy - Space Station 13
Space Station 13 - Modules - TypesVar Details

copy

Vars

creatorThe mob that created the copy
googly_eyesThe image of the googly eyes we use
knockdown_peopleDoes this mob knock people down?

Var Details

creator

The mob that created the copy

googly_eyes

The image of the googly eyes we use

knockdown_people

Does this mob knock people down?

\ No newline at end of file diff --git a/mob/living/basic/mimic/copy/ranged.html b/mob/living/basic/mimic/copy/ranged.html new file mode 100644 index 00000000000..5a51000a7bd --- /dev/null +++ b/mob/living/basic/mimic/copy/ranged.html @@ -0,0 +1 @@ +/mob/living/basic/mimic/copy/ranged - Space Station 13
Space Station 13 - Modules - TypesVar Details

ranged

Vars

our_gunOur gun object

Var Details

our_gun

Our gun object

\ No newline at end of file diff --git a/mob/living/basic/mimic/copy/vendor.html b/mob/living/basic/mimic/copy/vendor.html new file mode 100644 index 00000000000..194255a207c --- /dev/null +++ b/mob/living/basic/mimic/copy/vendor.html @@ -0,0 +1 @@ +/mob/living/basic/mimic/copy/vendor - Space Station 13
Space Station 13 - Modules - TypesVar Details

vendor

Vars

orig_vendorThe vendor we were turned from.

Var Details

orig_vendor

The vendor we were turned from.

\ No newline at end of file diff --git a/mob/living/basic/mimic/crate.html b/mob/living/basic/mimic/crate.html new file mode 100644 index 00000000000..1eaa0cb35b1 --- /dev/null +++ b/mob/living/basic/mimic/crate.html @@ -0,0 +1 @@ +/mob/living/basic/mimic/crate - Space Station 13
Space Station 13 - Modules - TypesVar Details

crate

Vars

attempt_openHas the crate mimic been opened?

Var Details

attempt_open

Has the crate mimic been opened?

\ No newline at end of file diff --git a/mob/living/basic/mining.html b/mob/living/basic/mining.html new file mode 100644 index 00000000000..e7dcd1586f4 --- /dev/null +++ b/mob/living/basic/mining.html @@ -0,0 +1 @@ +/mob/living/basic/mining - Space Station 13
Space Station 13 - Modules - TypesVar Details

mining

Vars

crusher_drop_modWhat is the chance the mob drops it if all their health was taken by crusher attacks
crusher_lootSpecial loot drops for crushers
has_laser_resistIf we want the mob to have 66% resist from burn damage projectiles
icon_aggroAlternate icon for mobs that are angry
throw_blocked_messageMessage to output if throwing damage is absorbed

Var Details

crusher_drop_mod

What is the chance the mob drops it if all their health was taken by crusher attacks

crusher_loot

Special loot drops for crushers

has_laser_resist

If we want the mob to have 66% resist from burn damage projectiles

icon_aggro

Alternate icon for mobs that are angry

throw_blocked_message

Message to output if throwing damage is absorbed

\ No newline at end of file diff --git a/mob/living/basic/mining/ash_whelp.html b/mob/living/basic/mining/ash_whelp.html new file mode 100644 index 00000000000..587ffa04091 --- /dev/null +++ b/mob/living/basic/mining/ash_whelp.html @@ -0,0 +1 @@ +/mob/living/basic/mining/ash_whelp - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ash_whelp

Vars

heal_on_cannibalizeHow much we will heal when consuming a target

Procs

cannibalize_victimGib and consume our fellow ash drakes
create_sculptureCarve a stone into a beautiful self-portrait

Var Details

heal_on_cannibalize

How much we will heal when consuming a target

Proc Details

cannibalize_victim

Gib and consume our fellow ash drakes

create_sculpture

Carve a stone into a beautiful self-portrait

\ No newline at end of file diff --git a/mob/living/basic/mining/goldgrub.html b/mob/living/basic/mining/goldgrub.html new file mode 100644 index 00000000000..9dc55221fcb --- /dev/null +++ b/mob/living/basic/mining/goldgrub.html @@ -0,0 +1 @@ +/mob/living/basic/mining/goldgrub - Space Station 13
Space Station 13 - Modules - TypesVar Details

goldgrub

An ore-devouring but easily scared creature

Vars

food_typesHungry hungry goldgrubs
will_burrowDoes this creature burrow?

Var Details

food_types

Hungry hungry goldgrubs

will_burrow

Does this creature burrow?

\ No newline at end of file diff --git a/mob/living/basic/mining/goliath.html b/mob/living/basic/mining/goliath.html new file mode 100644 index 00000000000..4e1557d15ea --- /dev/null +++ b/mob/living/basic/mining/goliath.html @@ -0,0 +1 @@ +/mob/living/basic/mining/goliath - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

goliath

A slow but strong beast that tries to stun using its tentacles.

Vars

ability_animation_cooldownSlight cooldown to prevent double-dipping if we use both abilities at once
goliath_foodsThings we want to eat off the floor (or a plate, we're not picky)
tentacle_warning_stateIcon state to use when tentacles are available
tentaclesOur base tentacles ability

Procs

tentacles_readyCalled slightly before tentacles ability comes off cooldown, as a warning
used_abilityWhen we use an ability, activate some kind of visual tell

Var Details

ability_animation_cooldown

Slight cooldown to prevent double-dipping if we use both abilities at once

goliath_foods

Things we want to eat off the floor (or a plate, we're not picky)

tentacle_warning_state

Icon state to use when tentacles are available

tentacles

Our base tentacles ability

Proc Details

tentacles_ready

Called slightly before tentacles ability comes off cooldown, as a warning

used_ability

When we use an ability, activate some kind of visual tell

\ No newline at end of file diff --git a/mob/living/basic/mining/goliath/ancient.html b/mob/living/basic/mining/goliath/ancient.html new file mode 100644 index 00000000000..f167c825cdf --- /dev/null +++ b/mob/living/basic/mining/goliath/ancient.html @@ -0,0 +1 @@ +/mob/living/basic/mining/goliath/ancient - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ancient

Vars

retarget_turfs_cooldownDon't re-check nearby turfs for this long
tentacle_target_turfsList of places we might spawn a tentacle, if we're alive

Procs

cache_nearby_turfsStore nearby turfs in our list so we can pop them out later

Var Details

retarget_turfs_cooldown

Don't re-check nearby turfs for this long

tentacle_target_turfs

List of places we might spawn a tentacle, if we're alive

Proc Details

cache_nearby_turfs

Store nearby turfs in our list so we can pop them out later

\ No newline at end of file diff --git a/mob/living/basic/mining/gutlunch.html b/mob/living/basic/mining/gutlunch.html new file mode 100644 index 00000000000..577d8c41290 --- /dev/null +++ b/mob/living/basic/mining/gutlunch.html @@ -0,0 +1 @@ +/mob/living/basic/mining/gutlunch - Space Station 13
Space Station 13 - Modules - TypesVar Details

gutlunch

Gutlunches, passive mods that devour blood and gibs

Vars

can_breedcan we breed?

Var Details

can_breed

can we breed?

\ No newline at end of file diff --git a/mob/living/basic/mining/hivelordbrood.html b/mob/living/basic/mining/hivelordbrood.html new file mode 100644 index 00000000000..025e543558e --- /dev/null +++ b/mob/living/basic/mining/hivelordbrood.html @@ -0,0 +1 @@ +/mob/living/basic/mining/hivelordbrood - Space Station 13
Space Station 13 - Modules - TypesVar Details

hivelordbrood

Vars

advanced_legionAre we an advanced legion skull used in hardmode legion? Ignore the attack rules.

Var Details

advanced_legion

Are we an advanced legion skull used in hardmode legion? Ignore the attack rules.

\ No newline at end of file diff --git a/mob/living/basic/mining_drone.html b/mob/living/basic/mining_drone.html new file mode 100644 index 00000000000..03a049d1c68 --- /dev/null +++ b/mob/living/basic/mining_drone.html @@ -0,0 +1 @@ +/mob/living/basic/mining_drone - Space Station 13
Space Station 13 - Modules - TypesVar Details

mining_drone

Vars

pet_commandsThe commands our owner can give us

Var Details

pet_commands

The commands our owner can give us

\ No newline at end of file diff --git a/mob/living/basic/mouse.html b/mob/living/basic/mouse.html new file mode 100644 index 00000000000..3ceef39ecac --- /dev/null +++ b/mob/living/basic/mouse.html @@ -0,0 +1 @@ +/mob/living/basic/mouse - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mouse

Vars

cable_zap_probProbability that, if we successfully bite a shocked cable, that we will die to it.
food_typesFood types that mice eat

Procs

on_enteredSignal proc for COMSIG_ATOM_ENTERED. Sends a lil' squeak to chat when someone walks over us.
tamedCalled when a mouse is hand-fed some cheese, it will stop being afraid of humans
try_bite_cableBiting into a cable will cause a mouse to get shocked and die if applicable. Or do nothing if they're lucky.

Var Details

cable_zap_prob

Probability that, if we successfully bite a shocked cable, that we will die to it.

food_types

Food types that mice eat

Proc Details

on_entered

Signal proc for COMSIG_ATOM_ENTERED. Sends a lil' squeak to chat when someone walks over us.

tamed

Called when a mouse is hand-fed some cheese, it will stop being afraid of humans

try_bite_cable

Biting into a cable will cause a mouse to get shocked and die if applicable. Or do nothing if they're lucky.

\ No newline at end of file diff --git a/mob/living/basic/netherworld/blankbody.html b/mob/living/basic/netherworld/blankbody.html new file mode 100644 index 00000000000..1f0ed2c5058 --- /dev/null +++ b/mob/living/basic/netherworld/blankbody.html @@ -0,0 +1 @@ +/mob/living/basic/netherworld/blankbody - Space Station 13
Space Station 13 - Modules - TypesVar Details

blankbody

Vars

held_bodyThe body/brain of the player turned into a blank, if the blank was turned
is_original_mobThe held body's player is in control of the blank

Var Details

held_body

The body/brain of the player turned into a blank, if the blank was turned

is_original_mob

The held body's player is in control of the blank

\ No newline at end of file diff --git a/mob/living/basic/netherworld/migo.html b/mob/living/basic/netherworld/migo.html new file mode 100644 index 00000000000..6f2edfcc0f2 --- /dev/null +++ b/mob/living/basic/netherworld/migo.html @@ -0,0 +1 @@ +/mob/living/basic/netherworld/migo - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

migo

Vars

dodge_probWill the migo dodge?

Procs

update_dodge_chanceMakes the migo more likely to dodge around the more damaged it is

Var Details

dodge_prob

Will the migo dodge?

Proc Details

update_dodge_chance

Makes the migo more likely to dodge around the more damaged it is

\ No newline at end of file diff --git a/mob/living/basic/nian_caterpillar.html b/mob/living/basic/nian_caterpillar.html new file mode 100644 index 00000000000..1bfd3cda74a --- /dev/null +++ b/mob/living/basic/nian_caterpillar.html @@ -0,0 +1 @@ +/mob/living/basic/nian_caterpillar - Space Station 13
Space Station 13 - Modules - TypesVar Details

nian_caterpillar

Vars

ediblesList of stuff that we want to eat
nutrition_needThe amount of nutrition the nian caterpillar needs to evolve, default is 500.

Var Details

edibles

List of stuff that we want to eat

nutrition_need

The amount of nutrition the nian caterpillar needs to evolve, default is 500.

\ No newline at end of file diff --git a/mob/living/basic/possessed_object.html b/mob/living/basic/possessed_object.html new file mode 100644 index 00000000000..6647cb4ec32 --- /dev/null +++ b/mob/living/basic/possessed_object.html @@ -0,0 +1 @@ +/mob/living/basic/possessed_object - Space Station 13
Space Station 13 - Modules - TypesVar Details

possessed_object

Vars

escape_chanceThe probability % of us escaping if stuffed into a bag/toolbox/etc
possessed_itemWhat is the actual item we are "possessing"
revenant_possessedIs this item possessed by a revenant?

Var Details

escape_chance

The probability % of us escaping if stuffed into a bag/toolbox/etc

possessed_item

What is the actual item we are "possessing"

revenant_possessed

Is this item possessed by a revenant?

\ No newline at end of file diff --git a/mob/living/basic/revenant.html b/mob/living/basic/revenant.html new file mode 100644 index 00000000000..756ac2f6d6d --- /dev/null +++ b/mob/living/basic/revenant.html @@ -0,0 +1 @@ +/mob/living/basic/revenant - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

revenant

Vars

drained_mobscontains a list of UIDs of mobs who have been drained. cannot drain the same mob twice.
drainingIf the revenant is draining someone.
dyingAre we currently dying? extra check against becomming incorporeal
essenceThe resource of revenants. Max health is equal to three times this amount
essence_accumulatedHow much essence the revenant has stolen
essence_drainedHow much essence the revenant has drained.
essence_regen_amountHow much essence regenerates
essence_regen_capThe regeneration cap of essence (go figure); regenerates every Life() tick up to this amount.
essence_regeneratingIf the revenant regenerates essence or not; 1 for yes, 0 for no
icon_drainThe revant's icon while draining mobs
icon_idleThe revenant's idle icon
icon_revealThe revenant's revealed icon
icon_stunThe revenant's stunned icon
inhibitedIf the revenant's abilities are blocked by a chaplain's power.
perfectsoulsHow many perfect, regen-cap increasing souls the revenant has.
revealedIf the revenant can take damage from normal sources.
unreveal_timeHow long the revenant is revealed for, is about 2 seconds times this var.
unstun_timeHow long the revenant is stunned for, is about 2 seconds times this var.

Procs

ClickOnHarvest

Var Details

drained_mobs

contains a list of UIDs of mobs who have been drained. cannot drain the same mob twice.

draining

If the revenant is draining someone.

dying

Are we currently dying? extra check against becomming incorporeal

essence

The resource of revenants. Max health is equal to three times this amount

essence_accumulated

How much essence the revenant has stolen

essence_drained

How much essence the revenant has drained.

essence_regen_amount

How much essence regenerates

essence_regen_cap

The regeneration cap of essence (go figure); regenerates every Life() tick up to this amount.

essence_regenerating

If the revenant regenerates essence or not; 1 for yes, 0 for no

icon_drain

The revant's icon while draining mobs

icon_idle

The revenant's idle icon

icon_reveal

The revenant's revealed icon

icon_stun

The revenant's stunned icon

inhibited

If the revenant's abilities are blocked by a chaplain's power.

perfectsouls

How many perfect, regen-cap increasing souls the revenant has.

revealed

If the revenant can take damage from normal sources.

unreveal_time

How long the revenant is revealed for, is about 2 seconds times this var.

unstun_time

How long the revenant is stunned for, is about 2 seconds times this var.

Proc Details

ClickOn

Harvest

\ No newline at end of file diff --git a/mob/living/basic/skeleton/incursion/reanimator.html b/mob/living/basic/skeleton/incursion/reanimator.html new file mode 100644 index 00000000000..bb952fb040e --- /dev/null +++ b/mob/living/basic/skeleton/incursion/reanimator.html @@ -0,0 +1 @@ +/mob/living/basic/skeleton/incursion/reanimator - Space Station 13
Space Station 13 - Modules - TypesVar Details

reanimator

Vars

reanimatingAre we reanimating?
reanimator_actionsList of actions the reanimator has

Var Details

reanimating

Are we reanimating?

reanimator_actions

List of actions the reanimator has

\ No newline at end of file diff --git a/mob/living/basic/snake.html b/mob/living/basic/snake.html new file mode 100644 index 00000000000..4fef757a392 --- /dev/null +++ b/mob/living/basic/snake.html @@ -0,0 +1 @@ +/mob/living/basic/snake - Space Station 13
Space Station 13 - Modules - TypesVar Details

snake

Vars

ediblesList of stuff (mice) that we want to eat
poison_per_biteHow much poison?
poison_typeWhat poison

Var Details

edibles

List of stuff (mice) that we want to eat

poison_per_bite

How much poison?

poison_type

What poison

\ No newline at end of file diff --git a/mob/living/basic/spiderbot.html b/mob/living/basic/spiderbot.html new file mode 100644 index 00000000000..633c3a3423c --- /dev/null +++ b/mob/living/basic/spiderbot.html @@ -0,0 +1 @@ +/mob/living/basic/spiderbot - Space Station 13
Space Station 13 - Modules - TypesVar Details

spiderbot

Vars

emaggedIs it getting ready to explode?
emagged_masterWho emagged the spiderbot
mmiMMI it contains

Var Details

emagged

Is it getting ready to explode?

emagged_master

Who emagged the spiderbot

mmi

MMI it contains

\ No newline at end of file diff --git a/mob/living/basic/spiderling.html b/mob/living/basic/spiderling.html new file mode 100644 index 00000000000..c58922dc825 --- /dev/null +++ b/mob/living/basic/spiderling.html @@ -0,0 +1 @@ +/mob/living/basic/spiderling - Space Station 13
Space Station 13 - Modules - TypesVar Details

spiderling

Vars

amount_grownHow grown up is the spider?
grow_asThe mob the spiderling will grow into. null is giant spiders.
player_spidersIs the spider supposed to be player controlled?
selecting_playerAre we selecting a player?

Var Details

amount_grown

How grown up is the spider?

grow_as

The mob the spiderling will grow into. null is giant spiders.

player_spiders

Is the spider supposed to be player controlled?

selecting_player

Are we selecting a player?

\ No newline at end of file diff --git a/mob/living/basic/swarmer.html b/mob/living/basic/swarmer.html new file mode 100644 index 00000000000..696c364f751 --- /dev/null +++ b/mob/living/basic/swarmer.html @@ -0,0 +1 @@ +/mob/living/basic/swarmer - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmer

Vars

innate_actionsSwarmer actions
resource_maxMaximum possible resources a swarmer can have
resourcesResources the swarmer gains from consuming things

Var Details

innate_actions

Swarmer actions

resource_max

Maximum possible resources a swarmer can have

resources

Resources the swarmer gains from consuming things

\ No newline at end of file diff --git a/mob/living/basic/swarmer/lesser.html b/mob/living/basic/swarmer/lesser.html new file mode 100644 index 00000000000..d1339fe2700 --- /dev/null +++ b/mob/living/basic/swarmer/lesser.html @@ -0,0 +1 @@ +/mob/living/basic/swarmer/lesser - Space Station 13
Space Station 13 - Modules - TypesVar Details

lesser

Vars

progenitorOur creator

Var Details

progenitor

Our creator

\ No newline at end of file diff --git a/mob/living/carbon.html b/mob/living/carbon.html new file mode 100644 index 00000000000..8cc6426a9f0 --- /dev/null +++ b/mob/living/carbon.html @@ -0,0 +1,43 @@ +/mob/living/carbon - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

carbon

Vars

co2overloadtimeUsed to track how long CO2 has been in our system, too long and we pass out and die.
dreamingHow many dream messages we have left to send
handcuffedWhether or not the mob is handcuffed, restraints/handcuffs/ required for var/cuffed_state
headThe object stored on the head of the mob. Strangly not on the Human level
internal_organ_datumsAn associated list of strings that associate it with the organ datum, e.g. [ORGAN_DATUM_HEART] = /datum/organ/heart
last_pain_messageStores the last pain message we got. used to prevent chatspam from pain
legcuffedSame as handcuffs but for legs. Bear traps use this.
life_tickThe amount of life ticks that have processed on this mob.
next_pain_timeStores the last time we sent a pain message. used to prevent chatspam from pain
nightmareHow many nightmare messages we have left to send
poseActive emote/pose. Similar to flavor text
pulseCurrent pulse of this mob. Updated by handle_pulse on life
wear_suitThe object stored on the exosuit slot of the mob. Strangly not on the Human level
wetlevelTracks how wet the mob is. Only used for examining the mob

Procs

can_breathe_helmetReturns TRUE if an air tank compatible helmet is equipped.
can_breathe_internalsReturns TRUE if an air tank compatible mask or breathing tube is equipped.
can_breathe_maskReturns TRUE if an air tank compatible mask is equipped.
can_breathe_tubeReturns TRUE if a breathing tube is equipped.
can_feel_painWhether or not a mob can feel pain.
clear_handcuffsRemoves a carbon's handcuffs, dropping them to the ground. Calls update_handcuffed(). Unbuckles if handcuffs were necessary for the buckle (pipe buckling, etc.)
clear_legcuffsRemoves a carbon's legcuffs, dropping them to the ground. Calls update_inv_legcuffed().
clear_restraintsClears a carbon mob's handcuffs and legcuffs, dropping them to the ground.
dreamDREAMS
electrocute_actAdds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.
examine_damage_flavorAdd specific damage flavor here.
examine_extra_damage_flavorAdd any extra info which should be within the "damage" block, the big warning span.
examine_extra_general_flavorAdd some last information in before HUDs get put through.
examine_handle_individual_limbSpecial handlers for processing limbs go here, based on limb names in examine_visible_clothing.
examine_start_damage_blockAdd whatever you want to start the damage block with here.
examine_visible_clothingGet the message parts, in order, for a proper examine. +Message parts should be as follows:
examine_what_am_iIdentify what this mob in particular is.
get_covered_body_zonesReturns a list of all body_zones covered by clothing
has_virusWhether a virus worthy displaying on the HUD is present.
is_in_critMedical HUD! Basic mode needs suit sensors on. +Whether the carbon mob is currently in crit.
pat_outHandles patting out a fire on someone.
secondary_shockCalled after electrocute_act to apply secondary effects
toggle_giveToggles the /datum/click_intercept/give on or off for the src mob.
update_suit_sensorsHOOKS

Var Details

co2overloadtime

Used to track how long CO2 has been in our system, too long and we pass out and die.

dreaming

How many dream messages we have left to send

handcuffed

Whether or not the mob is handcuffed, restraints/handcuffs/ required for var/cuffed_state

head

The object stored on the head of the mob. Strangly not on the Human level

internal_organ_datums

An associated list of strings that associate it with the organ datum, e.g. [ORGAN_DATUM_HEART] = /datum/organ/heart

last_pain_message

Stores the last pain message we got. used to prevent chatspam from pain

legcuffed

Same as handcuffs but for legs. Bear traps use this.

life_tick

The amount of life ticks that have processed on this mob.

next_pain_time

Stores the last time we sent a pain message. used to prevent chatspam from pain

nightmare

How many nightmare messages we have left to send

pose

Active emote/pose. Similar to flavor text

pulse

Current pulse of this mob. Updated by handle_pulse on life

wear_suit

The object stored on the exosuit slot of the mob. Strangly not on the Human level

wetlevel

Tracks how wet the mob is. Only used for examining the mob

Proc Details

can_breathe_helmet

Returns TRUE if an air tank compatible helmet is equipped.

can_breathe_internals

Returns TRUE if an air tank compatible mask or breathing tube is equipped.

can_breathe_mask

Returns TRUE if an air tank compatible mask is equipped.

can_breathe_tube

Returns TRUE if a breathing tube is equipped.

can_feel_pain

Whether or not a mob can feel pain.

+

Returns TRUE if the mob can feel pain, FALSE otherwise

clear_handcuffs

Removes a carbon's handcuffs, dropping them to the ground. Calls update_handcuffed(). Unbuckles if handcuffs were necessary for the buckle (pipe buckling, etc.)

+

Arguments:

+ +

Returns:

+

clear_legcuffs

Removes a carbon's legcuffs, dropping them to the ground. Calls update_inv_legcuffed().

+

Arguments:

+ +

Returns:

+

clear_restraints

Clears a carbon mob's handcuffs and legcuffs, dropping them to the ground.

+

Arguments:

+ +

Returns:

+

dream

DREAMS

electrocute_act

Adds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.

examine_damage_flavor

Add specific damage flavor here.

examine_extra_damage_flavor

Add any extra info which should be within the "damage" block, the big warning span.

examine_extra_general_flavor

Add some last information in before HUDs get put through.

examine_handle_individual_limb

Special handlers for processing limbs go here, based on limb names in examine_visible_clothing.

examine_start_damage_block

Add whatever you want to start the damage block with here.

examine_visible_clothing

Get the message parts, in order, for a proper examine. +Message parts should be as follows:

+ +

Arguments represent whether to skip a certain slot when handling the message.

examine_what_am_i

Identify what this mob in particular is.

get_covered_body_zones

Returns a list of all body_zones covered by clothing

has_virus

Whether a virus worthy displaying on the HUD is present.

is_in_crit

Medical HUD! Basic mode needs suit sensors on. +Whether the carbon mob is currently in crit.

pat_out

Handles patting out a fire on someone.

+

Removes 0.5 fire stacks per pat, with a 30% chance of the user burning their hand if they don't have adequate heat resistance. +Arguments:

+

secondary_shock

Called after electrocute_act to apply secondary effects

toggle_give

Toggles the /datum/click_intercept/give on or off for the src mob.

update_suit_sensors

HOOKS

\ No newline at end of file diff --git a/mob/living/carbon/alien.html b/mob/living/carbon/alien.html new file mode 100644 index 00000000000..bccada86dbc --- /dev/null +++ b/mob/living/carbon/alien.html @@ -0,0 +1,3 @@ +/mob/living/carbon/alien - Space Station 13
Space Station 13 - Modules - TypesProc Details

alien

Procs

get_caste_organsreturns the list of type paths of the organs that we need to insert into +this particular xeno upon its creation

Proc Details

get_caste_organs

returns the list of type paths of the organs that we need to insert into +this particular xeno upon its creation

\ No newline at end of file diff --git a/mob/living/carbon/alien/humanoid/hunter.html b/mob/living/carbon/alien/humanoid/hunter.html new file mode 100644 index 00000000000..a77c1b15a63 --- /dev/null +++ b/mob/living/carbon/alien/humanoid/hunter.html @@ -0,0 +1 @@ +/mob/living/carbon/alien/humanoid/hunter - Space Station 13
Space Station 13 - Modules - TypesVar Details

hunter

Vars

on_leap_cooldownAre we on leap cooldown?

Var Details

on_leap_cooldown

Are we on leap cooldown?

\ No newline at end of file diff --git a/mob/living/carbon/human.html b/mob/living/carbon/human.html new file mode 100644 index 00000000000..291469a2291 --- /dev/null +++ b/mob/living/carbon/human.html @@ -0,0 +1,45 @@ +/mob/living/carbon/human - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

human

Vars

alpha_sourcesLazylist of sources to track what our alpha should be, alpha is set to the minimum. Use the set_alpha_tracking and get_alpha helpers.
body_typeThe body type associated with the body
bodyparts_by_namemap organ names to organs
heightPlayers' height (more fluff)
ipc_masquerade_statusCache whether or not an IPC appears human during examine to avoid needless recalculation
physiquePlayers physique (even MORE fluff)
previous_damage_appearanceStores what the body last looked like. Prevents updating the body when we don't need to
quirksList of quirk datums attached to the mob
receiving_cpr_fromUID of the person who is giving this mob CPR.
skittish_cooldownThe cooldown for jumping into a closet or crate
spinesSame as wing but with back spines
tailName of tail image in species effects icon file.
wingSame as tail but wing

Procs

RobotizeFor transforming humans into robots (cyborgs).
TogglewingsUsed to toggle whether wings are open or not
__getarmor_bodypartThis is an internal proc, returns the armor value for a particular bodypart /obj/item/organ/external. +Use getarmor() instead
add_commentHelper function to add a "comment" to a data record. Used for medical or security records.
bananatouched_harmlessLike bananatouched, but intended to be used for funny one-off scenarios which aren't meant to permanently cripple someone's round.
change_skin_toneTone must be between -185 and 220. commonly used in 1 to 220, see random_skin_tone() for species-specific values
check_eye_protcheck_eye_prot() +Returns a number between -1 to 2
check_for_missing_organsA proc that checks for any missing organs and gives you damage for not having them
check_obscured_slotsGets the obscured ITEM_SLOTs on a human
compressor_grindDefault behavior when getting ground up in a compressor
contaminate_atomTries to contaminate a human
electrocute_actCalculates the siemens coeff based on clothing and species, can also restart hearts.
get_alphaGets the target alpha of the human
get_cpr_timer_adjustmentGet the amount of time that this round of CPR should add to the death timer
getarmorThis proc calculates armor value for humans. +If null is passed for def_zone, then this will return something appropriate for all zones (e.g. area effect damage)
handle_fireFIRE CODE
is_bodypart_covered_by_clothingChecks if a body part is covered by clothing
is_inside_mobChecks if an item is inside the body of the mob
mind_checksHandles any adjustments to the mob after a mind transfer.
rad_contaminate_zoneReturns a list. The first element is whether we penetrated all clothing for the zone, the rest are the clothes that got contaminated
regrow_external_limb_if_missingRegrows a given external limb if it is missing. Does not add internal organs back in. +Returns whether or not it regrew the limb
sec_hud_set_IDSecurity HUDs! Basic mode shows only the job.
set_alpha_trackingHelper for tracking alpha, use this to set an alpha source
set_speciesChange a mob's species.
setup_dnaSets up DNA and species.
setup_otherSets up other variables and components that may be needed for gameplay.
sop_legalGives the imaginary legal sop booklet verb
space_lawGives the imaginary space law booklet verb
tintchecktintcheck() +Checks eye covering items for visually impairing tinting, such as welding masks +Checked in life.dm. 0 & 1 = no impairment, 2 = welding mask overlay, 3 = You can see jack, but you can't see shit.
update_hairGenerates overlays for the hair layer.

Var Details

alpha_sources

Lazylist of sources to track what our alpha should be, alpha is set to the minimum. Use the set_alpha_tracking and get_alpha helpers.

body_type

The body type associated with the body

bodyparts_by_name

map organ names to organs

height

Players' height (more fluff)

ipc_masquerade_status

Cache whether or not an IPC appears human during examine to avoid needless recalculation

physique

Players physique (even MORE fluff)

previous_damage_appearance

Stores what the body last looked like. Prevents updating the body when we don't need to

quirks

List of quirk datums attached to the mob

receiving_cpr_from

UID of the person who is giving this mob CPR.

skittish_cooldown

The cooldown for jumping into a closet or crate

spines

Same as wing but with back spines

tail

Name of tail image in species effects icon file.

wing

Same as tail but wing

Proc Details

Robotize

For transforming humans into robots (cyborgs).

+

Arguments:

+

Togglewings

Used to toggle whether wings are open or not

__getarmor_bodypart

This is an internal proc, returns the armor value for a particular bodypart /obj/item/organ/external. +Use getarmor() instead

add_comment

Helper function to add a "comment" to a data record. Used for medical or security records.

bananatouched_harmless

Like bananatouched, but intended to be used for funny one-off scenarios which aren't meant to permanently cripple someone's round.

change_skin_tone

Tone must be between -185 and 220. commonly used in 1 to 220, see random_skin_tone() for species-specific values

check_eye_prot

check_eye_prot() +Returns a number between -1 to 2

check_for_missing_organs

A proc that checks for any missing organs and gives you damage for not having them

check_obscured_slots

Gets the obscured ITEM_SLOTs on a human

+

Returns:

+

compressor_grind

Default behavior when getting ground up in a compressor

contaminate_atom

Tries to contaminate a human

electrocute_act

Calculates the siemens coeff based on clothing and species, can also restart hearts.

get_alpha

Gets the target alpha of the human

+

optional_source - use this to get the alpha of an exact source. This is unsafe, only use if you 100% know it will be in the list. For the best safety, only call this as get_alpha(src)

get_cpr_timer_adjustment

Get the amount of time that this round of CPR should add to the death timer

getarmor

This proc calculates armor value for humans. +If null is passed for def_zone, then this will return something appropriate for all zones (e.g. area effect damage)

handle_fire

FIRE CODE

is_bodypart_covered_by_clothing

Checks if a body part is covered by clothing

is_inside_mob

Checks if an item is inside the body of the mob

mind_checks

Handles any adjustments to the mob after a mind transfer.

rad_contaminate_zone

Returns a list. The first element is whether we penetrated all clothing for the zone, the rest are the clothes that got contaminated

regrow_external_limb_if_missing

Regrows a given external limb if it is missing. Does not add internal organs back in. +Returns whether or not it regrew the limb

+

Arguments:

+

sec_hud_set_ID

Security HUDs! Basic mode shows only the job.

set_alpha_tracking

Helper for tracking alpha, use this to set an alpha source

+

alpha_num - num between 0 and 255 that represents the alpha from source +source - a datum that is the cause of the alpha source. This will be turned into a key via UID. +update_alpha - boolean if alpha should be updated with this proc. Set this to false if you plan to animate the alpha after this call.

set_species

Change a mob's species.

+

Arguments:

+

setup_dna

Sets up DNA and species.

+

Arguments:

+

setup_other

Sets up other variables and components that may be needed for gameplay.

Gives the imaginary legal sop booklet verb

space_law

Gives the imaginary space law booklet verb

tintcheck

tintcheck() +Checks eye covering items for visually impairing tinting, such as welding masks +Checked in life.dm. 0 & 1 = no impairment, 2 = welding mask overlay, 3 = You can see jack, but you can't see shit.

update_hair

Generates overlays for the hair layer.

\ No newline at end of file diff --git a/mob/living/carbon/human/monkey/magic.html b/mob/living/carbon/human/monkey/magic.html new file mode 100644 index 00000000000..3c31f57ed16 --- /dev/null +++ b/mob/living/carbon/human/monkey/magic.html @@ -0,0 +1 @@ +/mob/living/carbon/human/monkey/magic - Space Station 13
Space Station 13 - Modules - TypesVar Details

magic

Vars

return_timerStores the timer ID of the timer that happens in Life() to prevent multiple of the same timer happening.

Var Details

return_timer

Stores the timer ID of the timer that happens in Life() to prevent multiple of the same timer happening.

\ No newline at end of file diff --git a/mob/living/silicon.html b/mob/living/silicon.html new file mode 100644 index 00000000000..f7c785e1f51 --- /dev/null +++ b/mob/living/silicon.html @@ -0,0 +1,12 @@ +/mob/living/silicon - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

silicon

Vars

door_bolt_delayThe delay used when toggling door bolts or electrification
is_centeredFor cyborgs with wide "heads", when false causes the hat icon to be stretched.

Procs

can_hearEAR DAMAGE
place_on_headAttempts to put an item on a silicon's head.
remove_from_headAttempts to remove any hats a silicon is wearing.
run_armorreturns the damage value of the attack after processing the silicons's various armor protections
subsystem_atmos_controlAtmos Control
subsystem_crew_monitorCrew Monitor
subsystem_law_managerLaw Manager
subsystem_power_monitorPower Monitor

Var Details

door_bolt_delay

The delay used when toggling door bolts or electrification

is_centered

For cyborgs with wide "heads", when false causes the hat icon to be stretched.

Proc Details

can_hear

EAR DAMAGE

place_on_head

Attempts to put an item on a silicon's head.

+

Arguments:

+

remove_from_head

Attempts to remove any hats a silicon is wearing.

+

Arguments:

+

run_armor

returns the damage value of the attack after processing the silicons's various armor protections

subsystem_atmos_control

Atmos Control

subsystem_crew_monitor

Crew Monitor

subsystem_law_manager

Law Manager

subsystem_power_monitor

Power Monitor

\ No newline at end of file diff --git a/mob/living/silicon/ai.html b/mob/living/silicon/ai.html new file mode 100644 index 00000000000..cdccaa4d4f1 --- /dev/null +++ b/mob/living/silicon/ai.html @@ -0,0 +1 @@ +/mob/living/silicon/ai - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

ai

Vars

adapter_efficiencyHow effective is the adapter?
ai_announcement_string_menuThe cached AI annoucement help menu.
allow_teleporterIf true, this AI core can use the teleporter.
announce_arrivalsIf our AI doesn't want to be the arrivals announcer, this gets set to FALSE.
bluespace_minerHas the AI unlocked a bluespace miner?
bluespace_miner_rateCredit payout rate
cracked_cameraSet to true if the AI cracks it's camera by using the malf ability
enhanced_trackingDo we have the enhanced tracker?
enhanced_tracking_delayThe current delay on enhanced tracking
in_storageIs the AI in storage?
last_research_timeWhen did we last research something?
nanite_regenBase rate of nanite regen
next_payoutTime until next payout
purchased_modulesList of modules the AI has purchased malf upgrades for.
research_levelHow potent is the research subsystem?
research_subsystemHas the AI unlocked a research subsystem?
research_timeHow long does it take to unlock the next research?
tracked_mobWho are we tracking with the enhanced tracker?
tracker_alert_cooldownIs the interval active
tracking_alert_intervalInterval between camera pings to prevent spammed alerts
turrets_upgradedWhether or not the AI has upgraded their turrets
universal_adapterWhether or not the AI has unlocked universal adapter

Procs

remove_malf_abilitiesRemoves all malfunction-related /datum/action's from the target AI.

Var Details

adapter_efficiency

How effective is the adapter?

ai_announcement_string_menu

The cached AI annoucement help menu.

allow_teleporter

If true, this AI core can use the teleporter.

announce_arrivals

If our AI doesn't want to be the arrivals announcer, this gets set to FALSE.

bluespace_miner

Has the AI unlocked a bluespace miner?

bluespace_miner_rate

Credit payout rate

cracked_camera

Set to true if the AI cracks it's camera by using the malf ability

enhanced_tracking

Do we have the enhanced tracker?

enhanced_tracking_delay

The current delay on enhanced tracking

in_storage

Is the AI in storage?

last_research_time

When did we last research something?

nanite_regen

Base rate of nanite regen

next_payout

Time until next payout

purchased_modules

List of modules the AI has purchased malf upgrades for.

research_level

How potent is the research subsystem?

research_subsystem

Has the AI unlocked a research subsystem?

research_time

How long does it take to unlock the next research?

tracked_mob

Who are we tracking with the enhanced tracker?

tracker_alert_cooldown

Is the interval active

tracking_alert_interval

Interval between camera pings to prevent spammed alerts

turrets_upgraded

Whether or not the AI has upgraded their turrets

universal_adapter

Whether or not the AI has unlocked universal adapter

Proc Details

remove_malf_abilities

Removes all malfunction-related /datum/action's from the target AI.

\ No newline at end of file diff --git a/mob/living/silicon/pai.html b/mob/living/silicon/pai.html new file mode 100644 index 00000000000..3f7d826eb21 --- /dev/null +++ b/mob/living/silicon/pai.html @@ -0,0 +1 @@ +/mob/living/silicon/pai - Space Station 13
Space Station 13 - Modules - TypesVar Details

pai

Vars

active_softwareCurrently active software
installed_softwareList of all installed software
integ_signalerIntegrated remote signaler for signalling

Var Details

active_software

Currently active software

installed_software

List of all installed software

integ_signaler

Integrated remote signaler for signalling

\ No newline at end of file diff --git a/mob/living/silicon/robot.html b/mob/living/silicon/robot.html new file mode 100644 index 00000000000..8abb832607c --- /dev/null +++ b/mob/living/silicon/robot.html @@ -0,0 +1,30 @@ +/mob/living/silicon/robot - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

robot

Vars

all_active_itemsThe list of up to 3 items the borg can have "equipped". The contents will either be CYBORG_EMPTY_MODULE for nothing, or the item selected
allow_renameCan a robot rename itself with the Namepick verb?
allow_respriteCan a robot change it's looks after the module is initialized? Used by syndicate combat borgs.
being_chargedIs the robot already being charged by a roboticist?
braintypeDetermines if the robot is referred to as an "Android", "Robot", or "Cyborg" based on the type of brain inside.
brute_modIncoming brute damage is multiplied by this number.
burn_modIncoming burn damage is multiplied by this number.
can_lock_coverIf set to TRUE, a robot can re-lock its own cover.
componentsComponents are basically robot organs.
custom_panel_namesRobot skins with non-default sprites for an open service panel.
damage_protectionAll incoming damage has this number subtracted from it.
done_respriteHas the robot done its one allowed resprite?
ear_protectionIs the robot protected from the audio component of flashbangs? Prevents inflicting confusion.
emaggedHas the robot been emagged?
emp_protectionIs the robot immune to EMPs?
externally_poweredIf the cyborg is in a charger, or otherwise receiving power from an outside source.
eye_protectionIs the robot protected from the visual portion of flashbangs and flashes?
floorbufferDoes the robot clean dirt under it when it moves onto a tile?
grouped_eye_namesRobot skins with recoloured variants available on multiple modules. They all reuse a single eye sprite.
has_advanced_reagent_visionIf set to TRUE, the robot can see the types and precice quantities of reagents in transparent containers, the % amount of different reagents in opaque containers, and can identify different blood types.
has_cameraDetermines if a robot acts as a mobile security camera that can be observed through security consoles or by an AI.
identUsed when generating the number in default robot names.
ionpulseDoes the robot have ion thrusters installed?
ionpulse_onAre the robot's ion thrusters activated?
is_emaggableCan the robot be emagged?
lamp_intensityLuminosity of the headlamp. 0 is off. Higher settings than the minimum require power. Increments in steps of 2.
lamp_maxMaximum brightness of a robot's headlamp. Set as a var for easy adjusting.
lamp_rechargingFlag for if the headlamp is on cooldown after being forcibly disabled (e.g. by a shadow deamon).
last_camera_updateWhen the camera moved signal was sent last. Avoid overdoing it.
lawupdateDetermines if the robot tries to sync its laws to a connected AI.
lockchargeUsed when locking down a robot to preserve cell charge.
lockedIs the robot's cover locked?
low_power_modeHas the robot's power cell run out of charge?
mail_destinationInteger used to determine self-mailing location, used only by drones and saboteur robots.
mmiUsed for deconstruction to remember what the robot was constructed out of.
modtypeWhat specialisation the robot has.
moduleA reference to the type of cyborg it is, i.e. Engineering, Security, Medical etc.
modules_breakIf set to TRUE, the robot's 3 module slots will progressively become unusable as they take damage.
openedIs the robot's maintenance panel open?
pdahideIf set to TRUE, the robot will be hidden on the PDA messenger list.
rebootingIf the cyborg is rebooting from stamcrit
req_accessUsed for robot access checks.
req_one_accessDetermines the ID access needed to unlock the robot's cover.
robot_suitUsed for deconstruction to remember what the robot was constructed out of.
scrambledcodesIf set to TRUE, a robot will not be visible on the robotics control console.
selected_itemThe item the borg currently has selected, or null if nothing is selected
slowdown_capWhat the cyborg's maximum slowdown penalty is, if it has one.
speedSpeed modifier. Positive numbers reduce speed, negative numbers increase it.
sprites_with_variantsRobot icons that have multiple subvarants.
tracking_entitiesThe number of known entities currently accessing the internal camera.
variable_custom_panelsRobot skins with different sprites for open panels for each module.
weapons_unlockSetting to TRUE unlocks a borg's Safety Override modules.

Procs

activatedReturns true if O is in the cyborg's hotbar, false otherwise
deactivate_allDeactivate all the screen objects, removing the green background from all of them
disable_random_componentDisables a random component for the duration, or until manually turned back on.
get_armourReturns the armour component for a borg, or false if its missing or broken
get_cell_componentReturns the power cell component for a borg, or false if its missing or broken
get_module_spritesReturns an associative list of possible borg sprites based on the selected_module.
get_module_typesReturns a list of choosable module types, associated with the module icon for the radial menu.
get_sprite_variantsReturns an associative list of unique borg sprite variations based on get_module_sprites.
initialize_moduleSets up the module items and sprites for the cyborg module chosen in pick_module().
observer_screen_updateUpdates the observers's screens with cyborg itemss. +Arguments
on_drop_hotkey_pressUsed in robot.dm when the user presses "Q" by default.
robot_module_hat_offsetSets the offset for a cyborg's hats based on their module icon. +Borgs are grouped by similar sprites (Eg. all the Noble borgs are all the same sprite but recoloured.)
set_mail_tagSet Mail Tag
spill_upgradesTake the borg's upgrades and spill them on the floor

Var Details

all_active_items

The list of up to 3 items the borg can have "equipped". The contents will either be CYBORG_EMPTY_MODULE for nothing, or the item selected

allow_rename

Can a robot rename itself with the Namepick verb?

allow_resprite

Can a robot change it's looks after the module is initialized? Used by syndicate combat borgs.

being_charged

Is the robot already being charged by a roboticist?

braintype

Determines if the robot is referred to as an "Android", "Robot", or "Cyborg" based on the type of brain inside.

brute_mod

Incoming brute damage is multiplied by this number.

burn_mod

Incoming burn damage is multiplied by this number.

can_lock_cover

If set to TRUE, a robot can re-lock its own cover.

components

Components are basically robot organs.

custom_panel_names

Robot skins with non-default sprites for an open service panel.

damage_protection

All incoming damage has this number subtracted from it.

done_resprite

Has the robot done its one allowed resprite?

ear_protection

Is the robot protected from the audio component of flashbangs? Prevents inflicting confusion.

emagged

Has the robot been emagged?

emp_protection

Is the robot immune to EMPs?

externally_powered

If the cyborg is in a charger, or otherwise receiving power from an outside source.

eye_protection

Is the robot protected from the visual portion of flashbangs and flashes?

floorbuffer

Does the robot clean dirt under it when it moves onto a tile?

grouped_eye_names

Robot skins with recoloured variants available on multiple modules. They all reuse a single eye sprite.

has_advanced_reagent_vision

If set to TRUE, the robot can see the types and precice quantities of reagents in transparent containers, the % amount of different reagents in opaque containers, and can identify different blood types.

has_camera

Determines if a robot acts as a mobile security camera that can be observed through security consoles or by an AI.

ident

Used when generating the number in default robot names.

ionpulse

Does the robot have ion thrusters installed?

ionpulse_on

Are the robot's ion thrusters activated?

is_emaggable

Can the robot be emagged?

lamp_intensity

Luminosity of the headlamp. 0 is off. Higher settings than the minimum require power. Increments in steps of 2.

lamp_max

Maximum brightness of a robot's headlamp. Set as a var for easy adjusting.

lamp_recharging

Flag for if the headlamp is on cooldown after being forcibly disabled (e.g. by a shadow deamon).

last_camera_update

When the camera moved signal was sent last. Avoid overdoing it.

lawupdate

Determines if the robot tries to sync its laws to a connected AI.

lockcharge

Used when locking down a robot to preserve cell charge.

locked

Is the robot's cover locked?

low_power_mode

Has the robot's power cell run out of charge?

mail_destination

Integer used to determine self-mailing location, used only by drones and saboteur robots.

mmi

Used for deconstruction to remember what the robot was constructed out of.

modtype

What specialisation the robot has.

module

A reference to the type of cyborg it is, i.e. Engineering, Security, Medical etc.

modules_break

If set to TRUE, the robot's 3 module slots will progressively become unusable as they take damage.

opened

Is the robot's maintenance panel open?

pdahide

If set to TRUE, the robot will be hidden on the PDA messenger list.

rebooting

If the cyborg is rebooting from stamcrit

req_access

Used for robot access checks.

req_one_access

Determines the ID access needed to unlock the robot's cover.

robot_suit

Used for deconstruction to remember what the robot was constructed out of.

scrambledcodes

If set to TRUE, a robot will not be visible on the robotics control console.

selected_item

The item the borg currently has selected, or null if nothing is selected

slowdown_cap

What the cyborg's maximum slowdown penalty is, if it has one.

speed

Speed modifier. Positive numbers reduce speed, negative numbers increase it.

sprites_with_variants

Robot icons that have multiple subvarants.

tracking_entities

The number of known entities currently accessing the internal camera.

variable_custom_panels

Robot skins with different sprites for open panels for each module.

weapons_unlock

Setting to TRUE unlocks a borg's Safety Override modules.

Proc Details

activated

Returns true if O is in the cyborg's hotbar, false otherwise

deactivate_all

Deactivate all the screen objects, removing the green background from all of them

disable_random_component

Disables a random component for the duration, or until manually turned back on.

get_armour

Returns the armour component for a borg, or false if its missing or broken

get_cell_component

Returns the power cell component for a borg, or false if its missing or broken

get_module_sprites

Returns an associative list of possible borg sprites based on the selected_module.

+

Key: Sprite name | Value: Sprite icon

+

Arguments:

+

get_module_types

Returns a list of choosable module types, associated with the module icon for the radial menu.

+

Key: Module name | Value: Module 'icon'

+

By default this returns the Engineering, Janitor, Medical, Mining, and Service modules. +If there are any [/mob/living/silicon/robot/var/force_modules] set, then they are returned instead. +If the MMI has a xenomorph brain in it ([/obj/item/mmi/var/alien]), then only the "Hunter" and standard modules is returned.

get_sprite_variants

Returns an associative list of unique borg sprite variations based on get_module_sprites.

+

Key: Sprite name | Value: Sprite icon

+

Arguments:

+

initialize_module

Sets up the module items and sprites for the cyborg module chosen in pick_module().

+

Arguments:

+

observer_screen_update

Updates the observers's screens with cyborg itemss. +Arguments

+

on_drop_hotkey_press

Used in robot.dm when the user presses "Q" by default.

robot_module_hat_offset

Sets the offset for a cyborg's hats based on their module icon. +Borgs are grouped by similar sprites (Eg. all the Noble borgs are all the same sprite but recoloured.)

set_mail_tag

Set Mail Tag

spill_upgrades

Take the borg's upgrades and spill them on the floor

\ No newline at end of file diff --git a/mob/living/silicon/robot/destroyer.html b/mob/living/silicon/robot/destroyer.html new file mode 100644 index 00000000000..608a9a17435 --- /dev/null +++ b/mob/living/silicon/robot/destroyer.html @@ -0,0 +1 @@ +/mob/living/silicon/robot/destroyer - Space Station 13
Space Station 13 - Modules - TypesProc Details

destroyer

Procs

update_rolling_iconHandles transitioning between standing normally, and being a roly-poly.

Proc Details

update_rolling_icon

Handles transitioning between standing normally, and being a roly-poly.

\ No newline at end of file diff --git a/mob/living/silicon/robot/drone.html b/mob/living/silicon/robot/drone.html new file mode 100644 index 00000000000..74a71e3393b --- /dev/null +++ b/mob/living/silicon/robot/drone.html @@ -0,0 +1 @@ +/mob/living/silicon/robot/drone - Space Station 13
Space Station 13 - Modules - TypesVar Details

drone

Vars

sync_cooldownCooldown for law syncs

Var Details

sync_cooldown

Cooldown for law syncs

\ No newline at end of file diff --git a/mob/living/simple_animal.html b/mob/living/simple_animal.html new file mode 100644 index 00000000000..93e440759c5 --- /dev/null +++ b/mob/living/simple_animal.html @@ -0,0 +1 @@ +/mob/living/simple_animal - Space Station 13
Space Station 13 - Modules - TypesVar 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)
admin_prev_healthHealth of the mob before being admin-frozen, restored afterwards
animal_speciesSorry, no spider+corgi buttbabies.
armor_penetration_flatFlat armour reduction, occurs after percentage armour penetration.
armor_penetration_percentagePercentage armour reduction, happens before flat armour reduction.
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
can_be_on_fireIf the mob can catch fire
can_crawlCan this simple mob crawl or not? If FALSE, it won't get immobilized by crawling
can_have_aiOnce we have become sentient, we can never go back
childtypeHot simple_animal baby making vars
cold_damage_per_tickSame as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp
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
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
fire_damageDamage the mob will take if it is on fire
flip_on_deathFlip the sprite upside down on death. Mostly here for things lacking custom dead sprites.
footstep_typeWhat kind of footstep this mob should have. Null if it shouldn't have any.
force_thresholdMinimum force required to deal any damage
friendlyIf the mob does no damage with it's attack
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
heat_damage_per_tickAmount of damage applied if animal's body temperature is higher than maxbodytemp
icon_gibWe only try to show a gibbing animation if this exists.
lootList of things spawned at mob's loc when it dies
master_commanderHolding var for determining who own/controls a sentient simple animal (for sentience potions).
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.
my_zI don't want to confuse this with client registered_z
obj_damageHow much damage this simple animal does to objects, if any
sentience_typeSentience type, for slime potions
shouldwakeupConvenience var for forcibly waking up an idling AI on next check.
speedHigher 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 TRUE this stops the animal from moving when someone is pulling it.
unique_petIf the mob can be renamed
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above
wanderDoes the mob wander around when idle?

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)

admin_prev_health

Health of the mob before being admin-frozen, restored afterwards

animal_species

Sorry, no spider+corgi buttbabies.

armor_penetration_flat

Flat armour reduction, occurs after percentage armour penetration.

armor_penetration_percentage

Percentage armour reduction, happens before flat armour reduction.

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

can_be_on_fire

If the mob can catch fire

can_crawl

Can this simple mob crawl or not? If FALSE, it won't get immobilized by crawling

can_have_ai

Once we have become sentient, we can never go back

childtype

Hot simple_animal baby making vars

cold_damage_per_tick

Same as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp

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

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

fire_damage

Damage the mob will take if it is on fire

flip_on_death

Flip the sprite upside down on death. Mostly here for things lacking custom dead sprites.

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

If the mob does no damage with it's attack

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

heat_damage_per_tick

Amount of damage applied if animal's body temperature is higher than maxbodytemp

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

master_commander

Holding var for determining who own/controls a sentient simple animal (for sentience potions).

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.

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

sentience_type

Sentience type, for slime potions

shouldwakeup

Convenience var for forcibly waking up an idling AI on next check.

speed

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 TRUE this stops the animal from moving when someone is pulling it.

unique_pet

If the mob can be renamed

unsuitable_atmos_damage

This damage is taken when atmos doesn't fit all the requirements above

wander

Does the mob wander around when idle?

\ No newline at end of file diff --git a/mob/living/simple_animal/bot.html b/mob/living/simple_animal/bot.html new file mode 100644 index 00000000000..096180e5a4d --- /dev/null +++ b/mob/living/simple_animal/bot.html @@ -0,0 +1 @@ +/mob/living/simple_animal/bot - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

bot

Vars

RadioThe bot's radio, for speaking to people.
access_cardThe ID card that the bot "holds"
ai_waypointThe end point of a bot's path, or the target location.
auto_patrolSet to make bot automatically patrol
awaiting_beaconCount of pticks awaiting a beacon response
base_speedThe speed at which the bot moves, or the number of times it moves per process() tick.
blockcountNumber of times retried a blocked path
bot_namestoring bot_name prior to pai and restoring it. MULEBOT uses this for suffix system
bot_purposeBot Purpose under Show Laws
bot_typeType of bot, one of the *_BOT defines.
calling_aiLinks a bot to the AI calling it.
data_hud_typeThe type of data HUD the bot uses. Diagnostic by default.
declare_messageWhat the bot will display to the HUD user.
destinationDestination description tag
frustrationUsed by some bots for tracking failures to reach their target.
hackedUsed to differentiate between being hacked by silicons and emagged by humans.
hijackedIs currently hijacked by a pulse demon?
ignore_jobList of jobs claimed by bot
ignore_listList of unreachable targets for an ignore-list enabled bot to ignore.
ignore_list_cleanup_cdCooldown for when to cleanup the ignore list.
ignore_list_cleanup_timerThis ticks up every automated action, at 300 we clean the ignore list
last_target_locationStoring last chased target known location
lost_targetWill be true if we lost target we were chasing
modeStandardizes the vars that indicate the bot is busy with its function.
modelThe type of bot it is.
nearest_beaconThe nearest beacon's tag
nearest_beacon_locThe nearest beacon's location
new_destinationPending new destination (waiting for beacon response)
next_destinationThe next destination in the patrol route
openMaint panel
pathList of turfs through which a bot 'steps' to reach the waypoint
patrol_targetThis is turf to navigate to (location of beacon)
radio_channelThe bot's default radio channel
radio_configWhich channels can the bot listen to
remote_disabledIf enabled, the AI cannot Remotely control a bot. It can still control it through cameras.
req_accessList of access values you can have to access the bot. Consider this as req_one_access
summon_targetThe turf of a user summoning a bot.
text_dehackText shown when resetting a bots hacked status to normal.
text_dehack_failShown when a silicon tries to reset a bot emagged with the emag item, which cannot be reset.
text_hackCustom text returned to a silicon upon hacking a bot.
triesNumber of times the bot tried and failed to move.

Procs

add_to_ignoreAdd an atom to our list of ignored objects.
clear_ignore_listWipe the ignore list.
remove_ignored_atomRemove an atom from the ignore list.
set_modeSetter for mode, so it's all tracable to one place.

Var Details

Radio

The bot's radio, for speaking to people.

access_card

The ID card that the bot "holds"

ai_waypoint

The end point of a bot's path, or the target location.

auto_patrol

Set to make bot automatically patrol

awaiting_beacon

Count of pticks awaiting a beacon response

base_speed

The speed at which the bot moves, or the number of times it moves per process() tick.

blockcount

Number of times retried a blocked path

bot_name

storing bot_name prior to pai and restoring it. MULEBOT uses this for suffix system

bot_purpose

Bot Purpose under Show Laws

bot_type

Type of bot, one of the *_BOT defines.

calling_ai

Links a bot to the AI calling it.

data_hud_type

The type of data HUD the bot uses. Diagnostic by default.

declare_message

What the bot will display to the HUD user.

destination

Destination description tag

frustration

Used by some bots for tracking failures to reach their target.

hacked

Used to differentiate between being hacked by silicons and emagged by humans.

hijacked

Is currently hijacked by a pulse demon?

ignore_job

List of jobs claimed by bot

ignore_list

List of unreachable targets for an ignore-list enabled bot to ignore.

ignore_list_cleanup_cd

Cooldown for when to cleanup the ignore list.

ignore_list_cleanup_timer

This ticks up every automated action, at 300 we clean the ignore list

last_target_location

Storing last chased target known location

lost_target

Will be true if we lost target we were chasing

mode

Standardizes the vars that indicate the bot is busy with its function.

model

The type of bot it is.

nearest_beacon

The nearest beacon's tag

nearest_beacon_loc

The nearest beacon's location

new_destination

Pending new destination (waiting for beacon response)

next_destination

The next destination in the patrol route

open

Maint panel

path

List of turfs through which a bot 'steps' to reach the waypoint

patrol_target

This is turf to navigate to (location of beacon)

radio_channel

The bot's default radio channel

radio_config

Which channels can the bot listen to

remote_disabled

If enabled, the AI cannot Remotely control a bot. It can still control it through cameras.

req_access

List of access values you can have to access the bot. Consider this as req_one_access

summon_target

The turf of a user summoning a bot.

text_dehack

Text shown when resetting a bots hacked status to normal.

text_dehack_fail

Shown when a silicon tries to reset a bot emagged with the emag item, which cannot be reset.

text_hack

Custom text returned to a silicon upon hacking a bot.

tries

Number of times the bot tried and failed to move.

Proc Details

add_to_ignore

Add an atom to our list of ignored objects.

clear_ignore_list

Wipe the ignore list.

remove_ignored_atom

Remove an atom from the ignore list.

set_mode

Setter for mode, so it's all tracable to one place.

\ No newline at end of file diff --git a/mob/living/simple_animal/bot/floorbot.html b/mob/living/simple_animal/bot/floorbot.html new file mode 100644 index 00000000000..286b3c1557e --- /dev/null +++ b/mob/living/simple_animal/bot/floorbot.html @@ -0,0 +1 @@ +/mob/living/simple_animal/bot/floorbot - Space Station 13
Space Station 13 - Modules - TypesVar Details

floorbot

Vars

amountTiles in inventory
autotileFix the floor and include a tile.
eat_tilesAdd floor tiles to inventory
make_tilesConvert metal into floor tiles (drops on floor)
naggedPrevents the Floorbot nagging more than once per refill.
process_typeDetermines what to do when process_scan() receives a target. See process_scan() for details.
replace_tilesAdd tiles to existing floor

Var Details

amount

Tiles in inventory

autotile

Fix the floor and include a tile.

eat_tiles

Add floor tiles to inventory

make_tiles

Convert metal into floor tiles (drops on floor)

nagged

Prevents the Floorbot nagging more than once per refill.

process_type

Determines what to do when process_scan() receives a target. See process_scan() for details.

replace_tiles

Add tiles to existing floor

\ No newline at end of file diff --git a/mob/living/simple_animal/bot/medbot.html b/mob/living/simple_animal/bot/medbot.html new file mode 100644 index 00000000000..aeba9d54fc0 --- /dev/null +++ b/mob/living/simple_animal/bot/medbot.html @@ -0,0 +1 @@ +/mob/living/simple_animal/bot/medbot - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

medbot

Vars

all_phrasesThe above lists joined into one, for one-place lookups
previous_patientUID of the previous patient. Used to avoid running selection checks on them if we failed to heal them.

Procs

medbot_phraseGiven a proper medbot phrase key, say the line with any replacements, and play its sound.

Var Details

all_phrases

The above lists joined into one, for one-place lookups

previous_patient

UID of the previous patient. Used to avoid running selection checks on them if we failed to heal them.

Proc Details

medbot_phrase

Given a proper medbot phrase key, say the line with any replacements, and play its sound.

\ No newline at end of file diff --git a/mob/living/simple_animal/bot/mulebot.html b/mob/living/simple_animal/bot/mulebot.html new file mode 100644 index 00000000000..0510c8a4308 --- /dev/null +++ b/mob/living/simple_animal/bot/mulebot.html @@ -0,0 +1,7 @@ +/mob/living/simple_animal/bot/mulebot - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

mulebot

Vars

maximum_pathfind_rangeThe maximum amount of tiles the MULE can search via SSpathfinder before giving up. +Stored as a variable to allow VVing if there's any weirdness.
next_move_timeworld.time of next move
step_delayDelay in deciseconds between each step

Procs

show_controlsMARK: UI Section
unloadDrops any load or passengers the bot is carrying

Var Details

maximum_pathfind_range

The maximum amount of tiles the MULE can search via SSpathfinder before giving up. +Stored as a variable to allow VVing if there's any weirdness.

next_move_time

world.time of next move

step_delay

Delay in deciseconds between each step

Proc Details

show_controls

MARK: UI Section

unload

Drops any load or passengers the bot is carrying

+

Arguments:

+
\ No newline at end of file diff --git a/mob/living/simple_animal/hostile.html b/mob/living/simple_animal/hostile.html new file mode 100644 index 00000000000..ff4328c9a26 --- /dev/null +++ b/mob/living/simple_animal/hostile.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile - Space Station 13
Space Station 13 - Modules - TypesProc Details

hostile

Procs

AICanContinueAI Status
ListTargetsHOSTILE MOB TARGETTING AND AGGRESSION
aggro_fastShortcut proc to allow initiating combat slightly faster than waiting for normal processing.
deathEND HOSTILE MOB TARGETTING AND AGGRESSION

Proc Details

AICanContinue

AI Status

ListTargets

HOSTILE MOB TARGETTING AND AGGRESSION

aggro_fast

Shortcut proc to allow initiating combat slightly faster than waiting for normal processing.

death

END HOSTILE MOB TARGETTING AND AGGRESSION

\ No newline at end of file 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..293c8d05a55 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/broodmother - Space Station 13
Space Station 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:

+
\ No newline at end of file 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..2e16b0deda7 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/herald.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/herald - Space Station 13
Space Station 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:

+
\ No newline at end of file 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..55c406aa9dd --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/legionnaire - Space Station 13
Space Station 13 - Modules - TypesVar Details

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:

+

Vars

chargingWhether or not the legionnaire is currently charging, used to deny movement input if he is

Var Details

charging

Whether or not the legionnaire is currently charging, used to deny movement input if he is

\ No newline at end of file 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..4fbc83dbeb3 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/pandora.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/pandora - Space Station 13
Space Station 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:

+
\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/construct.html b/mob/living/simple_animal/hostile/construct.html new file mode 100644 index 00000000000..c0b8f9944ab --- /dev/null +++ b/mob/living/simple_animal/hostile/construct.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/construct - Space Station 13
Space Station 13 - Modules - TypesVar Details

construct

Vars

held_bodyThe body/brain of the player inside this construct, transferred over from the soulstone.
holyIs this a holy/purified construct?
playstyle_stringMessage to send to the construct when they are created, containing information about their role.

Var Details

held_body

The body/brain of the player inside this construct, transferred over from the soulstone.

holy

Is this a holy/purified construct?

playstyle_string

Message to send to the construct when they are created, containing information about their role.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/construct/armoured.html b/mob/living/simple_animal/hostile/construct/armoured.html new file mode 100644 index 00000000000..660e8386797 --- /dev/null +++ b/mob/living/simple_animal/hostile/construct/armoured.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/construct/armoured - Space Station 13
Space Station 13 - Modules - TypesProc Details

armoured

Juggernaut

Procs

update_health_hudui stuff

Proc Details

update_health_hud

ui stuff

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/guardian.html b/mob/living/simple_animal/hostile/guardian.html new file mode 100644 index 00000000000..b840ff9708d --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/guardian - Space Station 13
Space Station 13 - Modules - TypesVar Details

guardian

Vars

stealthy_deployingIf true, it will not make a message on host when hit, or make an effect when deploying or recalling

Var Details

stealthy_deploying

If true, it will not make a message on host when hit, or make an effect when deploying or recalling

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/guardian/gaseous.html b/mob/living/simple_animal/hostile/guardian/gaseous.html new file mode 100644 index 00000000000..e190f63e98d --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian/gaseous.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/guardian/gaseous - Space Station 13
Space Station 13 - Modules - TypesVar Details

gaseous

Vars

linda_flagsLinda flag for the expelled gas because we need to use special flags for it that are not readable in game well.
moles_of_gasMoles of gas being expelled.
possible_gasesPossible gases to expel, with how many moles they create.

Var Details

linda_flags

Linda flag for the expelled gas because we need to use special flags for it that are not readable in game well.

moles_of_gas

Moles of gas being expelled.

possible_gases

Possible gases to expel, with how many moles they create.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/guardian/protector.html b/mob/living/simple_animal/hostile/guardian/protector.html new file mode 100644 index 00000000000..3e4f0ea595a --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian/protector.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/guardian/protector - Space Station 13
Space Station 13 - Modules - TypesVar Details

protector

Vars

connected_shieldsThe shields the guardian has, and brings with it as it moves

Var Details

connected_shields

The shields the guardian has, and brings with it as it moves

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna.html b/mob/living/simple_animal/hostile/megafauna.html new file mode 100644 index 00000000000..b958a23a7b3 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

megafauna

Vars

difficulty_ore_modifierHow much ore should killing this give
enragedHas someone enabled hard mode?
enraged_lootPath of the hardmode loot disk, if applicable.

Procs

enrageThis proc is called by the HRD-MDE grenade to enrage the megafauna. This should increase the megafaunas attack speed if possible, give it new moves, or disable weak moves. This should be reverseable, and reverses on zlvl change.
generate_random_lootIf the megafauna has a pool of random loot items to pick from, override this proc to have it be set on initialization
spawn_ore_rewardHandling the ore part of the mega reward, the higher the difficulty_ore_modifier the more ore will spawn

Var Details

difficulty_ore_modifier

How much ore should killing this give

enraged

Has someone enabled hard mode?

enraged_loot

Path of the hardmode loot disk, if applicable.

Proc Details

enrage

This proc is called by the HRD-MDE grenade to enrage the megafauna. This should increase the megafaunas attack speed if possible, give it new moves, or disable weak moves. This should be reverseable, and reverses on zlvl change.

generate_random_loot

If the megafauna has a pool of random loot items to pick from, override this proc to have it be set on initialization

spawn_ore_reward

Handling the ore part of the mega reward, the higher the difficulty_ore_modifier the more ore will spawn

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna/ancient_robot.html b/mob/living/simple_animal/hostile/megafauna/ancient_robot.html new file mode 100644 index 00000000000..831b0532a98 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/ancient_robot.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/ancient_robot - Space Station 13
Space Station 13 - Modules - TypesVar Details

ancient_robot

Vars

TRLegs and the connector for the legs

Var Details

TR

Legs and the connector for the legs

\ No newline at end of file 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..3a25adce88c --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/bubblegum.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/bubblegum - Space Station 13
Space Station 13 - Modules - TypesVar Details

bubblegum

Vars

enraged_healingEnraged healing recived
second_lifeIs it on its enraged exclusive second life?
second_life_portalDoes it have a portal to the funny second life arena created?

Var Details

enraged_healing

Enraged healing recived

second_life

Is it on its enraged exclusive second life?

second_life_portal

Does it have a portal to the funny second life arena created?

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna/colossus.html b/mob/living/simple_animal/hostile/megafauna/colossus.html new file mode 100644 index 00000000000..199c63d56d0 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/colossus.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/colossus - Space Station 13
Space Station 13 - Modules - TypesVar Details

colossus

Vars

final_availableHave we used our final attack yet?

Var Details

final_available

Have we used our final attack yet?

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna/fleshling.html b/mob/living/simple_animal/hostile/megafauna/fleshling.html new file mode 100644 index 00000000000..1fba3dcbb7d --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/fleshling.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/fleshling - Space Station 13
Space Station 13 - Modules - TypesVar Details

fleshling

Vars

boss_killedDid our boss die?
chargingIs the boss charging right now?

Var Details

boss_killed

Did our boss die?

charging

Is the boss charging right now?

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna/hierophant.html b/mob/living/simple_animal/hostile/megafauna/hierophant.html new file mode 100644 index 00000000000..9f6fea5c975 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/hierophant.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/hierophant - Space Station 13
Space Station 13 - Modules - TypesVar Details

hierophant

Vars

colour_shiftingIf the hiero has changed colour, stop the rays animation.

Var Details

colour_shifting

If the hiero has changed colour, stop the rays animation.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/morph.html b/mob/living/simple_animal/hostile/morph.html new file mode 100644 index 00000000000..1824213834d --- /dev/null +++ b/mob/living/simple_animal/hostile/morph.html @@ -0,0 +1,3 @@ +/mob/living/simple_animal/hostile/morph - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

morph

Vars

ambush_damageHow much damage a successful ambush attack does
ambush_preparedIf the morph is ready to perform an ambush
ambush_spellThe ambush action used by the morph
ambush_weakenHow much weaken a successful ambush attack applies
gathered_foodHow much the morph has gathered in terms of food. Used to reproduce and such
mimic_spellThe spell the morph uses to morph
morphedIf the morph is disguised or not
pass_airlock_spellThe spell the morph uses to pass through airlocks

Procs

add_foodAdds the given amount of food to the gathered food and updates the actions. +Does not include a check to see if it goes below 0 or not

Var Details

ambush_damage

How much damage a successful ambush attack does

ambush_prepared

If the morph is ready to perform an ambush

ambush_spell

The ambush action used by the morph

ambush_weaken

How much weaken a successful ambush attack applies

gathered_food

How much the morph has gathered in terms of food. Used to reproduce and such

mimic_spell

The spell the morph uses to morph

morphed

If the morph is disguised or not

pass_airlock_spell

The spell the morph uses to pass through airlocks

Proc Details

add_food

Adds the given amount of food to the gathered food and updates the actions. +Does not include a check to see if it goes below 0 or not

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/poison/terror_spider.html b/mob/living/simple_animal/hostile/poison/terror_spider.html new file mode 100644 index 00000000000..4be1ae28343 --- /dev/null +++ b/mob/living/simple_animal/hostile/poison/terror_spider.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/poison/terror_spider - Space Station 13
Space Station 13 - Modules - TypesVar Details

terror_spider

Vars

loudspeakerDoes this terror speak loudly on the terror hivemind?

Var Details

loudspeaker

Does this terror speak loudly on the terror hivemind?

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/spaceinfected/gateopener.html b/mob/living/simple_animal/hostile/spaceinfected/gateopener.html new file mode 100644 index 00000000000..818e4fc9c13 --- /dev/null +++ b/mob/living/simple_animal/hostile/spaceinfected/gateopener.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/spaceinfected/gateopener - Space Station 13
Space Station 13 - Modules - TypesVar Details

gateopener

Vars

has_diedIs our mob dead?

Var Details

has_died

Is our mob dead?

\ No newline at end of file diff --git a/mob/living/simple_animal/parrot.html b/mob/living/simple_animal/parrot.html new file mode 100644 index 00000000000..8894fad47a3 --- /dev/null +++ b/mob/living/simple_animal/parrot.html @@ -0,0 +1,5 @@ +/mob/living/simple_animal/parrot - Space Station 13
Space Station 13 - Modules - TypesProc Details

parrot

Procs

try_grab_itemAttempts to pick up an adjacent item

Proc Details

try_grab_item

Attempts to pick up an adjacent item

+

Arguments:

+
\ No newline at end of file diff --git a/mob/living/simple_animal/pet/cat/cak.html b/mob/living/simple_animal/pet/cat/cak.html new file mode 100644 index 00000000000..be6478d67a0 --- /dev/null +++ b/mob/living/simple_animal/pet/cat/cak.html @@ -0,0 +1 @@ +/mob/living/simple_animal/pet/cat/cak - Space Station 13
Space Station 13 - Modules - TypesVar Details

cak

Vars

final_bitesNumber of times the corpse has been bitten

Var Details

final_bites

Number of times the corpse has been bitten

\ No newline at end of file diff --git a/mob/living/simple_animal/pet/dog/corgi.html b/mob/living/simple_animal/pet/dog/corgi.html new file mode 100644 index 00000000000..fd51bae7042 --- /dev/null +++ b/mob/living/simple_animal/pet/dog/corgi.html @@ -0,0 +1 @@ +/mob/living/simple_animal/pet/dog/corgi - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

corgi

Vars

inventory_backCurrently worn item on the back slot
inventory_headCurrently worn item on the head slot

Procs

drop_hatDeadchat plays command that drops the current hat off Ian.
find_new_hatDeadchat plays command that picks a new hat for Ian.

Var Details

inventory_back

Currently worn item on the back slot

inventory_head

Currently worn item on the head slot

Proc Details

drop_hat

Deadchat plays command that drops the current hat off Ian.

find_new_hat

Deadchat plays command that picks a new hat for Ian.

\ No newline at end of file diff --git a/mob/living/simple_animal/slime.html b/mob/living/simple_animal/slime.html new file mode 100644 index 00000000000..f0e41a9ffbe --- /dev/null +++ b/mob/living/simple_animal/slime.html @@ -0,0 +1 @@ +/mob/living/simple_animal/slime - Space Station 13
Space Station 13 - Modules - TypesVar Details

slime

Vars

AIprocDetermines if the AI loop is activated
AtkcoolAttack cooldown
DisciplineIf a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while
SStunStun variable
TempstunTemporary temperature stuns
colourTIME FOR SUBSPECIES
effectmodCORE-CROSSING CODE

Var Details

AIproc

Determines if the AI loop is activated

Atkcool

Attack cooldown

Discipline

If a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while

SStun

Stun variable

Tempstun

Temporary temperature stuns

colour

TIME FOR SUBSPECIES

effectmod

CORE-CROSSING CODE

\ No newline at end of file diff --git a/mob/new_player.html b/mob/new_player.html new file mode 100644 index 00000000000..e5fe2f8d77a --- /dev/null +++ b/mob/new_player.html @@ -0,0 +1 @@ +/mob/new_player - Space Station 13
Space Station 13 - Modules - TypesVar Details

new_player

Vars

chose_respawnHas this player chosen to respawn as a new character?

Var Details

chose_respawn

Has this player chosen to respawn as a new character?

\ No newline at end of file diff --git a/mob/oranges_ear.html b/mob/oranges_ear.html new file mode 100644 index 00000000000..11eab4ff351 --- /dev/null +++ b/mob/oranges_ear.html @@ -0,0 +1,35 @@ +/mob/oranges_ear - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

oranges_ear

Vars

referencesreferences to everything "on" the turf we are assigned to, that we care about. populated in assign() and cleared in unassign(). +movables iside of other movables count as being "on" if they have get_turf(them) == our turf. intentionally not a lazylist

Procs

unassignclean this oranges_ear up for future use

Var Details

references

references to everything "on" the turf we are assigned to, that we care about. populated in assign() and cleared in unassign(). +movables iside of other movables count as being "on" if they have get_turf(them) == our turf. intentionally not a lazylist

Proc Details

unassign

clean this oranges_ear up for future use

\ No newline at end of file diff --git a/obj.html b/obj.html new file mode 100644 index 00000000000..dfdd3f93ce6 --- /dev/null +++ b/obj.html @@ -0,0 +1,58 @@ +/obj - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

obj

Vars

acid_levelHow much acid is on this object?
being_shockedIs this object currently being zapped by lightning?
can_be_hitCan this object be attacked in melee?
custom_fire_overlayIf provided, a custom overlay representing being the object being on fire.
damage_deflectionDamage under this value will be completely ignored.
damtypeWhat type of damage does this object deal?
emaggedIs this object emagged?
forceHow much damage this object does in melee.
force_blueprintsForces the object to be on the blueprints, regardless of when it was created.
in_useIf we have a user using us, this will become TRUE. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
integrity_failureHealth threshold below which the object will break. Defaults to 0 for no special broken behavior.
max_integrityMaximum health of the object, and default value of obj_integrity.
obj_integrityHealth of the object. If unspecified, defaults to max_integrity.
on_blueprintsAre we visible on the station blueprints at roundstart?
origin_techUsed by R&D to determine what research bonuses it grants.
req_accessA list of accesses as defined by code/__DEFINES/access_defines.dm. All accesses are required when checking.
req_one_accessA list of accesses as defined by code/__DEFINES/access_defines.dm. At least one access is required when checking.
resistance_flagsFlags that make this object harder to destroy, e.g. [ACID_PROOF], [FIRE_PROOF], [INDESTRUCTIBLE].
sharpCan this object cut?
species_exceptionA list of otherwise restricted /datum/species type paths that are permitted to wear this item.
speed_processShould this object speed process? Greatly increases the frequency of process events (5 times more frequent).
suicidal_handsDoes this object require you to hold it to commit suicide with it?

Procs

GetExplosionBlockreturns how much the object blocks an explosion. Used by subtypes.
acid_actthe obj's reaction when touched by acid
acid_meltcalled when the obj is destroyed by acid.
acid_processingthe proc called by the acid subsystem to process the acid that's on the obj
bitmask_smoothObject override to prevent unanchored objects from smoothing
burncalled when the obj is destroyed by fire
calculate_oneshot_damagereturns the amount of damage required to destroy this object in a single hit.
default_unfasten_wrenchHandles (un)anchoring. Returns TRUE if successful, otherwise returns FALSE.
default_welder_repairReturns TRUE if the object was successfully repaired. Fully repairs an object (setting BROKEN to FALSE), default repair time = 40.
extinguishCalled when the obj is no longer on fire.
fire_actFIRE
force_eject_occupantThis proc handles safely removing occupant mobs from the object if they must be teleported out (due to being SSD/AFK, by admin teleport, etc) or transformed.
gender_revealCreates an animation of the item slowly lifting up from the floor with a colored outline, then slowly drifting back down. +Arguments:
hulk_damageCalled to get the damage that hulks will deal to the obj.
modify_max_integritychanges max_integrity while retaining current health percentage, returns TRUE if the obj got broken.
obj_destructionwhat happens when the obj's integrity reaches zero.
play_attack_soundthe sound played when the obj is damaged.
remove_gender_reveal_fxRemoves the non-animate effects from above proc
run_obj_armorreturns the damage value of the attack after processing the obj's various armor protections
set_sharpnessSet whether the item should be sharp or not
suicide_actOverride this to enable special self-termination interactions on an object when using the suicide command.
ui_login_actCall this from a proc that is called in ui_act() to process login actions
ui_login_attackbyConvenience function to perform login actions when +the source object is hit by specific items.
ui_login_dataAppends login state data.
ui_login_ejectAttempts to eject the inserted ID.
ui_login_getReturns (or creates) the login state for the source object.
ui_login_insertAttempts to insert an object as an ID.
ui_login_loginAttempts to log in with the given login type.
ui_login_logoutAttempts to log out.
ui_login_on_loginCalled on successful login.
ui_login_on_logoutCalled on successful logout.
zap_actCalled when the obj is hit by a tesla bolt.
zap_buckle_checkOnly tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later.

Var Details

acid_level

How much acid is on this object?

being_shocked

Is this object currently being zapped by lightning?

can_be_hit

Can this object be attacked in melee?

custom_fire_overlay

If provided, a custom overlay representing being the object being on fire.

damage_deflection

Damage under this value will be completely ignored.

damtype

What type of damage does this object deal?

emagged

Is this object emagged?

force

How much damage this object does in melee.

force_blueprints

Forces the object to be on the blueprints, regardless of when it was created.

in_use

If we have a user using us, this will become TRUE. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!

integrity_failure

Health threshold below which the object will break. Defaults to 0 for no special broken behavior.

max_integrity

Maximum health of the object, and default value of obj_integrity.

obj_integrity

Health of the object. If unspecified, defaults to max_integrity.

on_blueprints

Are we visible on the station blueprints at roundstart?

origin_tech

Used by R&D to determine what research bonuses it grants.

req_access

A list of accesses as defined by code/__DEFINES/access_defines.dm. All accesses are required when checking.

req_one_access

A list of accesses as defined by code/__DEFINES/access_defines.dm. At least one access is required when checking.

resistance_flags

Flags that make this object harder to destroy, e.g. [ACID_PROOF], [FIRE_PROOF], [INDESTRUCTIBLE].

sharp

Can this object cut?

species_exception

A list of otherwise restricted /datum/species type paths that are permitted to wear this item.

speed_process

Should this object speed process? Greatly increases the frequency of process events (5 times more frequent).

suicidal_hands

Does this object require you to hold it to commit suicide with it?

Proc Details

GetExplosionBlock

returns how much the object blocks an explosion. Used by subtypes.

acid_act

the obj's reaction when touched by acid

acid_melt

called when the obj is destroyed by acid.

acid_processing

the proc called by the acid subsystem to process the acid that's on the obj

bitmask_smooth

Object override to prevent unanchored objects from smoothing

burn

called when the obj is destroyed by fire

calculate_oneshot_damage

returns the amount of damage required to destroy this object in a single hit.

default_unfasten_wrench

Handles (un)anchoring. Returns TRUE if successful, otherwise returns FALSE.

default_welder_repair

Returns TRUE if the object was successfully repaired. Fully repairs an object (setting BROKEN to FALSE), default repair time = 40.

extinguish

Called when the obj is no longer on fire.

fire_act

FIRE

force_eject_occupant

This proc handles safely removing occupant mobs from the object if they must be teleported out (due to being SSD/AFK, by admin teleport, etc) or transformed.

gender_reveal

Creates an animation of the item slowly lifting up from the floor with a colored outline, then slowly drifting back down. +Arguments:

+

hulk_damage

Called to get the damage that hulks will deal to the obj.

modify_max_integrity

changes max_integrity while retaining current health percentage, returns TRUE if the obj got broken.

obj_destruction

what happens when the obj's integrity reaches zero.

play_attack_sound

the sound played when the obj is damaged.

remove_gender_reveal_fx

Removes the non-animate effects from above proc

run_obj_armor

returns the damage value of the attack after processing the obj's various armor protections

set_sharpness

Set whether the item should be sharp or not

suicide_act

Override this to enable special self-termination interactions on an object when using the suicide command.

ui_login_act

Call this from a proc that is called in ui_act() to process login actions

+

Arguments:

+

ui_login_attackby

Convenience function to perform login actions when +the source object is hit by specific items.

+

Arguments:

+

ui_login_data

Appends login state data.

+

Arguments:

+

ui_login_eject

Attempts to eject the inserted ID.

+

Arguments:

+

ui_login_get

Returns (or creates) the login state for the source object.

+

Arguments:

+

ui_login_insert

Attempts to insert an object as an ID.

+

Arguments:

+

ui_login_login

Attempts to log in with the given login type.

+

Arguments:

+

ui_login_logout

Attempts to log out.

+

Arguments:

+

ui_login_on_login

Called on successful login.

+

Arguments:

+

ui_login_on_logout

Called on successful logout.

+

Arguments:

+

zap_act

Called when the obj is hit by a tesla bolt.

zap_buckle_check

Only tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later.

\ No newline at end of file diff --git a/obj/airlock_filler_object.html b/obj/airlock_filler_object.html new file mode 100644 index 00000000000..e123ce3b8bf --- /dev/null +++ b/obj/airlock_filler_object.html @@ -0,0 +1 @@ +/obj/airlock_filler_object - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

airlock_filler_object

Player view blocking fillers for multi-tile doors

Vars

filled_airlockThe door/airlock this fluff panel is attached to

Procs

CanPassThey only block our visuals, not movement
pair_airlockMulti-tile airlocks pair with a filler panel, if one goes so does the other.

Var Details

filled_airlock

The door/airlock this fluff panel is attached to

Proc Details

CanPass

They only block our visuals, not movement

pair_airlock

Multi-tile airlocks pair with a filler panel, if one goes so does the other.

\ No newline at end of file diff --git a/obj/docking_port.html b/obj/docking_port.html new file mode 100644 index 00000000000..0521611544c --- /dev/null +++ b/obj/docking_port.html @@ -0,0 +1 @@ +/obj/docking_port - Space Station 13
Space Station 13 - Modules - TypesVar Details

docking_port

Vars

dheightPosition relative to covered area, parallel to direction.
dirThis should point away from the docking port door, i.e. towards the ship.
dwidthPosition relative to covered area, perpendicular to direction.
heightSize of covered area, parallel to direction.
widthSize of covered area, perpendicular to direction.

Var Details

dheight

Position relative to covered area, parallel to direction.

dir

This should point away from the docking port door, i.e. towards the ship.

dwidth

Position relative to covered area, perpendicular to direction.

height

Size of covered area, parallel to direction.

width

Size of covered area, perpendicular to direction.

\ No newline at end of file diff --git a/obj/docking_port/mobile.html b/obj/docking_port/mobile.html new file mode 100644 index 00000000000..5069469fbab --- /dev/null +++ b/obj/docking_port/mobile.html @@ -0,0 +1 @@ +/obj/docking_port/mobile - Space Station 13
Space Station 13 - Modules - TypesVar Details

mobile

Vars

lance_dockingIs this a shuttle that completely destroys whatever dares to get in it's way?
lockeddownIf this variable is true, shuttle is on lockdown, and other requests can not be processed
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.
preferred_directionThe direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in
shuttle_speed_factorThe speed factor for this shuttle. Higher means faster.
uses_lockdownDoes this shuttle use the lockdown system?

Var Details

lance_docking

Is this a shuttle that completely destroys whatever dares to get in it's way?

lockeddown

If this variable is true, shuttle is on lockdown, and other requests can not be processed

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.

preferred_direction

The direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in

shuttle_speed_factor

The speed factor for this shuttle. Higher means faster.

uses_lockdown

Does this shuttle use the lockdown system?

\ No newline at end of file diff --git a/obj/docking_port/mobile/emergency.html b/obj/docking_port/mobile/emergency.html new file mode 100644 index 00000000000..1bc94115ac5 --- /dev/null +++ b/obj/docking_port/mobile/emergency.html @@ -0,0 +1 @@ +/obj/docking_port/mobile/emergency - Space Station 13
Space Station 13 - Modules - TypesVar Details

emergency

Vars

aihackedIs the AI currently in control of the shuttle?
hijack_statusState of the emergency shuttles hijack status.

Var Details

aihacked

Is the AI currently in control of the shuttle?

hijack_status

State of the emergency shuttles hijack status.

\ No newline at end of file diff --git a/obj/docking_port/stationary/transit.html b/obj/docking_port/stationary/transit.html new file mode 100644 index 00000000000..0fa3b5fbd2b --- /dev/null +++ b/obj/docking_port/stationary/transit.html @@ -0,0 +1 @@ +/obj/docking_port/stationary/transit - Space Station 13
Space Station 13 - Modules - TypesVar Details

transit

Vars

assigned_areaThe area created during the transit area reservation
ownerThe mobile port that owns this transit port
reserved_areaThe turf reservation returned by the transit area request

Var Details

assigned_area

The area created during the transit area reservation

owner

The mobile port that owns this transit port

reserved_area

The turf reservation returned by the transit area request

\ No newline at end of file diff --git a/obj/effect/abstract/chasm_storage.html b/obj/effect/abstract/chasm_storage.html new file mode 100644 index 00000000000..9fec8f42005 --- /dev/null +++ b/obj/effect/abstract/chasm_storage.html @@ -0,0 +1,7 @@ +/obj/effect/abstract/chasm_storage - Space Station 13
Space Station 13 - Modules - TypesProc Details

chasm_storage

An abstract object which is basically just a bag that the chasm puts people inside

Procs

on_reviveCalled if something comes back to life inside the pit. Expected sources are badmins and changelings. +Ethereals should take enough damage to be smashed and not revive. +Arguments +escapee - Lucky guy who just came back to life at the bottom of a hole.

Proc Details

on_revive

Called if something comes back to life inside the pit. Expected sources are badmins and changelings. +Ethereals should take enough damage to be smashed and not revive. +Arguments +escapee - Lucky guy who just came back to life at the bottom of a hole.

\ No newline at end of file diff --git a/obj/effect/abstract/particle_holder.html b/obj/effect/abstract/particle_holder.html new file mode 100644 index 00000000000..d8afa10bbab --- /dev/null +++ b/obj/effect/abstract/particle_holder.html @@ -0,0 +1,5 @@ +/obj/effect/abstract/particle_holder - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

particle_holder

These effects can be added to anything to hold particles, which is useful because Byond only allows a single particle per atom

Vars

holding_parentThe mob that is holding our item
last_attached_location_typetypepath of the last location we're in, if it's different when moved then we need to update vis contents
parentThe main item we're attached to at the moment, particle holders hold particles for something

Procs

on_movesignal called when parent is moved
on_qdelsignal called when parent is deleted
update_visual_contentslogic proc for particle holders, aka where they move. +subtypes of particle holders can override this for particles that should always be turf level or do special things when repositioning. +this base subtype has some logic for items, as the loc of items becomes mobs very often hiding the particles

Var Details

holding_parent

The mob that is holding our item

last_attached_location_type

typepath of the last location we're in, if it's different when moved then we need to update vis contents

parent

The main item we're attached to at the moment, particle holders hold particles for something

Proc Details

on_move

signal called when parent is moved

on_qdel

signal called when parent is deleted

update_visual_contents

logic proc for particle holders, aka where they move. +subtypes of particle holders can override this for particles that should always be turf level or do special things when repositioning. +this base subtype has some logic for items, as the loc of items becomes mobs very often hiding the particles

\ No newline at end of file diff --git a/obj/effect/abstract/voidball.html b/obj/effect/abstract/voidball.html new file mode 100644 index 00000000000..dedcaddaf98 --- /dev/null +++ b/obj/effect/abstract/voidball.html @@ -0,0 +1 @@ +/obj/effect/abstract/voidball - Space Station 13
Space Station 13 - Modules - TypesProc Details

voidball

Procs

animate_closingPlays a closing animation
animate_openingPlays a opening animation

Proc Details

animate_closing

Plays a closing animation

animate_opening

Plays a opening animation

\ No newline at end of file diff --git a/obj/effect/accelerated_particle.html b/obj/effect/accelerated_particle.html new file mode 100644 index 00000000000..43e129c9d9f --- /dev/null +++ b/obj/effect/accelerated_particle.html @@ -0,0 +1 @@ +/obj/effect/accelerated_particle - Space Station 13
Space Station 13 - Modules - TypesProc Details

accelerated_particle

Procs

BumpThe particles bump the singularity
singularity_actThe singularity bumps the particles

Proc Details

Bump

The particles bump the singularity

singularity_act

The singularity bumps the particles

\ No newline at end of file diff --git a/obj/effect/anomalous_particulate.html b/obj/effect/anomalous_particulate.html new file mode 100644 index 00000000000..585b59abb79 --- /dev/null +++ b/obj/effect/anomalous_particulate.html @@ -0,0 +1,4 @@ +/obj/effect/anomalous_particulate - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

anomalous_particulate

Vars

being_drainedWhether we're currently being drained or not.

Procs

after_drainHandle the effects of the drain.
drain_influenceBegin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.

Var Details

being_drained

Whether we're currently being drained or not.

Proc Details

after_drain

Handle the effects of the drain.

drain_influence

Begin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.

+

If successful, the influence is drained and deleted.

\ No newline at end of file diff --git a/obj/effect/anomaly.html b/obj/effect/anomaly.html new file mode 100644 index 00000000000..c1403d60c09 --- /dev/null +++ b/obj/effect/anomaly.html @@ -0,0 +1 @@ +/obj/effect/anomaly - Space Station 13
Space Station 13 - Modules - TypesVar Details

anomaly

Vars

canister_spawnedUsed by the canister grenades to modify functions.
drops_coreDo we drop a core when we're neutralized?
lifespanTime in deciseconds before the anomaly triggers

Var Details

canister_spawned

Used by the canister grenades to modify functions.

drops_core

Do we drop a core when we're neutralized?

lifespan

Time in deciseconds before the anomaly triggers

\ No newline at end of file diff --git a/obj/effect/anomaly/bhole.html b/obj/effect/anomaly/bhole.html new file mode 100644 index 00000000000..a3f1a32ab2e --- /dev/null +++ b/obj/effect/anomaly/bhole.html @@ -0,0 +1 @@ +/obj/effect/anomaly/bhole - Space Station 13
Space Station 13 - Modules - TypesVar Details

bhole

Vars

timerThe timer that will give us an extra proccall of ripping the floors up

Var Details

timer

The timer that will give us an extra proccall of ripping the floors up

\ No newline at end of file diff --git a/obj/effect/anomaly/bluespace.html b/obj/effect/anomaly/bluespace.html new file mode 100644 index 00000000000..e854a8d9f79 --- /dev/null +++ b/obj/effect/anomaly/bluespace.html @@ -0,0 +1 @@ +/obj/effect/anomaly/bluespace - Space Station 13
Space Station 13 - Modules - TypesVar Details

bluespace

Vars

fully_activeUsed by supermatter anomalies. If fully active, behaves like normal. Otherwise, will not teleport people, to keep them being telefragged into the SM
mass_teleportingDo we teleport everything around us to a beacon when despawning?
mob_rangeWhat is the range we will grab mobs to teleport from
other_rangeWhat is the range we will grab objects to teleport from
supermatter_spawnedDo we have a smaller mob and object grab range, and 4 seconds of mercy?

Var Details

fully_active

Used by supermatter anomalies. If fully active, behaves like normal. Otherwise, will not teleport people, to keep them being telefragged into the SM

mass_teleporting

Do we teleport everything around us to a beacon when despawning?

mob_range

What is the range we will grab mobs to teleport from

other_range

What is the range we will grab objects to teleport from

supermatter_spawned

Do we have a smaller mob and object grab range, and 4 seconds of mercy?

\ No newline at end of file diff --git a/obj/effect/cosmic_rune.html b/obj/effect/cosmic_rune.html new file mode 100644 index 00000000000..7537d65370a --- /dev/null +++ b/obj/effect/cosmic_rune.html @@ -0,0 +1 @@ +/obj/effect/cosmic_rune - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

cosmic_rune

A rune that allows you to teleport to the location of a linked rune.

Vars

linked_runeThe other rune this rune is linked with
rune_effectEffect for when someone teleports

Procs

fail_invokeFor if someone failed to invoke the rune
invokeFor invoking the rune
link_runeFor linking a new rune
unlink_runeUsed for unlinking the other rune if this rune gets destroyed

Var Details

linked_rune

The other rune this rune is linked with

rune_effect

Effect for when someone teleports

Proc Details

fail_invoke

For if someone failed to invoke the rune

invoke

For invoking the rune

For linking a new rune

Used for unlinking the other rune if this rune gets destroyed

\ No newline at end of file diff --git a/obj/effect/countdown.html b/obj/effect/countdown.html new file mode 100644 index 00000000000..527047b697b --- /dev/null +++ b/obj/effect/countdown.html @@ -0,0 +1 @@ +/obj/effect/countdown - Space Station 13
Space Station 13 - Modules - TypesProc Details

countdown

Procs

get_valueGet the value from our atom

Proc Details

get_value

Get the value from our atom

\ No newline at end of file diff --git a/obj/effect/cross_action/spacetime_dist.html b/obj/effect/cross_action/spacetime_dist.html new file mode 100644 index 00000000000..daf4e831033 --- /dev/null +++ b/obj/effect/cross_action/spacetime_dist.html @@ -0,0 +1 @@ +/obj/effect/cross_action/spacetime_dist - Space Station 13
Space Station 13 - Modules - TypesVar Details

spacetime_dist

Vars

antimagic_flagsA flags which save people from being thrown about
cant_teleportUsed to prevent an infinite loop in the space tiime continuum
linked_distA flags which save people from being thrown about

Var Details

antimagic_flags

A flags which save people from being thrown about

cant_teleport

Used to prevent an infinite loop in the space tiime continuum

linked_dist

A flags which save people from being thrown about

\ No newline at end of file diff --git a/obj/effect/decal/cleanable.html b/obj/effect/decal/cleanable.html new file mode 100644 index 00000000000..2d8c2f3d98a --- /dev/null +++ b/obj/effect/decal/cleanable.html @@ -0,0 +1,5 @@ +/obj/effect/decal/cleanable - Space Station 13
Space Station 13 - Modules - TypesVar Details

cleanable

Vars

bloodiness0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints
cleanable_amountHow much yuck there is this decal, usually from 0-5. +Used to calculate drying times, blood writing uses, and similar things.
gravity_checkprevents Ambient Occlusion effects around it ; Set to GAME_PLANE in Initialize() if on a wall +for blood n vomit in zero G --- IN GRAVITY=TRUE; NO GRAVITY=FALSE
mergeable_decalwhen another of the same type is made on the same tile will they merge --- YES=TRUE; NO=FLASE
random_icon_stateswhen Initialized() its icon_state will be chosen from this list

Var Details

bloodiness

0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints

cleanable_amount

How much yuck there is this decal, usually from 0-5. +Used to calculate drying times, blood writing uses, and similar things.

gravity_check

prevents Ambient Occlusion effects around it ; Set to GAME_PLANE in Initialize() if on a wall +for blood n vomit in zero G --- IN GRAVITY=TRUE; NO GRAVITY=FALSE

mergeable_decal

when another of the same type is made on the same tile will they merge --- YES=TRUE; NO=FLASE

random_icon_states

when Initialized() its icon_state will be chosen from this list

\ No newline at end of file diff --git a/obj/effect/decal/cleanable/tar.html b/obj/effect/decal/cleanable/tar.html new file mode 100644 index 00000000000..ae5b1646e3b --- /dev/null +++ b/obj/effect/decal/cleanable/tar.html @@ -0,0 +1 @@ +/obj/effect/decal/cleanable/tar - Space Station 13
Space Station 13 - Modules - TypesVar Details

tar

Vars

targetThe turf that the tar is sitting on

Var Details

target

The turf that the tar is sitting on

\ No newline at end of file diff --git a/obj/effect/fire.html b/obj/effect/fire.html new file mode 100644 index 00000000000..2d4cc7d85cc --- /dev/null +++ b/obj/effect/fire.html @@ -0,0 +1 @@ +/obj/effect/fire - Space Station 13
Space Station 13 - Modules - TypesVar Details

fire

Vars

application_stacksHow many firestacks does the fire give to mobs
durationHow long will our fire last
temperatureHow hot is our fire?

Var Details

application_stacks

How many firestacks does the fire give to mobs

duration

How long will our fire last

temperature

How hot is our fire?

\ No newline at end of file diff --git a/obj/effect/floating_blade.html b/obj/effect/floating_blade.html new file mode 100644 index 00000000000..1a11526fc5e --- /dev/null +++ b/obj/effect/floating_blade.html @@ -0,0 +1 @@ +/obj/effect/floating_blade - Space Station 13
Space Station 13 - Modules - TypesVar Details

floating_blade

Vars

glow_colorThe color the knife glows around it.

Var Details

glow_color

The color the knife glows around it.

\ No newline at end of file diff --git a/obj/effect/forcefield/cosmic_field.html b/obj/effect/forcefield/cosmic_field.html new file mode 100644 index 00000000000..cfb8aaabbfa --- /dev/null +++ b/obj/effect/forcefield/cosmic_field.html @@ -0,0 +1 @@ +/obj/effect/forcefield/cosmic_field - Space Station 13
Space Station 13 - Modules - TypesVar Details

cosmic_field

The cosmic heretics forcefield

Vars

antimagic_flagsFlags for what antimagic can just ignore our forcefields

Var Details

antimagic_flags

Flags for what antimagic can just ignore our forcefields

\ No newline at end of file diff --git a/obj/effect/forcefield/wizard.html b/obj/effect/forcefield/wizard.html new file mode 100644 index 00000000000..afaec95e5eb --- /dev/null +++ b/obj/effect/forcefield/wizard.html @@ -0,0 +1 @@ +/obj/effect/forcefield/wizard - Space Station 13
Space Station 13 - Modules - TypesVar Details

wizard

Vars

antimagic_flagsFlags for what antimagic can just ignore our forcefields

Var Details

antimagic_flags

Flags for what antimagic can just ignore our forcefields

\ No newline at end of file diff --git a/obj/effect/gibspawner.html b/obj/effect/gibspawner.html new file mode 100644 index 00000000000..a1942c4df30 --- /dev/null +++ b/obj/effect/gibspawner.html @@ -0,0 +1,12 @@ +/obj/effect/gibspawner - Space Station 13
Space Station 13 - Modules - TypesProc Details

gibspawner

Procs

gib_dnaAssigns DNA and blood colour to mob gibs.
spawn_gibsSpawns the gibs (and sparks if applicable) from the gib spawner.

Proc Details

gib_dna

Assigns DNA and blood colour to mob gibs.

+

Returns FALSE if there was no DNA data to transfer to the gibs, and TRUE if there was. +Arguments:

+

spawn_gibs

Spawns the gibs (and sparks if applicable) from the gib spawner.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/guardianshield.html b/obj/effect/guardianshield.html new file mode 100644 index 00000000000..525d3a4af75 --- /dev/null +++ b/obj/effect/guardianshield.html @@ -0,0 +1 @@ +/obj/effect/guardianshield - Space Station 13
Space Station 13 - Modules - TypesVar Details

guardianshield

Vars

shield_orientationIs the guardians shield the left or right shield?

Var Details

shield_orientation

Is the guardians shield the left or right shield?

\ No newline at end of file diff --git a/obj/effect/hallucination.html b/obj/effect/hallucination.html new file mode 100644 index 00000000000..12524341196 --- /dev/null +++ b/obj/effect/hallucination.html @@ -0,0 +1,23 @@ +/obj/effect/hallucination - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination

Base object for hallucinations. Contains basic behaviour to display an icon only to the target.

Vars

durationDuration in deciseconds. Can also be a list with the form [lower bound, upper bound] for a random duration.
hallucination_colorHallucination color
hallucination_iconHallucination icon.
hallucination_icon_stateHallucination icon state.
hallucination_layerHallucination layer.
hallucination_overrideHallucination override.
hallucination_planeHallucination plane.
imagesLazy list of images created as part of the hallucination. Cleared on destruction.
should_deleteShould this hallucination delete itself
targetThe mob that sees this hallucination.

Procs

add_iconAdds an image to the hallucination. Cleared on destruction.
clear_iconClears an image from the hallucination.
clear_icon_inClears an image from the hallucination after a delay.
clear_iconsClears all images from the hallucination.
play_sound_inPlays a sound to the target only.

Var Details

duration

Duration in deciseconds. Can also be a list with the form [lower bound, upper bound] for a random duration.

hallucination_color

Hallucination color

hallucination_icon

Hallucination icon.

hallucination_icon_state

Hallucination icon state.

hallucination_layer

Hallucination layer.

hallucination_override

Hallucination override.

hallucination_plane

Hallucination plane.

images

Lazy list of images created as part of the hallucination. Cleared on destruction.

should_delete

Should this hallucination delete itself

target

The mob that sees this hallucination.

Proc Details

add_icon

Adds an image to the hallucination. Cleared on destruction.

+

Arguments:

+

clear_icon

Clears an image from the hallucination.

+

Arguments:

+

clear_icon_in

Clears an image from the hallucination after a delay.

+

Arguments:

+

clear_icons

Clears all images from the hallucination.

play_sound_in

Plays a sound to the target only.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/hallucination/abduction.html b/obj/effect/hallucination/abduction.html new file mode 100644 index 00000000000..ab275e53800 --- /dev/null +++ b/obj/effect/hallucination/abduction.html @@ -0,0 +1,5 @@ +/obj/effect/hallucination/abduction - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Abduction

Sends an abductor agent after the target. On knockdown, spawns an abductor scientist next to the target. Nothing else happens.

Vars

agentThe abductor agent hallucination.
scientistThe abductor scientist image handle.

Procs

do_spawn_scientistTimer called to actually spawn the scientist.
spawn_scientistCalled when the fake abductor scientist should spawn.

Var Details

agent

The abductor agent hallucination.

scientist

The abductor scientist image handle.

Proc Details

do_spawn_scientist

Timer called to actually spawn the scientist.

+

Arguments:

+

spawn_scientist

Called when the fake abductor scientist should spawn.

\ No newline at end of file diff --git a/obj/effect/hallucination/assault.html b/obj/effect/hallucination/assault.html new file mode 100644 index 00000000000..266cc8557aa --- /dev/null +++ b/obj/effect/hallucination/assault.html @@ -0,0 +1 @@ +/obj/effect/hallucination/assault - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Assault

An imaginary attacker spawns close to the target and attacks them to stamcrit.

Vars

fake_attackerThe attacker hallucination.

Var Details

fake_attacker

The attacker hallucination.

\ No newline at end of file diff --git a/obj/effect/hallucination/audio.html b/obj/effect/hallucination/audio.html new file mode 100644 index 00000000000..c2dcb47d0dc --- /dev/null +++ b/obj/effect/hallucination/audio.html @@ -0,0 +1 @@ +/obj/effect/hallucination/audio - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Audio

Plays a random sound.

Vars

soundsAssociative list of sounds that may be played. Value corresponds to the volume.

Var Details

sounds

Associative list of sounds that may be played. Value corresponds to the volume.

\ No newline at end of file diff --git a/obj/effect/hallucination/blob.html b/obj/effect/hallucination/blob.html new file mode 100644 index 00000000000..ae9b5529612 --- /dev/null +++ b/obj/effect/hallucination/blob.html @@ -0,0 +1,5 @@ +/obj/effect/hallucination/blob - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

blob

Vars

chaser_blob_headThe image for the chaser zombie's blob head
conclude_delayThe amount of time in deciseconds the hallucination should continue after final expansion.
expand_delayThe delay at which the blob expands in deciseconds. Shouldn't be too low to prevent lag.
expand_queueList of turfs that need expanding from.
expand_timerExpand timer handle.
player_zombieThe self delusion blob zombie hallucination, triggers on knockdown.
processedAssociative list of turfs that have already been processed.
target_blob_headThe image for the player zombie's blob head
zombieThe blob zombie hallucination.

Procs

create_blobCreates a fake blob overlay on the given turf.
expandCalled regularly in a timer to process the blob expanding.

Var Details

chaser_blob_head

The image for the chaser zombie's blob head

conclude_delay

The amount of time in deciseconds the hallucination should continue after final expansion.

expand_delay

The delay at which the blob expands in deciseconds. Shouldn't be too low to prevent lag.

expand_queue

List of turfs that need expanding from.

expand_timer

Expand timer handle.

player_zombie

The self delusion blob zombie hallucination, triggers on knockdown.

processed

Associative list of turfs that have already been processed.

target_blob_head

The image for the player zombie's blob head

zombie

The blob zombie hallucination.

Proc Details

create_blob

Creates a fake blob overlay on the given turf.

+

Arguments:

+

expand

Called regularly in a timer to process the blob expanding.

\ No newline at end of file diff --git a/obj/effect/hallucination/bolts.html b/obj/effect/hallucination/bolts.html new file mode 100644 index 00000000000..41631cf5538 --- /dev/null +++ b/obj/effect/hallucination/bolts.html @@ -0,0 +1,10 @@ +/obj/effect/hallucination/bolts - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Bolts

Visually bolts a random number of airlocks around the target.

Vars

bolt_amountThe maximum amount of airlocks to fake bolt.
bolt_durationThe duration of fake bolt in deciseconds.
boltedLazy list of fake bolted airlocks. Key is airlock, value is bolt overlay.

Procs

do_boltCalled in a timer to fake bolt the given airlock.
do_unboltCalled in a timer to fake unbolt the given airlock.

Var Details

bolt_amount

The maximum amount of airlocks to fake bolt.

bolt_duration

The duration of fake bolt in deciseconds.

bolted

Lazy list of fake bolted airlocks. Key is airlock, value is bolt overlay.

Proc Details

do_bolt

Called in a timer to fake bolt the given airlock.

+

Arguments:

+

do_unbolt

Called in a timer to fake unbolt the given airlock.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/hallucination/chaser.html b/obj/effect/hallucination/chaser.html new file mode 100644 index 00000000000..e9c929bf5aa --- /dev/null +++ b/obj/effect/hallucination/chaser.html @@ -0,0 +1 @@ +/obj/effect/hallucination/chaser - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Chaser

A generic hallucination that chases the target.

Vars

think_intervalInterval between two thinks in deciseconds. Shouldn't be too low to prevent lag.
think_timerThink timer handle.

Procs

chaseCalled every Think when we are not close enough to the target.
thinkCalled at regular intervals to determine what to do.
within_rangeCalled every Think when we are close enough to the target.

Var Details

think_interval

Interval between two thinks in deciseconds. Shouldn't be too low to prevent lag.

think_timer

Think timer handle.

Proc Details

chase

Called every Think when we are not close enough to the target.

think

Called at regular intervals to determine what to do.

within_range

Called every Think when we are close enough to the target.

\ No newline at end of file diff --git a/obj/effect/hallucination/chaser/attacker.html b/obj/effect/hallucination/chaser/attacker.html new file mode 100644 index 00000000000..abbae009b55 --- /dev/null +++ b/obj/effect/hallucination/chaser/attacker.html @@ -0,0 +1,5 @@ +/obj/effect/hallucination/chaser/attacker - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Attacker

A generic hallucination based on the Chaser that attacks if close enough.

Vars

attack_chanceChance to attack per Think spent in range.
damageStamina damage to heal on hit.
should_attack_weakenedWhether to attack if the target is knocked down.

Procs

attack_effectsCalled to handle the visual and audio effects of an attack.
attacker_attackCalled every Think when we are attacking the target.
on_knockdownCalled when one of our attacks put the target in stamina crit.

Var Details

attack_chance

Chance to attack per Think spent in range.

damage

Stamina damage to heal on hit.

should_attack_weakened

Whether to attack if the target is knocked down.

Proc Details

attack_effects

Called to handle the visual and audio effects of an attack.

attacker_attack

Called every Think when we are attacking the target.

+

Arguments:

+

on_knockdown

Called when one of our attacks put the target in stamina crit.

\ No newline at end of file diff --git a/obj/effect/hallucination/chaser/attacker/abductor.html b/obj/effect/hallucination/chaser/attacker/abductor.html new file mode 100644 index 00000000000..452a70612cf --- /dev/null +++ b/obj/effect/hallucination/chaser/attacker/abductor.html @@ -0,0 +1 @@ +/obj/effect/hallucination/chaser/attacker/abductor - Space Station 13
Space Station 13 - Modules - TypesVar Details

abductor

Vars

owning_hallucinationThe hallucination that spawned us.

Var Details

owning_hallucination

The hallucination that spawned us.

\ No newline at end of file diff --git a/obj/effect/hallucination/chaser/attacker/assaulter.html b/obj/effect/hallucination/chaser/attacker/assaulter.html new file mode 100644 index 00000000000..277f8e28a43 --- /dev/null +++ b/obj/effect/hallucination/chaser/attacker/assaulter.html @@ -0,0 +1 @@ +/obj/effect/hallucination/chaser/attacker/assaulter - Space Station 13
Space Station 13 - Modules - TypesVar Details

assaulter

Vars

attack_soundThe attack sound to play. Can be a file or text (passed to [/proc/get_sfx]).
attack_verbThe attack verb to display.

Var Details

attack_sound

The attack sound to play. Can be a file or text (passed to [/proc/get_sfx]).

attack_verb

The attack verb to display.

\ No newline at end of file diff --git a/obj/effect/hallucination/chaser/attacker/blob_zombie.html b/obj/effect/hallucination/chaser/attacker/blob_zombie.html new file mode 100644 index 00000000000..0c6ba5764e0 --- /dev/null +++ b/obj/effect/hallucination/chaser/attacker/blob_zombie.html @@ -0,0 +1 @@ +/obj/effect/hallucination/chaser/attacker/blob_zombie - Space Station 13
Space Station 13 - Modules - TypesVar Details

blob_zombie

Vars

has_zombifiedWhether or not the target has been zombified already.
owning_hallucinationThe hallucination that spawned us.

Var Details

has_zombified

Whether or not the target has been zombified already.

owning_hallucination

The hallucination that spawned us.

\ No newline at end of file diff --git a/obj/effect/hallucination/chasms.html b/obj/effect/hallucination/chasms.html new file mode 100644 index 00000000000..334a470346e --- /dev/null +++ b/obj/effect/hallucination/chasms.html @@ -0,0 +1 @@ +/obj/effect/hallucination/chasms - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Chasms

Displays fake chasms around the target that if crossed, cause them to trip.

Vars

max_amountMaximum number of chasms to create.
min_amountMinimum number of chasms to create.

Var Details

max_amount

Maximum number of chasms to create.

min_amount

Minimum number of chasms to create.

\ No newline at end of file diff --git a/obj/effect/hallucination/delusion.html b/obj/effect/hallucination/delusion.html new file mode 100644 index 00000000000..f3ef88662b6 --- /dev/null +++ b/obj/effect/hallucination/delusion.html @@ -0,0 +1 @@ +/obj/effect/hallucination/delusion - Space Station 13
Space Station 13 - Modules - TypesProc Details

Hallucination - Delusion

Changes the appearance of all humans around the target.

Procs

get_imageReturns the image to use as override to the target's appearance.

Proc Details

get_image

Returns the image to use as override to the target's appearance.

\ No newline at end of file diff --git a/obj/effect/hallucination/fake_alert.html b/obj/effect/hallucination/fake_alert.html new file mode 100644 index 00000000000..0178cd83243 --- /dev/null +++ b/obj/effect/hallucination/fake_alert.html @@ -0,0 +1 @@ +/obj/effect/hallucination/fake_alert - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Fake Alert

Displays a random alert on the target's HUD.

Vars

alert_categoryThe alert category that was affected(arc) as part of this hallucination.
alertsThe possible alerts to be displayed. Key is alert type, value is alert category.
severitiesAlert severities. Only needed for some alerts such as temperature or pressure. Key is alert category, value is severity.

Var Details

alert_category

The alert category that was affected(arc) as part of this hallucination.

alerts

The possible alerts to be displayed. Key is alert type, value is alert category.

severities

Alert severities. Only needed for some alerts such as temperature or pressure. Key is alert category, value is severity.

\ No newline at end of file diff --git a/obj/effect/hallucination/fake_danger.html b/obj/effect/hallucination/fake_danger.html new file mode 100644 index 00000000000..67e12b8adf7 --- /dev/null +++ b/obj/effect/hallucination/fake_danger.html @@ -0,0 +1 @@ +/obj/effect/hallucination/fake_danger - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Fake Danger

Sends a random danger message to the target's chat.

Vars

messagesList of messages that may be displayed.

Var Details

messages

List of messages that may be displayed.

\ No newline at end of file diff --git a/obj/effect/hallucination/fake_grenade.html b/obj/effect/hallucination/fake_grenade.html new file mode 100644 index 00000000000..773764bc61f --- /dev/null +++ b/obj/effect/hallucination/fake_grenade.html @@ -0,0 +1 @@ +/obj/effect/hallucination/fake_grenade - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Fake Grenade

A random grenade is thrown near the target from offscreen.

Vars

grenade_turfThe turf the grenade will land on, and that sounds will play from
grenade_typeA list of potential grenades to pick from, one is picked at random to copy

Procs

ending_effectAdditional effects that occur after the grenade hallucination disappears to mimic the grenade detonating

Var Details

grenade_turf

The turf the grenade will land on, and that sounds will play from

grenade_type

A list of potential grenades to pick from, one is picked at random to copy

Proc Details

ending_effect

Additional effects that occur after the grenade hallucination disappears to mimic the grenade detonating

\ No newline at end of file diff --git a/obj/effect/hallucination/fake_item.html b/obj/effect/hallucination/fake_item.html new file mode 100644 index 00000000000..e84c9ab5e48 --- /dev/null +++ b/obj/effect/hallucination/fake_item.html @@ -0,0 +1 @@ +/obj/effect/hallucination/fake_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Fake Item

Displays a random fake item around the target. If it's on the floor and they try to pick it up, they will trip and fall.

Vars

itemsStatic list of items this hallucination can be.

Var Details

items

Static list of items this hallucination can be.

\ No newline at end of file diff --git a/obj/effect/hallucination/fake_weapon.html b/obj/effect/hallucination/fake_weapon.html new file mode 100644 index 00000000000..b55c35a595b --- /dev/null +++ b/obj/effect/hallucination/fake_weapon.html @@ -0,0 +1 @@ +/obj/effect/hallucination/fake_weapon - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Fake Weapon

Displays a random fake weapon wielded by a human around the target.

Vars

default_iconThe default LEFT-HAND icon file for weapons. Static.
right_hand_iconsStatic list of RIGHT-HAND counterpart for any LEFT-HAND icon files used above.
weaponsStatic list of weapons this hallucination can be. Key is icon state, value is LEFT-HAND icon file.
wielderThe mob wielding the fake weapon.

Var Details

default_icon

The default LEFT-HAND icon file for weapons. Static.

right_hand_icons

Static list of RIGHT-HAND counterpart for any LEFT-HAND icon files used above.

weapons

Static list of weapons this hallucination can be. Key is icon state, value is LEFT-HAND icon file.

wielder

The mob wielding the fake weapon.

\ No newline at end of file diff --git a/obj/effect/hallucination/husks.html b/obj/effect/hallucination/husks.html new file mode 100644 index 00000000000..7fb423c6301 --- /dev/null +++ b/obj/effect/hallucination/husks.html @@ -0,0 +1 @@ +/obj/effect/hallucination/husks - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Husks

A random number of fake husks around the target.

Vars

num_baseThe base number of husks to create.
variationThe husk number variation, both negative and positive.

Var Details

num_base

The base number of husks to create.

variation

The husk number variation, both negative and positive.

\ No newline at end of file diff --git a/obj/effect/hallucination/loose_energy_ball.html b/obj/effect/hallucination/loose_energy_ball.html new file mode 100644 index 00000000000..de1ff4c0610 --- /dev/null +++ b/obj/effect/hallucination/loose_energy_ball.html @@ -0,0 +1,7 @@ +/obj/effect/hallucination/loose_energy_ball - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Loose Energy Ball

A progressive hallucination that begins with intermittent explosions, before displaying an energy ball that shocks the target.

Vars

length_phase_1Length of phase 1 in deciseconds.
length_phase_2Length of phase 2 in deciseconds.
length_phase_3Length of phase 3 in deciseconds.

Procs

phase_1First phase of the hallucination: intermittent, far-away explosion sounds.
phase_2Second phase of the hallucination: closer explosions and zap sounds from a random direction.
phase_3Third and final phase of the hallucination: an energy ball that approaches the target before shocking it.
phase_3_innerCalled during phase 3 to approach the energy ball towards the target.

Var Details

length_phase_1

Length of phase 1 in deciseconds.

length_phase_2

Length of phase 2 in deciseconds.

length_phase_3

Length of phase 3 in deciseconds.

Proc Details

phase_1

First phase of the hallucination: intermittent, far-away explosion sounds.

phase_2

Second phase of the hallucination: closer explosions and zap sounds from a random direction.

phase_3

Third and final phase of the hallucination: an energy ball that approaches the target before shocking it.

phase_3_inner

Called during phase 3 to approach the energy ball towards the target.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/hallucination/no_delete/xeno_pouncer.html b/obj/effect/hallucination/no_delete/xeno_pouncer.html new file mode 100644 index 00000000000..9bb1658fd0e --- /dev/null +++ b/obj/effect/hallucination/no_delete/xeno_pouncer.html @@ -0,0 +1,5 @@ +/obj/effect/hallucination/no_delete/xeno_pouncer - Space Station 13
Space Station 13 - Modules - TypesProc Details

xeno_pouncer

Procs

leap_toThrows the xeno towards the given loc.
reset_iconResets the xeno's icon to a resting state.

Proc Details

leap_to

Throws the xeno towards the given loc.

+

Arguments:

+

reset_icon

Resets the xeno's icon to a resting state.

\ No newline at end of file diff --git a/obj/effect/hallucination/plasma_flood.html b/obj/effect/hallucination/plasma_flood.html new file mode 100644 index 00000000000..75f3933250c --- /dev/null +++ b/obj/effect/hallucination/plasma_flood.html @@ -0,0 +1,5 @@ +/obj/effect/hallucination/plasma_flood - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Plasma Flood

A fake plasma flood emanating from a nearby vent.

Vars

expand_delayThe delay at which the plasma flood expands in deciseconds. Shouldn't be too low to prevent lag.
expand_queueList of turfs that need expanding from.
expand_timerExpand timer handle.
processedAssociative list of turfs that have already been processed.

Procs

create_plasmaCreates a fake plasma overlay on the given turf.
expandCalled regularly in a timer to process the plasma flooding.

Var Details

expand_delay

The delay at which the plasma flood expands in deciseconds. Shouldn't be too low to prevent lag.

expand_queue

List of turfs that need expanding from.

expand_timer

Expand timer handle.

processed

Associative list of turfs that have already been processed.

Proc Details

create_plasma

Creates a fake plasma overlay on the given turf.

+

Arguments:

+

expand

Called regularly in a timer to process the plasma flooding.

\ No newline at end of file diff --git a/obj/effect/hallucination/self_delusion.html b/obj/effect/hallucination/self_delusion.html new file mode 100644 index 00000000000..f63c16ebed9 --- /dev/null +++ b/obj/effect/hallucination/self_delusion.html @@ -0,0 +1 @@ +/obj/effect/hallucination/self_delusion - Space Station 13
Space Station 13 - Modules - TypesProc Details

Hallucination - Self Delusion

Changes the target's appearance to something else temporarily.

Procs

get_imageReturns the image to use as override to the target's appearance.

Proc Details

get_image

Returns the image to use as override to the target's appearance.

\ No newline at end of file diff --git a/obj/effect/hallucination/speech.html b/obj/effect/hallucination/speech.html new file mode 100644 index 00000000000..4b97e4bf6f6 --- /dev/null +++ b/obj/effect/hallucination/speech.html @@ -0,0 +1 @@ +/obj/effect/hallucination/speech - Space Station 13
Space Station 13 - Modules - TypesVar Details

Hallucination - Speech

Causes the target to hear a fake message from a random mob around them.

Vars

messagesList of messages that may be heard.

Var Details

messages

List of messages that may be heard.

\ No newline at end of file diff --git a/obj/effect/hallucination/trait_applier.html b/obj/effect/hallucination/trait_applier.html new file mode 100644 index 00000000000..1e3d0ee591f --- /dev/null +++ b/obj/effect/hallucination/trait_applier.html @@ -0,0 +1 @@ +/obj/effect/hallucination/trait_applier - Space Station 13
Space Station 13 - Modules - TypesVar Details

trait_applier

Vars

trait_appliedThe trait to apply

Var Details

trait_applied

The trait to apply

\ No newline at end of file diff --git a/obj/effect/hallucination/tripper.html b/obj/effect/hallucination/tripper.html new file mode 100644 index 00000000000..c60fb130c54 --- /dev/null +++ b/obj/effect/hallucination/tripper.html @@ -0,0 +1 @@ +/obj/effect/hallucination/tripper - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Hallucination - Tripper

A generic hallucination that causes the target to trip if they cross it.

Vars

stunStun to add when crossed.
trip_chanceChance to trip when crossing.
weakenWeaken to add when crossed.

Procs

on_crossedCalled when the target crosses this hallucination.

Var Details

stun

Stun to add when crossed.

trip_chance

Chance to trip when crossing.

weaken

Weaken to add when crossed.

Proc Details

on_crossed

Called when the target crosses this hallucination.

\ No newline at end of file diff --git a/obj/effect/heretic_influence.html b/obj/effect/heretic_influence.html new file mode 100644 index 00000000000..f2606de53d5 --- /dev/null +++ b/obj/effect/heretic_influence.html @@ -0,0 +1,4 @@ +/obj/effect/heretic_influence - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

heretic_influence

Vars

being_drainedWhether we're currently being drained or not.

Procs

after_drainHandle the effects of the drain.
drain_influenceBegin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.
generate_nameGenerates a random name for the influence.

Var Details

being_drained

Whether we're currently being drained or not.

Proc Details

after_drain

Handle the effects of the drain.

drain_influence

Begin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.

+

If successful, the influence is drained and deleted.

generate_name

Generates a random name for the influence.

\ No newline at end of file diff --git a/obj/effect/heretic_rune.html b/obj/effect/heretic_rune.html new file mode 100644 index 00000000000..1ece1de7187 --- /dev/null +++ b/obj/effect/heretic_rune.html @@ -0,0 +1,9 @@ +/obj/effect/heretic_rune - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

heretic_rune

The heretic's rune, which they use to complete transmutation rituals.

Vars

greyscale_coloursWhat is the colour of the runes visual effects?
is_in_useUsed mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

Procs

do_ritualAttempt to invoke a ritual from the past list of knowledges.
try_ritualsAttempt to begin a ritual, giving them an input list to chose from. +Also ensures is_in_use is enabled and disabled before and after.

Var Details

greyscale_colours

What is the colour of the runes visual effects?

is_in_use

Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

Proc Details

do_ritual

Attempt to invoke a ritual from the past list of knowledges.

+

Arguments

+ +

returns TRUE if any rituals passed succeeded, FALSE if they all failed.

try_rituals

Attempt to begin a ritual, giving them an input list to chose from. +Also ensures is_in_use is enabled and disabled before and after.

\ No newline at end of file diff --git a/obj/effect/hotspot.html b/obj/effect/hotspot.html new file mode 100644 index 00000000000..4c7f6e998ea --- /dev/null +++ b/obj/effect/hotspot.html @@ -0,0 +1 @@ +/obj/effect/hotspot - Space Station 13
Space Station 13 - Modules - TypesVar Details

hotspot

Vars

data_tickWhich tick did we last load data at?
death_timerThe last tick this hotspot should be alive for.
fuel_burntHow much fuel did we burn this tick?
update_intervalHow often do we update?
update_tickWhich update tick are we on?

Var Details

data_tick

Which tick did we last load data at?

death_timer

The last tick this hotspot should be alive for.

fuel_burnt

How much fuel did we burn this tick?

update_interval

How often do we update?

update_tick

Which update tick are we on?

\ No newline at end of file diff --git a/obj/effect/immovablerod.html b/obj/effect/immovablerod.html new file mode 100644 index 00000000000..5334f32cfd0 --- /dev/null +++ b/obj/effect/immovablerod.html @@ -0,0 +1,5 @@ +/obj/effect/immovablerod - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

immovablerod

Vars

fixed_dirRods should usually not change their orientation, as they're immovable. But if it's a wizard spell, or if an admin spawns one, we should probably let it re-orient to follow its movement.
wall_damage_max_fractionThe maximum amount of damage dealt to walls, relative to their max HP. Values over 1 are useful for adjusting the probability of destroying the wall.
wall_damage_min_fractionThe minimum amount of damage dealt to walls, relative to their max HP.

Procs

walk_in_directionRod will walk towards edge turf in the specified direction.

Var Details

fixed_dir

Rods should usually not change their orientation, as they're immovable. But if it's a wizard spell, or if an admin spawns one, we should probably let it re-orient to follow its movement.

wall_damage_max_fraction

The maximum amount of damage dealt to walls, relative to their max HP. Values over 1 are useful for adjusting the probability of destroying the wall.

wall_damage_min_fraction

The minimum amount of damage dealt to walls, relative to their max HP.

Proc Details

walk_in_direction

Rod will walk towards edge turf in the specified direction.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/immovablerod/nuclear_rod.html b/obj/effect/immovablerod/nuclear_rod.html new file mode 100644 index 00000000000..7e52aa13d7f --- /dev/null +++ b/obj/effect/immovablerod/nuclear_rod.html @@ -0,0 +1 @@ +/obj/effect/immovablerod/nuclear_rod - Space Station 13
Space Station 13 - Modules - TypesProc Details

nuclear_rod

Procs

clong_thingLets not break the reactor with this.

Proc Details

clong_thing

Lets not break the reactor with this.

\ No newline at end of file diff --git a/obj/effect/immovablerod/smite.html b/obj/effect/immovablerod/smite.html new file mode 100644 index 00000000000..1a92f9fb7a0 --- /dev/null +++ b/obj/effect/immovablerod/smite.html @@ -0,0 +1 @@ +/obj/effect/immovablerod/smite - Space Station 13
Space Station 13 - Modules - TypesVar Details

smite

Vars

exitThe target that we're gonna aim for between start and end

Var Details

exit

The target that we're gonna aim for between start and end

\ No newline at end of file diff --git a/obj/effect/landmark/heretic.html b/obj/effect/landmark/heretic.html new file mode 100644 index 00000000000..fe839f711fa --- /dev/null +++ b/obj/effect/landmark/heretic.html @@ -0,0 +1 @@ +/obj/effect/landmark/heretic - Space Station 13
Space Station 13 - Modules - TypesVar Details

heretic

Lardmarks meant to designate where heretic sacrifices are sent.

Vars

for_heretic_pathWhat path this landmark is intended for.

Var Details

for_heretic_path

What path this landmark is intended for.

\ No newline at end of file diff --git a/obj/effect/landmark/mob_spawner.html b/obj/effect/landmark/mob_spawner.html new file mode 100644 index 00000000000..9c807270b9d --- /dev/null +++ b/obj/effect/landmark/mob_spawner.html @@ -0,0 +1 @@ +/obj/effect/landmark/mob_spawner - Space Station 13
Space Station 13 - Modules - TypesVar Details

mob_spawner

Mob spawners, spawns a mob and deletes the landmark

Vars

mobtypeThe mob we use for the spawner

Var Details

mobtype

The mob we use for the spawner

\ No newline at end of file diff --git a/obj/effect/landmark/river_waypoint.html b/obj/effect/landmark/river_waypoint.html new file mode 100644 index 00000000000..1d08c5d5a1b --- /dev/null +++ b/obj/effect/landmark/river_waypoint.html @@ -0,0 +1 @@ +/obj/effect/landmark/river_waypoint - Space Station 13
Space Station 13 - Modules - TypesVar Details

river_waypoint

Vars

connectedWhether the turf of this landmark has already been linked to others during river generation.

Var Details

connected

Whether the turf of this landmark has already been linked to others during river generation.

\ No newline at end of file diff --git a/obj/effect/lock_portal.html b/obj/effect/lock_portal.html new file mode 100644 index 00000000000..74f5b4f4167 --- /dev/null +++ b/obj/effect/lock_portal.html @@ -0,0 +1 @@ +/obj/effect/lock_portal - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

lock_portal

Vars

destinationThe knock portal we teleport to
invertedif true the heretic is teleported to a random airlock, nonheretics are sent to the target
our_airlockThe airlock we are linked to, we delete if it is destroyed

Procs

async_opendoorAsynchronous proc to unbolt, then open the passed door
delete_on_door_deleteDeletes us and our destination portal if our_airlock is destroyed
find_random_airlockReturns a random airlock on the same Z level as our portal, that isnt our airlock
on_enteredSignal handler for when our location is entered, calls teleport on the victim, if their old_loc didnt contain a portal already (to prevent loops)
teleportTeleports the teleportee, to a random airlock if the teleportee isnt a heretic, or the other portal if they are one

Var Details

destination

The knock portal we teleport to

inverted

if true the heretic is teleported to a random airlock, nonheretics are sent to the target

our_airlock

The airlock we are linked to, we delete if it is destroyed

Proc Details

async_opendoor

Asynchronous proc to unbolt, then open the passed door

delete_on_door_delete

Deletes us and our destination portal if our_airlock is destroyed

find_random_airlock

Returns a random airlock on the same Z level as our portal, that isnt our airlock

on_entered

Signal handler for when our location is entered, calls teleport on the victim, if their old_loc didnt contain a portal already (to prevent loops)

teleport

Teleports the teleportee, to a random airlock if the teleportee isnt a heretic, or the other portal if they are one

\ No newline at end of file diff --git a/obj/effect/map_effect/dynamic_airlock.html b/obj/effect/map_effect/dynamic_airlock.html new file mode 100644 index 00000000000..7aa93aed763 --- /dev/null +++ b/obj/effect/map_effect/dynamic_airlock.html @@ -0,0 +1,10 @@ +/obj/effect/map_effect/dynamic_airlock - Space Station 13
Space Station 13 - Modules - TypesProc Details

dynamic_airlock

A mapping helper that defines the zone of a dynamically arranged airlock +chamber. This can be used as an alternative to +/obj/effect/spawner/airlocks.

+

The disadvantage compared to airlock spawners is that all related buttons, +airlock controllers, doors, vent pumps and piping must be manually mapped +in. The advantages are that chambers of any arbitrary size and shape can be +created, and that maps using these helpers instead of the airlock spawners +can have the RandomOrientation mapmanip applied to them with confidence that +the airlock chambers will be properly constructed, no matter what the +orientation of the map is.

Procs

collect_neighbor_helpersLook around us in a 1 tile range and aggregate all the adjacent helpers.

Proc Details

collect_neighbor_helpers

Look around us in a 1 tile range and aggregate all the adjacent helpers.

\ No newline at end of file diff --git a/obj/effect/mapping_helpers/airlock/c_foam.html b/obj/effect/mapping_helpers/airlock/c_foam.html new file mode 100644 index 00000000000..35dda1e3221 --- /dev/null +++ b/obj/effect/mapping_helpers/airlock/c_foam.html @@ -0,0 +1 @@ +/obj/effect/mapping_helpers/airlock/c_foam - Space Station 13
Space Station 13 - Modules - TypesVar Details

c_foam

Vars

foam_levelHow many times will this helper foam the door? The max level is 5.

Var Details

foam_level

How many times will this helper foam the door? The max level is 5.

\ No newline at end of file diff --git a/obj/effect/mazegen/generator.html b/obj/effect/mazegen/generator.html new file mode 100644 index 00000000000..684a1b014ac --- /dev/null +++ b/obj/effect/mazegen/generator.html @@ -0,0 +1 @@ +/obj/effect/mazegen/generator - Space Station 13
Space Station 13 - Modules - TypesVar Details

generator

Vars

helper_modulesList of all helper modules being used in this maze
loot_modulesList of all loot modules being used in this maze
mheightMaze height
mwidthMaze width
potential_loot_spotsPotential loot spots
turf_listList of turfs to iterate in total
working_stack"Stack" structure to be used while iterating

Var Details

helper_modules

List of all helper modules being used in this maze

loot_modules

List of all loot modules being used in this maze

mheight

Maze height

mwidth

Maze width

potential_loot_spots

Potential loot spots

turf_list

List of turfs to iterate in total

working_stack

"Stack" structure to be used while iterating

\ No newline at end of file diff --git a/obj/effect/mazegen/generator/blockwise.html b/obj/effect/mazegen/generator/blockwise.html new file mode 100644 index 00000000000..e397de80a82 --- /dev/null +++ b/obj/effect/mazegen/generator/blockwise.html @@ -0,0 +1 @@ +/obj/effect/mazegen/generator/blockwise - Space Station 13
Space Station 13 - Modules - TypesVar Details

blockwise

Vars

floor_materialMaterial to make the floor out of
open_spotsList of open spots (speeds up calculations)
wall_materialMaterial to make the walls out of

Var Details

floor_material

Material to make the floor out of

open_spots

List of open spots (speeds up calculations)

wall_material

Material to make the walls out of

\ No newline at end of file diff --git a/obj/effect/mazegen/module_helper.html b/obj/effect/mazegen/module_helper.html new file mode 100644 index 00000000000..ccdc727b8bb --- /dev/null +++ b/obj/effect/mazegen/module_helper.html @@ -0,0 +1,7 @@ +/obj/effect/mazegen/module_helper - Space Station 13
Space Station 13 - Modules - TypesProc Details

module_helper

Procs

helper_runHelper handler proc

Proc Details

helper_run

Helper handler proc

+

This exists as an overridable method so you can do custom helper logic. +An example of this is removing all windows on a tile.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/mazegen/module_loot.html b/obj/effect/mazegen/module_loot.html new file mode 100644 index 00000000000..a675662f689 --- /dev/null +++ b/obj/effect/mazegen/module_loot.html @@ -0,0 +1,7 @@ +/obj/effect/mazegen/module_loot - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

module_loot

Vars

spawn_probabilityProbability for this to spawn in a dead end at all. 0-100%. I dont recommend using values higher than 10

Procs

spawn_lootLoot spawner proc

Var Details

spawn_probability

Probability for this to spawn in a dead end at all. 0-100%. I dont recommend using values higher than 10

Proc Details

spawn_loot

Loot spawner proc

+

This exists as an overridable method so you can do more than just spawn objects. +An example of this is spawning a specific mob based on a condition.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/meteor/fake.html b/obj/effect/meteor/fake.html new file mode 100644 index 00000000000..3f871e40fde --- /dev/null +++ b/obj/effect/meteor/fake.html @@ -0,0 +1 @@ +/obj/effect/meteor/fake - Space Station 13
Space Station 13 - Modules - TypesVar Details

fake

Vars

failedDid we crash into something? Used to avoid falsely reporting success when qdeleted.
goalThe station goal that is simulating this meteor.

Var Details

failed

Did we crash into something? Used to avoid falsely reporting success when qdeleted.

goal

The station goal that is simulating this meteor.

\ No newline at end of file diff --git a/obj/effect/mob_spawn.html b/obj/effect/mob_spawn.html new file mode 100644 index 00000000000..79d1fe7129b --- /dev/null +++ b/obj/effect/mob_spawn.html @@ -0,0 +1 @@ +/obj/effect/mob_spawn - Space Station 13
Space Station 13 - Modules - TypesVar Details

mob_spawn

Vars

deathKill the mob
death_cooldownHow long you have to wait after dying before using it again. People that join as observers are not included.
descriptionIntended as OOC info about the role
diseaseDo they start with a pre-spawned disease?
factionList of additional factions for our mob
flavour_textFlavour/fluff about the role, optional.
important_infoImportant info such as rules that apply to you, etc. Optional.
instantFires on New
mob_colorChange the mob's color
mob_nameOverrides name given to our mob
offstation_roleIf set to true, the role of the user's mind will be set to offstation
permanentIf true, the spawner will not disappear upon running out of uses.
restrict_ahudIf late-observers with ahud are prevented from using it.
restrict_antagbanIf antagbanned people are prevented from using it, only false for the ghost bar spawner.
restrict_respawnabilityIf people without respawnability are prevented from using it.
role_nameWho do we gonna play for
roundstartFires on initialize
usesHow many times can we spawn from it. Set to -1 for infinite.

Var Details

death

Kill the mob

death_cooldown

How long you have to wait after dying before using it again. People that join as observers are not included.

description

Intended as OOC info about the role

disease

Do they start with a pre-spawned disease?

faction

List of additional factions for our mob

flavour_text

Flavour/fluff about the role, optional.

important_info

Important info such as rules that apply to you, etc. Optional.

instant

Fires on New

mob_color

Change the mob's color

mob_name

Overrides name given to our mob

offstation_role

If set to true, the role of the user's mind will be set to offstation

permanent

If true, the spawner will not disappear upon running out of uses.

restrict_ahud

If late-observers with ahud are prevented from using it.

restrict_antagban

If antagbanned people are prevented from using it, only false for the ghost bar spawner.

restrict_respawnability

If people without respawnability are prevented from using it.

role_name

Who do we gonna play for

roundstart

Fires on initialize

uses

How many times can we spawn from it. Set to -1 for infinite.

\ No newline at end of file diff --git a/obj/effect/mob_spawn/corpse.html b/obj/effect/mob_spawn/corpse.html new file mode 100644 index 00000000000..d35b54428b1 --- /dev/null +++ b/obj/effect/mob_spawn/corpse.html @@ -0,0 +1 @@ +/obj/effect/mob_spawn/corpse - Space Station 13
Space Station 13 - Modules - TypesVar Details

corpse

these mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?

Vars

corpse_descriptionwhat environmental storytelling script should this corpse have
naive_corpse_descriptionoptionally different text to display if the target is a clown

Var Details

corpse_description

what environmental storytelling script should this corpse have

naive_corpse_description

optionally different text to display if the target is a clown

\ No newline at end of file diff --git a/obj/effect/mob_spawn/human.html b/obj/effect/mob_spawn/human.html new file mode 100644 index 00000000000..64815cbae72 --- /dev/null +++ b/obj/effect/mob_spawn/human.html @@ -0,0 +1 @@ +/obj/effect/mob_spawn/human - Space Station 13
Space Station 13 - Modules - TypesVar Details

human

Vars

allow_gender_pickAllows ghost to select a gender on mob creation
allow_species_pickAllows ghost to select a species on mob creation
dna_scrambledShould we fully dna-scramble these humans?
id_accessThis is for access. See access.dm for which jobs give what access. Use "Captain" if you want it to be all access.
id_access_listAllows you to manually add access to an ID card.
id_jobSuch as "Clown" or "Chef." This just determines what the ID reads as, not their access
mob_genderGender of our mob. Default will randomise between male and female
mob_speciesSpecies of our mob. Default is human
outfitIf this is a path, it will be instanced in Initialize()
pickable_gendersList of available genders to be picked by ghost
pickable_speciesList of available species to be picked by ghost
skin_toneIf set, should be a value between -185 and 220. Go to random_skin_tone() for species-specific numbers' range you'd like to use

Var Details

allow_gender_pick

Allows ghost to select a gender on mob creation

allow_species_pick

Allows ghost to select a species on mob creation

dna_scrambled

Should we fully dna-scramble these humans?

id_access

This is for access. See access.dm for which jobs give what access. Use "Captain" if you want it to be all access.

id_access_list

Allows you to manually add access to an ID card.

id_job

Such as "Clown" or "Chef." This just determines what the ID reads as, not their access

mob_gender

Gender of our mob. Default will randomise between male and female

mob_species

Species of our mob. Default is human

outfit

If this is a path, it will be instanced in Initialize()

pickable_genders

List of available genders to be picked by ghost

pickable_species

List of available species to be picked by ghost

skin_tone

If set, should be a value between -185 and 220. Go to random_skin_tone() for species-specific numbers' range you'd like to use

\ No newline at end of file diff --git a/obj/effect/mob_spawn/human/alive/golem.html b/obj/effect/mob_spawn/human/alive/golem.html new file mode 100644 index 00000000000..94040b1da54 --- /dev/null +++ b/obj/effect/mob_spawn/human/alive/golem.html @@ -0,0 +1 @@ +/obj/effect/mob_spawn/human/alive/golem - Space Station 13
Space Station 13 - Modules - TypesVar Details

golem

Vars

can_transferIf golems can switch bodies to this new shell
ownerGolem's owner if it has one

Var Details

can_transfer

If golems can switch bodies to this new shell

owner

Golem's owner if it has one

\ No newline at end of file diff --git a/obj/effect/overlay/vis.html b/obj/effect/overlay/vis.html new file mode 100644 index 00000000000..d573cca857e --- /dev/null +++ b/obj/effect/overlay/vis.html @@ -0,0 +1 @@ +/obj/effect/overlay/vis - Space Station 13
Space Station 13 - Modules - TypesVar 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

\ No newline at end of file diff --git a/obj/effect/particle_effect/foam.html b/obj/effect/particle_effect/foam.html new file mode 100644 index 00000000000..80c685f23b7 --- /dev/null +++ b/obj/effect/particle_effect/foam.html @@ -0,0 +1 @@ +/obj/effect/particle_effect/foam - Space Station 13
Space Station 13 - Modules - TypesVar Details

foam

Vars

max_amount_on_spreadMaximum amount of reagents gained by spreading onto a foamed tile
max_reagent_fillingWe will never fill a mob with more than this many units of a given reagent
react_modeWhether it reacts on or after dispersion (or both)
solidify_timeHow long it takes this, once it's spread, to stop spreading and disperse its chems
spread_amountHow many times this one bit of foam can spread around itself
spread_at_rangeWhether or not to spread at a range when spreading
spread_timeHow long it takes this to initially start spreading after being dispersed

Var Details

max_amount_on_spread

Maximum amount of reagents gained by spreading onto a foamed tile

max_reagent_filling

We will never fill a mob with more than this many units of a given reagent

react_mode

Whether it reacts on or after dispersion (or both)

solidify_time

How long it takes this, once it's spread, to stop spreading and disperse its chems

spread_amount

How many times this one bit of foam can spread around itself

spread_at_range

Whether or not to spread at a range when spreading

spread_time

How long it takes this to initially start spreading after being dispersed

\ No newline at end of file diff --git a/obj/effect/particle_effect/foam/metal.html b/obj/effect/particle_effect/foam/metal.html new file mode 100644 index 00000000000..b9943b71c4c --- /dev/null +++ b/obj/effect/particle_effect/foam/metal.html @@ -0,0 +1 @@ +/obj/effect/particle_effect/foam/metal - Space Station 13
Space Station 13 - Modules - TypesVar Details

metal

Vars

metal_kindRepresents the icon state that we'll become when we solidify

Var Details

metal_kind

Represents the icon state that we'll become when we solidify

\ No newline at end of file diff --git a/obj/effect/portal.html b/obj/effect/portal.html new file mode 100644 index 00000000000..7fe4813489e --- /dev/null +++ b/obj/effect/portal.html @@ -0,0 +1 @@ +/obj/effect/portal - Space Station 13
Space Station 13 - Modules - TypesVar Details

portal

Vars

create_sparksWhether or not portal use will cause sparks
creation_mob_ckeyThe ckey of the mob which was responsible for the creation of the portal. For example, the mob who used a wormhole jaunter.
creation_obj_dataThe UID and name of the object that created this portal. For example, a wormhole jaunter.
effect_cooldownThe time after which the effects should play again. Too many effects can lag the server
precisionHow close to the portal you will teleport. FALSE = on the portal, TRUE = adjacent

Var Details

create_sparks

Whether or not portal use will cause sparks

creation_mob_ckey

The ckey of the mob which was responsible for the creation of the portal. For example, the mob who used a wormhole jaunter.

creation_obj_data

The UID and name of the object that created this portal. For example, a wormhole jaunter.

effect_cooldown

The time after which the effects should play again. Too many effects can lag the server

precision

How close to the portal you will teleport. FALSE = on the portal, TRUE = adjacent

\ No newline at end of file diff --git a/obj/effect/portal/advanced/contractor.html b/obj/effect/portal/advanced/contractor.html new file mode 100644 index 00000000000..56ee776280e --- /dev/null +++ b/obj/effect/portal/advanced/contractor.html @@ -0,0 +1 @@ +/obj/effect/portal/advanced/contractor - Space Station 13
Space Station 13 - Modules - TypesVar Details

Contractor Extraction Portal

Used to extract contract targets and send them to the Syndicate jail for a few minutes.

Vars

contractThe contract associated with this portal.
contractor_mindThe mind of the contractor. Used to tell them they shouldn't be taking the portal.
target_mindThe mind of the kidnapping target. Prevents non-targets from taking the portal.

Var Details

contract

The contract associated with this portal.

contractor_mind

The mind of the contractor. Used to tell them they shouldn't be taking the portal.

target_mind

The mind of the kidnapping target. Prevents non-targets from taking the portal.

\ No newline at end of file diff --git a/obj/effect/portal/advanced/exfiltration.html b/obj/effect/portal/advanced/exfiltration.html new file mode 100644 index 00000000000..49719c79afe --- /dev/null +++ b/obj/effect/portal/advanced/exfiltration.html @@ -0,0 +1 @@ +/obj/effect/portal/advanced/exfiltration - Space Station 13
Space Station 13 - Modules - TypesVar Details

exfiltration

Vars

antag_mindThe mind of the exfiltrating antag.
exfil_successDid we succeed?
radioRadio for handling extraction taunts

Var Details

antag_mind

The mind of the exfiltrating antag.

exfil_success

Did we succeed?

radio

Radio for handling extraction taunts

\ No newline at end of file diff --git a/obj/effect/portal/hand_tele.html b/obj/effect/portal/hand_tele.html new file mode 100644 index 00000000000..5343a137f84 --- /dev/null +++ b/obj/effect/portal/hand_tele.html @@ -0,0 +1 @@ +/obj/effect/portal/hand_tele - Space Station 13
Space Station 13 - Modules - TypesVar Details

hand_tele

Vars

inactiveIf this is TRUE, you will not be able to teleport with that portal
unstable_timeAfter you touch the portal, it will be unstable with high bad teleport chance, this variable contains time when it will be fine again

Var Details

inactive

If this is TRUE, you will not be able to teleport with that portal

unstable_time

After you touch the portal, it will be unstable with high bad teleport chance, this variable contains time when it will be fine again

\ No newline at end of file diff --git a/obj/effect/rune.html b/obj/effect/rune.html new file mode 100644 index 00000000000..92c0b0d5c3d --- /dev/null +++ b/obj/effect/rune.html @@ -0,0 +1,7 @@ +/obj/effect/rune - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

rune

Vars

allow_excess_invokersIf nearby cultists will also chant when invoked
construct_invokeIf constructs can invoke it
cultist_descDescription that cultists see
cultist_nameName that cultists see
descDescription that non-cultists see
invocationWhat is said by cultists when the rune is invoked
invoke_damageHow much damage cultists take when invoking it (This includes constructs)
keywordThe actual keyword for the rune
nameName non-cultists see
req_cultistsThe amount of cultists required around the rune to invoke it. If only 1, any cultist can invoke it.
req_keywordIf the rune requires a keyword (e.g. Teleport runes)
rune_blood_colorThe color of the rune. (Based on species blood color)
rune_in_useUsed for some runes, this is for when you want a rune to not be usable when in use.
scribe_damageHow much damage you take from drawing the rune
scribe_delayHow long the rune takes to create (Currently only different for the Nar'Sie rune)

Procs

teleport_effectSpawns the phase in/out effects for a cult teleport.

Var Details

allow_excess_invokers

If nearby cultists will also chant when invoked

construct_invoke

If constructs can invoke it

cultist_desc

Description that cultists see

cultist_name

Name that cultists see

desc

Description that non-cultists see

invocation

What is said by cultists when the rune is invoked

invoke_damage

How much damage cultists take when invoking it (This includes constructs)

keyword

The actual keyword for the rune

name

Name non-cultists see

req_cultists

The amount of cultists required around the rune to invoke it. If only 1, any cultist can invoke it.

req_keyword

If the rune requires a keyword (e.g. Teleport runes)

rune_blood_color

The color of the rune. (Based on species blood color)

rune_in_use

Used for some runes, this is for when you want a rune to not be usable when in use.

scribe_damage

How much damage you take from drawing the rune

scribe_delay

How long the rune takes to create (Currently only different for the Nar'Sie rune)

Proc Details

teleport_effect

Spawns the phase in/out effects for a cult teleport.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/rune/blood_boil.html b/obj/effect/rune/blood_boil.html new file mode 100644 index 00000000000..19d50045efe --- /dev/null +++ b/obj/effect/rune/blood_boil.html @@ -0,0 +1,4 @@ +/obj/effect/rune/blood_boil - Space Station 13
Space Station 13 - Modules - Types

Blood Boil Rune

When invoked deals up to 30 burn damage to nearby non-cultists and sets them on fire.

+

On activation the rune charges for six seconds, changing colour, glowing, and giving out a warning to all nearby mobs. +After the charging period the rune burns any non-cultists in view and sets them on fire. After another short wait it does the same again with slightly higher damage. +If the cultists channeling the rune move away or are stunned at any point, the rune is deleted. So it can be countered pretty easily with flashbangs.

\ No newline at end of file diff --git a/obj/effect/rune/wall.html b/obj/effect/rune/wall.html new file mode 100644 index 00000000000..85b42600670 --- /dev/null +++ b/obj/effect/rune/wall.html @@ -0,0 +1 @@ +/obj/effect/rune/wall - Space Station 13
Space Station 13 - Modules - TypesVar Details

wall

Vars

BThe barrier summoned by the rune when invoked. Tracked as a variable to prevent refreshing the barrier's integrity. shieldgen.dm

Var Details

B

The barrier summoned by the rune when invoked. Tracked as a variable to prevent refreshing the barrier's integrity. shieldgen.dm

\ No newline at end of file diff --git a/obj/effect/simon_says.html b/obj/effect/simon_says.html new file mode 100644 index 00000000000..fcf7f828537 --- /dev/null +++ b/obj/effect/simon_says.html @@ -0,0 +1 @@ +/obj/effect/simon_says - Space Station 13
Space Station 13 - Modules - TypesVar Details

simon_says

Vars

airlock_uidUID of the linked airlock
autolink_idID for autolinking an airlock on init
current_indexcurrent index in the sequence we check our pressed button against
padsList of connected pads(normally generated on init)
playing_untilThe time at which we should finish playing the sequence
pressed_buttonsButtons pressed by the player so far
rhythmThe chosen rhythm to play
rhythmsList of all rhythms to choose from, made from lists of time from the start in deciseconds
sequenceThe sequence we generated

Var Details

airlock_uid

UID of the linked airlock

ID for autolinking an airlock on init

current_index

current index in the sequence we check our pressed button against

pads

List of connected pads(normally generated on init)

playing_until

The time at which we should finish playing the sequence

pressed_buttons

Buttons pressed by the player so far

rhythm

The chosen rhythm to play

rhythms

List of all rhythms to choose from, made from lists of time from the start in deciseconds

sequence

The sequence we generated

\ No newline at end of file diff --git a/obj/effect/simon_says_pad.html b/obj/effect/simon_says_pad.html new file mode 100644 index 00000000000..13d568e07e6 --- /dev/null +++ b/obj/effect/simon_says_pad.html @@ -0,0 +1 @@ +/obj/effect/simon_says_pad - Space Station 13
Space Station 13 - Modules - TypesVar Details

simon_says_pad

Vars

idID used for comparing what we pressed against the sequence
last_playedTime the pad was last played
ownerThe simon says minigame we are a part of
soundSound we make when playing

Var Details

id

ID used for comparing what we pressed against the sequence

last_played

Time the pad was last played

owner

The simon says minigame we are a part of

sound

Sound we make when playing

\ No newline at end of file diff --git a/obj/effect/spawner.html b/obj/effect/spawner.html new file mode 100644 index 00000000000..2240d6c234b --- /dev/null +++ b/obj/effect/spawner.html @@ -0,0 +1,2 @@ +/obj/effect/spawner - Space Station 13
Space Station 13 - Modules - TypesProc Details

spawner

Procs

synchronize_variablesUsed when we want to pass vars from a spawner to a spawned object

Proc Details

synchronize_variables

Used when we want to pass vars from a spawner to a spawned object

+

a - The spawned object we want to pass a var to

\ No newline at end of file diff --git a/obj/effect/spawner/airlock.html b/obj/effect/spawner/airlock.html new file mode 100644 index 00000000000..946eb67a830 --- /dev/null +++ b/obj/effect/spawner/airlock.html @@ -0,0 +1 @@ +/obj/effect/spawner/airlock - Space Station 13
Space Station 13 - Modules - TypesProc Details

airlock

Procs

make_controllerStick the controller on the wall, this will ONLY be unsuitable if airlocks are on both the south and west turfs.

Proc Details

make_controller

Stick the controller on the wall, this will ONLY be unsuitable if airlocks are on both the south and west turfs.

\ No newline at end of file diff --git a/obj/effect/spawner/dynamic_bridge.html b/obj/effect/spawner/dynamic_bridge.html new file mode 100644 index 00000000000..775d2ccb14a --- /dev/null +++ b/obj/effect/spawner/dynamic_bridge.html @@ -0,0 +1,26 @@ +/obj/effect/spawner/dynamic_bridge - Space Station 13
Space Station 13 - Modules - TypesProc Details

dynamic_bridge

A spawner for dynamic bridges, largely with hardcoded expectations to be +operating on Lavaland.

+

It does this by starting at its spawn point, placed by a +/datum/river_spawner during generation, and walking in each direction +"forwards" and "backwards" until it reaches the maximum possible length of +the bridge, or a tile that doesn't appear to be a valid "passage" +(essentially a tile that doesn't have lava on both sides and thus wouldn't +look good or make an effective bridge). If it manages to do this and find two +tiles that work as the start and end of the bridge, it places the paths, +pillars, and "cleans up" the tiles contiguous to its entrance and exit turfs, +removing any lava if present.

+

It attempts this first in the vertical direction, and then the horizontal. So +"fowards" and "backwards" can mean NORTH/SOUTH or EAST/WEST depending on the +direction it's attempting.

+

There are several bridge "themes" implemented in make_walkway() and +make_pillar(), and more can be added if desired.

Procs

cleanup_edgeMake a tile safe for player passage, for use at the bridge entrance and exits
out_of_boundsChecks if we are going out of bounds. Returns TRUE if we are close (less than or equal to 2 turfs) to a border
valid_landingReturns whether the passed in turf is a valid "landing". A valid landing is +a tile that hasn't been reserved by another bridge, and has a non-lava tile +leading directly to it.
valid_passageReturns whether the passed in turf is a valid "passage". A valid passage is +a lava tile that has lava on both sides of it. Invalid passage tiles do not +look good as bridge walkways and defeat the purpose of there is floor right +next to it.

Proc Details

cleanup_edge

Make a tile safe for player passage, for use at the bridge entrance and exits

out_of_bounds

Checks if we are going out of bounds. Returns TRUE if we are close (less than or equal to 2 turfs) to a border

valid_landing

Returns whether the passed in turf is a valid "landing". A valid landing is +a tile that hasn't been reserved by another bridge, and has a non-lava tile +leading directly to it.

valid_passage

Returns whether the passed in turf is a valid "passage". A valid passage is +a lava tile that has lava on both sides of it. Invalid passage tiles do not +look good as bridge walkways and defeat the purpose of there is floor right +next to it.

\ No newline at end of file diff --git a/obj/effect/spawner/grouped_spawner.html b/obj/effect/spawner/grouped_spawner.html new file mode 100644 index 00000000000..110f719d7f3 --- /dev/null +++ b/obj/effect/spawner/grouped_spawner.html @@ -0,0 +1,9 @@ +/obj/effect/spawner/grouped_spawner - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

grouped_spawner

Can be used to group spawners together so you ensure a certain amount of things are spawned but can be spawned on multiple locations.

+

How to use: +Either place the base grouped_spawner in the map and define the group_id to +determine which spawners belong to one another. +Or make a child instance of the grouped_spawner and define the values there.

+

When using the base version be sure to define both total_amount and max_per_spawner on +at least one of the spawners of the group. +A mismatch between instances of the same group between these values will lead to a runtime. +So either leave it empty for the rest or have the rest have the same values

Vars

chosen_spawnersWhich spawners are chosen to spawn the objects
group_idThe id of the group this spawner belongs to. If left empty it'll use the type as id. Define this for map instances if you want to link different spawners up or want to use the base version.
max_per_spawnerHow many will spawn maximum per spawner. Set this in the map edit tool or in a child instance to set it for all the other instances.
max_per_spawner_for_spawnersThe list which holds the max_per_spawner values for each spawner group
path_to_spawnWhich path will be used to spawn.
spawner_groupsThe assoc list of grouped spawners. Key = group_id, value = list of spawners with that key
total_amountHow many will spawn. Set this in the map edit tool or in a child instance to set it for all the other instances.
total_amount_for_spawnersThe list which holds the total_amount values for each spawner group

Procs

get_spawn_valuesSets the spawn values to the values of the first defined instance of this group_id
save_spawn_valuesSaves the spawn values. Will only pick the first defined version of this group_id

Var Details

chosen_spawners

Which spawners are chosen to spawn the objects

group_id

The id of the group this spawner belongs to. If left empty it'll use the type as id. Define this for map instances if you want to link different spawners up or want to use the base version.

max_per_spawner

How many will spawn maximum per spawner. Set this in the map edit tool or in a child instance to set it for all the other instances.

max_per_spawner_for_spawners

The list which holds the max_per_spawner values for each spawner group

path_to_spawn

Which path will be used to spawn.

spawner_groups

The assoc list of grouped spawners. Key = group_id, value = list of spawners with that key

total_amount

How many will spawn. Set this in the map edit tool or in a child instance to set it for all the other instances.

total_amount_for_spawners

The list which holds the total_amount values for each spawner group

Proc Details

get_spawn_values

Sets the spawn values to the values of the first defined instance of this group_id

save_spawn_values

Saves the spawn values. Will only pick the first defined version of this group_id

\ No newline at end of file diff --git a/obj/effect/spawner/random.html b/obj/effect/spawner/random.html new file mode 100644 index 00000000000..75c01c56240 --- /dev/null +++ b/obj/effect/spawner/random.html @@ -0,0 +1,7 @@ +/obj/effect/spawner/random - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

random

Base class for all random spawners.

Vars

lootStops persistent lootdrop spawns from being shoved into lockers +A list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
loot_subtype_pathThe subtypes (this excludes the provided path) to combine with the loot list
loot_type_pathThe subtypes AND type to combine with the loot list
pixel_placerThe placer for loot when spawn_loot_split is enabled
record_spawnWhether blackbox should record when the spawner spawns.
spawn_all_lootWhether the spawner should spawn all the loot in the list
spawn_insideWhere do we want to spawn an item (closet, safe etc.)
spawn_loot_chanceThe chance for the spawner to create loot (ignores spawn_loot_count)
spawn_loot_countHow many items will be spawned
spawn_loot_doubleIf the same item can be spawned twice
spawn_loot_splitWhether the items should be staggered visually on their location.
spawn_loot_split_pixel_offsetsThe pixel x/y divider offsets for spawn_loot_split (spaced 2 pixels apart by default)
spawn_random_angleWhether the spawned items should be rotated randomly.
spawn_random_offsetWhether the items should have a random pixel_x/y offset (maximum offset distance is ± spawn_random_offset_max_pixels for x/y)
spawn_random_offset_max_pixelsMaximum offset distance for random pixel offsets.
spawn_scatter_radiusDetermines how big of a range (in tiles) we should scatter things in.

Procs

get_spawn_locationsIf the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available that are in view and have an unblocked line to them.
make_itemMakes the actual item related to our spawner. If record_spawn is TRUE, +this is when the items spawned are recorded to blackbox (except for /obj/effects).
spawn_lootIf the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner.

Var Details

loot

Stops persistent lootdrop spawns from being shoved into lockers +A list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)

loot_subtype_path

The subtypes (this excludes the provided path) to combine with the loot list

loot_type_path

The subtypes AND type to combine with the loot list

pixel_placer

The placer for loot when spawn_loot_split is enabled

record_spawn

Whether blackbox should record when the spawner spawns.

spawn_all_loot

Whether the spawner should spawn all the loot in the list

spawn_inside

Where do we want to spawn an item (closet, safe etc.)

spawn_loot_chance

The chance for the spawner to create loot (ignores spawn_loot_count)

spawn_loot_count

How many items will be spawned

spawn_loot_double

If the same item can be spawned twice

spawn_loot_split

Whether the items should be staggered visually on their location.

spawn_loot_split_pixel_offsets

The pixel x/y divider offsets for spawn_loot_split (spaced 2 pixels apart by default)

spawn_random_angle

Whether the spawned items should be rotated randomly.

spawn_random_offset

Whether the items should have a random pixel_x/y offset (maximum offset distance is ± spawn_random_offset_max_pixels for x/y)

spawn_random_offset_max_pixels

Maximum offset distance for random pixel offsets.

spawn_scatter_radius

Determines how big of a range (in tiles) we should scatter things in.

Proc Details

get_spawn_locations

If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available that are in view and have an unblocked line to them.

make_item

Makes the actual item related to our spawner. If record_spawn is TRUE, +this is when the items spawned are recorded to blackbox (except for /obj/effects).

+

spawn_loc - where are we spawning it? +type_path_to_make - what are we spawning?

spawn_loot

If the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner.

\ No newline at end of file diff --git a/obj/effect/spawner/random/plushies/explosive.html b/obj/effect/spawner/random/plushies/explosive.html new file mode 100644 index 00000000000..a370521742f --- /dev/null +++ b/obj/effect/spawner/random/plushies/explosive.html @@ -0,0 +1 @@ +/obj/effect/spawner/random/plushies/explosive - Space Station 13
Space Station 13 - Modules - TypesVar Details

explosive

Vars

explosive_chanceChance to spawn a minibomb in the plushie.

Var Details

explosive_chance

Chance to spawn a minibomb in the plushie.

\ No newline at end of file diff --git a/obj/effect/spawner/random/pool.html b/obj/effect/spawner/random/pool.html new file mode 100644 index 00000000000..f27b52ee3ff --- /dev/null +++ b/obj/effect/spawner/random/pool.html @@ -0,0 +1,9 @@ +/obj/effect/spawner/random/pool - Space Station 13
Space Station 13 - Modules - TypesVar Details

pool

A random spawner managed by a /datum/spawn_pool.

Vars

guaranteedGuaranteed spawners will always proc, and always proc first.
point_valueHow much this spawner will subtract from the available budget if it +spawns. A value of -1 (i.e., not setting the value on a subtype) +does not attempt to subtract from the budget. This is useful for +spawners which themselves spawn other spawners.
spawn_poolThe type of the spawn pool.
unique_picksWhether non-spawner items should be removed from the shared loot pool +after spawning.

Var Details

guaranteed

Guaranteed spawners will always proc, and always proc first.

point_value

How much this spawner will subtract from the available budget if it +spawns. A value of -1 (i.e., not setting the value on a subtype) +does not attempt to subtract from the budget. This is useful for +spawners which themselves spawn other spawners.

spawn_pool

The type of the spawn pool.

unique_picks

Whether non-spawner items should be removed from the shared loot pool +after spawning.

\ No newline at end of file diff --git a/obj/effect/spawner/random/smithed_item.html b/obj/effect/spawner/random/smithed_item.html new file mode 100644 index 00000000000..275bf914de4 --- /dev/null +++ b/obj/effect/spawner/random/smithed_item.html @@ -0,0 +1 @@ +/obj/effect/spawner/random/smithed_item - Space Station 13
Space Station 13 - Modules - TypesVar Details

smithed_item

Vars

smithed_item_materialsWeighted list of possible item materials
smithed_item_qualitiesWeighted list of possible item qualities

Var Details

smithed_item_materials

Weighted list of possible item materials

smithed_item_qualities

Weighted list of possible item qualities

\ No newline at end of file diff --git a/obj/effect/spawner/themed_mess.html b/obj/effect/spawner/themed_mess.html new file mode 100644 index 00000000000..065c1a633df --- /dev/null +++ b/obj/effect/spawner/themed_mess.html @@ -0,0 +1,5 @@ +/obj/effect/spawner/themed_mess - Space Station 13
Space Station 13 - Modules - TypesVar Details

themed_mess

Vars

remaining_tilesThe number of tiles to spread to. Each new chosen tile receives this +value decremented by one, ensuring the maximum size of the mess is limited +by the original spawner's value.

Var Details

remaining_tiles

The number of tiles to spread to. Each new chosen tile receives this +value decremented by one, ensuring the maximum size of the mess is limited +by the original spawner's value.

\ No newline at end of file diff --git a/obj/effect/spawner/window/reinforced/polarized.html b/obj/effect/spawner/window/reinforced/polarized.html new file mode 100644 index 00000000000..64af27e3e19 --- /dev/null +++ b/obj/effect/spawner/window/reinforced/polarized.html @@ -0,0 +1 @@ +/obj/effect/spawner/window/reinforced/polarized - Space Station 13
Space Station 13 - Modules - TypesVar Details

polarized

Vars

idUsed to link electrochromic windows to buttons

Var Details

id

Used to link electrochromic windows to buttons

\ No newline at end of file diff --git a/obj/effect/swarmer_portal.html b/obj/effect/swarmer_portal.html new file mode 100644 index 00000000000..5118564c149 --- /dev/null +++ b/obj/effect/swarmer_portal.html @@ -0,0 +1 @@ +/obj/effect/swarmer_portal - Space Station 13
Space Station 13 - Modules - TypesVar Details

swarmer_portal

Vars

spawn_maxHow many can we spawn
spawn_totalHow many have spawned?

Var Details

spawn_max

How many can we spawn

spawn_total

How many have spawned?

\ No newline at end of file diff --git a/obj/effect/tear.html b/obj/effect/tear.html new file mode 100644 index 00000000000..77ced3bd487 --- /dev/null +++ b/obj/effect/tear.html @@ -0,0 +1 @@ +/obj/effect/tear - Space Station 13
Space Station 13 - Modules - TypesVar Details

tear

The portal used in the /datum/event/tear midround.

Vars

leaderWhat the leader of the dimensional tear will be

Var Details

leader

What the leader of the dimensional tear will be

\ No newline at end of file diff --git a/obj/effect/temp_visual/circle_wave.html b/obj/effect/temp_visual/circle_wave.html new file mode 100644 index 00000000000..0f7848201a7 --- /dev/null +++ b/obj/effect/temp_visual/circle_wave.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/circle_wave - Space Station 13
Space Station 13 - Modules - TypesVar Details

circle_wave

Visual effect from tg's bioscrambler anomaly

Vars

amount_to_scaleHow far the effect would scale in size

Var Details

amount_to_scale

How far the effect would scale in size

\ No newline at end of file diff --git a/obj/effect/temp_visual/decoy/mephedrone_afterimage.html b/obj/effect/temp_visual/decoy/mephedrone_afterimage.html new file mode 100644 index 00000000000..0095eeef269 --- /dev/null +++ b/obj/effect/temp_visual/decoy/mephedrone_afterimage.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/decoy/mephedrone_afterimage - Space Station 13
Space Station 13 - Modules - TypesVar Details

mephedrone_afterimage

Vars

matrix_endThe color matrix it should be by the time it despawns
matrix_startThe color matrix it should be at spawn

Var Details

matrix_end

The color matrix it should be by the time it despawns

matrix_start

The color matrix it should be at spawn

\ No newline at end of file diff --git a/obj/effect/temp_visual/drawing_heretic_rune.html b/obj/effect/temp_visual/drawing_heretic_rune.html new file mode 100644 index 00000000000..3d88ab738e2 --- /dev/null +++ b/obj/effect/temp_visual/drawing_heretic_rune.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/drawing_heretic_rune - Space Station 13
Space Station 13 - Modules - TypesVar Details

drawing_heretic_rune

Vars

animation_stateWe only set this state after setting the colour, otherwise the animation doesn't colour correctly
blend_stateWhat the blend state is

Var Details

animation_state

We only set this state after setting the colour, otherwise the animation doesn't colour correctly

blend_state

What the blend state is

\ No newline at end of file diff --git a/obj/effect/temp_visual/exfiltration.html b/obj/effect/temp_visual/exfiltration.html new file mode 100644 index 00000000000..fb10aa41080 --- /dev/null +++ b/obj/effect/temp_visual/exfiltration.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/exfiltration - Space Station 13
Space Station 13 - Modules - TypesVar Details

exfiltration

Vars

activation_soundSound that plays when activated
emitted_colorLight emitted when activated
start_litDoes this one emit light by default?

Var Details

activation_sound

Sound that plays when activated

emitted_color

Light emitted when activated

start_lit

Does this one emit light by default?

\ No newline at end of file diff --git a/obj/effect/temp_visual/explosion.html b/obj/effect/temp_visual/explosion.html new file mode 100644 index 00000000000..ebb56f699c9 --- /dev/null +++ b/obj/effect/temp_visual/explosion.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/explosion - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

explosion

Vars

explosion_smokeExplosion smoke particle holder
smoke_waveSmoke wave particle holder
sparksSparks particle holder

Procs

generate_particlesGenerate the particles

Var Details

explosion_smoke

Explosion smoke particle holder

smoke_wave

Smoke wave particle holder

sparks

Sparks particle holder

Proc Details

generate_particles

Generate the particles

\ No newline at end of file diff --git a/obj/effect/temp_visual/goliath_flick.html b/obj/effect/temp_visual/goliath_flick.html new file mode 100644 index 00000000000..2bc91225566 --- /dev/null +++ b/obj/effect/temp_visual/goliath_flick.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/goliath_flick - Space Station 13
Space Station 13 - Modules - TypesVar Details

goliath_flick

Vars

time_to_returnhow long will it take for the tendril to enter "retract" phase

Var Details

time_to_return

how long will it take for the tendril to enter "retract" phase

\ No newline at end of file diff --git a/obj/effect/temp_visual/ninja_bomb.html b/obj/effect/temp_visual/ninja_bomb.html new file mode 100644 index 00000000000..cf343cbfe69 --- /dev/null +++ b/obj/effect/temp_visual/ninja_bomb.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/ninja_bomb - Space Station 13
Space Station 13 - Modules - TypesVar Details

ninja_bomb

Vars

activation_soundSound that plays when activated
emitted_colorLight emitted when activated

Var Details

activation_sound

Sound that plays when activated

emitted_color

Light emitted when activated

\ No newline at end of file diff --git a/obj/effect/temp_visual/resonance.html b/obj/effect/temp_visual/resonance.html new file mode 100644 index 00000000000..c6c64acc819 --- /dev/null +++ b/obj/effect/temp_visual/resonance.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/resonance - Space Station 13
Space Station 13 - Modules - TypesVar Details

resonance

Vars

adding_failurethe number that is added to the failure_prob. Will default to 50
creatorthe parent creator (user) of this field
damage_multiplierthe modifier to resonance_damage; affected by the quick_burst_mod from the resonator
failure_probthe probability that the field will not be able to spread
parent_resonatorthe parent resonator of this field
resonance_damagethe amount of damage living beings will take whilst inside the field during its burst
rupturingwhether the field is rupturing currently or not (to prevent recursion)

Var Details

adding_failure

the number that is added to the failure_prob. Will default to 50

creator

the parent creator (user) of this field

damage_multiplier

the modifier to resonance_damage; affected by the quick_burst_mod from the resonator

failure_prob

the probability that the field will not be able to spread

parent_resonator

the parent resonator of this field

resonance_damage

the amount of damage living beings will take whilst inside the field during its burst

rupturing

whether the field is rupturing currently or not (to prevent recursion)

\ No newline at end of file diff --git a/obj/effect/temp_visual/single_user.html b/obj/effect/temp_visual/single_user.html new file mode 100644 index 00000000000..8bbc7f1149c --- /dev/null +++ b/obj/effect/temp_visual/single_user.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/single_user - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

single_user

A visual effect that will be shown only to a particular user for a period of time.

Vars

displayed_imageThe image to show to the user
image_iconThe icon to pull the image from
image_icon_stateThe real icon state to be applied to the image
image_layerThe layer to apply the image to
image_planeThe plane to apply the image to
source_UIDThe UID of the person who the image is being displayed to

Procs

add_mindAdd the image to the user's screen
remove_mindRemove the image from the user's screen

Var Details

displayed_image

The image to show to the user

image_icon

The icon to pull the image from

image_icon_state

The real icon state to be applied to the image

image_layer

The layer to apply the image to

image_plane

The plane to apply the image to

source_UID

The UID of the person who the image is being displayed to

Proc Details

add_mind

Add the image to the user's screen

remove_mind

Remove the image from the user's screen

\ No newline at end of file diff --git a/obj/effect/temp_visual/sonar_ping.html b/obj/effect/temp_visual/sonar_ping.html new file mode 100644 index 00000000000..f2f3bcc0026 --- /dev/null +++ b/obj/effect/temp_visual/sonar_ping.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/sonar_ping - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

sonar_ping

Vars

modsuit_imageThe image shown to modsuit users
real_icon_stateThe icon state applied to the image created for this ping.
source_UIDThe person in the modsuit at the moment, really just used to remove this from their screen

Procs

add_mindAdd the image to the modsuit wearer's screen
remove_mindRemove the image from the modsuit wearer's screen

Var Details

modsuit_image

The image shown to modsuit users

real_icon_state

The icon state applied to the image created for this ping.

source_UID

The person in the modsuit at the moment, really just used to remove this from their screen

Proc Details

add_mind

Add the image to the modsuit wearer's screen

remove_mind

Remove the image from the modsuit wearer's screen

\ No newline at end of file diff --git a/obj/effect/temp_visual/temporal_slash.html b/obj/effect/temp_visual/temporal_slash.html new file mode 100644 index 00000000000..efa36986869 --- /dev/null +++ b/obj/effect/temp_visual/temporal_slash.html @@ -0,0 +1 @@ +/obj/effect/temp_visual/temporal_slash - Space Station 13
Space Station 13 - Modules - TypesVar Details

temporal_slash

Vars

funky_color_matrixA funky color matrix to recolor the slash to
targetWho we are orbiting

Var Details

funky_color_matrix

A funky color matrix to recolor the slash to

target

Who we are orbiting

\ No newline at end of file diff --git a/obj/effect/transmission_beam.html b/obj/effect/transmission_beam.html new file mode 100644 index 00000000000..b9c6def3aeb --- /dev/null +++ b/obj/effect/transmission_beam.html @@ -0,0 +1 @@ +/obj/effect/transmission_beam - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

transmission_beam

Vars

hostUsed to deal with atoms stepping on us while firing

Procs

ex_actExplosions aren't supposed to make holes in a beam.

Var Details

host

Used to deal with atoms stepping on us while firing

Proc Details

ex_act

Explosions aren't supposed to make holes in a beam.

\ No newline at end of file diff --git a/obj/effect/visible_anomalous_particulate.html b/obj/effect/visible_anomalous_particulate.html new file mode 100644 index 00000000000..9929e39dfd9 --- /dev/null +++ b/obj/effect/visible_anomalous_particulate.html @@ -0,0 +1 @@ +/obj/effect/visible_anomalous_particulate - Space Station 13
Space Station 13 - Modules - TypesVar Details

visible_anomalous_particulate

Vars

bump_effectThe effect on touch / bump
examine_effectThe effect on examine
process_effectThe effect passively

Var Details

bump_effect

The effect on touch / bump

examine_effect

The effect on examine

process_effect

The effect passively

\ No newline at end of file diff --git a/obj/effect/watcher_orbiter.html b/obj/effect/watcher_orbiter.html new file mode 100644 index 00000000000..c897d07fa1d --- /dev/null +++ b/obj/effect/watcher_orbiter.html @@ -0,0 +1 @@ +/obj/effect/watcher_orbiter - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

watcher_orbiter

Orbiting visual which shoots at mining mobs

Vars

fire_delayTime between taking potshots at goliaths
on_death_multiplierHow much faster do we shoot when avenging our parent?
parentWho are we following?
projectile_soundSound to make when we shoot
projectile_typeType of projectile we fire
shot_cooldownTime taken between shots
target_factionTypes of mobs to attack
trackerDatum which keeps us hanging out with our parent

Procs

followSet ourselves up to track and orbit around a guy
on_parent_deletedCalled if the guy we're tracking is deleted somehow
on_parent_diedWe must guard this corpse
on_parent_movedFollow our parent
on_parent_revivedExit hyperactive mode
orbit_animationDo our orbiting animation
shoot_atTake a shot

Var Details

fire_delay

Time between taking potshots at goliaths

on_death_multiplier

How much faster do we shoot when avenging our parent?

parent

Who are we following?

projectile_sound

Sound to make when we shoot

projectile_type

Type of projectile we fire

shot_cooldown

Time taken between shots

target_faction

Types of mobs to attack

tracker

Datum which keeps us hanging out with our parent

Proc Details

follow

Set ourselves up to track and orbit around a guy

on_parent_deleted

Called if the guy we're tracking is deleted somehow

on_parent_died

We must guard this corpse

on_parent_moved

Follow our parent

on_parent_revived

Exit hyperactive mode

orbit_animation

Do our orbiting animation

shoot_at

Take a shot

\ No newline at end of file diff --git a/obj/item.html b/obj/item.html new file mode 100644 index 00000000000..085efbcae29 --- /dev/null +++ b/obj/item.html @@ -0,0 +1,97 @@ +/obj/item - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

item

Vars

actionsList of /datum/action's that this item has.
actions_typesList of paths of action datums to give to the item on New().
allowedFor what suits can store. IE. secuirty vest holding stunbatons, disablers, cuffs.
armor_penetration_flatFlat armour reduction, occurs after percentage armour penetration.
armor_penetration_percentagePercentage armour reduction, happens before flat armour reduction.
attached_bitsList of attached tool bits
attack_effect_overrideAllows you to override the attack animation with an attack effect
attack_verbUsed in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
bit_efficiency_modEfficiency modifier for tools that use energy or fuel
bit_failure_rateFailure rate of using this tool. Without a bit, defaults to 0 for no failure chance
bit_productivity_modProductivity modifier for tools
body_parts_coveredWhat bodyflags does this item cover? See setup.dm for appropriate bit flags
cold_protectionFlags which determine which body parts are protected from cold. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm
discreteused in item_attack.dm to make an item not show an attack message to viewers
dog_fashionWhat can/cant be worn, and where is valid to be worn by ian/E-N(and corgies), most of the time changing the name and emotes of the pet.
drop_soundSound uses when dropping the item, or when its thrown.
dyeableIf this item is put into a washing machine to be dyed, can objects of this type be dyed into a different color/icon?
dyeing_keyThe associated key to the dye registry GLOB list, used to transform/color this piece of clothing through dyeing
embed_chanceSo items can have custom embedd values because customisation is king
embedded_fall_chanceThe chances of the item falling out of the limb
embedded_fall_pain_multiplierThe coefficient of multiplication for the damage this item does when falling out of a limb (this * w_class)
embedded_ignore_throwspeed_thresholdHow fast something has to be going to embed
embedded_impact_pain_multiplierThe coefficient of multiplication for the damage this item does when first embedded (this * w_class)
embedded_pain_chanceThe cances of the item dealing damage to the limb
embedded_pain_multiplierThe coefficient of multiplication for the damage this item does while embedded (this * w_class)
embedded_unsafe_removal_pain_multiplierThe coefficient of multiplication for the damage removing this without surgery causes (this * w_class)
embedded_unsafe_removal_timeA time in ticks, multiplied by the w_class.
equip_soundSound used when equipping the item into a valid slot
flags_coverFor flags that define what areas an item cover
flags_invSince any item can now be a piece of clothing, this has to be put here so all items share it. +This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.
gas_transfer_coefficientFor leaking gas from turf to mask and vice-versa.
heat_protectionFlags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm
hidden_uplinkAll items can have an uplink hidden inside, just remember to add the triggers.
hit_reaction_chanceUsed to give a reaction chance on hit that is not a block. If less than 0, will remove the block message, allowing overides.
hitsoundSound played when you hit something with the item
in_inventoryIs this item equipped into an inventory slot or hand of a mob?
in_storageIs this item inside a storage object?
inhand_icon_stateIcon state for mob inhand overlays, if null the icon_state value will be used
inhand_x_dimensionDimension X of the lefthand_file and righthand_file var +eg: 32x32 sprite, 64x64 sprite, etc.
inhand_y_dimensionDimension Y of the lefthand_file and righthand_file var +eg: 32x32 sprite, 64x64 sprite, etc.
lefthand_fileIcon file for left hand inhand overlays
materialsWhat materials the item yields when broken down. Some methods will not recover everything (autolathes only recover metal and glass, for example).
max_bitsMaximum number of bits
max_heat_protection_temperatureSet this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags
min_cold_protection_temperatureSet this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags
mob_throw_hit_soundUsed when yate into a mob
move_resistSet in the Initialise depending on the item size. Unless it's overriden by a specific item
needs_permitUsed by security bots to determine if this item is safe for public use.
outline_filterHolder var for the item outline filter, null when no outline filter on the item.
pass_flagsDetermines what it can pass over/through. IE. 'PASSTABLE' will allow it to pass over tables
permeability_coefficientfor chemicals/diseases
pickup_soundSound uses when picking the item up (into your hands)
prefered_slot_flagsIf set, this determines which slots are considered when using quick equip
put_on_delayHow long it takes to put an item onto somebody. IE. clothing
reachIn tiles, how far this weapon can reach; 1 for adjacent, which is default
righthand_fileIcon file for right inhand overlays
siemens_coefficientfor electrical admittance/conductance (electrocution checks and shit)
slot_flagsThis is used to determine on which slots an item can fit.
slowdownHow much clothing is slowing you down. Negative values speeds you up.
sprite_sheetsSpecies-specific sprites, concept stolen from Paradise//vg/.
sprite_sheets_inhandUsed to override inhand items. Use a single .dmi and suffix the icon states inside with _l and _r for each hand.
stealthy_audioWhether or not we use stealthy audio levels for this item's attack sounds
strip_delayHow long it takes to remove an item off of somebody. IE. clothing
thrownbyUID of a /mob
tool_behaviourWhat kind of tool are we?
tool_enabledIf we can turn on or off, are we currently active? Mostly for welders and this will normally be TRUE
tool_volumeHow loud are we when we use our tool?
toolspeedIf this item is a tool, the speed multiplier. Smaller numbers are faster.
usesoundPlayed when the item is used, for example tools
w_classDetermines how big/small items are to fit in storage containers
worn_iconIcon file for mob worn overlays. Can be ignored if sprite_sheets/sprite_sheets_inhand is set
worn_icon_stateIcon state for mob worn overlays, if null the icon_state value will be used

Procs

activate_selfCalled when the item is in the active hand, and clicked; alternately, there +is an 'activate held object' verb or you can hit pagedown.
add_bitUsed to add a bit through a signal
after_attackLast proc in the /obj/item/proc/melee_attack_chain.
afterattack__legacy__attackchainLast proc in the /obj/item/proc/melee_attack_chain.
attackCalled when we are used by user to attack the living target.
attack_objThe equivalent of the standard version of /obj/item/proc/attack but for non mob targets.
attack_obj__legacy__attackchainCalled when user attacks us with object O.
attack_self__legacy__attackchainCalled when user has us in the active hand, and has clicked on us.
can_enter_storageCalled to check if this item can be put into a storage item.
change_speech_verbChanges the speech verb when wearing this item if a value is returned
cigarette_lighter_actHandles the bulk of cigarette lighting interactions. You must call light() to actually light the cigarette.
customised_abstract_textThis proc is used to add text for items with ABSTRACT flag after default examine text.
cyborg_rechargeCalled on cyborg items that need special charging behavior. Override as needed for specific items.
droppedCalled when a mob drops an item.
dye_itemUpdates an item's appearance to mimic the appearance of another item in the dye_registry's dictionary +what types of items (beanie, jumpsuit, shoes, etc) src is dyed into depends on the dye_key unless an +overidden dye_key is specified. For example if our dye_key is DYE_REGISTRY_UNDER and we specify to dye to +DYE_RED, our item's appearance would then mimic /obj/item/clothing/under/color/red; see [code/_globalvars/lists/dye_registry.dm] for this dictionary
get_job_nameUsed in secHUD icon generation
get_part_ratingReturns a numeric value for sorting items used as parts in machines, so they can be replaced by the B/RPED
interact_with_atomCalled when this item is being used to interact with an atom, +IE, a mob is clicking on an atom with this item.
is_equippedreturns TRUE if the item is equipped by a mob, 0 otherwise.
is_robot_moduleChecks whether this item is a module of the robot it is located in.
melee_attack_chainThis is the proc that handles the order of an item_attack.
override_throwReturn true if you don't want regular throw handling
pre_attackCalled on ourselves before we hit something. Return TRUE to cancel the remainder of the attack chain.
ranged_interact_with_atomCalled when this item is being used to interact with an atom from a distance, +IE, a mob is clicking on an atom with this item and is not adjacent.
refillGeneric refill proc. Transfers something (e.g. fuel, charge) from an atom to our tool. returns TRUE if it was successful, FALSE otherwise
remove_bitUsed to remove a bit through a signal
useGeneric use proc. Depending on the item, it uses up fuel, charges, sheets, etc. Returns TRUE on success, FALSE on failure.
use_toolCalled when a mob tries to use the item as a tool. +Handles most checks.

Var Details

actions

List of /datum/action's that this item has.

actions_types

List of paths of action datums to give to the item on New().

allowed

For what suits can store. IE. secuirty vest holding stunbatons, disablers, cuffs.

armor_penetration_flat

Flat armour reduction, occurs after percentage armour penetration.

armor_penetration_percentage

Percentage armour reduction, happens before flat armour reduction.

attached_bits

List of attached tool bits

attack_effect_override

Allows you to override the attack animation with an attack effect

attack_verb

Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"

bit_efficiency_mod

Efficiency modifier for tools that use energy or fuel

bit_failure_rate

Failure rate of using this tool. Without a bit, defaults to 0 for no failure chance

bit_productivity_mod

Productivity modifier for tools

body_parts_covered

What bodyflags does this item cover? See setup.dm for appropriate bit flags

cold_protection

Flags which determine which body parts are protected from cold. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm

discrete

used in item_attack.dm to make an item not show an attack message to viewers

dog_fashion

What can/cant be worn, and where is valid to be worn by ian/E-N(and corgies), most of the time changing the name and emotes of the pet.

drop_sound

Sound uses when dropping the item, or when its thrown.

dyeable

If this item is put into a washing machine to be dyed, can objects of this type be dyed into a different color/icon?

dyeing_key

The associated key to the dye registry GLOB list, used to transform/color this piece of clothing through dyeing

embed_chance

So items can have custom embedd values because customisation is king

embedded_fall_chance

The chances of the item falling out of the limb

embedded_fall_pain_multiplier

The coefficient of multiplication for the damage this item does when falling out of a limb (this * w_class)

embedded_ignore_throwspeed_threshold

How fast something has to be going to embed

embedded_impact_pain_multiplier

The coefficient of multiplication for the damage this item does when first embedded (this * w_class)

embedded_pain_chance

The cances of the item dealing damage to the limb

embedded_pain_multiplier

The coefficient of multiplication for the damage this item does while embedded (this * w_class)

embedded_unsafe_removal_pain_multiplier

The coefficient of multiplication for the damage removing this without surgery causes (this * w_class)

embedded_unsafe_removal_time

A time in ticks, multiplied by the w_class.

equip_sound

Sound used when equipping the item into a valid slot

flags_cover

For flags that define what areas an item cover

flags_inv

Since any item can now be a piece of clothing, this has to be put here so all items share it. +This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.

gas_transfer_coefficient

For leaking gas from turf to mask and vice-versa.

heat_protection

Flags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm

All items can have an uplink hidden inside, just remember to add the triggers.

hit_reaction_chance

Used to give a reaction chance on hit that is not a block. If less than 0, will remove the block message, allowing overides.

hitsound

Sound played when you hit something with the item

in_inventory

Is this item equipped into an inventory slot or hand of a mob?

in_storage

Is this item inside a storage object?

inhand_icon_state

Icon state for mob inhand overlays, if null the icon_state value will be used

inhand_x_dimension

Dimension X of the lefthand_file and righthand_file var +eg: 32x32 sprite, 64x64 sprite, etc.

inhand_y_dimension

Dimension Y of the lefthand_file and righthand_file var +eg: 32x32 sprite, 64x64 sprite, etc.

lefthand_file

Icon file for left hand inhand overlays

materials

What materials the item yields when broken down. Some methods will not recover everything (autolathes only recover metal and glass, for example).

max_bits

Maximum number of bits

max_heat_protection_temperature

Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags

min_cold_protection_temperature

Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags

mob_throw_hit_sound

Used when yate into a mob

move_resist

Set in the Initialise depending on the item size. Unless it's overriden by a specific item

needs_permit

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

outline_filter

Holder var for the item outline filter, null when no outline filter on the item.

pass_flags

Determines what it can pass over/through. IE. 'PASSTABLE' will allow it to pass over tables

permeability_coefficient

for chemicals/diseases

pickup_sound

Sound uses when picking the item up (into your hands)

prefered_slot_flags

If set, this determines which slots are considered when using quick equip

put_on_delay

How long it takes to put an item onto somebody. IE. clothing

reach

In tiles, how far this weapon can reach; 1 for adjacent, which is default

righthand_file

Icon file for right inhand overlays

siemens_coefficient

for electrical admittance/conductance (electrocution checks and shit)

slot_flags

This is used to determine on which slots an item can fit.

slowdown

How much clothing is slowing you down. Negative values speeds you up.

sprite_sheets

Species-specific sprites, concept stolen from Paradise//vg/.

+

ex:

+
sprite_sheets = list("Tajaran" = 'icons/cat/are/bad')
+
+

If index term exists, this sprite sheet will be used.

+

This should never have a "Human" inside - use worn_icon instead.

sprite_sheets_inhand

Used to override inhand items. Use a single .dmi and suffix the icon states inside with _l and _r for each hand.

stealthy_audio

Whether or not we use stealthy audio levels for this item's attack sounds

strip_delay

How long it takes to remove an item off of somebody. IE. clothing

thrownby

UID of a /mob

tool_behaviour

What kind of tool are we?

tool_enabled

If we can turn on or off, are we currently active? Mostly for welders and this will normally be TRUE

tool_volume

How loud are we when we use our tool?

toolspeed

If this item is a tool, the speed multiplier. Smaller numbers are faster.

usesound

Played when the item is used, for example tools

w_class

Determines how big/small items are to fit in storage containers

worn_icon

Icon file for mob worn overlays. Can be ignored if sprite_sheets/sprite_sheets_inhand is set

worn_icon_state

Icon state for mob worn overlays, if null the icon_state value will be used

Proc Details

activate_self

Called when the item is in the active hand, and clicked; alternately, there +is an 'activate held object' verb or you can hit pagedown.

add_bit

Used to add a bit through a signal

after_attack

Last proc in the /obj/item/proc/melee_attack_chain.

+

Arguments:

+

afterattack__legacy__attackchain

Last proc in the /obj/item/proc/melee_attack_chain.

+

Sends COMSIG_AFTER_ATTACK and COMSIG_AFTER_ATTACKED_BY, handling no responses. +New uses of this proc are prohibited! attack() calls on mobs and objects handle sending these signals.

+

Arguments:

+

attack

Called when we are used by user to attack the living target.

+

Returns TRUE if the rest of the attack chain should be cancelled. This may occur if the attack failed for some reason. +Returns FALSE if the attack was "successful" or "handled" in some way, and the rest of the attack chain should still fire.

attack_obj

The equivalent of the standard version of /obj/item/proc/attack but for non mob targets.

attack_obj__legacy__attackchain

Called when user attacks us with object O.

+

Handles COMSIG_ATTACK_OBJ returning [COMPONENT_NO_ATTACK_OBJ]. +Returns FALSE if the attack isn't valid.

+

New uses of this proc are prohibited! Use /obj/item/proc/interact_with_atom +or /atom/proc/base_item_interaction if this is not meant to be an attack, and +/obj/item/proc/attack_obj if it is. If you are modifiying an existing +implementation of this proc, it is expected that you replace it with the proper +alternative!

attack_self__legacy__attackchain

Called when user has us in the active hand, and has clicked on us.

+

Handles COMSIG_ACTIVATE_SELF returning [COMPONENT_NO_INTERACT]. +Returns TRUE if a listener has requested the attack chain be cancelled.

+

New uses of this proc are prohibited! Use /obj/item/proc/activate_self. +If you are modifiying an existing implementation of this proc, it is expected that you replace it with the proper alternative!

can_enter_storage

Called to check if this item can be put into a storage item.

+

Return FALSE if src can't be inserted, and TRUE if it can. +Arguments:

+

change_speech_verb

Changes the speech verb when wearing this item if a value is returned

cigarette_lighter_act

Handles the bulk of cigarette lighting interactions. You must call light() to actually light the cigarette.

+

Returns: the target's cigarette (or the cigarette itself if attacked directly) if all checks are passed. +If the cigarette is already lit, or is a fancy smokable being lit by anything other than a zippo or match, will return FALSE. +Otherwise it will return null. +Arguments:

+

customised_abstract_text

This proc is used to add text for items with ABSTRACT flag after default examine text.

cyborg_recharge

Called on cyborg items that need special charging behavior. Override as needed for specific items.

dropped

Called when a mob drops an item.

dye_item

Updates an item's appearance to mimic the appearance of another item in the dye_registry's dictionary +what types of items (beanie, jumpsuit, shoes, etc) src is dyed into depends on the dye_key unless an +overidden dye_key is specified. For example if our dye_key is DYE_REGISTRY_UNDER and we specify to dye to +DYE_RED, our item's appearance would then mimic /obj/item/clothing/under/color/red; see [code/_globalvars/lists/dye_registry.dm] for this dictionary

+

once everything is updated, the target type path that we dyed the item into is returned

+

Arguments:

+

get_job_name

Used in secHUD icon generation

get_part_rating

Returns a numeric value for sorting items used as parts in machines, so they can be replaced by the B/RPED

interact_with_atom

Called when this item is being used to interact with an atom, +IE, a mob is clicking on an atom with this item.

+

Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code. +Return NONE to allow default interaction / tool handling.

is_equipped

returns TRUE if the item is equipped by a mob, 0 otherwise.

is_robot_module

Checks whether this item is a module of the robot it is located in.

melee_attack_chain

This is the proc that handles the order of an item_attack.

+

The order of procs called is:

+ +

Currently the return value of this proc is not checked anywhere, and is only used when short-circuiting the rest of the item attack.

override_throw

Return true if you don't want regular throw handling

pre_attack

Called on ourselves before we hit something. Return TRUE to cancel the remainder of the attack chain.

+

Arguments:

+ +

See: /obj/item/proc/melee_attack_chain

ranged_interact_with_atom

Called when this item is being used to interact with an atom from a distance, +IE, a mob is clicking on an atom with this item and is not adjacent.

+

Does NOT include Telekinesis users, they are considered adjacent generally +(so long as this item is adjacent to the atom).

+

Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code.

refill

Generic refill proc. Transfers something (e.g. fuel, charge) from an atom to our tool. returns TRUE if it was successful, FALSE otherwise

remove_bit

Used to remove a bit through a signal

use

Generic use proc. Depending on the item, it uses up fuel, charges, sheets, etc. Returns TRUE on success, FALSE on failure.

use_tool

Called when a mob tries to use the item as a tool. +Handles most checks.

\ No newline at end of file diff --git a/obj/item/ai_module.html b/obj/item/ai_module.html new file mode 100644 index 00000000000..f5906cb4c1c --- /dev/null +++ b/obj/item/ai_module.html @@ -0,0 +1 @@ +/obj/item/ai_module - Space Station 13
Space Station 13 - Modules - TypesProc Details

ai_module

Procs

handle_unique_aiwhat this module should do if it is mapload spawning on a unique AI station trait round.

Proc Details

handle_unique_ai

what this module should do if it is mapload spawning on a unique AI station trait round.

\ No newline at end of file diff --git a/obj/item/airlock_electronics.html b/obj/item/airlock_electronics.html new file mode 100644 index 00000000000..dda1fc5e275 --- /dev/null +++ b/obj/item/airlock_electronics.html @@ -0,0 +1 @@ +/obj/item/airlock_electronics - Space Station 13
Space Station 13 - Modules - TypesVar Details

airlock_electronics

Vars

door_accesses_listAn associative list containing all station accesses. Includes their name and access number.
is_installedIs this electronic installed in a door?
max_brain_damageMaximum brain damage a mob can have until it can't use the electronics
one_accessIs the door access using req_one_access (TRUE) or req_access (FALSE)
selected_accessesList of accesses currently set
unres_access_fromWhich direction has unrestricted access to the airlock (e.g. medbay doors from the inside)

Var Details

door_accesses_list

An associative list containing all station accesses. Includes their name and access number.

is_installed

Is this electronic installed in a door?

max_brain_damage

Maximum brain damage a mob can have until it can't use the electronics

one_access

Is the door access using req_one_access (TRUE) or req_access (FALSE)

selected_accesses

List of accesses currently set

unres_access_from

Which direction has unrestricted access to the airlock (e.g. medbay doors from the inside)

\ No newline at end of file diff --git a/obj/item/ammo_box/magazine/wt550m9.html b/obj/item/ammo_box/magazine/wt550m9.html new file mode 100644 index 00000000000..e81d01dfb22 --- /dev/null +++ b/obj/item/ammo_box/magazine/wt550m9.html @@ -0,0 +1 @@ +/obj/item/ammo_box/magazine/wt550m9 - Space Station 13
Space Station 13 - Modules - TypesVar Details

wt550m9

Vars

being_loadedA var to check if the mag is being loaded
double_loadedThere are two reloading processes ongoing so cancel them

Var Details

being_loaded

A var to check if the mag is being loaded

double_loaded

There are two reloading processes ongoing so cancel them

\ No newline at end of file diff --git a/obj/item/ammo_casing.html b/obj/item/ammo_casing.html new file mode 100644 index 00000000000..3bb2b32097f --- /dev/null +++ b/obj/item/ammo_casing.html @@ -0,0 +1 @@ +/obj/item/ammo_casing - Space Station 13
Space Station 13 - Modules - TypesVar Details

ammo_casing

Vars

muzzle_flash_colorWhat color the flash has. If null then the flash won't cause lighting
muzzle_flash_effectWhat type of muzzle flash effect will be shown. If null then no effect and flash of light will be shown
muzzle_flash_rangeWhat range the muzzle flash has
muzzle_flash_strengthHow strong the flash is

Var Details

muzzle_flash_color

What color the flash has. If null then the flash won't cause lighting

muzzle_flash_effect

What type of muzzle flash effect will be shown. If null then no effect and flash of light will be shown

muzzle_flash_range

What range the muzzle flash has

muzzle_flash_strength

How strong the flash is

\ No newline at end of file diff --git a/obj/item/ammo_casing/energy.html b/obj/item/ammo_casing/energy.html new file mode 100644 index 00000000000..af87d541aa2 --- /dev/null +++ b/obj/item/ammo_casing/energy.html @@ -0,0 +1 @@ +/obj/item/ammo_casing/energy - Space Station 13
Space Station 13 - Modules - TypesVar Details

energy

Vars

lens_damage_multiplierDamage multiplier from equipped lenses
lens_speed_multiplierSpeed multiplier from equipped lenses.

Var Details

lens_damage_multiplier

Damage multiplier from equipped lenses

lens_speed_multiplier

Speed multiplier from equipped lenses.

\ No newline at end of file diff --git a/obj/item/ammo_casing/energy/arc_revolver.html b/obj/item/ammo_casing/energy/arc_revolver.html new file mode 100644 index 00000000000..e51fa8927b7 --- /dev/null +++ b/obj/item/ammo_casing/energy/arc_revolver.html @@ -0,0 +1 @@ +/obj/item/ammo_casing/energy/arc_revolver - Space Station 13
Space Station 13 - Modules - TypesVar Details

arc_revolver

Vars

random_link_numberThis number is randomly generated when the arc revolver is made. This ensures the beams only link to beams from the gun, one lower or higher than the number on the boosted object.

Var Details

This number is randomly generated when the arc revolver is made. This ensures the beams only link to beams from the gun, one lower or higher than the number on the boosted object.

\ No newline at end of file diff --git a/obj/item/ammo_casing/lionhunter.html b/obj/item/ammo_casing/lionhunter.html new file mode 100644 index 00000000000..29bdb57e9ea --- /dev/null +++ b/obj/item/ammo_casing/lionhunter.html @@ -0,0 +1 @@ +/obj/item/ammo_casing/lionhunter - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

lionhunter

Vars

currently_aimingWhether we're currently aiming this casing at something
min_distanceThe minimum distance required to gain a damage bonus from aiming
seconds_per_distanceHow many seconds it takes to aim per tile of distance between the target

Procs

check_fireChecks if we can successfully fire our projectile.
check_fire_callbackCallback for the do_after within the check_fire proc to see if something will prevent us from firing while aiming

Var Details

currently_aiming

Whether we're currently aiming this casing at something

min_distance

The minimum distance required to gain a damage bonus from aiming

seconds_per_distance

How many seconds it takes to aim per tile of distance between the target

Proc Details

check_fire

Checks if we can successfully fire our projectile.

check_fire_callback

Callback for the do_after within the check_fire proc to see if something will prevent us from firing while aiming

\ No newline at end of file diff --git a/obj/item/ammo_casing/magic/grapple_ammo.html b/obj/item/ammo_casing/magic/grapple_ammo.html new file mode 100644 index 00000000000..41421a11616 --- /dev/null +++ b/obj/item/ammo_casing/magic/grapple_ammo.html @@ -0,0 +1 @@ +/obj/item/ammo_casing/magic/grapple_ammo - Space Station 13
Space Station 13 - Modules - TypesVar Details

grapple_ammo

Vars

grappleThe weapon that shot the hook

Var Details

grapple

The weapon that shot the hook

\ No newline at end of file diff --git a/obj/item/analyzer.html b/obj/item/analyzer.html new file mode 100644 index 00000000000..b15db88ae4d --- /dev/null +++ b/obj/item/analyzer.html @@ -0,0 +1 @@ +/obj/item/analyzer - Space Station 13
Space Station 13 - Modules - TypesVar Details

analyzer

Vars

show_detailedFALSE: Sum gas mixes then present. TRUE: Present each mix individually

Var Details

show_detailed

FALSE: Sum gas mixes then present. TRUE: Present each mix individually

\ No newline at end of file diff --git a/obj/item/areaeditor.html b/obj/item/areaeditor.html new file mode 100644 index 00000000000..56e94821357 --- /dev/null +++ b/obj/item/areaeditor.html @@ -0,0 +1 @@ +/obj/item/areaeditor - Space Station 13
Space Station 13 - Modules - TypesVar Details

areaeditor

Vars

fluffnoticeExtra text added to the description.

Var Details

fluffnotice

Extra text added to the description.

\ No newline at end of file diff --git a/obj/item/assembly.html b/obj/item/assembly.html new file mode 100644 index 00000000000..cd6a49f726a --- /dev/null +++ b/obj/item/assembly.html @@ -0,0 +1,2 @@ +/obj/item/assembly - Space Station 13
Space Station 13 - Modules - TypesProc Details

assembly

Procs

activateWhat the device does when turned on
attach_assemblyCalled when an assembly is attacked by another
holder_movementCalled when the holder is moved
interactCalled when activate_self is called
on_attachon_attach: Called when attached to a holder, wiring datum, or other special assembly
on_detachon_detach: Called when removed from an assembly holder or wiring datum
process_cooldownCalled to constantly step down the countdown/cooldown
pulseCalled when this device attempts to act on another device, var/radio determines if it was sent via radio or direct
pulsedCalled when another assembly acts on this one, var/radio will determine where it came from for wire calcs
toggle_secureHappens when the assembly is (un)secured

Proc Details

activate

What the device does when turned on

attach_assembly

Called when an assembly is attacked by another

holder_movement

Called when the holder is moved

interact

Called when activate_self is called

on_attach

on_attach: Called when attached to a holder, wiring datum, or other special assembly

+

Will also be called if the assembly holder is attached to a plasma (internals) tank or welding fuel (dispenser) tank.

on_detach

on_detach: Called when removed from an assembly holder or wiring datum

process_cooldown

Called to constantly step down the countdown/cooldown

pulse

Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct

pulsed

Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs

toggle_secure

Happens when the assembly is (un)secured

\ No newline at end of file diff --git a/obj/item/assembly/health.html b/obj/item/assembly/health.html new file mode 100644 index 00000000000..34ebe0044b3 --- /dev/null +++ b/obj/item/assembly/health.html @@ -0,0 +1 @@ +/obj/item/assembly/health - Space Station 13
Space Station 13 - Modules - TypesVar Details

health

Vars

alarm_healthThe health amount on which to activate
scanningAre we scanning our user's health?
user_healthOur user's health

Var Details

alarm_health

The health amount on which to activate

scanning

Are we scanning our user's health?

user_health

Our user's health

\ No newline at end of file diff --git a/obj/item/assembly/prox_sensor.html b/obj/item/assembly/prox_sensor.html new file mode 100644 index 00000000000..6802d8a6d80 --- /dev/null +++ b/obj/item/assembly/prox_sensor.html @@ -0,0 +1 @@ +/obj/item/assembly/prox_sensor - Space Station 13
Space Station 13 - Modules - TypesVar Details

prox_sensor

Vars

proximity_monitorProximity monitor associated with this atom, needed for it to work.

Var Details

proximity_monitor

Proximity monitor associated with this atom, needed for it to work.

\ No newline at end of file diff --git a/obj/item/assembly/signaler.html b/obj/item/assembly/signaler.html new file mode 100644 index 00000000000..7a3d707cf73 --- /dev/null +++ b/obj/item/assembly/signaler.html @@ -0,0 +1 @@ +/obj/item/assembly/signaler - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

signaler

Vars

codeSignal code
frequencySignal freqency itself
receivingAre we set to receieve a signal?

Procs

signalCalled from activate(), actually invokes the signal on other signallers in the world

Var Details

code

Signal code

frequency

Signal freqency itself

receiving

Are we set to receieve a signal?

Proc Details

signal

Called from activate(), actually invokes the signal on other signallers in the world

\ No newline at end of file diff --git a/obj/item/barcodescanner.html b/obj/item/barcodescanner.html new file mode 100644 index 00000000000..df2cf6564b1 --- /dev/null +++ b/obj/item/barcodescanner.html @@ -0,0 +1 @@ +/obj/item/barcodescanner - Space Station 13
Space Station 13 - Modules - TypesVar Details

barcodescanner

Vars

computerAssociated Library Computer, needed to perform actions

Var Details

computer

Associated Library Computer, needed to perform actions

\ No newline at end of file diff --git a/obj/item/barsign_electronics.html b/obj/item/barsign_electronics.html new file mode 100644 index 00000000000..138e80f44ad --- /dev/null +++ b/obj/item/barsign_electronics.html @@ -0,0 +1 @@ +/obj/item/barsign_electronics - Space Station 13
Space Station 13 - Modules - TypesVar Details

barsign_electronics

Vars

restricts_accessRestricts the sign to bar access if TRUE

Var Details

restricts_access

Restricts the sign to bar access if TRUE

\ No newline at end of file diff --git a/obj/item/batterer.html b/obj/item/batterer.html new file mode 100644 index 00000000000..6b89aad903b --- /dev/null +++ b/obj/item/batterer.html @@ -0,0 +1 @@ +/obj/item/batterer - Space Station 13
Space Station 13 - Modules - TypesVar Details

batterer

Vars

on_throwing_cooldownIs this item on cooldown from being thrown
recharge_ticksHow many SSobj ticks have passed (Roughly 2 seconds of in game time), used to see when to recharge a use on this item
times_usedHow many times the mind batter has been used

Var Details

on_throwing_cooldown

Is this item on cooldown from being thrown

recharge_ticks

How many SSobj ticks have passed (Roughly 2 seconds of in game time), used to see when to recharge a use on this item

times_used

How many times the mind batter has been used

\ No newline at end of file diff --git a/obj/item/beach_ball.html b/obj/item/beach_ball.html new file mode 100644 index 00000000000..fec54d0f475 --- /dev/null +++ b/obj/item/beach_ball.html @@ -0,0 +1 @@ +/obj/item/beach_ball - Space Station 13
Space Station 13 - Modules - TypesVar Details

beach_ball

Vars

dribbleableWhether attack_self will move ("dribble") it to the other hand

Var Details

dribbleable

Whether attack_self will move ("dribble") it to the other hand

\ No newline at end of file diff --git a/obj/item/bio_chip.html b/obj/item/bio_chip.html new file mode 100644 index 00000000000..fbce74a2e7c --- /dev/null +++ b/obj/item/bio_chip.html @@ -0,0 +1,25 @@ +/obj/item/bio_chip - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Implants

Code for implants that can be inserted into a person and have some sort of passive or triggered action.

Vars

activatedHow the implant is activated.
allow_multipleWhether multiple implants of this same type can be inserted into someone.
has_triggered_on_deathWhether this implant has already triggered on death or not, to prevent it firing multiple times.
imp_inWho the implant is inside of.
implant_datathe implant_fluff datum attached to this implant, purely cosmetic "lore" information
implant_statewhich implant overlay should be used for implant cases. This should point to a state in bio_chips.dmi
implantedWhether the implant is implanted. Null if it's never been inserted, TRUE if it's currently inside someone, or FALSE if it's been removed.
trigger_causesWhat type of action will trigger this emote. Bitfield of IMPLANT_EMOTE_* defines.
trigger_emotesList of emote keys that activate this implant when used.
usesAmount of times that the implant can be triggered by the user. If the implant can't be used, it can't be inserted.

Procs

can_implantCheck that we can actually implant this before implanting it
implantTry to implant ourselves into a mob.
removedClean up when an implant is removed.
set_triggerSet the emote that will trigger the implant.

Var Details

activated

How the implant is activated.

allow_multiple

Whether multiple implants of this same type can be inserted into someone.

has_triggered_on_death

Whether this implant has already triggered on death or not, to prevent it firing multiple times.

imp_in

Who the implant is inside of.

implant_data

the implant_fluff datum attached to this implant, purely cosmetic "lore" information

implant_state

which implant overlay should be used for implant cases. This should point to a state in bio_chips.dmi

implanted

Whether the implant is implanted. Null if it's never been inserted, TRUE if it's currently inside someone, or FALSE if it's been removed.

trigger_causes

What type of action will trigger this emote. Bitfield of IMPLANT_EMOTE_* defines.

trigger_emotes

List of emote keys that activate this implant when used.

uses

Amount of times that the implant can be triggered by the user. If the implant can't be used, it can't be inserted.

Proc Details

can_implant

Check that we can actually implant this before implanting it

+ +

Returns +TRUE - I could care less, implant it, maybe don't. I don't care. +FALSE - Don't implant!

implant

Try to implant ourselves into a mob.

+ +

Returns +1 if the implant injects successfully +-1 if the implant fails to inject +0 if there's no room for the implant.

removed

Clean up when an implant is removed.

+

set_trigger

Set the emote that will trigger the implant.

+
\ No newline at end of file diff --git a/obj/item/bio_chip/death_alarm.html b/obj/item/bio_chip/death_alarm.html new file mode 100644 index 00000000000..563f9b8f153 --- /dev/null +++ b/obj/item/bio_chip/death_alarm.html @@ -0,0 +1 @@ +/obj/item/bio_chip/death_alarm - Space Station 13
Space Station 13 - Modules - TypesVar Details

death_alarm

Vars

emp_spam_lockTracking to prevent multiple EMPs in the same tick from flooding radio.

Var Details

emp_spam_lock

Tracking to prevent multiple EMPs in the same tick from flooding radio.

\ No newline at end of file diff --git a/obj/item/bio_chip/explosive.html b/obj/item/bio_chip/explosive.html new file mode 100644 index 00000000000..adeb386aa2d --- /dev/null +++ b/obj/item/bio_chip/explosive.html @@ -0,0 +1 @@ +/obj/item/bio_chip/explosive - Space Station 13
Space Station 13 - Modules - TypesProc Details

explosive

Procs

self_destructGib the implantee and delete their destructible contents.

Proc Details

self_destruct

Gib the implantee and delete their destructible contents.

\ No newline at end of file diff --git a/obj/item/bio_chip/mod.html b/obj/item/bio_chip/mod.html new file mode 100644 index 00000000000..04396392ad0 --- /dev/null +++ b/obj/item/bio_chip/mod.html @@ -0,0 +1 @@ +/obj/item/bio_chip/mod - Space Station 13
Space Station 13 - Modules - TypesVar Details

mod

Vars

jet_iconThe jet icon we apply to the MOD.
moduleThe pathfinder module we are linked to.
pathList of turfs through which a mod 'steps' to reach the waypoint
targetThe target turf we are after
triesHow many times have we tried to move?

Var Details

jet_icon

The jet icon we apply to the MOD.

module

The pathfinder module we are linked to.

path

List of turfs through which a mod 'steps' to reach the waypoint

target

The target turf we are after

tries

How many times have we tried to move?

\ No newline at end of file diff --git a/obj/item/bio_chip/traitor.html b/obj/item/bio_chip/traitor.html new file mode 100644 index 00000000000..a462e521cbd --- /dev/null +++ b/obj/item/bio_chip/traitor.html @@ -0,0 +1 @@ +/obj/item/bio_chip/traitor - Space Station 13
Space Station 13 - Modules - TypesVar Details

traitor

Vars

mindslave_UIDThe UID of the mindslave's mind. Stored to solve GC race conditions and ensure we can remove their mindslave status even when they're deleted or gibbed.

Var Details

mindslave_UID

The UID of the mindslave's mind. Stored to solve GC race conditions and ensure we can remove their mindslave status even when they're deleted or gibbed.

\ No newline at end of file diff --git a/obj/item/blank_tarot_card.html b/obj/item/blank_tarot_card.html new file mode 100644 index 00000000000..034b292f934 --- /dev/null +++ b/obj/item/blank_tarot_card.html @@ -0,0 +1 @@ +/obj/item/blank_tarot_card - Space Station 13
Space Station 13 - Modules - TypesVar Details

blank_tarot_card

Vars

let_people_chooseIf a person can choose what the card produces. No cost if they can choose.

Var Details

let_people_choose

If a person can choose what the card produces. No cost if they can choose.

\ No newline at end of file diff --git a/obj/item/book.html b/obj/item/book.html new file mode 100644 index 00000000000..881e20fd82c --- /dev/null +++ b/obj/item/book.html @@ -0,0 +1,14 @@ +/obj/item/book - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

Standard Book

Game Object which stores pages of text usually written by players, has other editable information such as the book's +title, author, summary, and categories. Has other values that are generated when books are acquired through the library +computer.

+

Like other User Interfaces that heavily rely on player input, using newer tools such as TGUI presents sanitization issues +so books will remain using BrowserUI until further notice.

Vars

authorWho wrote the book, can be changed by pen or PC
book_bgcolorThe background color of the book, useful for themed programmatic books, must be in #FFFFFF hex color format
book_heightBook UI Popup Height
book_widthBook UI Popup Width
brain_damage_cooldownCooldown for brain damage loss when reading
carvedIndicates whether or not a books pages have been carved out
categoriesBook Categories - used for differentiating types of books, set by players upon upload, viewable upon examining book
copyrightPrevents book from being uploaded - For all printed books
current_pageWhat page is the book currently opened to? Page 0 - Intro Page | Page 1-5 - Content Pages
imaginaryIs this item imaginary and not able to interact with anything else?
libraryidBook's id within the library system, unique to each book object, should not be declared manually
pagesContent Pages of the books, this variable is a list of strings containting the HTML + Text of each page
protectedPrevents book contents from being edited
ratingBook Rating - Assigned by library computer based on how many/how players have rated this book
storeItem that is stored inside the book
summaryShort summary of the contents of the book, can be changed by pen or PC
titleTitle & Real name of the book

Procs

can_readInternal Checker Proc
clear_stored_itemneeded for proper GC'ing
edit_bookEdit Book Proc
read_bookRead Book Proc
show_contentShow Content Proc

Var Details

author

Who wrote the book, can be changed by pen or PC

book_bgcolor

The background color of the book, useful for themed programmatic books, must be in #FFFFFF hex color format

book_height

Book UI Popup Height

book_width

Book UI Popup Width

brain_damage_cooldown

Cooldown for brain damage loss when reading

carved

Indicates whether or not a books pages have been carved out

categories

Book Categories - used for differentiating types of books, set by players upon upload, viewable upon examining book

copyright

Prevents book from being uploaded - For all printed books

current_page

What page is the book currently opened to? Page 0 - Intro Page | Page 1-5 - Content Pages

imaginary

Is this item imaginary and not able to interact with anything else?

libraryid

Book's id within the library system, unique to each book object, should not be declared manually

pages

Content Pages of the books, this variable is a list of strings containting the HTML + Text of each page

protected

Prevents book contents from being edited

rating

Book Rating - Assigned by library computer based on how many/how players have rated this book

store

Item that is stored inside the book

summary

Short summary of the contents of the book, can be changed by pen or PC

title

Title & Real name of the book

Proc Details

can_read

Internal Checker Proc

+

Gives free pass to observers to read, ensures that all other mobs attempting to read book are A) literated and +B) are within range to actually read the book.

clear_stored_item

needed for proper GC'ing

edit_book

Edit Book Proc

+

This is where a lot of the magic happens, upon interacting with the book with a pen, this proc will open up options +for the player to edit the book. Most importantly, this is where we account for player stupidity and maliciousness +any input must strip/reject bad text and HTML from user input, additionally we account for players trying to screw +with the Database. This will also limit the max characters players can upload at one time to prevent spamming.

read_book

Read Book Proc

+

Checks if players is able to read book and that book is readable before calling the neccesary procs to open up UI

show_content

Show Content Proc

+

Builds the browserUI html to show to the player then open up the User interface. It first build the header navigation +buttons and then builds the rest of the UI based on what page the player is turned to.

\ No newline at end of file diff --git a/obj/item/book/granter.html b/obj/item/book/granter.html new file mode 100644 index 00000000000..c075290c9f6 --- /dev/null +++ b/obj/item/book/granter.html @@ -0,0 +1,2 @@ +/obj/item/book/granter - Space Station 13
Space Station 13 - Modules - TypesVar Details - Proc Details

granter

Books that teach things.

+

(Intrinsic actions like bar flinging, spells like fireball or smoke, or martial arts)

Vars

book_soundsThe sounds played as the user's reading the book.
pages_to_masteryControls how long a mob must keep the book in his hand to actually successfully learn
readingSanity, whether it's currently being read
reading_timeThe time it takes to read the book
remarksFlavor messages displayed to mobs reading the granter
usesThe amount of uses on the granter.

Procs

can_learnChecks if the user can learn whatever this granter... grants
on_reading_finishedCalled when the reading is completely finished. This is where the actual granting should happen.
on_reading_startCalled when the user starts to read the granter.
on_reading_stoppedCalled when the reading is interrupted without finishing.
recoilEffects that occur whenever the book is read when it has no uses left.
turn_pageThe actual "turning over of the page" flavor bit that happens while someone is reading the granter.

Var Details

book_sounds

The sounds played as the user's reading the book.

pages_to_mastery

Controls how long a mob must keep the book in his hand to actually successfully learn

reading

Sanity, whether it's currently being read

reading_time

The time it takes to read the book

remarks

Flavor messages displayed to mobs reading the granter

uses

The amount of uses on the granter.

Proc Details

can_learn

Checks if the user can learn whatever this granter... grants

on_reading_finished

Called when the reading is completely finished. This is where the actual granting should happen.

on_reading_start

Called when the user starts to read the granter.

on_reading_stopped

Called when the reading is interrupted without finishing.

recoil

Effects that occur whenever the book is read when it has no uses left.

turn_page

The actual "turning over of the page" flavor bit that happens while someone is reading the granter.

\ No newline at end of file diff --git a/obj/item/book/granter/action.html b/obj/item/book/granter/action.html new file mode 100644 index 00000000000..09e0e028d18 --- /dev/null +++ b/obj/item/book/granter/action.html @@ -0,0 +1 @@ +/obj/item/book/granter/action - Space Station 13
Space Station 13 - Modules - TypesVar Details

action

Vars

action_nameThe name of the action, formatted in a more text-friendly way.
granted_actionThe typepath of action that is given

Var Details

action_name

The name of the action, formatted in a more text-friendly way.

granted_action

The typepath of action that is given

\ No newline at end of file diff --git a/obj/item/book/granter/crafting_recipe.html b/obj/item/book/granter/crafting_recipe.html new file mode 100644 index 00000000000..b1d256ba2e0 --- /dev/null +++ b/obj/item/book/granter/crafting_recipe.html @@ -0,0 +1 @@ +/obj/item/book/granter/crafting_recipe - Space Station 13
Space Station 13 - Modules - TypesVar Details

crafting_recipe

Vars

crafting_recipe_typesA list of all recipe types we grant on learn

Var Details

crafting_recipe_types

A list of all recipe types we grant on learn

\ No newline at end of file diff --git a/obj/item/book/granter/spell.html b/obj/item/book/granter/spell.html new file mode 100644 index 00000000000..b6d9672de7d --- /dev/null +++ b/obj/item/book/granter/spell.html @@ -0,0 +1 @@ +/obj/item/book/granter/spell - Space Station 13
Space Station 13 - Modules - TypesVar Details

spell

Vars

granted_spellThe typepath of spell that is given
spell_nameThe name of the spell, formatted in a more text-friendly way

Var Details

granted_spell

The typepath of spell that is given

spell_name

The name of the spell, formatted in a more text-friendly way

\ No newline at end of file diff --git a/obj/item/book/manual.html b/obj/item/book/manual.html new file mode 100644 index 00000000000..79fdd8cf6d4 --- /dev/null +++ b/obj/item/book/manual.html @@ -0,0 +1,14 @@ +/obj/item/book/manual - Space Station 13
Space Station 13 - Modules - Types

MANUALS (BOOKS)

These are "programmatic books," that is books that are hard-coded into the game. Just for the sake of maintainability, keep +information subject to change (as in likely to change SOON) out of the non-wiki manuals as they require PRs to change +and it is not an author's responsbility to update manuals if they change a mechanic/recipe/feature referenced in one of them +Don't worry about adding them to the library, as long as they're one of these types it is automatically added.

+

Longer Guides should really be a '/obj/item/book/manual/wiki' type book and be tethered to a wiki page, this is because wiki pages +outside of SOP & Space Law can be very easily changed and do not require going through the Pull Request process. The benefits of +these are that they can be illustrated, filled with tables, and changed without affecting the codebase.

+

However, contributors should avoid making every book/page tethered to a wiki page for a few reasons:

+
    +
  1. many players who are likely just starting out would benefit from only getting a little bit of info to get started (think 5-10 bar recipes)
  2. +
  3. Wiki pages are purposefully dry and to the point, manuals benefit from having flavor/personality to them to make them interesting to read ICly
  4. +
  5. One can just open the damn wiki instead of reading a crusty-ass manual +-Sirryan2002
  6. +
\ No newline at end of file diff --git a/obj/item/book/manual/wiki.html b/obj/item/book/manual/wiki.html new file mode 100644 index 00000000000..05f9f763f47 --- /dev/null +++ b/obj/item/book/manual/wiki.html @@ -0,0 +1,5 @@ +/obj/item/book/manual/wiki - Space Station 13
Space Station 13 - Modules - TypesVar Details

Wiki Page Based Book Manuals

These are programmatic books that source its pages / "content" straight from the wiki +That means that this content can ONLY be changed by editing the wiki +Space Law and SOP Manuals can only be edited by Wiki Admins

+

These are automated well enough that as long as the link to the wiki is set correctly in the config and the article name is correct +these will display (mostly) CSS stripped wiki pages in them.

Vars

wiki_article_titleThe Article title of the wiki page being opened in the