diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/CNAME b/CNAME new file mode 100644 index 000000000000..677b79ba9f9e --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +https://splurt-station.github.io/S.P.L.U.R.T-Station-13/ diff --git a/area.html b/area.html new file mode 100644 index 000000000000..e0feb5135b45 --- /dev/null +++ b/area.html @@ -0,0 +1,22 @@ +/area - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

area

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

Vars

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

Procs

DestroyDestroy an area and clean it up
EnteredCall back when an atom enters an area
ExitedCalled when an atom exits an area
InitializeInitalize this area
LateInitializeSets machine power levels in the area
ModifyFiredoorsTry to close all the firedoors in the area
NewCalled when an area loads
reg_in_areas_in_zRegister this area as belonging to a z level
update_beautyDivides total beauty in the room by roomsize to allow us to get an average beauty per tile.
update_icon_stateUpdate the icon state of the area

Var Details

active_alarms

Alarm type to count of sources. Not usable for ^ because we handle fires differently

alarm_manager

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

always_unpowered

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

areasize

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

beauty

Beauty average per open turf in the area

beauty_threshold

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

clockwork_warp_allowed

whether servants can warp into this area from Reebe

clockwork_warp_fail

Message to display when the clockwork warp fails

considered_hull_exterior

Considered space for hull shielding

dirt_buildup_allowed

Dirty flooring allowed

fire

Do we have an active fire alarm?

flora_allowed

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

hidden

Hides area from player Teleport function.

map_generator

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

map_name

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

megafauna_spawn_allowed

If megafauna can be spawned by natural random generation

minimap_color

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

mob_spawn_allowed

if mobs can be spawned by natural random generation

mood_bonus

Bonus mood for being in this area

mood_message

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

outdoors

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

parallax_move_angle

Parallax move dir - degrees clockwise from north

parallax_move_speed

Parallax move speed - 0 to disable

parallax_moving

Parallax moving?

persistent_debris_allowed

Persistent debris alowed

requires_power

Will objects this area be needing power?

safe

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

sound_environment

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

sub_areas

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

totalbeauty

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

triggered_firealarms

How many fire alarm sources do we have?

tunnel_allowed

If mining tunnel generation is allowed in this area

valid_malf_hack

malf ais can hack this

Proc Details

Destroy

Destroy an area and clean it up

+

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

+

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

Entered

Call back when an atom enters an area

+

Sends signals COMSIG_AREA_ENTERED and COMSIG_ENTER_AREA (to the atom)

+

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

Exited

Called when an atom exits an area

+

Sends signals COMSIG_AREA_EXITED and COMSIG_EXIT_AREA (to the atom)

Initialize

Initalize this area

+

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

+

returns INITIALIZE_HINT_LATELOAD

LateInitialize

Sets machine power levels in the area

ModifyFiredoors

Try to close all the firedoors in the area

New

Called when an area loads

+

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

reg_in_areas_in_z

Register this area as belonging to a z level

+

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

update_beauty

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

update_icon_state

Update the icon state of the area

+

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

\ No newline at end of file diff --git a/area/space.html b/area/space.html new file mode 100644 index 000000000000..b4a0a8ad4322 --- /dev/null +++ b/area/space.html @@ -0,0 +1 @@ +/area/space - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

space

Procs

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

Proc Details

update_icon_state

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

\ No newline at end of file diff --git a/atom.html b/atom.html new file mode 100644 index 000000000000..fd6165db7b3e --- /dev/null +++ b/atom.html @@ -0,0 +1,167 @@ +/atom - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

atom

The base type for nearly all physical objects in SS13

+

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

Vars

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

Procs

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

Var Details

add_overlays

a very temporary list of overlays to add

article

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

atom_colours

used to store the different colors on an atom

+

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

attack_hand_is_action

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

attack_hand_speed

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

attack_hand_unwieldlyness

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

base_icon_state

Used for changing icon states for different base sprites.

base_pixel_x

Default pixel x shifting for the atom's icon.

base_pixel_y

Default pixel y shifting for the atom's icon.

chat_color

Last color calculated for the the chatmessage overlays

chat_color_darkened

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

chat_color_name

Last name used to calculate a color for the chatmessage overlays

custom_materials

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

custom_premium_price

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

custom_price

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

explosion_block

Value used to increment ex_act() if reactionary_explosions is on

explosion_flags

Flags for explosions

fingerprintslast

Last fingerprints to touch this atom

flags_1

First atom flags var

hud_list

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

hud_possible

HUD images that this atom can provide.

interaction_flags_atom

Intearaction flags

managed_overlays

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

managed_vis_overlays

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

material_flags

Bitfield for how the atom handles materials.

material_modifier

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

orbit_target

Reference to atom being orbited

pass_flags_self

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

proximity_monitor

Proximity monitor associated with this atom

rad_insulation

Radiation insulation types

reagents

Reagents holder

realized_overlays

List of overlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the overlays list

realized_underlays

List of underlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the underlays list

remove_overlays

a very temporary list of overlays to remove

ricochet_chance_mod

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

ricochet_damage_mod

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

targeted_by

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

wave_explosion_block

Amount to decrease wave explosions by

wave_explosion_multiply

Amount to multiply wave explosions by

Proc Details

AltClickNoInteract

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

CanAllowThrough

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

ComponentInitialize

Put your AddComponent calls here

Destroy

Top level of the destroy chain for most atoms

+

Cleans up the following:

+

Initialize

The primary method that objects are setup in SS13 with

+

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

+

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

+

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

+

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

+

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

+

You must not sleep in this proc, or any subprocs

+

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

+

Must return an initialization hint or a runtime will occur.

+

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

+

LateInitialize

Late Intialization, for code that should run after all atoms have run Intialization

+

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

+

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

New

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

+

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

+

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

Shake

Perform a shake on an atom, resets its position afterwards

_contents

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

add_context

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

audible_message

Show a message to all mobs in earshot of this atom

+

Use for objects performing audible actions

+

vars:

+

balloon_alert

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

balloon_alert_to_viewers

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

bullet_act

React to a hit by a projectile object

+

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

+

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

check_projectile_ricochet

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

connect_to_shuttle

Called after a shuttle is loaded from map template initially.

+

@params

+

examine_more

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

+

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

+

Produces a signal COMSIG_PARENT_EXAMINE_MORE

get_examine_string

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

get_filter_index

Returns the indice in filters of the given filter name. +If it is not found, returns null.

has_gravity

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

+

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

+

Gravity situations:

+

hitby

React to being hit by a thrown object

+

Default behaviour is to call hitby_react on ourselves after 2 seconds if we are dense +and under normal gravity.

+

Im not sure why this the case, maybe to prevent lots of hitby's if the thrown object is +deleted shortly after hitting something (during explosions or other massive events that +throw lots of items around - singularity being a notable example)

hitby_react

We have have actually hit the passed in atom

+

Default behaviour is to move back from the item that hit us

mat_update_desc

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

mech_melee_attack

Called when a mech melee attacks an atom

ninjadrain_act

Atom level proc for space ninja's glove interactions.

+

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

+

onAwayMission

Is the atom in an away mission

+

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

+

Also used in gamemode code for win conditions

onCentCom

Is this atom currently located on centcom

+

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

+

You can also be in a shuttleshuttle during endgame transit

+

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

onSyndieBase

Is the atom in any of the centcom syndicate areas

+

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

+

Also used in gamemode code for win conditions

realize_overlays

Takes the atoms's existing overlays and underlays, and makes them mutable so they can be properly vv'd in the realized_overlays/underlays list

register_context

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

rust_heretic_act

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

+

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

setClosed

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

+

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

setOpened

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

+

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

set_custom_materials

Sets the custom materials for an item.

set_light_color

Setter for the light color of this atom.

set_light_range

Setter for the light range of this atom.

shuttleRotate

Base proc

update_appearance

Updates the appearence of the icon

+

Mostly delegates to update_name, update_desc, and update_icon

+

Arguments:

+

update_desc

Updates the description of the atom

update_icon

Updates the icon of the atom

update_icon_state

Updates the icon state of the atom

update_name

Updates the name of the atom

update_overlays

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

visible_message

Generate a visible message from this atom

+

Show a message to all player mobs who sees this atom

+

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

+

Use for atoms performing visible actions

+

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

+

Vars:

+

wave_ex_act

Called when a wave explosion hits this atom.

+

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

wave_explode

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

+

Returns explosion power to "allow through".

zap_act

Respond to a electric bolt action on our item

+

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

\ No newline at end of file diff --git a/atom/movable.html b/atom/movable.html new file mode 100644 index 000000000000..5c355be2ce91 --- /dev/null +++ b/atom/movable.html @@ -0,0 +1,30 @@ +/atom/movable - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

movable

Vars

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

Procs

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

Var Details

blocks_emissive

Either FALSE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE

can_be_z_moved

Used for space ztransit stuff

em_block

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

floating_need_update

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

generic_canpass

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

last_yell

last time we yelled

movement_type

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

pass_flags

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

tooltips

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

yell_power

How loudly we yell

Proc Details

CanPassThrough

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

Process_Spacemove

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

+

return FALSE to have src start/keep drifting in a no-grav area and 1 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:

+

abstract_move

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

add_blocked_language

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

admin_teleport

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

can_speak_language

Checks if atom can speak the language.

copy_languages

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

could_speak_language

Returns the result of tongue specific limitations on spoken languages.

forceMove

FORCED MOVEMENT

get_language_holder

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

get_random_spoken_language

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

get_random_understood_language

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

get_selected_language

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

get_tooltip_data

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

+

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

grant_all_languages

Grants every language.

grant_language

Grants the supplied language and sets omnitongue true.

has_language

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

mouse_buckle_handling

Does some typechecks and then calls user_buckle_mob

+

Arguments: +M - The mob being buckled to src +user - The mob buckling M to src

newtonian_move

Only moves the object if it's under no gravity

on_enter_storage

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

on_exit_storage

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

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

quoteless_say_quote

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

recursive_pulled_glidesize_update

Recursively set glide size for atom's pulled things

remove_all_languages

Removes every language and sets omnitongue false.

remove_blocked_language

Removes a language from the blocked language list.

remove_language

Removes a single language.

say_emphasis

Scans the input sentence for speech emphasis modifiers, notably |italics|, +bold+, and underline -mothblocks

setGrabState

Updates the grab state of the movable

+

This exists to act as a hook for behaviour

setMovetype

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

set_anchored

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

set_bark

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

set_pulledby

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

throw_at

If this returns FALSE then callback will not be called.

update_atom_languages

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

\ 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 000000000000..9419fa8e1a23 --- /dev/null +++ b/atom/movable/emissive_blocker.html @@ -0,0 +1,5 @@ +/atom/movable/emissive_blocker - SPLURT Station 13
SPLURT Station 13 - Modules - Types

emissive_blocker

Internal atom that copies an appearance on to the blocker plane

+

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

\ No newline at end of file diff --git a/atom/movable/fov_holder.html b/atom/movable/fov_holder.html new file mode 100644 index 000000000000..4dd63eef7abc --- /dev/null +++ b/atom/movable/fov_holder.html @@ -0,0 +1,2 @@ +/atom/movable/fov_holder - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

fov_holder

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

Procs

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

Proc Details

Destroy

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

forceMove

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

\ No newline at end of file diff --git a/atom/movable/screen.html b/atom/movable/screen.html new file mode 100644 index 000000000000..70b7a719549d --- /dev/null +++ b/atom/movable/screen.html @@ -0,0 +1,11 @@ +/atom/movable/screen - SPLURT Station 13
SPLURT 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.
hudA reference to the owner HUD, if any.
masterA reference to the object in the slot. Grabs or items, generally.

Procs

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

Var Details

assigned_map

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

del_on_map_removal

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

+

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

hud

A reference to the owner HUD, if any.

master

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

Proc Details

fill_rect

Sets screen_loc to fill a rectangular area of the map.

+

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

set_position

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

+

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

\ 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 000000000000..7771f9938364 --- /dev/null +++ b/atom/movable/screen/action_landing.html @@ -0,0 +1 @@ +/atom/movable/screen/action_landing - SPLURT Station 13
SPLURT 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/admin_popup.html b/atom/movable/screen/admin_popup.html new file mode 100644 index 000000000000..154db68f97f7 --- /dev/null +++ b/atom/movable/screen/admin_popup.html @@ -0,0 +1 @@ +/atom/movable/screen/admin_popup - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

admin_popup

The UI element for admin popups

Vars

last_color_indexThe last color chosen in the animation, sourced from the static list colors.
last_update_timeThe world.time when the last color update occurred.

Var Details

last_color_index

The last color chosen in the animation, sourced from the static list colors.

last_update_time

The world.time when the last color update occurred.

\ 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 000000000000..39ede1740b05 --- /dev/null +++ b/atom/movable/screen/alert.html @@ -0,0 +1 @@ +/atom/movable/screen/alert - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

alert

Vars

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

Var Details

click_master

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

\ No newline at end of file diff --git a/atom/movable/screen/alert/give.html b/atom/movable/screen/alert/give.html new file mode 100644 index 000000000000..0758fb05d2fa --- /dev/null +++ b/atom/movable/screen/alert/give.html @@ -0,0 +1,9 @@ +/atom/movable/screen/alert/give - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

give

Procs

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

Proc Details

check_in_range

Simply checks if the other person is still in range

handle_transfer

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

setup

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

+

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

+
\ No newline at end of file diff --git a/atom/movable/screen/alert/give/highfive.html b/atom/movable/screen/alert/give/highfive.html new file mode 100644 index 000000000000..e0fdbbf63125 --- /dev/null +++ b/atom/movable/screen/alert/give/highfive.html @@ -0,0 +1 @@ +/atom/movable/screen/alert/give/highfive - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

highfive

Procs

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

Proc Details

check_fake_out

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

too_slow_p1

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

too_slow_p2

Part two of the ultimate prank

\ No newline at end of file diff --git a/atom/movable/screen/alert/status_effect/pregnancy.html b/atom/movable/screen/alert/status_effect/pregnancy.html new file mode 100644 index 000000000000..665e0f547ea8 --- /dev/null +++ b/atom/movable/screen/alert/status_effect/pregnancy.html @@ -0,0 +1,4 @@ +/atom/movable/screen/alert/status_effect/pregnancy - SPLURT Station 13
SPLURT Station 13 - Modules - Types

pregnancy

Who is the liar but he who denies that Jesus is the Christ? This is the antichrist, he who denies the Father and the Son.

+
\ 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 000000000000..aff99acca444 --- /dev/null +++ b/atom/movable/screen/button_palette.html @@ -0,0 +1 @@ +/atom/movable/screen/button_palette - SPLURT Station 13
SPLURT 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/combattoggle.html b/atom/movable/screen/combattoggle.html new file mode 100644 index 000000000000..8af7ac738f91 --- /dev/null +++ b/atom/movable/screen/combattoggle.html @@ -0,0 +1 @@ +/atom/movable/screen/combattoggle - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

combattoggle

The screen button.

Procs

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

Proc Details

Click

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

\ No newline at end of file diff --git a/atom/movable/screen/fullscreen.html b/atom/movable/screen/fullscreen.html new file mode 100644 index 000000000000..5815635a9f98 --- /dev/null +++ b/atom/movable/screen/fullscreen.html @@ -0,0 +1 @@ +/atom/movable/screen/fullscreen - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

fullscreen

Vars

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

Var Details

severity

current severity

severity_max

max severity

severity_min

min severity

show_when_dead

show this while dead

view_current

current view we're adapted to

\ No newline at end of file diff --git a/atom/movable/screen/fullscreen/scaled.html b/atom/movable/screen/fullscreen/scaled.html new file mode 100644 index 000000000000..b596daf401be --- /dev/null +++ b/atom/movable/screen/fullscreen/scaled.html @@ -0,0 +1 @@ +/atom/movable/screen/fullscreen/scaled - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

scaled

Vars

size_xsize of sprite in tiles
size_ysize of sprite in tiles

Var Details

size_x

size of sprite in tiles

size_y

size of sprite in tiles

\ No newline at end of file diff --git a/atom/movable/screen/inventory.html b/atom/movable/screen/inventory.html new file mode 100644 index 000000000000..3535273cdb76 --- /dev/null +++ b/atom/movable/screen/inventory.html @@ -0,0 +1 @@ +/atom/movable/screen/inventory - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

inventory

Vars

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

Var Details

icon_empty

Icon when empty. For now used only by humans.

icon_full

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

object_overlay

The overlay when hovering over with an item in your hand

slot_id

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

\ No newline at end of file diff --git a/atom/movable/screen/lobby.html b/atom/movable/screen/lobby.html new file mode 100644 index 000000000000..a2a2bcd2f024 --- /dev/null +++ b/atom/movable/screen/lobby.html @@ -0,0 +1 @@ +/atom/movable/screen/lobby - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

lobby

Vars

always_shownWhether this HUD element can be hidden from the client's "screen" (moved off-screen) or not

Procs

SlowInitRun sleeping actions after initialize
collapse_buttonAnimates moving the button off-screen
expand_buttonAnimates moving the button back into place

Var Details

always_shown

Whether this HUD element can be hidden from the client's "screen" (moved off-screen) or not

Proc Details

SlowInit

Run sleeping actions after initialize

collapse_button

Animates moving the button off-screen

expand_button

Animates moving the button back into place

\ No newline at end of file diff --git a/atom/movable/screen/lobby/button.html b/atom/movable/screen/lobby/button.html new file mode 100644 index 000000000000..bc8d3023b152 --- /dev/null +++ b/atom/movable/screen/lobby/button.html @@ -0,0 +1 @@ +/atom/movable/screen/lobby/button - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

button

Vars

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

Procs

set_button_statusUpdates the button's status: TRUE to enable interaction with the button, FALSE to disable

Var Details

enabled

Is the button currently enabled?

highlighted

Is the button currently being hovered over with the mouse?

owner

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

Proc Details

set_button_status

Updates the button's status: TRUE to enable interaction with the button, FALSE to disable

\ No newline at end of file diff --git a/atom/movable/screen/lobby/button/bottom/poll.html b/atom/movable/screen/lobby/button/bottom/poll.html new file mode 100644 index 000000000000..0e1e28173b7b --- /dev/null +++ b/atom/movable/screen/lobby/button/bottom/poll.html @@ -0,0 +1 @@ +/atom/movable/screen/lobby/button/bottom/poll - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

poll

Vars

new_pollWhether the button should have a New Poll notification overlay

Var Details

new_poll

Whether the button should have a New Poll notification overlay

\ No newline at end of file diff --git a/atom/movable/screen/lobby/button/collapse.html b/atom/movable/screen/lobby/button/collapse.html new file mode 100644 index 000000000000..f03386820b48 --- /dev/null +++ b/atom/movable/screen/lobby/button/collapse.html @@ -0,0 +1,5 @@ +/atom/movable/screen/lobby/button/collapse - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

collapse

Procs

collapse_menuMoves the button to the top of the screen, leaving only the screen part in view +Sends a signal on the hud for the menu hud elements to listen to
expand_menuExtends the button back to its usual spot +Sends a signal on the hud for the menu hud elements to listen to

Proc Details

collapse_menu

Moves the button to the top of the screen, leaving only the screen part in view +Sends a signal on the hud for the menu hud elements to listen to

expand_menu

Extends the button back to its usual spot +Sends a signal on the hud for the menu hud elements to listen to

\ No newline at end of file diff --git a/atom/movable/screen/lobby/button/ready.html b/atom/movable/screen/lobby/button/ready.html new file mode 100644 index 000000000000..cfddd26dee84 --- /dev/null +++ b/atom/movable/screen/lobby/button/ready.html @@ -0,0 +1 @@ +/atom/movable/screen/lobby/button/ready - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ready

Button that appears before the game has started

Vars

readyWhether we are readied up for the round or not

Var Details

ready

Whether we are readied up for the round or not

\ No newline at end of file diff --git a/atom/movable/screen/lobby/shutter.html b/atom/movable/screen/lobby/shutter.html new file mode 100644 index 000000000000..7d939f200f32 --- /dev/null +++ b/atom/movable/screen/lobby/shutter.html @@ -0,0 +1 @@ +/atom/movable/screen/lobby/shutter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

shutter

Procs

setup_shutter_animationSets up the shutter pulling down and up. It's the same animation for both collapsing and expanding the menu.

Proc Details

setup_shutter_animation

Sets up the shutter pulling down and up. It's the same animation for both collapsing and expanding the menu.

\ 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 000000000000..0bc7b831ca50 --- /dev/null +++ b/atom/movable/screen/movable.html @@ -0,0 +1 @@ +/atom/movable/screen/movable - SPLURT Station 13
SPLURT 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 000000000000..a6695483dd0b --- /dev/null +++ b/atom/movable/screen/movable/action_button.html @@ -0,0 +1,3 @@ +/atom/movable/screen/movable/action_button - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

action_button

Vars

idA unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position
last_hovored_refA weakref of the last thing we hovered over +God I hate how dragging works
locationWhere we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks

Var Details

id

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

last_hovored_ref

A weakref of the last thing we hovered over +God I hate how dragging works

location

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

\ 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 000000000000..564049b80112 --- /dev/null +++ b/atom/movable/screen/palette_scroll.html @@ -0,0 +1,3 @@ +/atom/movable/screen/palette_scroll - SPLURT Station 13
SPLURT 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/parallax_layer.html b/atom/movable/screen/parallax_layer.html new file mode 100644 index 000000000000..8774d324a4bb --- /dev/null +++ b/atom/movable/screen/parallax_layer.html @@ -0,0 +1 @@ +/atom/movable/screen/parallax_layer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

parallax_layer

Vars

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

Procs

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

Var Details

absolute

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

center_x

normal centered x

center_y

normal centered y

dynamic_self_tile

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

map_id

map id

offset_x

current cached offset x

offset_y

current cached offset y

parallax_intensity

parallax level required to see this

queued_animation

queued animation timerid

speed

pixel x/y shift per real x/y

view_current

current view we're adapted to

Proc Details

GetOverlays

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

\ No newline at end of file diff --git a/atom/movable/screen/storage/volumetric_box/center.html b/atom/movable/screen/storage/volumetric_box/center.html new file mode 100644 index 000000000000..8ea300d10364 --- /dev/null +++ b/atom/movable/screen/storage/volumetric_box/center.html @@ -0,0 +1 @@ +/atom/movable/screen/storage/volumetric_box/center - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

center

Procs

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

Proc Details

set_pixel_size

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

\ No newline at end of file diff --git a/atom/movable/screen/wanted.html b/atom/movable/screen/wanted.html new file mode 100644 index 000000000000..3422714d96ac --- /dev/null +++ b/atom/movable/screen/wanted.html @@ -0,0 +1 @@ +/atom/movable/screen/wanted - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

wanted

Vars

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

Var Details

cops_arrived

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

level

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

\ No newline at end of file diff --git a/atom/movable/summon_weapon_effect.html b/atom/movable/summon_weapon_effect.html new file mode 100644 index 000000000000..283640461f52 --- /dev/null +++ b/atom/movable/summon_weapon_effect.html @@ -0,0 +1 @@ +/atom/movable/summon_weapon_effect - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

summon_weapon_effect

Vars

lockedlocked atom

Var Details

locked

locked atom

\ No newline at end of file diff --git a/client.html b/client.html new file mode 100644 index 000000000000..95d0adc4167a --- /dev/null +++ b/client.html @@ -0,0 +1,51 @@ +/client - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

client

Vars

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

Procs

ForceAllKeysUpKeyup's all keys held down.
NONSENSICAL_VERB_THAT_DOES_NOTHING*sigh
Process_GrabProcess_Grab(): checks for grab, attempts to break if so. Return TRUE to prevent movement.
Process_IncorpmoveProcess_Incorpmove +Called by client/Move() +Allows mobs to run though walls
admin_cmd_remove_ghost_respawn_timerAllows a ghost to bypass respawn delay without lifting respawn restrictions
admin_cmd_respawn_return_to_lobbyFully returns a player to lobby, allowing them to bypass all respawn restrictions +Works on ghosts or new players (lobby players) +If a lobby player is selected, their restrictions are removed.
asset_cache_confirm_arrivalProcess asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"
asset_cache_preload_dataProcess asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]"
asset_cache_update_jsonUpdates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.
award_heartRedirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.
browse_queue_flushBlocks until all currently sending browse and browse_rsc assets have been sent. +Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. +This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.
clear_all_mapsClears all the maps of registered screen objects.
clear_mapClears the map of registered screen objects.
close_popupCloses a popup.
create_popupCreates a popup window with a basic map element in it, without any +further initialization.
fix_tgui_paneltgui panel / chat troubleshooting verb
forceEventAllows an admin to force an event
get_award_statusRedirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.
give_awardRedirect proc that makes it easier to call the unlock achievement proc. Achievement type is the typepath to the award, user is the mob getting the award, and value is an optional variable used for leaderboard value increments
handle_popup_closeWhen the popup closes in any way (player or proc call) it calls this.
init_verbscompiles a full list of verbs and sends it to the browser
register_map_objRegisters screen obj with the client, which makes it visible on the +assigned map, and becomes a part of the assigned map's lifecycle.
send_resourcesSend resources to the client. +Sends both game resources and browser assets.
set_tabverbs that send information from the browser UI
setup_popupCreate the popup, and get it ready for generic use by giving +it a background.
uicloseverb
update_clickcatcherMakes a clickcatcher if necessary, and ensures it's fit to our size.
update_special_keybindsUpdates the keybinds for special keys

Var Details

active_mousedown_item

Autoclick variable referencing the associated item.

admin_music_volume

Admin music volume, from 0 to 1.

autobunker_last_try

last time they tried to do an autobunker auth

block_parry_hinted

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

click_catcher

Click catcher

click_intercept_time

Time when the click was intercepted

clicklimiter

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

client_keysend_amount

Amount of keydowns in the last keysend checking interval

completed_asset_jobs

List of all completed blocking send jobs awaiting acknowledgement by send_asset

credits

lazy list of all credit object bound to this client

cryo_warned

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

holder

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

keys_held

Keys currently held

keysend_tripped

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

last_activity

AFK tracking

last_asset_job

Last asset send job id.

last_click

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

last_macro_fix

Last time they used fix macros

mouseParams

Used in MouseDrag to preserve the original mouse click parameters

mouse_location_ref

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

mouse_object_ref

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

mouse_override_icon

used to override the mouse cursor so it doesnt get reset

moused_over_objects

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

movement_keys

custom movement keys for this client

navigation_images

Images of the path created by navigate().

next_keysend_reset

World tick time where client_keysend_amount will reset

next_keysend_trip_reset

World tick time where keysend_tripped will reset back to false

next_mousemove

The next point in time at which the client is allowed to send a mousemove() or mousedrag()

next_move_dir_add

These next two vars are to apply movement for keypresses and releases made while move delayed. +Because discarding that input makes the game less responsive. +On next move, add this dir to the move that would otherwise be done

next_move_dir_sub

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

panel_tabs

list of all tabs

parallax_holder

Parallax holder

recent_examines

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

screen_maps

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

+

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

script

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

seen_messages

Messages currently seen by this client

selected_target

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

show_verb_panel

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

spell_tabs

list of tabs containing spells and abilities

stat_tab

our current tab

statbrowser_ready

whether our browser is ready or not yet

tgui_cache_reloaded

global

+

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

tgui_windows

global

+

Tracks open windows for a user.

tip_timer

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

total_count_reset

Next tick to reset the total message counter

total_message_count

How many messages sent in the last 10 seconds

verb_tabs

list of tabs containing verbs

view_size

viewsize datum for holding our view size

Proc Details

ForceAllKeysUp

Keyup's all keys held down.

NONSENSICAL_VERB_THAT_DOES_NOTHING

*sigh

Process_Grab

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

Process_Incorpmove

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

admin_cmd_remove_ghost_respawn_timer

Allows a ghost to bypass respawn delay without lifting respawn restrictions

admin_cmd_respawn_return_to_lobby

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

asset_cache_confirm_arrival

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

asset_cache_preload_data

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

asset_cache_update_json

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

award_heart

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

browse_queue_flush

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

clear_all_maps

Clears all the maps of registered screen objects.

clear_map

Clears the map of registered screen objects.

+

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

close_popup

Closes a popup.

create_popup

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

+

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

+

Returns a map name.

fix_tgui_panel

tgui panel / chat troubleshooting verb

forceEvent

Allows an admin to force an event

get_award_status

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

give_award

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

handle_popup_close

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

init_verbs

compiles a full list of verbs and sends it to the browser

register_map_obj

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

send_resources

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

set_tab

verbs that send information from the browser UI

setup_popup

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

+

Width and height are multiplied by 64 by default.

uiclose

verb

+

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

+

required uiref ref The UI that was closed.

update_clickcatcher

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

update_special_keybinds

Updates the keybinds for special keys

+

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

+ +

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

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

code/__DEFINES/DNA.dm

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

Define Details

HAS_BONE

if we have bones (can suffer bone wounds)

HAS_FLESH

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

STANDARD_ORGAN_THRESHOLD

organ defines

\ No newline at end of file diff --git a/code/__DEFINES/MC.html b/code/__DEFINES/MC.html new file mode 100644 index 000000000000..fb7ea191ff9a --- /dev/null +++ b/code/__DEFINES/MC.html @@ -0,0 +1,20 @@ +code/__DEFINES/MC.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/MC.dm

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

SS_NO_INITsubsystem does not initialize.
SS_NO_FIREsubsystem does not fire. +(like can_fire = 0, but keeps it from getting added to the processing subsystems list) +(Requires a MC restart to change)
SS_BACKGROUNDSubsystem only runs on spare cpu (after all non-background subsystems have ran that tick) +SS_BACKGROUND has its own priority bracket, this overrides SS_TICKER's priority bump
SS_NO_TICK_CHECKsubsystem does not tick check, and should not run unless there is enough time (or its running behind (unless background))
SS_TICKERTreat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)
SS_KEEP_TIMINGkeep the subsystem's timing on point by firing early if it fired late last fire because of lag +ie: if a 20ds subsystem fires say 5 ds late due to lag or what not, its next fire would be in 15ds, not 20ds.
SS_POST_FIRE_TIMINGCalculate its next fire after its fired. +(IE: if a 5ds wait SS takes 2ds to run, its next fire should be 5ds away, not 3ds like it normally would be) +This flag overrides SS_KEEP_TIMING

SUBSYSTEM STATES

+
SS_IDLEain't doing shit.
SS_QUEUEDqueued to run
SS_RUNNINGactively running
SS_PAUSEDpaused by mc_tick_check
SS_SLEEPINGfire() slept.
SS_PAUSINGin the middle of pausing

Define Details

SS_BACKGROUND

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

SS_IDLE

ain't doing shit.

SS_KEEP_TIMING

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

SS_NO_FIRE

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

SS_NO_INIT

subsystem does not initialize.

SS_NO_TICK_CHECK

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

SS_PAUSED

paused by mc_tick_check

SS_PAUSING

in the middle of pausing

SS_POST_FIRE_TIMING

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

SS_QUEUED

queued to run

SS_RUNNING

actively running

SS_SLEEPING

fire() slept.

SS_TICKER

Treat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)

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

code/__DEFINES/_flags/_flags.dm

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

Define Details

ABDUCTOR_PROOF

If Abductors are unable to teleport in with their observation console

ADMIN_SPAWNED_1

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

BLOBS_ALLOWED

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

BLOCK_FACE_ATOM_1

Early returns mob.face_atom()

BLOCK_SUICIDE

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

CAN_BE_DIRTY_1

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

CAVES_ALLOWED

If mining tunnel generation is allowed in this area

CHECK_MOBILITY

any flag

CONDUCT_1

Conducts electricity (metal etc.).

CRAWLING

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

CULTMAGIC_BYPASS

If cultists can use abilities in this area but the area is not on station.

CULT_PERMITTED

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

DEFAULT_RICOCHET_1

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

DIRFLIP

Turns the dir by 180 degrees

EWCOMPONENT

True if the dir is east/west, false otherwise

EWDIRFLIP

Flips the dir for east/west directions

EXCITED_CLEANUP_1

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

FLORA_ALLOWED

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

HAS_CONTEXTUAL_SCREENTIPS_1

Whether or not this atom has contextual screentips when hovered OVER

HEAR_1

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

HIDDEN_AREA

Hides area from player Teleport function.

INITIALIZED_1

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

ISDIAGONALDIR

Returns true if the dir is diagonal, false otherwise

LETPASSTHROW

Let thrown things past us. ONLY MEANINGFUL ON pass_flags_self!

MAX_BITFLAG_DIGITS

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

MEGAFAUNA_SPAWN_ALLOWED

If megafauna can be spawned by natural random generation

MOBILITY_HOLD

can hold non-nodropped items voluntarily

MOBILITY_MOVE

can move

MOBILITY_PICKUP

can pickup items

MOBILITY_PULL

can pull things

MOBILITY_RESIST

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

MOBILITY_STAND

can, and is, standing up.

MOBILITY_STORAGE

can use storage item

MOBILITY_UI

can use interfaces like consoles

MOBILITY_USE

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

MOB_SPAWN_ALLOWED

If mobs can be spawned by natural random generation

NODECONSTRUCT_1

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

NOTELEPORT

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

NO_ALERTS

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

NO_LAVA_GEN_1

Blocks lava rivers being generated on the turf

NO_RUINS_1

Blocks ruins spawning on the turf

NO_SCREENTIPS_1

Whether or not this atom shows screentips when hovered over

NSCOMPONENT

True if the dir is north or south, false therwise

NSDIRFLIP

Flips the dir for north/south directions

ON_BORDER_1

Item has priority to check when entering or leaving.

OVERLAY_QUEUED_1

Atom queued to SSoverlay.

PHASING

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

PREVENT_CLICK_UNDER_1

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

PREVENT_CONTENTS_EXPLOSION_1

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

RICOCHET_HARD

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

RICOCHET_SHINY

If the thing can reflect light (lasers/energy)

SHOCKED_1

Prevents mobs from getting chainshocked by teslas and the supermatter.

UNIQUE_AREA

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

VALID_TERRITORY

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

XENOBIOLOGY_COMPATIBLE

Can the Xenobio management console transverse this area by default?

\ No newline at end of file diff --git a/code/__DEFINES/_flags/do_after.html b/code/__DEFINES/_flags/do_after.html new file mode 100644 index 000000000000..dd78230fc04c --- /dev/null +++ b/code/__DEFINES/_flags/do_after.html @@ -0,0 +1 @@ +code/__DEFINES/_flags/do_after.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/_flags/do_after.dm

IGNORE_TARGET_IN_DOAFTERSCan do the action even if target is not added to doafters
IGNORE_USER_LOC_CHANGECan do the action even if mob moves location
IGNORE_TARGET_LOC_CHANGECan do the action even if the target moves location
IGNORE_HELD_ITEMCan do the action even if the item is no longer being held
IGNORE_INCAPACITATEDCan do the action even if the mob is incapacitated (ex. handcuffed)

Define Details

IGNORE_HELD_ITEM

Can do the action even if the item is no longer being held

IGNORE_INCAPACITATED

Can do the action even if the mob is incapacitated (ex. handcuffed)

IGNORE_TARGET_IN_DOAFTERS

Can do the action even if target is not added to doafters

IGNORE_TARGET_LOC_CHANGE

Can do the action even if the target moves location

IGNORE_USER_LOC_CHANGE

Can do the action even if mob moves location

\ No newline at end of file diff --git a/code/__DEFINES/_flags/item_flags.html b/code/__DEFINES/_flags/item_flags.html new file mode 100644 index 000000000000..f598512507e5 --- /dev/null +++ b/code/__DEFINES/_flags/item_flags.html @@ -0,0 +1 @@ +code/__DEFINES/_flags/item_flags.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/_flags/item_flags.dm

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

Define Details

ABSTRACT

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

DROPDEL

When dropped, it calls qdel on itself

FORCE_STRING_OVERRIDE

used for tooltips

IMMUTABLE_SLOW

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

IN_INVENTORY

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

ITEM_CAN_BLOCK

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

ITEM_CAN_PARRY

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

NEEDS_PERMIT

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

NOBLUDGEON

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

NO_MAT_REDEMPTION

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

NO_UNIFORM_REQUIRED

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

SURGICAL_TOOL

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

\ No newline at end of file diff --git a/code/__DEFINES/_flags/obj_flags.html b/code/__DEFINES/_flags/obj_flags.html new file mode 100644 index 000000000000..26de492dab05 --- /dev/null +++ b/code/__DEFINES/_flags/obj_flags.html @@ -0,0 +1 @@ +code/__DEFINES/_flags/obj_flags.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/_flags/obj_flags.dm

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

Define Details

CLOTHING_PRISTINE

Integrity defines for clothing (not flags but close enough)

EXAMINE_SKIP

Makes the Examine proc not read out this item.

FIRST_SOUNDS

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

ITEM_HAS_CONTEXTUAL_SCREENTIPS

Has contextual screentips when HOVERING OVER OTHER objects

\ No newline at end of file diff --git a/code/__DEFINES/_flags/return_values.html b/code/__DEFINES/_flags/return_values.html new file mode 100644 index 000000000000..425a3a6ae70d --- /dev/null +++ b/code/__DEFINES/_flags/return_values.html @@ -0,0 +1,5 @@ +code/__DEFINES/_flags/return_values.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/_flags/return_values.dm

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

Define Details

ATTACK_IGNORE_ACTION

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

ATTACK_IGNORE_CLICKDELAY

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

ATTACK_IS_PARRY_COUNTERATTACK

This attack is from a parry counterattack

DISCARD_LAST_ACTION

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

INTERRUPT_UNARMED_ATTACK

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

ITEM_RELOCATED_BY_DROPPED

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

NO_AUTO_CLICKDELAY_HANDLING

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

STOP_ATTACK_PROC_CHAIN

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

\ No newline at end of file diff --git a/code/__DEFINES/_flags/shields.html b/code/__DEFINES/_flags/shields.html new file mode 100644 index 000000000000..50a71537d17c --- /dev/null +++ b/code/__DEFINES/_flags/shields.html @@ -0,0 +1 @@ +code/__DEFINES/_flags/shields.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/_flags/shields.dm

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

Define Details

SHIELD_BASH_ALWAYS_DISARM

Shield bash always disarm

SHIELD_BASH_ALWAYS_KNOCKDOWN

Shield bash always knockdown

SHIELD_BASH_GROUND_SLAM

You can shieldbash target someone on the ground for ground slam

SHIELD_BASH_GROUND_SLAM_DISARM

Shield bashing someone on the ground will disarm

SHIELD_BASH_WALL_DISARM

Shield bash disarm on wall hit

SHIELD_BASH_WALL_KNOCKDOWN

Shield bash knockdown on wall hit

SHIELD_CAN_BASH

Can shield bash

SHIELD_DISABLER_DISRUPTED

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

SHIELD_ENERGY_STRONG

Strong against energy, weak against kinetic

SHIELD_ENERGY_WEAK

Flammable, takes more damage from fire

SHIELD_KINETIC_STRONG

Strong against kinetic, weak against energy

SHIELD_KINETIC_WEAK

Fragile, takes more damage from brute

SHIELD_NO_MELEE

Doesn't block melee attacks whatsoever

SHIELD_NO_RANGED

Doesn't block ranged attacks whatsoever

SHIELD_TRANSPARENT

Transparent, let beams pass

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

code/__DEFINES/_helpers.dm

STRINGIFYStringifies whatever you put into it.
subtypesofsubtypesof(), typesof() without the parent path
UNTILUntil a condition is true, sleep
SLEEP_NOT_DELSleep if we haven't been deleted +Otherwise, return
text_refTakes a datum as input, returns its ref string
EMPTY_BLOCK_GUARDA null statement to guard against EmptyBlock lint without necessitating the use of pass() +Used to avoid proc-call overhead. But use sparingly. Probably pointless in most places.

Define Details

EMPTY_BLOCK_GUARD

A null statement to guard against EmptyBlock lint without necessitating the use of pass() +Used to avoid proc-call overhead. But use sparingly. Probably pointless in most places.

SLEEP_NOT_DEL

Sleep if we haven't been deleted +Otherwise, return

STRINGIFY

Stringifies whatever you put into it.

UNTIL

Until a condition is true, sleep

subtypesof

subtypesof(), typesof() without the parent path

text_ref

Takes a datum as input, returns its ref string

\ No newline at end of file diff --git a/code/__DEFINES/_tick.html b/code/__DEFINES/_tick.html new file mode 100644 index 000000000000..b94573b9ef12 --- /dev/null +++ b/code/__DEFINES/_tick.html @@ -0,0 +1 @@ +code/__DEFINES/_tick.dm - SPLURT Station 13
SPLURT 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_LIMIT_MC_INIT_DEFAULTTick limit while initializing
TICK_USAGEfor general usage of tick_usage
TICK_USAGE_REALto be used where the result isn't checked
TICK_CHECKReturns true if tick_usage is above the limit
CHECK_TICKruns stoplag if tick_usage is above the limit
TICK_CHECK_HIGH_PRIORITYReturns true if tick usage is above 95, for high priority usage
CHECK_TICK_HIGH_PRIORITYruns stoplag if tick_usage is above 95, for high priority usage

Define Details

CHECK_TICK

runs stoplag if tick_usage is above the limit

CHECK_TICK_HIGH_PRIORITY

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

MAPTICK_MC_MIN_RESERVE

Percentage of tick to leave for master controller to run

TICK_BYOND_RESERVE

Tick limit while running normally

TICK_CHECK

Returns true if tick_usage is above the limit

TICK_CHECK_HIGH_PRIORITY

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

TICK_LIMIT_MC

Tick limit for MC while running

TICK_LIMIT_MC_INIT_DEFAULT

Tick limit while initializing

TICK_LIMIT_TO_RUN

Tick limit used to resume things in stoplag

TICK_USAGE

for general usage of tick_usage

TICK_USAGE_REAL

to be used where the result isn't checked

\ No newline at end of file diff --git a/code/__DEFINES/admin.html b/code/__DEFINES/admin.html new file mode 100644 index 000000000000..78c535ac41bb --- /dev/null +++ b/code/__DEFINES/admin.html @@ -0,0 +1 @@ +code/__DEFINES/admin.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/admin.dm

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

Define Details

ADMINSAY_PING_UNDERLINE_NAME_INDEX

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

\ No newline at end of file diff --git a/code/__DEFINES/admin/keybindings.html b/code/__DEFINES/admin/keybindings.html new file mode 100644 index 000000000000..c800a9201393 --- /dev/null +++ b/code/__DEFINES/admin/keybindings.html @@ -0,0 +1 @@ +code/__DEFINES/admin/keybindings.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/admin/keybindings.dm

MAX_KEYPRESS_COMMANDLENGTHMax length of a keypress command before it's considered to be a forged packet/bogus command
MAX_COMMANDS_PER_KEYMaximum keys that can be bound to one button
MAX_KEYS_PER_KEYBINDMaximum keys per keybind
MAX_KEYPRESS_AUTOKICKMax amount of keypress messages per second over two seconds before client is autokicked
MAX_HELD_KEYSMax keys that can be held down at once by a client
SKIN_MACROSET_HOTKEYSMacroset name of hotkeys/keybind only/modern mode
SKIN_MACROSET_CLASSIC_HOTKEYSMacroset name of classic hotkey mode
SKIN_MACROSET_CLASSIC_INPUTMacroset name of classic input mode

Define Details

MAX_COMMANDS_PER_KEY

Maximum keys that can be bound to one button

MAX_HELD_KEYS

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

MAX_KEYPRESS_AUTOKICK

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

MAX_KEYPRESS_COMMANDLENGTH

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

MAX_KEYS_PER_KEYBIND

Maximum keys per keybind

SKIN_MACROSET_CLASSIC_HOTKEYS

Macroset name of classic hotkey mode

SKIN_MACROSET_CLASSIC_INPUT

Macroset name of classic input mode

SKIN_MACROSET_HOTKEYS

Macroset name of hotkeys/keybind only/modern mode

\ No newline at end of file diff --git a/code/__DEFINES/alarm.html b/code/__DEFINES/alarm.html new file mode 100644 index 000000000000..346ff05155c5 --- /dev/null +++ b/code/__DEFINES/alarm.html @@ -0,0 +1 @@ +code/__DEFINES/alarm.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/alarm.dm

ALARM_ATMOSSent by air alarms, indecates something wrong with thier attached atmosphere
ALARM_FIRESent by fire alarms when they are toggled
ALARM_POWERSent by apcs when their power starts to fail
ALARM_CAMERASent by cameras when they're disabled in some manner
ALARM_BURGLARSent by display cases when they're broken into
ALARM_MOTIONSent by motion detecting cameras when they well, detect motion

Define Details

ALARM_ATMOS

Sent by air alarms, indecates something wrong with thier attached atmosphere

ALARM_BURGLAR

Sent by display cases when they're broken into

ALARM_CAMERA

Sent by cameras when they're disabled in some manner

ALARM_FIRE

Sent by fire alarms when they are toggled

ALARM_MOTION

Sent by motion detecting cameras when they well, detect motion

ALARM_POWER

Sent by apcs when their power starts to fail

\ No newline at end of file diff --git a/code/__DEFINES/antagonists.html b/code/__DEFINES/antagonists.html new file mode 100644 index 000000000000..34c2f729537b --- /dev/null +++ b/code/__DEFINES/antagonists.html @@ -0,0 +1,5 @@ +code/__DEFINES/antagonists.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/antagonists.dm

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

Define Details

ANTAGONIST_PREVIEW_ICON_SIZE

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

IS_MALF_AI

Checks if the given mob is a malf ai.

TELECRYSTALS_DEFAULT

How many telecrystals a normal traitor starts with

TELECRYSTALS_PRELOADED_IMPLANT

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

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

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

code/__DEFINES/callbacks.dm

CALLBACKA shorthand for the callback datum, documented here

Define Details

CALLBACK

A shorthand for the callback datum, documented here

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

code/__DEFINES/cargo.dm

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

Define Details

CARGO_CRATE_VALUE

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

\ No newline at end of file diff --git a/code/__DEFINES/color/colors.html b/code/__DEFINES/color/colors.html new file mode 100644 index 000000000000..ae2072d6ed54 --- /dev/null +++ b/code/__DEFINES/color/colors.html @@ -0,0 +1,7 @@ +code/__DEFINES/color/colors.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/color/colors.dm

COLOR_SAMPLE_YELLOWColors for xenobiology vatgrowing
COLOR_THEME_MIDNIGHTMain colors for UI themes
COLOR_PERIWINKLEEColors for eigenstates
LIGHT_COLOR_GREENSome defines to generalise colours used in lighting.
LIGHT_COLOR_ELECTRIC_GREENElectric green. rgb(0, 255, 0)
LIGHT_COLOR_BLUECold, diluted blue. rgb(100, 150, 250)
LIGHT_COLOR_BLUEGREENLight blueish green. rgb(125, 225, 175)
LIGHT_COLOR_CYANDiluted cyan. rgb(125, 225, 225)
LIGHT_COLOR_ELECTRIC_CYANElectric cyan rgb(0, 255, 255)
LIGHT_COLOR_LIGHT_CYANMore-saturated cyan. rgb(64, 206, 255)
LIGHT_COLOR_DARK_BLUESaturated blue. rgb(51, 117, 248)
LIGHT_COLOR_PINKDiluted, mid-warmth pink. rgb(225, 125, 225)
LIGHT_COLOR_YELLOWDimmed yellow, leaning kaki. rgb(225, 225, 125)
LIGHT_COLOR_BROWNClear brown, mostly dim. rgb(150, 100, 50)
LIGHT_COLOR_ORANGEMostly pure orange. rgb(250, 150, 50)
LIGHT_COLOR_PURPLELight Purple. rgb(149, 44, 244)
LIGHT_COLOR_LAVENDERLess-saturated light purple. rgb(155, 81, 255)
LIGHT_COLOR_HOLY_MAGICslightly desaturated bright yellow.
LIGHT_COLOR_BLOOD_MAGICdeep crimson
LIGHT_COLOR_FIREWarm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
LIGHT_COLOR_LAVAVery warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
LIGHT_COLOR_FLAREBright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
LIGHT_COLOR_SLIME_LAMPWeird color, between yellow and green, very slimy. rgb(175, 200, 75)
LIGHT_COLOR_TUNGSTENExtremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
LIGHT_COLOR_HALOGENBarely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
COLOR_PRIDE_RED=== LGBT Colors Start === +Black and white colors will not be covered for the flags that do have them. We'll just use COLOR_WHITE and COLOR_BLACK. +Colors for pride
COLOR_TRANS_BLUEColors for transgender flag
COLOR_LESBIAN_ORANGEREDColors for lesbian flag
COLOR_BISEXUAL_MEDIUMVIOLETREDColors for bisexual flag
COLOR_INTERSEX_GOLDColors for intersex flag
COLOR_ACE_DARKGRAYColors for asexual flag
COLOR_PAN_DEEPPINKColors for pansexual flag

Define Details

COLOR_ACE_DARKGRAY

Colors for asexual flag

COLOR_BISEXUAL_MEDIUMVIOLETRED

Colors for bisexual flag

COLOR_INTERSEX_GOLD

Colors for intersex flag

COLOR_LESBIAN_ORANGERED

Colors for lesbian flag

COLOR_PAN_DEEPPINK

Colors for pansexual flag

COLOR_PERIWINKLEE

Colors for eigenstates

COLOR_PRIDE_RED

=== LGBT Colors Start === +Black and white colors will not be covered for the flags that do have them. We'll just use COLOR_WHITE and COLOR_BLACK. +Colors for pride

COLOR_SAMPLE_YELLOW

Colors for xenobiology vatgrowing

COLOR_THEME_MIDNIGHT

Main colors for UI themes

COLOR_TRANS_BLUE

Colors for transgender flag

LIGHT_COLOR_BLOOD_MAGIC

deep crimson

LIGHT_COLOR_BLUE

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

LIGHT_COLOR_BLUEGREEN

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

LIGHT_COLOR_BROWN

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

LIGHT_COLOR_CYAN

Diluted cyan. rgb(125, 225, 225)

LIGHT_COLOR_DARK_BLUE

Saturated blue. rgb(51, 117, 248)

LIGHT_COLOR_ELECTRIC_CYAN

Electric cyan rgb(0, 255, 255)

LIGHT_COLOR_ELECTRIC_GREEN

Electric green. rgb(0, 255, 0)

LIGHT_COLOR_FIRE

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

LIGHT_COLOR_FLARE

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

LIGHT_COLOR_GREEN

Some defines to generalise colours used in lighting.

+

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

LIGHT_COLOR_HALOGEN

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

LIGHT_COLOR_HOLY_MAGIC

slightly desaturated bright yellow.

LIGHT_COLOR_LAVA

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

LIGHT_COLOR_LAVENDER

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

LIGHT_COLOR_LIGHT_CYAN

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

LIGHT_COLOR_ORANGE

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

LIGHT_COLOR_PINK

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

LIGHT_COLOR_PURPLE

Light Purple. rgb(149, 44, 244)

LIGHT_COLOR_SLIME_LAMP

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

LIGHT_COLOR_TUNGSTEN

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

LIGHT_COLOR_YELLOW

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

\ No newline at end of file diff --git a/code/__DEFINES/color/lum.html b/code/__DEFINES/color/lum.html new file mode 100644 index 000000000000..9be267c042eb --- /dev/null +++ b/code/__DEFINES/color/lum.html @@ -0,0 +1 @@ +code/__DEFINES/color/lum.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/color/lum.dm

LUMA_R=== LGBT Colors End ===

Define Details

LUMA_R

=== LGBT Colors End ===

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

code/__DEFINES/combat.dm

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

Define Details

AUTOFIRE_STAT_ALERT

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

AUTOFIRE_STAT_FIRING

Gun is shooting.

AUTOFIRE_STAT_IDLE

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

COMBAT_FLAGS_DEFAULT

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

COMBAT_FLAGS_SPRINT_EXEMPT

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

COMBAT_FLAGS_STAMINA_COMBAT

Default combat flags for those in stamina combat system

COMBAT_FLAG_ACTIVE_BLOCKING

This mob is currently actively blocking

COMBAT_FLAG_ACTIVE_BLOCK_STARTING

This mob is currently starting an active block

COMBAT_FLAG_ATTEMPTING_CRAWL

Currently attempting to crawl under someone

COMBAT_FLAG_BLOCK_CAPABLE

This mob is capable of using the active blocking system.

COMBAT_FLAG_HARD_STAMCRIT

Currently stamcritted

COMBAT_FLAG_INTENTIONALLY_RESTING

Intentionally resting

COMBAT_FLAG_PARRY_CAPABLE

This mob is capable of using the active parrying system.

COMBAT_FLAG_RESISTING_REST

Currently attempting to resist up from the ground

COMBAT_FLAG_SPRINT_ACTIVE

Sprint is currently active

COMBAT_FLAG_SPRINT_FORCED

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

COMBAT_FLAG_SPRINT_TOGGLED

The user wants sprint mode on

COMBAT_FLAG_STAMINA_BUFFER

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

COMBAT_FLAG_UNARMED_PARRY

This mob is capable of unarmed parrying

FEEBLE_ATTACK_MSG_THRESHOLD

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

GUN_AIMING_TIME

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

SHOVE_OFFBALANCE_DURATION

how long they're off balance for

SHOVE_STAGGER_DURATION

how long they're staggered for

STAMINA_CRIT

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

STAMINA_CRIT_REMOVAL_THRESHOLD

Threshold for leaving stamina critical

STAMINA_NO_OVERDRAW_THRESHOLD

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

SUPPRESSED_QUIET

standard suppressed

SUPPRESSED_VERY

no message

\ No newline at end of file diff --git a/code/__DEFINES/combat/attack_types.html b/code/__DEFINES/combat/attack_types.html new file mode 100644 index 000000000000..edcb73b0f4dd --- /dev/null +++ b/code/__DEFINES/combat/attack_types.html @@ -0,0 +1 @@ +code/__DEFINES/combat/attack_types.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/combat/attack_types.dm

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

Define Details

ATTACK_TYPE_MELEE

Attack was melee, whether or not armed.

ATTACK_TYPE_PARRY_COUNTERATTACK

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

ATTACK_TYPE_PROJECTILE

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

ATTACK_TYPE_TACKLE

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

ATTACK_TYPE_THROWN

Attack was a thrown atom hitting the victim.

ATTACK_TYPE_UNARMED

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

\ No newline at end of file diff --git a/code/__DEFINES/combat/block.html b/code/__DEFINES/combat/block.html new file mode 100644 index 000000000000..60c2f867217f --- /dev/null +++ b/code/__DEFINES/combat/block.html @@ -0,0 +1,11 @@ +code/__DEFINES/combat/block.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/combat/block.dm

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

Define Details

BLOCK_CONTINUE_CHAIN

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

BLOCK_NONE

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

BLOCK_PHYSICAL_EXTERNAL

Attack was blocked by something like a shield.

BLOCK_PHYSICAL_INTERNAL

Attack was blocked by something worn on you.

BLOCK_PRIORITY_ACTIVE_BLOCK

Block priorities. Higher means it's checked sooner.

BLOCK_REDIRECTED

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

BLOCK_RETURN_ACTIVE_BLOCK

Tells the caller we got blocked by active directional block.

BLOCK_RETURN_ACTIVE_BLOCK_DAMAGE_MITIGATED

Tells the caller our damage mitigation for their attack.

BLOCK_RETURN_BLOCK_CAPACITY

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

BLOCK_RETURN_FORCE_NO_PARRY_COUNTERATTACK

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

BLOCK_RETURN_MITIGATION_PERCENT

For BLOCK_SHOULD_PARTIAL_MITIGATE. Percentage mitigation.

BLOCK_RETURN_NORMAL_BLOCK_CHANCE

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

BLOCK_RETURN_OVERRIDE_PARRY_EFFICIENCY

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

BLOCK_RETURN_PROJECTILE_BLOCK_PERCENTAGE

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

BLOCK_RETURN_REDIRECT_METHOD

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

BLOCK_RETURN_REFLECT_PROJECTILE_CHANCE

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

BLOCK_RETURN_SET_DAMAGE_TO

For [BLOCK_CHANGE_DAMAGE]. Set damage to this.

BLOCK_SHOULD_CHANGE_DAMAGE

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

BLOCK_SHOULD_PARTIAL_MITIGATE

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

BLOCK_SHOULD_REDIRECT

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

BLOCK_SUCCESS

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

BLOCK_TARGET_DODGED

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

DEFAULT_REDIRECT_METHOD_PROJECTILE

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

REDIRECT_METHOD_DEFLECT

Deflect at randomish angle

REDIRECT_METHOD_PASSTHROUGH

Pass through victim

REDIRECT_METHOD_REFLECT

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

REDIRECT_METHOD_RETURN_TO_SENDER

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

mob_check_block

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

mob_run_block

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

\ No newline at end of file diff --git a/code/__DEFINES/combat/block_parry.html b/code/__DEFINES/combat/block_parry.html new file mode 100644 index 000000000000..576f2cd6d713 --- /dev/null +++ b/code/__DEFINES/combat/block_parry.html @@ -0,0 +1,3 @@ +code/__DEFINES/combat/block_parry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/combat/block_parry.dm

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

Define Details

ACTIVE_BLOCK_STARTING_INTERRUPT

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

NOT_PARRYING

Parry phase we're in

PARRY_COUNTERATTACK_IGNORE_ADJACENCY

Set to TRUE in list association to ignore adjacency checks

PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN

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

PARRY_DAZE_ATTACKER

List association should be amount of time to daze attacker.

PARRY_DEFAULT_HANDLE_FEEDBACK

Default handling for audio/visual feedback

PARRY_DISARM_ATTACKER

List association should be TRUE.

PARRY_KNOCKDOWN_ATTACKER

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

PARRY_LOCK_ATTACKING

Lock attacking while parrying

PARRY_LOCK_SPRINTING

Lock sprinting while parrying

PARRY_STAGGER_ATTACKER

List association should be duration.

UNARMED_PARRY

""types"" of parry "items"

\ No newline at end of file diff --git a/code/__DEFINES/combat/stamina_combat.html b/code/__DEFINES/combat/stamina_combat.html new file mode 100644 index 000000000000..717d5b1d1578 --- /dev/null +++ b/code/__DEFINES/combat/stamina_combat.html @@ -0,0 +1 @@ +code/__DEFINES/combat/stamina_combat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/combat/stamina_combat.dm

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

Define Details

LYING_DAMAGE_PENALTY

Damage penalty when fighting prone.

STAMINA_COST_ITEM_EYESTAB

Usage for eyestabbing with a screwdriver

STAMINA_COST_SHOVE_UP

Usage for shoving yourself off the ground instantly

STAM_COST_W_CLASS_MULT

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

\ No newline at end of file diff --git a/code/__DEFINES/configuration.html b/code/__DEFINES/configuration.html new file mode 100644 index 000000000000..66bc16b28b55 --- /dev/null +++ b/code/__DEFINES/configuration.html @@ -0,0 +1 @@ +code/__DEFINES/configuration.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/configuration.dm

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

Define Details

CONFIG_CACHE_ENTRY_AND_FETCH_VALUE

Caches an entry in the proc

CONFIG_GET_ENTRY

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

POLICYCONFIG_ELITE_SENTIENCE

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

POLICYCONFIG_ELITE_SPAWN

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

POLICYCONFIG_ELITE_WIN

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

POLICYCONFIG_JOB_PRISONER

displayed to prisoners on spawn, overriding the default if set

POLICYCONFIG_ON_CLONE

Displayed to cloned patients

POLICYCONFIG_ON_DEFIB_INTACT

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

POLICYCONFIG_ON_DEFIB_LATE

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

POLICYCONFIG_ON_PYROCLASTIC_SENTIENT

Displayed to pyroclastic slimes on spawn

POLICYCONFIG_PAI

Displayed to pAIs on spawn

\ No newline at end of file diff --git a/code/__DEFINES/cooldowns.html b/code/__DEFINES/cooldowns.html new file mode 100644 index 000000000000..055a4468943a --- /dev/null +++ b/code/__DEFINES/cooldowns.html @@ -0,0 +1 @@ +code/__DEFINES/cooldowns.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/cooldowns.dm

COOLDOWN_EMPLOYMENT_CABINETCOOLDOWN SYSTEMS

Define Details

COOLDOWN_EMPLOYMENT_CABINET

COOLDOWN SYSTEMS

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

code/__DEFINES/dcs/flags.dm

COMPONENT_INCOMPATIBLEReturn this from /datum/component/Initialize or datum/component/OnTransfer to have the component be deleted if it's applied to an incorrect type. +parent must not be modified if this is to be returned. +This will be noted in the runtime logs
COMPONENT_NOTRANSFERReturned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE
ELEMENT_INCOMPATIBLEReturn value to cancel attaching
ELEMENT_DETACHCauses the detach proc to be called when the host object is being deleted
ELEMENT_BESPOKEOnly elements created with the same arguments given after id_arg_index share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref
COMPONENT_DUPE_HIGHLANDERold component is deleted (default)
COMPONENT_DUPE_ALLOWEDduplicates allowed
COMPONENT_DUPE_UNIQUEnew component is deleted
COMPONENT_DUPE_UNIQUE_PASSARGSold component is given the initialization args of the new
COMPONENT_DUPE_SELECTIVEeach component of the same type is consulted as to whether the duplicate should be allowed
ID_COMPONENT_DEL_ON_IDENTIFY/ Identification //// +Delete on successful broad identification (so the main way we "uncover" how an object works, since this won't be on it to obfuscate it)
ID_COMPONENT_DECONSTRUCTOR_DEEPSCANNEDWe've already been successfully deepscanned by a deconstructive analyzer
ID_COMPONENT_EFFECT_NO_ACTIONSBlock user from getting actions if they don't know how to use this. Triggered on equip.
ID_COMPONENT_IDENTIFY_WITH_DECONSTRUCTORCan be identified in a deconstructive analyzer
ID_COMPONENT_KNOWLEDGE_NONEHas no knowledge, default
ID_COMPONENT_KNOWLEDGE_FULLHas full knowledge
COMBAT_MODE_TOGGLEDThe user wants combat mode on
COMBAT_MODE_ACTIVEcombat mode is active.
COMBAT_MODE_INACTIVEcombat mode is not active
UPDATE_NAMEUpdate the atom's name
UPDATE_DESCUpdate the atom's desc
UPDATE_ICON_STATEUpdate the atom's icon state
UPDATE_OVERLAYSUpdate the atom's overlays
UPDATE_GREYSCALEUpdate the atom's greyscaling
UPDATE_SMOOTHINGUpdate the atom's smoothing. (More accurately, queue it for an update)
UPDATE_ICONUpdate the atom's icon

Define Details

COMBAT_MODE_ACTIVE

combat mode is active.

COMBAT_MODE_INACTIVE

combat mode is not active

COMBAT_MODE_TOGGLED

The user wants combat mode on

COMPONENT_DUPE_ALLOWED

duplicates allowed

COMPONENT_DUPE_HIGHLANDER

old component is deleted (default)

COMPONENT_DUPE_SELECTIVE

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

COMPONENT_DUPE_UNIQUE

new component is deleted

COMPONENT_DUPE_UNIQUE_PASSARGS

old component is given the initialization args of the new

COMPONENT_INCOMPATIBLE

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

COMPONENT_NOTRANSFER

Returned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE

ELEMENT_BESPOKE

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

ELEMENT_DETACH

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

ELEMENT_INCOMPATIBLE

Return value to cancel attaching

ID_COMPONENT_DECONSTRUCTOR_DEEPSCANNED

We've already been successfully deepscanned by a deconstructive analyzer

ID_COMPONENT_DEL_ON_IDENTIFY

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

ID_COMPONENT_EFFECT_NO_ACTIONS

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

ID_COMPONENT_IDENTIFY_WITH_DECONSTRUCTOR

Can be identified in a deconstructive analyzer

ID_COMPONENT_KNOWLEDGE_FULL

Has full knowledge

ID_COMPONENT_KNOWLEDGE_NONE

Has no knowledge, default

UPDATE_DESC

Update the atom's desc

UPDATE_GREYSCALE

Update the atom's greyscaling

UPDATE_ICON

Update the atom's icon

UPDATE_ICON_STATE

Update the atom's icon state

UPDATE_NAME

Update the atom's name

UPDATE_OVERLAYS

Update the atom's overlays

UPDATE_SMOOTHING

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/helpers.html b/code/__DEFINES/dcs/helpers.html new file mode 100644 index 000000000000..fd2464c0ee3d --- /dev/null +++ b/code/__DEFINES/dcs/helpers.html @@ -0,0 +1,11 @@ +code/__DEFINES/dcs/helpers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/helpers.dm

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

Define Details

AddComponent

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

AddElement

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

RemoveElement

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

SEND_SIGNAL

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

SIGNAL_HANDLER

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

SIGNAL_HANDLER_DOES_SLEEP

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

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

code/__DEFINES/dcs/signals.dm

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

Define Details

CANCEL_PRE_RANDOM_EVENT

Do not allow this random event to continue.

COMPONENT_ADD_TRAIT

Trait signals

COMPONENT_BLOCK_LIGHT_UPDATE

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

COMPONENT_CANCEL_EQUIPMENT_CLICK

Prevents click from happening.

COMPONENT_CANCEL_MELEE_CLICK

Prevents click from happening.

COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH

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

COMPONENT_MOVABLE_IMPACT_NEVERMIND

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

COMPONENT_OFFER_INTERRUPT

Interrupts the offer proc

COMPONENT_OFFER_TAKE_INTERRUPT

Interrupts the offer acceptance

COMSIG_ADMIN_HELP_MADE_INACTIVE

Admin helps +From /datum/admin_help/RemoveActive(). +Fired when an adminhelp is made inactive either due to closing or resolving.

COMSIG_ADMIN_HELP_REPLIED

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

COMSIG_ALARM_CLEAR

An alarm of some form was cleared (datum/alarm_handler/source, alarm_type, area/source_area)

COMSIG_ALARM_CLEARED

Send when an alarm source is cleared (alarm_type, area/source_area)

COMSIG_ALARM_FIRE

An alarm of some form was sent (datum/alarm_handler/source, alarm_type, area/source_area)

COMSIG_ALARM_TRIGGERED

Sent when an alarm is fired (alarm, area/source_area)

COMSIG_ATOM_ACID_ACT

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

COMSIG_ATOM_BLOB_ACT

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

COMSIG_ATOM_BSA_BEAM

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

COMSIG_ATOM_BULLET_ACT

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

COMSIG_ATOM_CANREACH

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

COMSIG_ATOM_CONTENTS_DEL

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

COMSIG_ATOM_DIR_CHANGE

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

COMSIG_ATOM_EMAG_ACT

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

COMSIG_ATOM_EMP_ACT

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

COMSIG_ATOM_EX_ACT

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

COMSIG_ATOM_FIRE_ACT

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

COMSIG_ATOM_GET_EXAMINE_NAME

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

COMSIG_ATOM_HAS_GRAVITY

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

COMSIG_ATOM_NARSIE_ACT

from base of atom/narsie_act(): ()

COMSIG_ATOM_NO_UPDATE_DESC

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

COMSIG_ATOM_NO_UPDATE_ICON

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

COMSIG_ATOM_NO_UPDATE_ICON_STATE

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

COMSIG_ATOM_NO_UPDATE_NAME

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

COMSIG_ATOM_NO_UPDATE_OVERLAYS

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

COMSIG_ATOM_ORBIT_BEGIN

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

COMSIG_ATOM_ORBIT_END

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

COMSIG_ATOM_RAD_ACT

from base of atom/rad_act(intensity)

COMSIG_ATOM_RAD_CONTAMINATING

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

COMSIG_ATOM_RAD_PROBE

from proc/get_rad_contents(): ()

COMSIG_ATOM_RAD_WAVE_PASSING

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

COMSIG_ATOM_RATVAR_ACT

from base of atom/ratvar_act(): ()

COMSIG_ATOM_RCD_ACT

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

COMSIG_ATOM_SET_LIGHT

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

COMSIG_ATOM_SET_LIGHT_COLOR

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

COMSIG_ATOM_SET_LIGHT_FLAGS

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

COMSIG_ATOM_SET_LIGHT_ON

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

COMSIG_ATOM_SET_LIGHT_POWER

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

COMSIG_ATOM_SET_LIGHT_RANGE

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

COMSIG_ATOM_SING_PULL

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

COMSIG_ATOM_UPDATED_ICON

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

COMSIG_ATOM_UPDATE_APPEARANCE

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

COMSIG_ATOM_UPDATE_DESC

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

COMSIG_ATOM_UPDATE_ICON

from base of /atom/update_icon: ()

COMSIG_ATOM_UPDATE_ICON_STATE

from base of atom/update_icon_state: ()

COMSIG_ATOM_UPDATE_LIGHT_COLOR

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

COMSIG_ATOM_UPDATE_LIGHT_FLAGS

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

COMSIG_ATOM_UPDATE_LIGHT_ON

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

COMSIG_ATOM_UPDATE_LIGHT_POWER

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

COMSIG_ATOM_UPDATE_LIGHT_RANGE

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

COMSIG_ATOM_UPDATE_NAME

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

COMSIG_ATOM_UPDATE_OVERLAYS

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

COMSIG_ATOM_WAVE_EX_ACT

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

COMSIG_BLOCK_EYECONTACT

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

COMSIG_CARBON_ATTACH_LIMB

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

COMSIG_COMPONENT_ADDED

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

COMSIG_COMPONENT_REGISTER_PARENT

sent to the component itself when registered to a parent

COMSIG_COMPONENT_REMOVING

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

COMSIG_COMPONENT_UNREGISTER_PARENT

sent to the component itself when unregistered from a parent

COMSIG_ELEMENT_ATTACH

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

COMSIG_ELEMENT_DETACH

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

COMSIG_GLOB_EXPLOSION

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

COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWN

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

COMSIG_GLOB_JOB_AFTER_SPAWN

job subsystem has spawned and equipped a new mob

COMSIG_GLOB_LIVING_SAY_SPECIAL

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

COMSIG_GLOB_MOB_CREATED

mob was created somewhere : (mob)

COMSIG_GLOB_MOB_DEATH

mob died somewhere : (mob , gibbed)

COMSIG_GLOB_NEW_GAS

called by auxgm add_gas: (gas_id)

COMSIG_GLOB_NEW_Z

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

COMSIG_GLOB_PLAY_CINEMATIC

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

COMSIG_GLOB_VAR_EDIT

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

COMSIG_GUN_AUTOFIRE_DESELECTED

When a gun is switched off of automatic fire mode

COMSIG_GUN_AUTOFIRE_SELECTED

When a gun is switched to automatic fire mode

COMSIG_ITEM_DISABLE_EMBED

from /obj/item/proc/disableEmbedding:

COMSIG_ITEM_OFFERING

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

COMSIG_ITEM_OFFER_TAKEN

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

COMSIG_LIVING_PREDEATH

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

COMSIG_MACHINERY_BROKEN

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

COMSIG_MACHINERY_POWER_LOST

from base power_change() when power is lost

COMSIG_MACHINERY_POWER_RESTORED

from base power_change() when power is restored

COMSIG_MECHA_EQUIPMENT_CLICK

sent from clicking while you have equipment selected.

COMSIG_MECHA_MELEE_CLICK

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

COMSIG_MINE_TRIGGERED

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

COMSIG_MOB_ALTCLICKON

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

COMSIG_MOB_CLIENT_LOGIN

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

COMSIG_MOB_EYECONTACT

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

COMSIG_MOB_UNEQUIPPED_ITEM

A mob has just unequipped an item.

COMSIG_MOVABLE_PRE_MOVE

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

COMSIG_NANITE_CHECK_CONSOLE_LOCK

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

COMSIG_NANITE_CHECK_HOST_LOCK

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

COMSIG_NANITE_CHECK_VIRAL_PREVENTION

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

COMSIG_ON_MULTIPLE_LIVES_RESPAWN

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

COMSIG_PARENT_EXAMINE_MORE

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

COMSIG_PARENT_PREQDELETED

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

COMSIG_PARENT_QDELETING

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

COMSIG_PROJECTILE_FIRE

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

COMSIG_PROJECTILE_ON_HIT

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

COMSIG_PROJECTILE_PREHIT

sent to targets during the process_hit proc of projectiles

COMSIG_PROJECTILE_SELF_ON_HIT

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

COMSIG_SECURITY_LEVEL_CHANGED

from SSsecurity_level when the security level changes : (new_level)

COMSIG_SUN_MOVED

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

COMSIG_SUPERMATTER_DELAM_ALARM

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

COMSIG_SUPERMATTER_DELAM_START_ALARM

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

COMSIG_SUPPLYPOD_LANDED

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

COMSIG_THREAT_CALC

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

COMSIG_TOPIC

generic topic handler (usr, href_list)

COMSIG_TURF_CHANGE

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

COMSIG_TURF_HAS_GRAVITY

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

COMSIG_TURF_IS_WET

Component Specific Signals

COMSIG_TURF_MULTIZ_DEL

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

COMSIG_TURF_MULTIZ_NEW

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

COMSIG_TWITCH_PLAYS_MOVEMENT_DATA

Returns direction: (wipe_votes)

COMSIG_UI_ACT

from datum ui_act (usr, action)

COMSIG_UI_FALLBACK

from datum tgui_fallback (payload)

COMSIG_VOID_MASK_ACT

Mask of Madness

COMSIG_WEATHER_TELEGRAPH

a weather event of some kind occured

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_action.html b/code/__DEFINES/dcs/signals/signals_action.html new file mode 100644 index 000000000000..ab0df83735aa --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_action.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_action.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_action.dm

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)

Define Details

COMPONENT_BLOCK_ABILITY_START

Return to block the ability from starting / activating

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)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html new file mode 100644 index 000000000000..913d3063b9b2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm

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

Define Details

COMSIG_ATOM_HITBY

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html new file mode 100644 index 000000000000..ab07c67fca91 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm

COMSIG_CLIENT_CLICKfrom base of client/Click(): (atom/target, atom/location, control, params, mob/user)
COMSIG_CLICKfrom base of atom/Click(): (atom/location, control, params, mob/user)
COMSIG_CLICK_SHIFTfrom base of atom/ShiftClick(): (/mob)
COMPONENT_ALLOW_EXAMINATEAllows the user to examinate regardless of client.eye.
COMPONENT_DENY_EXAMINATEHigher priority compared to the above one
COMSIG_CLICK_CTRLfrom base of atom/CtrlClickOn(): (/mob)
COMSIG_CLICK_ALTfrom base of atom/AltClick(): (/mob)
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)

Define Details

COMPONENT_ALLOW_EXAMINATE

Allows the user to examinate regardless of client.eye.

COMPONENT_DENY_EXAMINATE

Higher priority compared to the above one

COMSIG_CLICK

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

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

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)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html new file mode 100644 index 000000000000..faae296d80d3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html @@ -0,0 +1,3 @@ +code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

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

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

Define Details

COMSIG_LIVING_PUSHING_MOVABLE

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_global.html b/code/__DEFINES/dcs/signals/signals_global.html new file mode 100644 index 000000000000..f097bc8a7388 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_global.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_global.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_global.dm

COMSIG_GLOB_CARBON_THROW_THINGa person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target)

Define Details

COMSIG_GLOB_CARBON_THROW_THING

a person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target)

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_hud.html b/code/__DEFINES/dcs/signals/signals_hud.html new file mode 100644 index 000000000000..69acb4b6f826 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_hud.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_hud.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_hud.dm

COMSIG_HUD_LOBBY_COLLAPSEDSent from /atom/movable/screen/lobby/button/collapse/proc/collapse_buttons() : ()
COMSIG_HUD_LOBBY_EXPANDEDSent from /atom/movable/screen/lobby/button/collapse/proc/expand_buttons() : ()

Define Details

COMSIG_HUD_LOBBY_COLLAPSED

Sent from /atom/movable/screen/lobby/button/collapse/proc/collapse_buttons() : ()

COMSIG_HUD_LOBBY_EXPANDED

Sent from /atom/movable/screen/lobby/button/collapse/proc/expand_buttons() : ()

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_medical.html b/code/__DEFINES/dcs/signals/signals_medical.html new file mode 100644 index 000000000000..32109c4e8990 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_medical.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_medical.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_medical.dm

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

Define Details

COMSIG_DEFIBRILLATOR_SUCCESS

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

COMSIG_MOB_SURGERY_STARTED

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

COMSIG_MOB_SURGERY_STEP_SUCCESS

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

COMSIG_SURGERY_STARTING

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html new file mode 100644 index 000000000000..8ec600407593 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

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

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

Define Details

COMSIG_LIVING_MOB_BUMP

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html new file mode 100644 index 000000000000..12504a55d530 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm

COMSIG_MOB_DROPPING_ITEMfrom mob/proc/dropItemToGround()
COMSIG_MOB_STATCHANGEfrom base of mob/set_stat(): (new_stat, old_stat)

Define Details

COMSIG_MOB_DROPPING_ITEM

from mob/proc/dropItemToGround()

COMSIG_MOB_STATCHANGE

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_mod.html b/code/__DEFINES/dcs/signals/signals_mod.html new file mode 100644 index 000000000000..d128307307a4 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mod.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_mod.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_mod.dm

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

Define Details

COMSIG_MODULE_ACTIVATED

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

COMSIG_MODULE_DEACTIVATED

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

COMSIG_MODULE_TRIGGERED

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

COMSIG_MODULE_USED

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

COMSIG_MOD_ACTIVATE

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

COMSIG_MOD_DEPLOYED

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

COMSIG_MOD_MODULE_ADDED

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

COMSIG_MOD_MODULE_REMOVAL

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

COMSIG_MOD_MODULE_REMOVED

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

COMSIG_MOD_MODULE_SELECTED

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

COMSIG_MOD_RETRACTED

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

COMSIG_MOD_TOGGLED

Called when a MOD is finished toggling itself.

COMSIG_MOD_WEARER_SET

Called when the MODsuit wearer is set.

COMSIG_MOD_WEARER_UNSET

Called when the MODsuit wearer is unset.

MOD_ABORT_USE

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

MOD_CANCEL_ACTIVATE

Cancels the suit's activation

MOD_CANCEL_REMOVAL

Cancels the removal of modules

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_movable.html b/code/__DEFINES/dcs/signals/signals_movable.html new file mode 100644 index 000000000000..6e33cfb0cb0d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_movable.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_movable.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_movable.dm

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

Define Details

COMSIG_MOVABLE_BLOCKS_PRESSURE

prevents pressure movement

COMSIG_MOVABLE_PRE_PRESSURE_PUSH

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_painting.html b/code/__DEFINES/dcs/signals/signals_painting.html new file mode 100644 index 000000000000..bb542345c35d --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_painting.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_painting.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_painting.dm

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

Define Details

COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATA

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

COMSIG_PAINTING_TOOL_SET_COLOR

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_reagent.html b/code/__DEFINES/dcs/signals/signals_reagent.html new file mode 100644 index 000000000000..b605e9639dcd --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_reagent.html @@ -0,0 +1 @@ +code/__DEFINES/dcs/signals/signals_reagent.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_reagent.dm

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

Define Details

COMSIG_ATOM_EXPOSE_REAGENTS

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_screentips.html b/code/__DEFINES/dcs/signals/signals_screentips.html new file mode 100644 index 000000000000..080e1d5a431a --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_screentips.html @@ -0,0 +1,31 @@ +code/__DEFINES/dcs/signals/signals_screentips.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_screentips.dm

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

Define Details

COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM

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

COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET

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

CONTEXTUAL_SCREENTIP_SET

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

\ No newline at end of file diff --git a/code/__DEFINES/dcs/signals/signals_subsystem.html b/code/__DEFINES/dcs/signals/signals_subsystem.html new file mode 100644 index 000000000000..4456a44d8b4f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_subsystem.html @@ -0,0 +1,3 @@ +code/__DEFINES/dcs/signals/signals_subsystem.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_subsystem.dm

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

Define Details

COMSIG_ADDED_POINT_OF_INTEREST

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

COMSIG_REMOVED_POINT_OF_INTEREST

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

COMSIG_SUBSYSTEM_POST_INITIALIZE

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

COMSIG_TICKER_ENTER_PREGAME

Called when the ticker enters the pre-game phase

COMSIG_TICKER_ENTER_SETTING_UP

Called when the ticker sets up the game for start

COMSIG_TICKER_ERROR_SETTING_UP

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

COMSIG_TICKER_ROUND_STARTING

Called when the round has started, but before GAME_STATE_PLAYING

\ No newline at end of file diff --git a/code/__DEFINES/dynamic.html b/code/__DEFINES/dynamic.html new file mode 100644 index 000000000000..994872d5a67b --- /dev/null +++ b/code/__DEFINES/dynamic.html @@ -0,0 +1 @@ +code/__DEFINES/dynamic.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/dynamic.dm

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

Define Details

HIGH_IMPACT_RULESET

Only one ruleset with this flag will be picked.

HIJACKED_NOTHING

No round event was hijacked this cycle

HIJACKED_TOO_RECENT

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

HIJACKED_TOO_SOON

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

LONE_RULESET

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

ONLY_RULESET

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

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

code/__DEFINES/economy.dm

STARTING_PAYCHECKSNumber of paychecks jobs start with at the creation of a new bank account for a player (So at shift-start or game join, but not a blank new account.)
MAX_MAIL_PER_MINUTEHow much mail the Economy SS will create per minute, regardless of firing time.
FULL_CRATE_LETTER_ODDSProbability of using letters of envelope sprites on all letters.

Define Details

FULL_CRATE_LETTER_ODDS

Probability of using letters of envelope sprites on all letters.

MAX_MAIL_PER_MINUTE

How much mail the Economy SS will create per minute, regardless of firing time.

STARTING_PAYCHECKS

Number of paychecks jobs start with at the creation of a new bank account for a player (So at shift-start or game join, but not a blank new account.)

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

code/__DEFINES/events.dm

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

Define Details

ADMIN_CANCEL_EVENT

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

EVENT_CATEGORY_AI

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

EVENT_CATEGORY_ANOMALIES

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

EVENT_CATEGORY_BUREAUCRATIC

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

EVENT_CATEGORY_ENGINEERING

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

EVENT_CATEGORY_ENTITIES

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

EVENT_CATEGORY_FRIENDLY

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

EVENT_CATEGORY_HEALTH

Events that affect the body and mind

EVENT_CATEGORY_HOLIDAY

Events reserved for special occassions

EVENT_CATEGORY_INVASION

Events with enemy groups with a more complex plan

EVENT_CATEGORY_JANITORIAL

Events that make a mess

EVENT_CATEGORY_SPACE

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

EVENT_CATEGORY_WIZARD

Events summoned by a wizard

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

code/__DEFINES/exosuit_fabs.dm

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

Define Details

BORG_MODULE_ENGINEERING

Module is compatible with Engineering Cyborg models

BORG_MODULE_JANITOR

Module is compatible with Janitor Cyborg models

BORG_MODULE_MEDICAL

Module is compatible with Medical Cyborg models

BORG_MODULE_MINER

Module is compatible with Miner Cyborg models

BORG_MODULE_SECURITY

Module is compatible with Security Cyborg models

EXOSUIT_MODULE_COMBAT

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

EXOSUIT_MODULE_DURAND

Module is compatible with Durand Exosuit models

EXOSUIT_MODULE_FIREFIGHTER

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

EXOSUIT_MODULE_GYGAX

Module is compatible with Gygax Exosuit models

EXOSUIT_MODULE_GYGAX_MED

Module is compatable with N models

EXOSUIT_MODULE_HONK

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

EXOSUIT_MODULE_MEDICAL

Module is compatible with "Medical" Exosuit modelsm - Odysseus

EXOSUIT_MODULE_ODYSSEUS

Module is compatible with Odyseeus Exosuit models

EXOSUIT_MODULE_PHAZON

Module is compatible with Phazon Exosuit models

EXOSUIT_MODULE_RIPLEY

Module is compatible with Ripley Exosuit models

EXOSUIT_MODULE_SAVANNAH

Module is compatible with Savannah Exosuit models - SPLURT ADDITION

EXOSUIT_MODULE_WORKING

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

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

code/__DEFINES/explosion.dm

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

Define Details

EXPLOSION_DAMAGE_OPEN_DOOR_FACTOR

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

EXPLOSION_DEFAULT_FALLOFF_MULTIPLY

Default explosion falloff

EXPLOSION_DEFAULT_FALLOFF_SUBTRACT

Default explosion constant falloff

EXPLOSION_FLAG_DENSITY_DEPENDENT

No blocking if we're not dense

EXPLOSION_FLAG_HARD_OBSTACLE

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

EXPLOSION_POWER_DEAD

Default explosion power to consider an explosion over

EXPLOSION_POWER_ERASE_SHREDS

erases shreds from explosions/item damage

EXPLOSION_POWER_MAXCAP

Maxcap

EXPLOSION_POWER_NORMAL_MOB_GIB

Gibs most mobs

EXPLOSION_POWER_NO_RESIST_THRESHOLD

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

EXPLOSION_POWER_QUANTIZATION_ACCURACY

Explosion power quantization

EXPLOSION_POWER_STANDARD_SCALE_HARD_OBSTACLE_DAMAGE

Explosion power to object damage for hard obstacles

EXPLOSION_POWER_STANDARD_SCALE_MOB_DAMAGE

Default brute damage to do to living things

EXPLOSION_POWER_STANDARD_SCALE_OBJECT_DAMAGE

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

EXPLOSION_POWER_STANDARD_SCALE_WINDOW_DAMAGE

Explosion power to object damage for windows

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

code/__DEFINES/fonts.dm

INCLUDE_ACInclude leading A width and trailing C width in GetWidth() or in DrawText()

Define Details

INCLUDE_AC

Include leading A width and trailing C width in GetWidth() or in DrawText()

\ No newline at end of file diff --git a/code/__DEFINES/hud.html b/code/__DEFINES/hud.html new file mode 100644 index 000000000000..709dc88de73a --- /dev/null +++ b/code/__DEFINES/hud.html @@ -0,0 +1 @@ +code/__DEFINES/hud.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/hud.dm

HUD_STYLE_STANDARDStandard hud
HUD_STYLE_REDUCEDReduced hud (just hands and intent switcher)
HUD_STYLE_NOHUDNo hud (for screenshots)
HUD_VERSIONSUsed in show_hud(); Please ensure this is the same as the maximum index.
APPEARANCE_UI_IGNORE_ALPHAUsed for progress bars and chat messages
APPEARANCE_UIUsed for HUD objects
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
HOVER_OUTLINE_FILTERThe filter name for the hover outline

Define Details

APPEARANCE_UI

Used for HUD objects

APPEARANCE_UI_IGNORE_ALPHA

Used for progress bars and chat messages

HOVER_OUTLINE_FILTER

The filter name for the hover outline

HUD_STYLE_NOHUD

No hud (for screenshots)

HUD_STYLE_REDUCED

Reduced hud (just hands and intent switcher)

HUD_STYLE_STANDARD

Standard hud

HUD_VERSIONS

Used in show_hud(); Please ensure this is the same as the maximum index.

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/instruments.html b/code/__DEFINES/instruments.html new file mode 100644 index 000000000000..501b8e8a0d78 --- /dev/null +++ b/code/__DEFINES/instruments.html @@ -0,0 +1 @@ +code/__DEFINES/instruments.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/instruments.dm

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

Define Details

CHANNELS_PER_INSTRUMENT

Max number of playing notes per instrument.

INSTRUMENT_DISTANCE_FALLOFF_BUFF

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

INSTRUMENT_DISTANCE_NO_FALLOFF

How many tiles instruments have no falloff for

INSTRUMENT_EXP_FALLOFF_MIN

These are per decisecond.

INSTRUMENT_MAX_TOTAL_SUSTAIN

Maximum length a note should ever go for

INSTRUMENT_MIN_SUSTAIN_DROPOFF

Minimum volume for when the sound is considered dead.

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

code/__DEFINES/inventory.dm

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

Define Details

AFK_THEFT_FORGET_DETAILS_TIME

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

AFK_THEFT_MAX_MESSAGES

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

AFK_THEFT_MESSAGE

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

AFK_THEFT_NAME

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

AFK_THEFT_TIME

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

ITEM_SLOT_ACCESSORY

To attach to a jumpsuit

ITEM_SLOT_BACK

Back slot

ITEM_SLOT_BACKPACK

Inside of a character's backpack

ITEM_SLOT_BELT

Belt slot

ITEM_SLOT_DEX_STORAGE

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

ITEM_SLOT_EARS_LEFT

Ear slot (radios, earmuffs)

ITEM_SLOT_EARS_RIGHT

Right ear slot

ITEM_SLOT_EYES

Glasses slot

ITEM_SLOT_FEET

Shoe slot

ITEM_SLOT_GLOVES

Glove slot

ITEM_SLOT_HANDCUFFED

Handcuff slot

ITEM_SLOT_HANDS

A character's hand slots

ITEM_SLOT_HEAD

Head slot (helmets, hats, etc.)

ITEM_SLOT_ICLOTHING

Jumpsuit slot

ITEM_SLOT_ID

ID slot

ITEM_SLOT_LEGCUFFED

Legcuff slot (bolas, beartraps)

ITEM_SLOT_LPOCKET

Left Pocket slot

ITEM_SLOT_MASK

Mask slot

ITEM_SLOT_NECK

Neck slot (ties, bedsheets, scarves)

ITEM_SLOT_OCLOTHING

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

ITEM_SLOT_RPOCKET

Right Pocket slot

ITEM_SLOT_SHIRT

Shirt slot

ITEM_SLOT_SOCKS

Socks slot

ITEM_SLOT_SUITSTORE

Suit Storage slot

ITEM_SLOT_UNDERWEAR

Underwear slot

ITEM_SLOT_WRISTS

Wrist slot

SLOTS_AMT

Total amount of slots

\ No newline at end of file diff --git a/code/__DEFINES/is_helpers.html b/code/__DEFINES/is_helpers.html new file mode 100644 index 000000000000..9c8e01e70874 --- /dev/null +++ b/code/__DEFINES/is_helpers.html @@ -0,0 +1 @@ +code/__DEFINES/is_helpers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/is_helpers.dm

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

Define Details

is_object_datatype

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

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

code/__DEFINES/layers_planes.dm

SPACE_LAYERLayers most often used by atoms of plane lower than GAME_PLANE
CATWALK_LAYERcatwalk overlay of /turf/open/floor/plating/plating_catwalk
BELOW_OPEN_DOOR_LAYERLayers most often used by atoms of plane equal or higher than GAME_PLANE
BALLOON_CHAT_PLANEPlane for balloon text (text that fades up) +It's over lighting and every other crap because this is nearly as important as hud content and only visible to the user.
LOBBY_BELOW_MENU_LAYERLayer for lobby menu collapse button
LOBBY_MENU_LAYERLayer for lobby menu background image and main buttons (Join/Ready, Observe, Charater Prefs)
LOBBY_SHUTTER_LAYERLayer for lobby menu shutter, which covers up the menu to collapse/expand it
LOBBY_BOTTOM_BUTTON_LAYERLayer for lobby menu buttons that are hanging away from and lower than the main panel
SCREENTIP_LAYERLayer for screentips

Define Details

BALLOON_CHAT_PLANE

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

BELOW_OPEN_DOOR_LAYER

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

CATWALK_LAYER

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

LOBBY_BELOW_MENU_LAYER

Layer for lobby menu collapse button

LOBBY_BOTTOM_BUTTON_LAYER

Layer for lobby menu buttons that are hanging away from and lower than the main panel

LOBBY_MENU_LAYER

Layer for lobby menu background image and main buttons (Join/Ready, Observe, Charater Prefs)

LOBBY_SHUTTER_LAYER

Layer for lobby menu shutter, which covers up the menu to collapse/expand it

SCREENTIP_LAYER

Layer for screentips

SPACE_LAYER

Layers most often used by atoms of plane lower than GAME_PLANE

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

code/__DEFINES/lighting.dm

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

Define Details

EMISSIVE_BLOCK_GENERIC

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

EMISSIVE_BLOCK_UNIQUE

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

EMISSIVE_COLOR

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

EM_BLOCK_COLOR

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

EM_MASK_MATRIX

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

GETBLUEPART

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

GETGREENPART

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

GETREDPART

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

PARSE_LIGHT_COLOR

Parse the hexadecimal color into lumcounts of each perspective.

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

code/__DEFINES/maps.dm

PERLIN_LAYER_HEIGHTMap generation defines

Define Details

PERLIN_LAYER_HEIGHT

Map generation defines

\ No newline at end of file diff --git a/code/__DEFINES/material/worth.html b/code/__DEFINES/material/worth.html new file mode 100644 index 000000000000..1efe387cdcee --- /dev/null +++ b/code/__DEFINES/material/worth.html @@ -0,0 +1 @@ +code/__DEFINES/material/worth.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/material/worth.dm

MINERAL_MATERIAL_AMOUNTcm3 of material matter per sheet

Define Details

MINERAL_MATERIAL_AMOUNT

cm3 of material matter per sheet

\ No newline at end of file diff --git a/code/__DEFINES/materials.html b/code/__DEFINES/materials.html new file mode 100644 index 000000000000..086165cc9f3a --- /dev/null +++ b/code/__DEFINES/materials.html @@ -0,0 +1 @@ +code/__DEFINES/materials.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/materials.dm

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

Define Details

MATERIAL_COLOR

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

MAT_CATEGORY_BASE_RECIPES

Use this flag on TRUE if you want the basic recipes

MAT_CATEGORY_ORE

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

MAT_CATEGORY_RIGID

Hard materials, such as iron or metal

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

code/__DEFINES/maths.dm

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

Define Details

DT_PROB

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

DT_PROB_RATE

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

FORCE_BOOLEAN

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

LOGISTIC_FUNCTION

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

MANHATTAN_DISTANCE

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

TILES_TO_PIXELS

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

TOBITSHIFT

Gets shift x that would be required the bitflag (1<<x) +We need the round because log has floating-point inaccuracy, and if we undershoot at all on list indexing we'll get the wrong index.

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

code/__DEFINES/mecha.dm

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

Define Details

CANNOT_INTERACT

blocks using equipment and melee attacking.

MMI_COMPATIBLE

posibrains can drive this mecha

\ No newline at end of file diff --git a/code/__DEFINES/misc.html b/code/__DEFINES/misc.html new file mode 100644 index 000000000000..84c23f134271 --- /dev/null +++ b/code/__DEFINES/misc.html @@ -0,0 +1 @@ +code/__DEFINES/misc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/misc.dm

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

Define Details

DEBUG_LINE

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

PIXELS

world.icon_size

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

code/__DEFINES/mobs.dm

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

Define Details

MOB_NANITES

Mobs that otherwise support nanites

SPAWN_MEGAFAUNA

Define for spawning megafauna instead of a mob for cave gen

\ No newline at end of file diff --git a/code/__DEFINES/mobs/innate_abilities.html b/code/__DEFINES/mobs/innate_abilities.html new file mode 100644 index 000000000000..52f30a0f4068 --- /dev/null +++ b/code/__DEFINES/mobs/innate_abilities.html @@ -0,0 +1,3 @@ +code/__DEFINES/mobs/innate_abilities.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/mobs/innate_abilities.dm

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

Define Details

ABILITY_SOURCE_CHANGELING

Changeling

ABILITY_SOURCE_SPECIES

Species

INNATE_ABILITY_HUMANOID_CUSTOMIZATION

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

INNATE_ABILITY_LIMB_REGROWTH

limb regrowth

INNATE_ABILITY_SLIME_BLOBFORM

Slime blobform

PROPERTY_BLOBFORM_COLOR

Blobform color

PROPERTY_CUSTOMIZATION_SILENT

ability properties +is this silent?

PROPERTY_LIMB_REGROWTH_USAGE_TYPE

limb regrowth usage type

REGROWTH_USES_BLOOD

blood

\ No newline at end of file diff --git a/code/__DEFINES/mobs/slowdowns.html b/code/__DEFINES/mobs/slowdowns.html new file mode 100644 index 000000000000..b935279ae87c --- /dev/null +++ b/code/__DEFINES/mobs/slowdowns.html @@ -0,0 +1 @@ +code/__DEFINES/mobs/slowdowns.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/mobs/slowdowns.dm

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

Define Details

CRAWLING_ADD_SLOWDOWN

slowdown when crawling

FIREMAN_CARRY_SLOWDOWN

How much someone is slowed from fireman carrying a human

PIGGYBACK_CARRY_SLOWDOWN

How much someone is slowed by piggybacking a human

PULL_PRONE_SLOWDOWN

How much someone is slowed from pulling a prone human

SOFTCRIT_ADD_SLOWDOWN

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

\ No newline at end of file diff --git a/code/__DEFINES/mod.html b/code/__DEFINES/mod.html new file mode 100644 index 000000000000..d406435b8f93 --- /dev/null +++ b/code/__DEFINES/mod.html @@ -0,0 +1 @@ +code/__DEFINES/mod.dm - SPLURT Station 13
SPLURT 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.

Define Details

DEFAULT_CHARGE_DRAIN

Default cell drain per process on MODsuits

DEFAULT_MAX_COMPLEXITY

Default value for the max_complexity var on MODsuits

MODULE_ACTIVE

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

MODULE_PASSIVE

Passive module, just acts when put in naturally.

MODULE_TOGGLE

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

MODULE_USABLE

Usable module, does something when you press a button.

MOD_ACTIVATION_STEP_TIME

Default time for a part to seal

\ No newline at end of file diff --git a/code/__DEFINES/movement.html b/code/__DEFINES/movement.html new file mode 100644 index 000000000000..c570cea3e364 --- /dev/null +++ b/code/__DEFINES/movement.html @@ -0,0 +1,15 @@ +code/__DEFINES/movement.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/movement.dm

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

Define Details

DELAY_TO_GLIDE_SIZE

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

MAX_GLIDE_SIZE

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

MIN_GLIDE_SIZE

The minimum for glide_size to be clamped to.

SET_APPEARANCE_FLAGS

Enables smooth movement +Set appearance flags in vars

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

code/__DEFINES/nanites.dm

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

Define Details

NANITE_PROTOCOL_REPLICATION

Nanite Protocol types

NESTYPE_TEXT

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

NES_SENT_CODE

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

\ No newline at end of file diff --git a/code/__DEFINES/overlays.html b/code/__DEFINES/overlays.html new file mode 100644 index 000000000000..0261c172afe9 --- /dev/null +++ b/code/__DEFINES/overlays.html @@ -0,0 +1 @@ +code/__DEFINES/overlays.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/overlays.dm

VALIDATE_OVERLAY_LIMITChecks if an atom has reached the overlay limit, and make a loud error if it does.

Define Details

VALIDATE_OVERLAY_LIMIT

Checks if an atom has reached the overlay limit, and make a loud error if it does.

\ No newline at end of file diff --git a/code/__DEFINES/pinpointers.html b/code/__DEFINES/pinpointers.html new file mode 100644 index 000000000000..298d7c7aa09a --- /dev/null +++ b/code/__DEFINES/pinpointers.html @@ -0,0 +1 @@ +code/__DEFINES/pinpointers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/pinpointers.dm

TRACK_NUKE_DISKPerforms any operations that ought to run after an appearance change

Define Details

TRACK_NUKE_DISK

Performs any operations that ought to run after an appearance change

\ No newline at end of file diff --git a/code/__DEFINES/power.html b/code/__DEFINES/power.html new file mode 100644 index 000000000000..07400d5bf079 --- /dev/null +++ b/code/__DEFINES/power.html @@ -0,0 +1 @@ +code/__DEFINES/power.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/power.dm

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

Define Details

JOULES

conversion ratio from watts to joules

WATTS

conversion ratio from joules to watts

\ No newline at end of file diff --git a/code/__DEFINES/procpath.html b/code/__DEFINES/procpath.html new file mode 100644 index 000000000000..cfcc76a2fdb5 --- /dev/null +++ b/code/__DEFINES/procpath.html @@ -0,0 +1 @@ +code/__DEFINES/procpath.dm - SPLURT Station 13
SPLURT 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/projectiles.html b/code/__DEFINES/projectiles.html new file mode 100644 index 000000000000..04c59d1f68e9 --- /dev/null +++ b/code/__DEFINES/projectiles.html @@ -0,0 +1 @@ +code/__DEFINES/projectiles.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/projectiles.dm

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

Define Details

PROJECTILE_PIERCE_HIT

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

PROJECTILE_PIERCE_NONE

Default behavior: hit and delete self

PROJECTILE_PIERCE_PHASE

Entirely phase through the thing without ever hitting.

PROJECTILE_RICOCHET_FORCE

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

PROJECTILE_RICOCHET_NO

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

PROJECTILE_RICOCHET_PREVENT

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

PROJECTILE_RICOCHET_YES

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

\ No newline at end of file diff --git a/code/__DEFINES/qdel.html b/code/__DEFINES/qdel.html new file mode 100644 index 000000000000..736e0d603bfc --- /dev/null +++ b/code/__DEFINES/qdel.html @@ -0,0 +1,2 @@ +code/__DEFINES/qdel.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/qdel.dm

Defines that give qdel hints.

+

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

QDEL_HINT_QUEUEqdel should queue the object for deletion.
QDEL_HINT_LETMELIVEqdel should let the object live after calling /atom/proc/Destroy.
QDEL_HINT_IWILLGCFunctionally the same as the above. qdel should assume the object will gc on its own, and not check it.
QDEL_HINT_HARDDELQdel should assume this object won't GC, and queue a hard delete using a hard reference.
QDEL_ITEM_ADMINS_WARNEDSet when admins are told about lag causing qdels in this type.
QDEL_ITEM_SUSPENDED_FOR_LAGSet when a type can no longer be hard deleted on failure because of lag it causes while this happens.

Define Details

QDEL_HINT_HARDDEL

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

QDEL_HINT_IWILLGC

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

QDEL_HINT_LETMELIVE

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

QDEL_HINT_QUEUE

qdel should queue the object for deletion.

QDEL_ITEM_ADMINS_WARNED

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

QDEL_ITEM_SUSPENDED_FOR_LAG

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

\ No newline at end of file diff --git a/code/__DEFINES/reagents.html b/code/__DEFINES/reagents.html new file mode 100644 index 000000000000..34432270c72e --- /dev/null +++ b/code/__DEFINES/reagents.html @@ -0,0 +1,5 @@ +code/__DEFINES/reagents.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/reagents.dm

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

Define Details

REAGENT_VALUE_NONE

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

\ No newline at end of file diff --git a/code/__DEFINES/research/anomalies.html b/code/__DEFINES/research/anomalies.html new file mode 100644 index 000000000000..0236ebaa3d0b --- /dev/null +++ b/code/__DEFINES/research/anomalies.html @@ -0,0 +1 @@ +code/__DEFINES/research/anomalies.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/research/anomalies.dm

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

Define Details

ANOMALY_CORE_BLUESPACE

Bluespace cores

ANOMALY_CORE_FLUX

Flux

ANOMALY_CORE_GRAVITATIONAL

Gravitational cores

ANOMALY_CORE_PYRO

Pyro

ANOMALY_CORE_VORTEX

Vortex

SUPERMATTER_ANOMALY_DROP_CHANCE

chance supermatter anomalies drop real cores

\ No newline at end of file diff --git a/code/__DEFINES/research/stock_parts.html b/code/__DEFINES/research/stock_parts.html new file mode 100644 index 000000000000..1672a81047ef --- /dev/null +++ b/code/__DEFINES/research/stock_parts.html @@ -0,0 +1 @@ +code/__DEFINES/research/stock_parts.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/research/stock_parts.dm

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

Define Details

STANDARD_PART_LEVEL_LATHE_COEFFICIENT

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

STANDARD_PART_LEVEL_ORE_COEFFICIENT

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

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

code/__DEFINES/robots.dm

BORG_MODULE_ALL_DISABLEDDefines for whether or not module slots are broken.

Define Details

BORG_MODULE_ALL_DISABLED

Defines for whether or not module slots are broken.

\ No newline at end of file diff --git a/code/__DEFINES/rust_g.html b/code/__DEFINES/rust_g.html new file mode 100644 index 000000000000..d7d928c71ad1 --- /dev/null +++ b/code/__DEFINES/rust_g.html @@ -0,0 +1,157 @@ +code/__DEFINES/rust_g.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/rust_g.dm

/proc/rustg_get_versionGets the version of rust_g
rustg_setup_acreplaceSets up the Aho-Corasick automaton with its default options.
rustg_setup_acreplace_with_optionsSets up the Aho-Corasick automaton using supplied options.
rustg_acreplaceRun the specified replacement engine with the provided haystack text to replace, returning replaced text.
rustg_acreplace_with_replacementsRun the specified replacement engine with the provided haystack text to replace, returning replaced text.
rustg_cnoise_generateThis proc generates a cellular automata noise grid which can be used in procedural generation methods.
rustg_dbp_generateThis proc generates a grid of perlin-like noise
rustg_dmi_icon_statesinput: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg.
rustg_git_revparseReturns the git hash of the given revision, ex. "HEAD".
rustg_git_commit_dateReturns the date of the given revision in the format YYYY-MM-DD. +Returns null if the revision is invalid.
rustg_encode_base64Encode a given string into base64
rustg_decode_base64Decode a given base64 string
rustg_iconforge_generateGenerates a spritesheet at: [file_path][spritesheet_name]_[size_id].png +The resulting spritesheet arranges icons in a random order, with the position being denoted in the "sprites" return value. +All icons have the same y coordinate, and their x coordinate is equal to icon_width * position.
rustg_iconforge_generate_asyncReturns a job_id for use with rustg_iconforge_check()
rustg_iconforge_checkReturns the status of an async job_id, or its result if it is completed. See RUSTG_JOB DEFINEs.
rustg_iconforge_cleanupClears all cached DMIs and images, freeing up memory. +This should be used after spritesheets are done being generated.
rustg_iconforge_cache_validTakes in a set of hashes, generate inputs, and DMI filepaths, and compares them to determine cache validity. +input_hash: xxh64 hash of "sprites" from the cache. +dmi_hashes: xxh64 hashes of the DMIs in a spritesheet, given by rustg_iconforge_generate with hash_icons enabled. From the cache. +sprites: The new input that will be passed to rustg_iconforge_generate(). +Returns a CacheResult with the following structure: list( +"result": "1" (if cache is valid) or "0" (if cache is invalid) +"fail_reason": "" (emtpy string if valid, otherwise a string containing the invalidation reason or an error with ERROR: prefixed.) +) +In the case of an unrecoverable panic from within Rust, this function ONLY returns a string containing the error.
rustg_iconforge_cache_valid_asyncReturns a job_id for use with rustg_iconforge_check()
rustg_register_nodes_astarRegister a list of nodes into a rust library. This list of nodes must have been serialized in a json. +Node {// Index of this node in the list of nodes +unique_id: usize, +// Position of the node in byond +x: usize, +y: usize, +z: usize, +// Indexes of nodes connected to this one +connected_nodes_id: Vec} +It is important that the node with the unique_id 0 is the first in the json, unique_id 1 right after that, etc. +It is also important that all unique ids follow. {0, 1, 2, 4} is not a correct list and the registering will fail +Nodes should not link across z levels. +A node cannot link twice to the same node and shouldn't link itself either
rustg_add_node_astarAdd a new node to the static list of nodes. Same rule as registering_nodes applies. +This node unique_id must be equal to the current length of the static list of nodes
rustg_remove_node_astarRemove every link to the node with unique_id. Replace that node by null
rustg_generate_path_astarCompute the shortest path between start_node and goal_node using A*. Heuristic used is simple geometric distance
rustg_redis_connect_rqConnects to a given redis server.
/proc/rustg_redis_disconnect_rqDisconnects from a previously connected redis server
rustg_redis_lpushhttps://redis.io/commands/lpush/
rustg_redis_lrangehttps://redis.io/commands/lrange/
rustg_redis_lpophttps://redis.io/commands/lpop/
/proc/rustg_unix_timestampReturns the timestamp as a string
rustg_worley_generateThis proc generates a noise grid using worley noise algorithm

Define Details

rustg_acreplace

Run the specified replacement engine with the provided haystack text to replace, returning replaced text.

+

Arguments:

+

rustg_acreplace_with_replacements

Run the specified replacement engine with the provided haystack text to replace, returning replaced text.

+

Arguments:

+

rustg_add_node_astar

Add a new node to the static list of nodes. Same rule as registering_nodes applies. +This node unique_id must be equal to the current length of the static list of nodes

rustg_cnoise_generate

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

+

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

+

Arguments:

+

rustg_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:

+

rustg_decode_base64

Decode a given base64 string

rustg_dmi_icon_states

input: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg.

+

output: json_encode'd list. json_decode to get a flat list with icon states in the order they're in inside the .dmi

rustg_encode_base64

Encode a given string into base64

rustg_generate_path_astar

Compute the shortest path between start_node and goal_node using A*. Heuristic used is simple geometric distance

rustg_git_commit_date

Returns the date of the given revision in the format YYYY-MM-DD. +Returns null if the revision is invalid.

rustg_git_revparse

Returns the git hash of the given revision, ex. "HEAD".

rustg_iconforge_cache_valid

Takes in a set of hashes, generate inputs, and DMI filepaths, and compares them to determine cache validity. +input_hash: xxh64 hash of "sprites" from the cache. +dmi_hashes: xxh64 hashes of the DMIs in a spritesheet, given by rustg_iconforge_generate with hash_icons enabled. From the cache. +sprites: The new input that will be passed to rustg_iconforge_generate(). +Returns a CacheResult with the following structure: list( +"result": "1" (if cache is valid) or "0" (if cache is invalid) +"fail_reason": "" (emtpy string if valid, otherwise a string containing the invalidation reason or an error with ERROR: prefixed.) +) +In the case of an unrecoverable panic from within Rust, this function ONLY returns a string containing the error.

rustg_iconforge_cache_valid_async

Returns a job_id for use with rustg_iconforge_check()

rustg_iconforge_check

Returns the status of an async job_id, or its result if it is completed. See RUSTG_JOB DEFINEs.

rustg_iconforge_cleanup

Clears all cached DMIs and images, freeing up memory. +This should be used after spritesheets are done being generated.

rustg_iconforge_generate

Generates a spritesheet at: [file_path][spritesheet_name]_[size_id].png +The resulting spritesheet arranges icons in a random order, with the position being denoted in the "sprites" return value. +All icons have the same y coordinate, and their x coordinate is equal to icon_width * position.

+

hash_icons is a boolean (0 or 1), and determines if the generator will spend time creating hashes for the output field dmi_hashes. +These hashes can be heplful for 'smart' caching (see rustg_iconforge_cache_valid), but require extra computation.

+

Spritesheet will contain all sprites listed within "sprites". +"sprites" format: +list( +"sprite_name" = list( // <--- this list is a [SPRITE_OBJECT] +icon_file = 'icons/path_to/an_icon.dmi', +icon_state = "some_icon_state", +dir = SOUTH, +frame = 1, +transform = list([TRANSFORM_OBJECT], ...) +), +..., +) +TRANSFORM_OBJECT format: +list("type" = RUSTG_ICONFORGE_BLEND_COLOR, "color" = "#ff0000", "blend_mode" = ICON_MULTIPLY) +list("type" = RUSTG_ICONFORGE_BLEND_ICON, "icon" = [SPRITE_OBJECT], "blend_mode" = ICON_OVERLAY) +list("type" = RUSTG_ICONFORGE_SCALE, "width" = 32, "height" = 32) +list("type" = RUSTG_ICONFORGE_CROP, "x1" = 1, "y1" = 1, "x2" = 32, "y2" = 32) // (BYOND icons index from 1,1 to the upper bound, inclusive)

+

Returns a SpritesheetResult as JSON, containing fields: +list( +"sizes" = list("32x32", "64x64", ...), +"sprites" = list("sprite_name" = list("size_id" = "32x32", "position" = 0), ...), +"dmi_hashes" = list("icons/path_to/an_icon.dmi" = "d6325c5b4304fb03", ...), +"sprites_hash" = "a2015e5ff403fb5c", // This is the xxh64 hash of the INPUT field "sprites". +"error" = "[A string, empty if there were no errors.]" +) +In the case of an unrecoverable panic from within Rust, this function ONLY returns a string containing the error.

rustg_iconforge_generate_async

Returns a job_id for use with rustg_iconforge_check()

rustg_redis_connect_rq

Connects to a given redis server.

+

Arguments:

+

rustg_redis_lpop

https://redis.io/commands/lpop/

+

Arguments

+ +

Note: count was added in Redis version 6.2.0

rustg_redis_lpush

https://redis.io/commands/lpush/

+

Arguments

+

rustg_redis_lrange

https://redis.io/commands/lrange/

+

Arguments

+

rustg_register_nodes_astar

Register a list of nodes into a rust library. This list of nodes must have been serialized in a json. +Node {// Index of this node in the list of nodes +unique_id: usize, +// Position of the node in byond +x: usize, +y: usize, +z: usize, +// Indexes of nodes connected to this one +connected_nodes_id: Vec} +It is important that the node with the unique_id 0 is the first in the json, unique_id 1 right after that, etc. +It is also important that all unique ids follow. {0, 1, 2, 4} is not a correct list and the registering will fail +Nodes should not link across z levels. +A node cannot link twice to the same node and shouldn't link itself either

rustg_remove_node_astar

Remove every link to the node with unique_id. Replace that node by null

rustg_setup_acreplace

Sets up the Aho-Corasick automaton with its default options.

+

The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call +Arguments:

+

rustg_setup_acreplace_with_options

Sets up the Aho-Corasick automaton using supplied options.

+

The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call +Arguments:

+

rustg_worley_generate

This proc generates a noise grid using worley noise algorithm

+

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

+

Arguments:

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

code/__DEFINES/screentips.dm

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

Define Details

INTENT_ANY

Regardless of intent

SCREENTIP_CONTEXT_ALT_LMB

Context applied to Alt-LMB actions

SCREENTIP_CONTEXT_ALT_RMB

Context applied to Alt-RMB actions

SCREENTIP_CONTEXT_CTRL_LMB

Context applied to Ctrl-LMB actions

SCREENTIP_CONTEXT_CTRL_RMB

Context applied to Ctrl-RMB actions

SCREENTIP_CONTEXT_CTRL_SHIFT_LMB

Context applied to Ctrl-Shift-LMB actions

SCREENTIP_CONTEXT_LMB

Context applied to LMB actions

SCREENTIP_CONTEXT_RMB

Context applied to RMB actions

SCREENTIP_CONTEXT_SHIFT_LMB

Context applied to Shift-LMB actions

SCREENTIP_PREFERENCE_CONTEXT_ONLY

Screentips are only enabled when they have context

SCREENTIP_PREFERENCE_DISABLED

Screentips are always disabled

SCREENTIP_PREFERENCE_ENABLED

Screentips are always enabled

SCREENTIP_PREFERENCE_NO_CONTEXT

Screentips enabled, no context

\ No newline at end of file diff --git a/code/__DEFINES/skills/defines.html b/code/__DEFINES/skills/defines.html new file mode 100644 index 000000000000..b2e08a104499 --- /dev/null +++ b/code/__DEFINES/skills/defines.html @@ -0,0 +1 @@ +code/__DEFINES/skills/defines.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/skills/defines.dm

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

Define Details

MODIFIER_SKILL_BODYBOUND

Makes it untransferred by mind.transfer_to()

MODIFIER_SKILL_HANDICAP

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

MODIFIER_SKILL_MULT

makes the skill modifier a multiplier, not an addendum.

MODIFIER_SKILL_ORIGIN_DIFF

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

MODIFIER_SKILL_PRIORITY_LOW

Ascending priority defines.

MODIFIER_SKILL_VALUE

Skill modifier defines and flags.

MODIFIER_SKILL_VIRTUE

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

MODIFIER_USE_THRESHOLDS

Will this skill use competency thresholds instead of preset values

SKILL_PROGRESSION_BINARY

true/false

SKILL_PROGRESSION_ENUM

Enum

SKILL_PROGRESSION_LEVEL

Levels

SKILL_PROGRESSION_NUMERICAL

numerical

SKILL_UI_CAT_ENG

Categories of skills, these will be displayed alphabetically.

SKILL_USE_TOOL

Items skill_traits and other defines

STD_XP_LVL_UP

Level/Experience skills defines.

THRESHOLD_UNTRAINED

competency_threshold defines

\ No newline at end of file diff --git a/code/__DEFINES/skills/helpers.html b/code/__DEFINES/skills/helpers.html new file mode 100644 index 000000000000..dc7234107465 --- /dev/null +++ b/code/__DEFINES/skills/helpers.html @@ -0,0 +1,5 @@ +code/__DEFINES/skills/helpers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/skills/helpers.dm

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

Define Details

ADD_SINGLETON_SKILL_MODIFIER

Macro used when adding generic singleton skill modifiers.

ADD_SKILL_MODIFIER_BODY

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

GET_SKILL_MOD_ID

Simple generic identifier macro.

REMOVE_SKILL_MODIFIER_BODY

Same as above but to remove the skill modifier.

SANITIZE_SKILL_LEVEL

Doesn't automatically round the value.

\ No newline at end of file diff --git a/code/__DEFINES/sound.html b/code/__DEFINES/sound.html new file mode 100644 index 000000000000..859eb042238e --- /dev/null +++ b/code/__DEFINES/sound.html @@ -0,0 +1 @@ +code/__DEFINES/sound.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/sound.dm

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

Define Details

ANNOUNCER_AIMALF

Announcer audio keys

FALLOFF_SOUNDS

remove

SHORT_RANGE_SOUND_EXTRARANGE

default extra range for sounds considered to be quieter

SILENCED_SOUND_EXTRARANGE

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

SOUND_DEFAULT_DISTANCE_MULTIPLIER

Default distance multiplier for sounds

SOUND_DEFAULT_FALLOFF_DISTANCE

Percentage of sound's range where no falloff is applied

SOUND_DEFAULT_MULTIPLIER_EFFECT_RANGE

Default range at which sound distance multiplier applies

SOUND_FALLOFF_EXPONENT

The default exponent of sound falloff

SOUND_RANGE

Default range of a sound.

\ No newline at end of file diff --git a/code/__DEFINES/spaceman_dmm.html b/code/__DEFINES/spaceman_dmm.html new file mode 100644 index 000000000000..b3dfd54a54ee --- /dev/null +++ b/code/__DEFINES/spaceman_dmm.html @@ -0,0 +1,30 @@ +code/__DEFINES/spaceman_dmm.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/spaceman_dmm.dm

RETURN_TYPESets a return type expression for a proc. The return type can take the forms:
SHOULD_CALL_PARENTIf set, will enable a diagnostic on children of the proc it is set on which do +not contain any ..() parent calls. This can help with finding situations +where a signal or other important handling in the parent proc is being skipped. +Child procs may set this setting to 0 instead to override the check.
SHOULD_NOT_OVERRIDEIf set, raise a warning for any child procs that override this one, +regardless of if it calls parent or not. +This functions in a similar way to the final keyword in some languages. +This cannot be disabled by child overrides.
SHOULD_NOT_SLEEPIf set, raise a warning if the proc or one of the sub-procs it calls +uses a blocking call, such as sleep() or input() without using set waitfor = 0 +This cannot be disabled by child overrides.
SHOULD_BE_PUREIf set, ensure a proc is 'pure', such that it does not make any changes +outside itself or output. This also checks to make sure anything using +this proc doesn't invoke it without making use of the return value. +This cannot be disabled by child overrides.
PRIVATE_PROCPrivate procs can only be called by things of exactly the same type.
PROTECTED_PROCProtected procs can only be call by things of the same type or subtypes.
UNLINTIf set, will not lint.
VAR_FINALIf set, overriding their value isn't permitted 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 called by things of the same type or subtypes.

Define Details

PRIVATE_PROC

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

PROTECTED_PROC

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

RETURN_TYPE

Sets a return type expression for a proc. The return type can take the forms:

+

/typepath - a raw typepath. The return type of the proc is the type named.

+

param - a typepath given as a parameter, for procs which return an instance of the passed-in type.

+

param.type - the static type of a passed-in parameter, for procs which +return their input or otherwise another value of the same type.

+

param[_].type - the static type of a passed-in parameter, with one level +of /list stripped, for procs which select one item from a list. The [_] +may be repeated to strip more levels of /list.

SHOULD_BE_PURE

If set, ensure a proc is 'pure', such that it does not make any changes +outside itself or output. This also checks to make sure anything using +this proc doesn't invoke it without making use of the return value. +This cannot be disabled by child overrides.

SHOULD_CALL_PARENT

If set, will enable a diagnostic on children of the proc it is set on which do +not contain any ..() parent calls. This can help with finding situations +where a signal or other important handling in the parent proc is being skipped. +Child procs may set this setting to 0 instead to override the check.

SHOULD_NOT_OVERRIDE

If set, raise a warning for any child procs that override this one, +regardless of if it calls parent or not. +This functions in a similar way to the final keyword in some languages. +This cannot be disabled by child overrides.

SHOULD_NOT_SLEEP

If set, raise a warning if the proc or one of the sub-procs it calls +uses a blocking call, such as sleep() or input() without using set waitfor = 0 +This cannot be disabled by child overrides.

UNLINT

If set, will not lint.

VAR_FINAL

If set, overriding their value isn't permitted 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 called by things of the same type or subtypes.

\ No newline at end of file diff --git a/code/__DEFINES/station.html b/code/__DEFINES/station.html new file mode 100644 index 000000000000..957d00302696 --- /dev/null +++ b/code/__DEFINES/station.html @@ -0,0 +1 @@ +code/__DEFINES/station.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/station.dm

FUTURE_STATION_TRAITS_FILEThe data file that future station traits are stored in

Define Details

FUTURE_STATION_TRAITS_FILE

The data file that future station traits are stored in

\ 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 000000000000..0ad36de57293 --- /dev/null +++ b/code/__DEFINES/status_effects.html @@ -0,0 +1 @@ +code/__DEFINES/status_effects.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/status_effects.dm

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

Define Details

IGNORE_STASIS

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

STATUS_EFFECT_DAZED

The affected is unable to use or pickup items

STATUS_EFFECT_OFF_BALANCE

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

STATUS_EFFECT_STAGGERED

Blocks sprint

STATUS_EFFECT_STUN

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

\ No newline at end of file diff --git a/code/__DEFINES/storage/_storage.html b/code/__DEFINES/storage/_storage.html new file mode 100644 index 000000000000..13f1beff7329 --- /dev/null +++ b/code/__DEFINES/storage/_storage.html @@ -0,0 +1 @@ +code/__DEFINES/storage/_storage.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/storage/_storage.dm

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

Define Details

MAXIMUM_VOLUMETRIC_ITEMS

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

MINIMUM_PIXELS_PER_ITEM

Minimum pixels an item must have in volumetric scaled storage UI

STORAGE_LIMIT_COMBINED_W_CLASS

Check max_combined_w_class.

STORAGE_LIMIT_MAX_ITEMS

Check max_items and contents.len when trying to insert

STORAGE_LIMIT_MAX_W_CLASS

Use max_w_class

STORAGE_LIMIT_VOLUME

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

VOLUMETRIC_STORAGE_BOX_BORDER_SIZE

Size of EACH left/right border icon for volumetric boxes

VOLUMETRIC_STORAGE_BOX_ICON_SIZE

Size of volumetric box icon

VOLUMETRIC_STORAGE_EDGE_PADDING

How much padding to give to edges

VOLUMETRIC_STORAGE_ITEM_PADDING

How much padding to give between items

WEIGHT_CLASS_BULKY

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

WEIGHT_CLASS_GIGANTIC

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

WEIGHT_CLASS_HUGE

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

WEIGHT_CLASS_NORMAL

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

WEIGHT_CLASS_SMALL

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

WEIGHT_CLASS_TINY

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

\ No newline at end of file diff --git a/code/__DEFINES/storage/volumetrics.html b/code/__DEFINES/storage/volumetrics.html new file mode 100644 index 000000000000..a67854fb98f3 --- /dev/null +++ b/code/__DEFINES/storage/volumetrics.html @@ -0,0 +1 @@ +code/__DEFINES/storage/volumetrics.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/storage/volumetrics.dm

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

Define Details

AUTO_SCALE_STORAGE_VOLUME

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

AUTO_SCALE_VOLUME

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

ITEM_VOLUME_DISK

volume for a data disk

ITEM_VOLUME_STRIPPER_CLIP

volume for a shotgun stripper clip holding 4 shells

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

code/__DEFINES/strippable.dm

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

Define Details

STRIPPABLE_OBSCURING_COMPLETELY

This slot is completely obscured, and cannot be accessed.

STRIPPABLE_OBSCURING_HIDDEN

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

STRIPPABLE_OBSCURING_NONE

This slot is not obscured.

\ No newline at end of file diff --git a/code/__DEFINES/subsystems.html b/code/__DEFINES/subsystems.html new file mode 100644 index 000000000000..702d46bede8e --- /dev/null +++ b/code/__DEFINES/subsystems.html @@ -0,0 +1,36 @@ +code/__DEFINES/subsystems.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/subsystems.dm

Defines for subsystems and overlays

+

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

+

DB defines

DB_MAJOR_VERSIONDB major schema version
DB_MINOR_VERSIONDB minor schema version

Timing subsystem

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

Initialization subsystem

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

Initialization hints

INITIALIZE_HINT_NORMALNothing happens
INITIALIZE_HINT_LATELOADcall LateInitialize at the end of all atom Initalization
INITIALIZE_HINT_QDELCall qdel on the atom after intialization
INITIALIZE_IMMEDIATEtype and all subtypes should always immediately call Initialize in New()
addtimerCreate a new timer and add it to the queue.

Define Details

DB_MAJOR_VERSION

DB major schema version

+

Update this whenever the db schema changes

+

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

DB_MINOR_VERSION

DB minor schema version

+

Update this whenever the db schema changes

+

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

INITIALIZATION_INNEW_MAPLOAD

New should call Initialize(TRUE)

INITIALIZATION_INNEW_REGULAR

New should call Initialize(FALSE)

INITIALIZATION_INSSATOMS

New should not call Initialize

INITIALIZE_HINT_LATELOAD

call LateInitialize at the end of all atom Initalization

+

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

INITIALIZE_HINT_NORMAL

Nothing happens

INITIALIZE_HINT_QDEL

Call qdel on the atom after intialization

INITIALIZE_IMMEDIATE

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

TIMER_CLIENT_TIME

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

+

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

TIMER_DELETE_ME

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

TIMER_ID_NULL

Empty ID define

TIMER_LOOP

Loops the timer repeatedly until qdeleted

+

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

TIMER_NO_HASH_WAIT

prevents distinguishing identical timers with the wait variable

+

To be used with TIMER_UNIQUE

TIMER_OVERRIDE

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

TIMER_STOPPABLE

Timer can be stopped using deltimer()

TIMER_UNIQUE

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

+

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

addtimer

Create a new timer and add it to the queue.

+
\ No newline at end of file diff --git a/code/__DEFINES/text.html b/code/__DEFINES/text.html new file mode 100644 index 000000000000..e63234fa1840 --- /dev/null +++ b/code/__DEFINES/text.html @@ -0,0 +1,18 @@ +code/__DEFINES/text.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/text.dm

FOURSPACESDoes 4 spaces. Used as a makeshift tabulator.
MAPTEXTStandard maptext +Prepares a text to be used for maptext. Use this so it doesn't look hideous.
MAPTEXT_PIXELLARIPixel-perfect scaled fonts for use in the MAP element as defined in skin.dmf
MAPTEXT_GRAND9KStandard size (ie: normal runechat) - Size options: 6pt 12pt 18pt.
MAPTEXT_TINY_UNICODESmall size. (ie: context subtooltips, spell delays) - Size options: 12pt 24pt.
MAPTEXT_SPESSFONTSmallest size. (ie: whisper runechat) - Size options: 6pt 12pt 18pt.
MAPTEXT_VCR_OSD_MONOPrepares a text to be used for maptext, using a variable size font.
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.

Define Details

FOURSPACES

Does 4 spaces. Used as a makeshift tabulator.

MAPTEXT

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

MAPTEXT_GRAND9K

Standard size (ie: normal runechat) - Size options: 6pt 12pt 18pt.

MAPTEXT_PIXELLARI

Pixel-perfect scaled fonts for use in the MAP element as defined in skin.dmf

+

Four sizes to choose from, use the sizes as mentioned below. +Between the variations and a step there should be an option that fits your use case. +BYOND uses pt sizing, different than px used in TGUI. Using px will make it look blurry due to poor antialiasing.

+

Default sizes are prefilled in the macro for ease of use and a consistent visual look. +To use a step other than the default in the macro, specify it in a span style. +For example: MAPTEXT_PIXELLARI("Some large maptext here") +Large size (ie: context tooltips) - Size options: 12pt 24pt.

MAPTEXT_SPESSFONT

Smallest size. (ie: whisper runechat) - Size options: 6pt 12pt 18pt.

MAPTEXT_TINY_UNICODE

Small size. (ie: context subtooltips, spell delays) - Size options: 12pt 24pt.

MAPTEXT_VCR_OSD_MONO

Prepares a text to be used for maptext, using a variable size font.

+

More flexible but doesn't scale pixel perfect to BYOND icon resolutions. +(May be blurry.) Can use any size in pt or px.

+

You MUST Specify the size when using the macro +For example: MAPTEXT_VCR_OSD_MONO("Some large maptext here") +Prepares a text to be used for maptext, using a variable size font. +Variable size font. More flexible but doesn't scale pixel perfect to BYOND icon resolutions. (May be blurry.) Can use any size in pt or px.

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/__DEFINES/tgs.html b/code/__DEFINES/tgs.html new file mode 100644 index 000000000000..90b0c299fd63 --- /dev/null +++ b/code/__DEFINES/tgs.html @@ -0,0 +1 @@ +code/__DEFINES/tgs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/tgs.dm

TGS_FILE2TEXT_NATIVEConsumers SHOULD create this define if you want to do TGS configuration outside of this file.
TGS_EVENT_REBOOT_MODE_CHANGEBefore 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_TOPICConsumers MUST run this macro 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 This abstract version SHOULD be overridden to be used.
/datum/tgs_http_handlerUser definable handler for HTTP calls. This abstract version MUST be overridden to be used.
/datum/tgs_http_resultResult of a /datum/tgs_http_handler call. MUST NOT be overridden.
/datum/tgs_chat_commandUser definable chat command. This abstract version MUST be overridden to be used.
/datum/tgs_message_contentUser definable chat message. MUST NOT be overridden.
/datum/tgs_chat_embed/structureUser definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details.
/datum/tgs_chat_embed/mediaCommon datum for similar Discord embed medias.
/datum/tgs_chat_embed/footerSee https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details.
/datum/tgs_chat_embed/providerSee https://discord.com/developers/docs/resources/message#embed-object-embed-provider-structure for details.
/datum/tgs_chat_embed/provider/authorSee https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New().
/datum/tgs_chat_embed/fieldSee https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details.

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

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_FILE2TEXT_NATIVE

Consumers SHOULD create this define if you want to do TGS configuration outside of this file.

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

Consumers MUST run this macro 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.html b/code/__DEFINES/tgui.html new file mode 100644 index 000000000000..89540845fe5a --- /dev/null +++ b/code/__DEFINES/tgui.html @@ -0,0 +1 @@ +code/__DEFINES/tgui.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/tgui.dm

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

Define Details

TGUI_CREATE_MESSAGE

Creates a message packet for sending via output()

TGUI_PING_TIMEOUT

Maximum ping timeout allowed to detect zombie windows

TGUI_REFRESH_FULL_UPDATE_COOLDOWN

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

TGUI_WINDOW_CLOSED

Window does not exist

TGUI_WINDOW_HARD_LIMIT

Maximum number of open windows

TGUI_WINDOW_ID

Get a window id based on the provided pool index

TGUI_WINDOW_INDEX

Get a pool index of the provided window id

TGUI_WINDOW_LOADING

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

TGUI_WINDOW_READY

Window is free and ready to receive data

TGUI_WINDOW_SOFT_LIMIT

Maximum number of windows that can be suspended/reused

UI_CLOSE

UI Should close

UI_DISABLED

Red eye; disabled, does not update

UI_INTERACTIVE

Green eye; fully interactive

UI_UPDATE

Orange eye; updates but is not interactive

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

code/__DEFINES/traits.dm

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

Define Details

ACTIVE_BLOCK_TRAIT

This trait is added by the active directional block system.

ACTIVE_PARRY_TRAIT

This trait is added by the parry system.

LIPSTICK_TRAIT

Trait granted by lipstick

MAFIA_TRAIT

Trait associated with mafia

MAPPING_HELPER_TRAIT

obtained from mapping helper

MOD_TRAIT

Trait applied by MODsuits.

STATION_TRAIT_BANANIUM_SHIPMENTS

Traits given by station traits

TRAIT_ANTIMAGIC_NO_SELFBLOCK

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

TRAIT_BEING_CARRIED

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

TRAIT_COMBAT_MODE_LOCKED

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

TRAIT_HANDS_BLOCKED

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

TRAIT_HUMAN_NO_RENDER

forces us to not render our overlays

TRAIT_IMMOBILIZED

Prevents voluntary movement.

TRAIT_KEEP_TOGETHER

Used for managing KEEP_TOGETHER in [appearance_flags]

TRAIT_KISS_OF_DEATH

Blowing kisses that actually do damage to the victim

TRAIT_LAVA_IMMUNE

Weather immunities, also protect mobs inside them.

TRAIT_LIVING_NO_DENSITY

forces update_density to make us not dense

TRAIT_MESON_VISION

Gives us turf vision through walls and slight night vision

TRAIT_MOBILITY_NOMOVE

Disallow movement

TRAIT_MOBILITY_NOPICKUP

Disallow pickup

TRAIT_MOBILITY_NOREST

Disallow resting/unresting

TRAIT_MOBILITY_NOUSE

Disallow item use

TRAIT_NO_STAMINA_BUFFER_REGENERATION

Prevents stamina buffer regeneration

TRAIT_NO_STAMINA_REGENERATION

Prevents stamina regeneration

TRAIT_REAGENT_SCANNER

Lets us scan reagents

TRAIT_SPRINT_LOCKED

Prevents sprinting from being active.

TRAIT_THERMAL_VISION

Gives us mob vision through walls and slight night vision

TRAIT_TRUE_NIGHT_VISION

Gives us Night vision

TRAIT_XRAY_VISION

Gives us turf, mob and object vision through walls

TURF_Z_TRANSPARENT_TRAIT

Turf trait for when a turf is transparent

\ No newline at end of file diff --git a/code/__DEFINES/traits/sources.html b/code/__DEFINES/traits/sources.html new file mode 100644 index 000000000000..a503bda0935b --- /dev/null +++ b/code/__DEFINES/traits/sources.html @@ -0,0 +1 @@ +code/__DEFINES/traits/sources.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/traits/sources.dm

ITEM_SCALING_TRAITFrom the item_scaling element

Define Details

ITEM_SCALING_TRAIT

From the item_scaling element

\ No newline at end of file diff --git a/code/__DEFINES/uplink.html b/code/__DEFINES/uplink.html new file mode 100644 index 000000000000..1974791ed79d --- /dev/null +++ b/code/__DEFINES/uplink.html @@ -0,0 +1 @@ +code/__DEFINES/uplink.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/uplink.dm

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

Define Details

This item is purchasable to clown ops

This item is purchasable to nuke ops

This item is purchasable to traitors

\ No newline at end of file diff --git a/code/__DEFINES/vehicles.html b/code/__DEFINES/vehicles.html new file mode 100644 index 000000000000..08615d0fba7e --- /dev/null +++ b/code/__DEFINES/vehicles.html @@ -0,0 +1 @@ +code/__DEFINES/vehicles.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/vehicles.dm

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

Define Details

CAN_KIDNAP

Will this car kidnap people by ramming into them?

FULL_MECHA_CONTROL

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

VEHICLE_CONTROL_DRIVE

controls the vehicles movement

VEHICLE_CONTROL_EQUIPMENT

using equipment/weapons on the vehicle

VEHICLE_CONTROL_KIDNAPPED

Can't leave vehicle voluntarily, has to resist.

VEHICLE_CONTROL_MELEE

melee attacks/shoves a vehicle may have

VEHICLE_CONTROL_SETTINGS

changing around settings and the like.

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

code/__DEFINES/voreconstants.dm

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

Define Details

ABSORBABLE

Can get absorbed?

MAX_VORE_FLAG

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

MOBVORE

Can get simplemob vored?

SMELLABLE

Can be smelled?

\ No newline at end of file diff --git a/code/__DEFINES/wounds.html b/code/__DEFINES/wounds.html new file mode 100644 index 000000000000..9c3c0750db69 --- /dev/null +++ b/code/__DEFINES/wounds.html @@ -0,0 +1 @@ +code/__DEFINES/wounds.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__DEFINES/wounds.dm

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

Define Details

ACCEPTS_GAUZE

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

BIO_FLESH_BONE

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

BIO_INORGANIC

golems and androids, cannot suffer any wounds

BIO_JUST_BONE

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

BIO_JUST_FLESH

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

BONE_WOUND

If this wound requires having the HAS_BONE flag for humanaoids

CANT_WOUND

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

DISMEMBER_MINIMUM_DAMAGE

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

FLESH_WOUND

If this wound requires having the HAS_FLESH flag for humanoids

MANGLES_BONE

If having this wound counts as mangled bone for dismemberment

MANGLES_FLESH

If having this wound counts as mangled flesh for dismemberment

SCAR_CURRENT_VERSION

saved scars with a version lower than this will be discarded

SCAR_SAVE_DESC

The description we're loading

SCAR_SAVE_LENGTH

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

SCAR_SAVE_PRECISE_LOCATION

The precise location we're loading

SCAR_SAVE_SEVERITY

The severity the scar had

SCAR_SAVE_VERS

The version number of the scar we're saving

SCAR_SAVE_ZONE

The body_zone we're applying to on granting

WOUND_BLUNT

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

WOUND_BONE_HEAD_TIME_VARIANCE

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

WOUND_BURN

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

WOUND_BURN_SANITIZATION_RATE

how quickly sanitization removes infestation and decays per tick

WOUND_DETERMINATION_MAX

the max amount of determination you can have

WOUND_INFECTION_CRITICAL

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

WOUND_INFECTION_MODERATE

below this has no ill effects from infection

WOUND_INFECTION_SEPTIC

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

WOUND_INFECTION_SEVERE

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

WOUND_MAX_CONSIDERED_DAMAGE

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

WOUND_MINIMUM_DAMAGE

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

WOUND_PIERCE

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

WOUND_SLASH

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

WOUND_SLASH_DEAD_CLOT_MIN

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

WOUND_SLASH_MAX_BLOODFLOW

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

\ No newline at end of file diff --git a/code/__HELPERS/_lists.html b/code/__HELPERS/_lists.html new file mode 100644 index 000000000000..d09b512d0b1a --- /dev/null +++ b/code/__HELPERS/_lists.html @@ -0,0 +1,14 @@ +code/__HELPERS/_lists.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__HELPERS/_lists.dm

LIST_VALUE_WRAP_LISTSIf value is a list, wrap it in a list so it can be used with list add/remove operations
UNTYPED_LIST_ADDAdd an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun
UNTYPED_LIST_REMOVERemove an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun
LAZYLISTDUPLICATELike LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled
LAZYACCESSreturns L[I] if L exists and I is a valid index of L, runtimes if L is not a list
LAZYADDASSOCLISTThis is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)
LAZYADDASSOCThis is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)
LAZYORASSOCLISTPerforms an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.
COMPARE_KEYPassed into BINARY_INSERT to compare keys
COMPARE_VALUEPassed into BINARY_INSERT to compare values
BINARY_INSERTBinary search sorted insert +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The variable on the objects to compare +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.
/proc/english_list_assocEnglish_list but associative supporting. Higher overhead. +@depricated
/proc/listgetindex@depricated
/proc/safepick@depricated
/proc/isemptylist@depricated
/proc/typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list
/proc/pick_n_takePick a random element from the list and remove it from the list.
/proc/find_recordReturns datum/data/record

Define Details

BINARY_INSERT

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

COMPARE_KEY

Passed into BINARY_INSERT to compare keys

COMPARE_VALUE

Passed into BINARY_INSERT to compare values

LAZYACCESS

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

LAZYADDASSOC

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

LAZYADDASSOCLIST

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

LAZYLISTDUPLICATE

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

LAZYORASSOCLIST

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

LIST_VALUE_WRAP_LISTS

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

UNTYPED_LIST_ADD

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

UNTYPED_LIST_REMOVE

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

\ No newline at end of file diff --git a/code/__HELPERS/_logging.html b/code/__HELPERS/_logging.html new file mode 100644 index 000000000000..8cc58cdac61c --- /dev/null +++ b/code/__HELPERS/_logging.html @@ -0,0 +1,2 @@ +code/__HELPERS/_logging.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/_logging.dm

/proc/log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
/proc/log_tguiAppends a tgui-related log entry. All arguments are optional.
\ No newline at end of file diff --git a/code/__HELPERS/areas.html b/code/__HELPERS/areas.html new file mode 100644 index 000000000000..cbe18fc55905 --- /dev/null +++ b/code/__HELPERS/areas.html @@ -0,0 +1,7 @@ +code/__HELPERS/areas.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/areas.dm

/proc/get_base_areaReturns the base area the target is located in if there is one. +Alternatively, returns the area as is.
/proc/get_sub_areasReturns either null, or a list containing every sub area associated with our base area. +If include_base is TRUE, the base area will also be added to the return list.
/proc/get_sub_areas_turfsProc used for purposes similar to get_areas_turfs(), but aimed to include associated areas. +Only accepts area instances and paths for the first arg, no text strings. +Returns a list of all turfs found in the sub areas (including the base's if include_base is TRUE) +and located in a z level matching target_z, or anywhere if target_z is 0
/proc/get_sub_areas_contentsSimple proc that returns a sum of all contents from every sub area, +Think of the above but for all contents, not just turfs, and without target z.
\ No newline at end of file diff --git a/code/__HELPERS/chat.html b/code/__HELPERS/chat.html new file mode 100644 index 000000000000..505b5b6a0d05 --- /dev/null +++ b/code/__HELPERS/chat.html @@ -0,0 +1 @@ +code/__HELPERS/chat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__HELPERS/chat.dm

/proc/send2chatSends a message to TGS chat channels.
/proc/send2adminchatSends a message to TGS admin chat channels.
EXAMINE_HINTHandles text formatting for item use hints in examine text

Define Details

EXAMINE_HINT

Handles text formatting for item use hints in examine text

\ No newline at end of file diff --git a/code/__HELPERS/clients.html b/code/__HELPERS/clients.html new file mode 100644 index 000000000000..2edeffdc809e --- /dev/null +++ b/code/__HELPERS/clients.html @@ -0,0 +1 @@ +code/__HELPERS/clients.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/clients.dm

/proc/is_guest_keyReturns whether or not a player is a guest using their ckey as an input
\ No newline at end of file diff --git a/code/__HELPERS/files.html b/code/__HELPERS/files.html new file mode 100644 index 000000000000..4e35e94dea4d --- /dev/null +++ b/code/__HELPERS/files.html @@ -0,0 +1,2 @@ +code/__HELPERS/files.dm - SPLURT Station 13
SPLURT 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 000000000000..57f7b5221027 --- /dev/null +++ b/code/__HELPERS/game.html @@ -0,0 +1 @@ +code/__HELPERS/game.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__HELPERS/game.dm

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

Define Details

GET_ERROR_ROOM

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

\ 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 000000000000..1ee58a8b38c2 --- /dev/null +++ b/code/__HELPERS/global_lists.html @@ -0,0 +1 @@ +code/__HELPERS/global_lists.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/global_lists.dm

/proc/make_datum_references_listsInitial Building
\ No newline at end of file diff --git a/code/__HELPERS/icons.html b/code/__HELPERS/icons.html new file mode 100644 index 000000000000..cbc6750e8326 --- /dev/null +++ b/code/__HELPERS/icons.html @@ -0,0 +1,5 @@ +code/__HELPERS/icons.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/icons.dm

/proc/generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
/proc/icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
\ No newline at end of file diff --git a/code/__HELPERS/lighting.html b/code/__HELPERS/lighting.html new file mode 100644 index 000000000000..bf3d62fd460d --- /dev/null +++ b/code/__HELPERS/lighting.html @@ -0,0 +1 @@ +code/__HELPERS/lighting.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/lighting.dm

/proc/emissive_appearanceProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.
\ No newline at end of file diff --git a/code/__HELPERS/matrices/color_matrix.html b/code/__HELPERS/matrices/color_matrix.html new file mode 100644 index 000000000000..949428acc947 --- /dev/null +++ b/code/__HELPERS/matrices/color_matrix.html @@ -0,0 +1,2 @@ +code/__HELPERS/matrices/color_matrix.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/matrices/color_matrix.dm

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

code/__HELPERS/matrices/transform_matrix.dm

/proc/transform_matrix_constructconstructs a transform matrix, defaulting to identity
\ No newline at end of file diff --git a/code/__HELPERS/mobs.html b/code/__HELPERS/mobs.html new file mode 100644 index 000000000000..ed8e577ec793 --- /dev/null +++ b/code/__HELPERS/mobs.html @@ -0,0 +1,3 @@ +code/__HELPERS/mobs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__HELPERS/mobs.dm

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

Define Details

GET_CLIENT

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

\ No newline at end of file diff --git a/code/__HELPERS/nameof.html b/code/__HELPERS/nameof.html new file mode 100644 index 000000000000..d4e7b14819bd --- /dev/null +++ b/code/__HELPERS/nameof.html @@ -0,0 +1,5 @@ +code/__HELPERS/nameof.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__HELPERS/nameof.dm

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

Define Details

NAMEOF

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

\ No newline at end of file diff --git a/code/__HELPERS/path.html b/code/__HELPERS/path.html new file mode 100644 index 000000000000..ac451c199b11 --- /dev/null +++ b/code/__HELPERS/path.html @@ -0,0 +1,7 @@ +code/__HELPERS/path.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__HELPERS/path.dm

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

Define Details

CAN_STEP

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

STEP_NOT_HERE_BUT_THERE

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

\ No newline at end of file diff --git a/code/__HELPERS/priority_announce.html b/code/__HELPERS/priority_announce.html new file mode 100644 index 000000000000..c66c82b9c15e --- /dev/null +++ b/code/__HELPERS/priority_announce.html @@ -0,0 +1 @@ +code/__HELPERS/priority_announce.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/priority_announce.dm

/proc/call_emergency_meetingSummon the crew for an emergency meeting
\ No newline at end of file diff --git a/code/__HELPERS/radio.html b/code/__HELPERS/radio.html new file mode 100644 index 000000000000..897453f09a8e --- /dev/null +++ b/code/__HELPERS/radio.html @@ -0,0 +1 @@ +code/__HELPERS/radio.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/radio.dm

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

code/__HELPERS/sanitize_values.dm

/proc/sanitize_hexcolorSanitizes a hexadecimal color. Always outputs lowercase.
/proc/sanitize_ooccolorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
\ 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 000000000000..71ec15c757f3 --- /dev/null +++ b/code/__HELPERS/screen_objs.html @@ -0,0 +1,7 @@ +code/__HELPERS/screen_objs.dm - SPLURT Station 13
SPLURT 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
\ No newline at end of file diff --git a/code/__HELPERS/text.html b/code/__HELPERS/text.html new file mode 100644 index 000000000000..02357571b76c --- /dev/null +++ b/code/__HELPERS/text.html @@ -0,0 +1 @@ +code/__HELPERS/text.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/text.dm

/proc/stripped_multiline_input_or_reflectstripped_multiline_input but reflects to the user instead if it's too big and returns null.
/proc/scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
/proc/sanitize_css_class_nameRemoves all non-alphanumerics from the text, keep in mind this can lead to id conflicts
\ No newline at end of file diff --git a/code/__HELPERS/type2type.html b/code/__HELPERS/type2type.html new file mode 100644 index 000000000000..ffa9c07a8d99 --- /dev/null +++ b/code/__HELPERS/type2type.html @@ -0,0 +1,2 @@ +code/__HELPERS/type2type.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/type2type.dm

/proc/zone2body_parts_coveredFor finding out what body parts a body zone covers, the inverse of the below basically
/proc/url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
\ No newline at end of file diff --git a/code/__HELPERS/unsorted.html b/code/__HELPERS/unsorted.html new file mode 100644 index 000000000000..5eaf4fc0c9f3 --- /dev/null +++ b/code/__HELPERS/unsorted.html @@ -0,0 +1,4 @@ +code/__HELPERS/unsorted.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/unsorted.dm

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

code/__HELPERS/verbs.dm

/proc/add_verbhandles adding verbs and updating the stat panel browser
/proc/remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
\ No newline at end of file diff --git a/code/__HELPERS/view.html b/code/__HELPERS/view.html new file mode 100644 index 000000000000..84e7eb728044 --- /dev/null +++ b/code/__HELPERS/view.html @@ -0,0 +1 @@ +code/__HELPERS/view.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/__HELPERS/view.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/__HELPERS/weakref.html b/code/__HELPERS/weakref.html new file mode 100644 index 000000000000..5e04a8d587f1 --- /dev/null +++ b/code/__HELPERS/weakref.html @@ -0,0 +1 @@ +code/__HELPERS/weakref.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__HELPERS/weakref.dm

IS_WEAKREF_OFChecks if potential_weakref is a weakref of thing.

Define Details

IS_WEAKREF_OF

Checks if potential_weakref is a weakref of thing.

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/chat.html b/code/__SANDCODE/DEFINES/chat.html new file mode 100644 index 000000000000..95c96c26e135 --- /dev/null +++ b/code/__SANDCODE/DEFINES/chat.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/chat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/chat.dm

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

Define Details

examine_block

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

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/dcs/signals/lewd.html b/code/__SANDCODE/DEFINES/dcs/signals/lewd.html new file mode 100644 index 000000000000..bc222356068e --- /dev/null +++ b/code/__SANDCODE/DEFINES/dcs/signals/lewd.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/dcs/signals/lewd.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/dcs/signals/lewd.dm

COMSIG_MOB_POST_CAMEFrom /mob/living/cum(): (mob/source, mob/living/partner, target_orifice)

Define Details

COMSIG_MOB_POST_CAME

From /mob/living/cum(): (mob/source, mob/living/partner, target_orifice)

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/lewd.html b/code/__SANDCODE/DEFINES/lewd.html new file mode 100644 index 000000000000..97134d19dbc0 --- /dev/null +++ b/code/__SANDCODE/DEFINES/lewd.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/lewd.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/lewd.dm

HAS_EXPOSED_GENITALExposed states, your friendly non-carbon returns
INTERACTION_REQUIRE_BOTTOMLESSInteraction requirements
INTERACTION_REQUIRE_ANUSInteraction requirements -- Has require states
INTERACTION_FLAG_ADJACENTInteraction flags
INTERACTION_FILLS_CONTAINERSCopy-paste prevention for additional details

Define Details

HAS_EXPOSED_GENITAL

Exposed states, your friendly non-carbon returns

INTERACTION_FILLS_CONTAINERS

Copy-paste prevention for additional details

INTERACTION_FLAG_ADJACENT

Interaction flags

INTERACTION_REQUIRE_ANUS

Interaction requirements -- Has require states

INTERACTION_REQUIRE_BOTTOMLESS

Interaction requirements

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/loadout.html b/code/__SANDCODE/DEFINES/loadout.html new file mode 100644 index 000000000000..b94c2cd9c47d --- /dev/null +++ b/code/__SANDCODE/DEFINES/loadout.html @@ -0,0 +1,3 @@ +code/__SANDCODE/DEFINES/loadout.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/loadout.dm

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

Define Details

LOADOUT_CATEGORY_GENERAL_UNDER

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

LOADOUT_CATEGORY_WRISTS

Category for wrist items

LOADOUT_SUBCATEGORY_SHIRT

Subcategory for shirts

LOADOUT_SUBCATEGORY_SOCKS

Subcategory for socks

LOADOUT_SUBCATEGORY_UNDERWEAR

Subcategory for underwear

LOADOUT_SUBCATEGORY_WATCHES

Subcategory for watches

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/medical_defines.html b/code/__SANDCODE/DEFINES/medical_defines.html new file mode 100644 index 000000000000..201ba1470d0c --- /dev/null +++ b/code/__SANDCODE/DEFINES/medical_defines.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/medical_defines.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/medical_defines.dm

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

Define Details

PAINKILLER_MINERSSALVE

Painkiller trait - Miner's salve version

PAINKILLER_MORPHINE

Painkiller trait - Morphine version

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/misc.html b/code/__SANDCODE/DEFINES/misc.html new file mode 100644 index 000000000000..068c219408a6 --- /dev/null +++ b/code/__SANDCODE/DEFINES/misc.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/misc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/misc.dm

UTF8HEADERAdds an utf-8 header...? only ever used on circuitry so when wiremod arrives...
NULL_COALESCEA shorthand for ternary operators to simulate a null-coalescing operator. Returns the first argument if its defined, otherwise, second.

Define Details

NULL_COALESCE

A shorthand for ternary operators to simulate a null-coalescing operator. Returns the first argument if its defined, otherwise, second.

UTF8HEADER

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

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/mobs.html b/code/__SANDCODE/DEFINES/mobs.html new file mode 100644 index 000000000000..e32fef3d5047 --- /dev/null +++ b/code/__SANDCODE/DEFINES/mobs.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/mobs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/mobs.dm

THIRST_LEVEL_THRESHOLDMaximum amount of hydration the player can have

Define Details

THIRST_LEVEL_THRESHOLD

Maximum amount of hydration the player can have

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/signals.html b/code/__SANDCODE/DEFINES/signals.html new file mode 100644 index 000000000000..3cf8e313ece1 --- /dev/null +++ b/code/__SANDCODE/DEFINES/signals.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/signals.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/signals.dm

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

Define Details

COMSIG_CONTAINER_TRY_ATTACH

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

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/status_effects.html b/code/__SANDCODE/DEFINES/status_effects.html new file mode 100644 index 000000000000..cc4179185b38 --- /dev/null +++ b/code/__SANDCODE/DEFINES/status_effects.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/status_effects.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/status_effects.dm

STATUS_EFFECT_CRUSHERMARK_HARMSpecial crusher mark, hurts more.

Define Details

STATUS_EFFECT_CRUSHERMARK_HARM

Special crusher mark, hurts more.

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/strippable.html b/code/__SANDCODE/DEFINES/strippable.html new file mode 100644 index 000000000000..f293a98e7eae --- /dev/null +++ b/code/__SANDCODE/DEFINES/strippable.html @@ -0,0 +1,3 @@ +code/__SANDCODE/DEFINES/strippable.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/strippable.dm

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

Define Details

STRIPPABLE_ITEM_EARS_EXTRA

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

STRIPPABLE_ITEM_SOCKS

Socks strippable slot

STRIPPABLE_ITEM_UNDERSHIRT

Undershirt strippable slot

STRIPPABLE_ITEM_UNDERWEAR

Underwear strippable slot

STRIPPABLE_ITEM_WRISTS

Wrists strippable slot

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/traits.html b/code/__SANDCODE/DEFINES/traits.html new file mode 100644 index 000000000000..dcce94ad5a3d --- /dev/null +++ b/code/__SANDCODE/DEFINES/traits.html @@ -0,0 +1 @@ +code/__SANDCODE/DEFINES/traits.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/traits.dm

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

Define Details

TRAIT_DNC_ORDER

DNC trait, used to prevent cloning

TRAIT_ESTROUS_ACTIVE

Estrous traits, used for mammalian seasonal arousal systems

TRAIT_INFERTILE

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

TRAIT_NOTHIRST

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

TRAIT_PAINKILLER

Painkiller trait, used for self-surgeries.

TRAIT_SHELTERED

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

\ No newline at end of file diff --git a/code/__SANDCODE/DEFINES/wires.html b/code/__SANDCODE/DEFINES/wires.html new file mode 100644 index 000000000000..392645533976 --- /dev/null +++ b/code/__SANDCODE/DEFINES/wires.html @@ -0,0 +1,3 @@ +code/__SANDCODE/DEFINES/wires.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SANDCODE/DEFINES/wires.dm

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

Define Details

WIRE_FIRE_DETECT

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

WIRE_FIRE_TOGGLE

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

WIRE_FIRE_TRIGGER

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

\ No newline at end of file diff --git a/code/__SPLURTCODE/DEFINES/colors.html b/code/__SPLURTCODE/DEFINES/colors.html new file mode 100644 index 000000000000..7759ae9d6b97 --- /dev/null +++ b/code/__SPLURTCODE/DEFINES/colors.html @@ -0,0 +1 @@ +code/__SPLURTCODE/DEFINES/colors.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SPLURTCODE/DEFINES/colors.dm

SOFA_BROWNMODULAR SPLURT COLORS

Define Details

SOFA_BROWN

MODULAR SPLURT COLORS

\ No newline at end of file diff --git a/code/__SPLURTCODE/DEFINES/configuration.html b/code/__SPLURTCODE/DEFINES/configuration.html new file mode 100644 index 000000000000..60de91b5344f --- /dev/null +++ b/code/__SPLURTCODE/DEFINES/configuration.html @@ -0,0 +1 @@ +code/__SPLURTCODE/DEFINES/configuration.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SPLURTCODE/DEFINES/configuration.dm

CONFIG_GET_ENTRY_FROM_PATHlike CONFIG_GET_ENTRY() but uses a full path

Define Details

CONFIG_GET_ENTRY_FROM_PATH

like CONFIG_GET_ENTRY() but uses a full path

\ No newline at end of file diff --git a/code/__SPLURTCODE/DEFINES/dcs/signals.html b/code/__SPLURTCODE/DEFINES/dcs/signals.html new file mode 100644 index 000000000000..f00c14fe6084 --- /dev/null +++ b/code/__SPLURTCODE/DEFINES/dcs/signals.html @@ -0,0 +1 @@ +code/__SPLURTCODE/DEFINES/dcs/signals.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SPLURTCODE/DEFINES/dcs/signals.dm

COMSIG_ITEM_POST_UNEQUIPcalled on /obj/item AFTER unequip from base of [mob/proc/doUnEquip]: (force, atom/newloc, no_move, invdrop, silent)
COMSIG_MACHINERY_SET_OCCUPANTfrom /obj/machinery/set_occupant(atom/movable/O): (new_occupant)

Define Details

COMSIG_ITEM_POST_UNEQUIP

called on /obj/item AFTER unequip from base of [mob/proc/doUnEquip]: (force, atom/newloc, no_move, invdrop, silent)

COMSIG_MACHINERY_SET_OCCUPANT

from /obj/machinery/set_occupant(atom/movable/O): (new_occupant)

\ No newline at end of file diff --git a/code/__SPLURTCODE/DEFINES/signals.html b/code/__SPLURTCODE/DEFINES/signals.html new file mode 100644 index 000000000000..86a68b66439d --- /dev/null +++ b/code/__SPLURTCODE/DEFINES/signals.html @@ -0,0 +1 @@ +code/__SPLURTCODE/DEFINES/signals.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__SPLURTCODE/DEFINES/signals.dm

COMSIG_MOB_CLIMAXdatum/source, datum/reagents/senders_cum, atom/target, obj/item/organ/genital/sender, obj/item/organ/genital/receiver, spill, anonymous

Define Details

COMSIG_MOB_CLIMAX

datum/source, datum/reagents/senders_cum, atom/target, obj/item/organ/genital/sender, obj/item/organ/genital/receiver, spill, anonymous

\ No newline at end of file diff --git a/code/__byond_version_compat.html b/code/__byond_version_compat.html new file mode 100644 index 000000000000..6a147372523b --- /dev/null +++ b/code/__byond_version_compat.html @@ -0,0 +1 @@ +code/__byond_version_compat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/__byond_version_compat.dm

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

Define Details

GLOBAL_PROC_REF

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

PROC_REF

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

TYPE_PROC_REF

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

TYPE_VERB_REF

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

VERB_REF

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

\ No newline at end of file diff --git a/code/_globalvars/bitfields.html b/code/_globalvars/bitfields.html new file mode 100644 index 000000000000..b901452e275f --- /dev/null +++ b/code/_globalvars/bitfields.html @@ -0,0 +1 @@ +code/_globalvars/bitfields.dm - SPLURT Station 13
SPLURT 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/_globalvars/lists/keybindings.html b/code/_globalvars/lists/keybindings.html new file mode 100644 index 000000000000..bc5f2c19b659 --- /dev/null +++ b/code/_globalvars/lists/keybindings.html @@ -0,0 +1 @@ +code/_globalvars/lists/keybindings.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_globalvars/lists/keybindings.dm

/proc/init_keybindingsCreates and sorts all the keybinding datums
/proc/add_keybindingAdds an instanced keybinding to the global tracker
\ No newline at end of file diff --git a/code/_globalvars/lists/typecache.html b/code/_globalvars/lists/typecache.html new file mode 100644 index 000000000000..d9b9c844aada --- /dev/null +++ b/code/_globalvars/lists/typecache.html @@ -0,0 +1 @@ +code/_globalvars/lists/typecache.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_globalvars/lists/typecache.dm

/proc/single_path_typecache_immutableMakes a typecache of a single typecache
\ 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 000000000000..27b36bf31bf6 --- /dev/null +++ b/code/_onclick/hud/action_button.html @@ -0,0 +1 @@ +code/_onclick/hud/action_button.dm - SPLURT Station 13
SPLURT 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 000000000000..24e496e2fcff --- /dev/null +++ b/code/_onclick/hud/alert.html @@ -0,0 +1 @@ +code/_onclick/hud/alert.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_onclick/hud/alert.dm

/atom/movable/screen/alert/give/secret_handshakeFamilies handshakes
\ 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 000000000000..d12973ed844a --- /dev/null +++ b/code/_onclick/hud/map_popups.html @@ -0,0 +1,4 @@ +code/_onclick/hud/map_popups.dm - SPLURT Station 13
SPLURT 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/new_player.html b/code/_onclick/hud/new_player.html new file mode 100644 index 000000000000..82254ed4b825 --- /dev/null +++ b/code/_onclick/hud/new_player.html @@ -0,0 +1 @@ +code/_onclick/hud/new_player.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_onclick/hud/new_player.dm

/atom/movable/screen/lobby/button/character_setupPrefs menu
/atom/movable/screen/lobby/button/readyButton that appears before the game has started
/atom/movable/screen/lobby/button/joinShown when the game has started
\ 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 000000000000..b55c4fb6cf5d --- /dev/null +++ b/code/_onclick/hud/plane_master.html @@ -0,0 +1,7 @@ +code/_onclick/hud/plane_master.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_onclick/hud/plane_master.dm

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

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

+

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

/atom/movable/screen/plane_master/emissiveHandles emissive overlays and emissive blockers.
/atom/movable/screen/plane_master/parallaxContains space parallax
\ No newline at end of file diff --git a/code/_rendering/atom_huds/alternate_appearance.html b/code/_rendering/atom_huds/alternate_appearance.html new file mode 100644 index 000000000000..e9109742a4b5 --- /dev/null +++ b/code/_rendering/atom_huds/alternate_appearance.html @@ -0,0 +1 @@ +code/_rendering/atom_huds/alternate_appearance.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_rendering/atom_huds/alternate_appearance.dm

/atomThe base type for nearly all physical objects in SS13
\ No newline at end of file diff --git a/code/_rendering/parallax/parallax.html b/code/_rendering/parallax/parallax.html new file mode 100644 index 000000000000..908d23f9756b --- /dev/null +++ b/code/_rendering/parallax/parallax.html @@ -0,0 +1 @@ +code/_rendering/parallax/parallax.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_rendering/parallax/parallax.dm

/datum/parallaxHolds parallax information.
\ No newline at end of file diff --git a/code/_rendering/parallax/parallax_holder.html b/code/_rendering/parallax/parallax_holder.html new file mode 100644 index 000000000000..9f84bd9b53a6 --- /dev/null +++ b/code/_rendering/parallax/parallax_holder.html @@ -0,0 +1 @@ +code/_rendering/parallax/parallax_holder.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/_rendering/parallax/parallax_holder.dm

/datum/parallax_holderHolds all the information about a client's parallax
\ No newline at end of file diff --git a/code/controllers/configuration/config_entry.html b/code/controllers/configuration/config_entry.html new file mode 100644 index 000000000000..3553b111b582 --- /dev/null +++ b/code/controllers/configuration/config_entry.html @@ -0,0 +1 @@ +code/controllers/configuration/config_entry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/config_entry.dm

/datum/config_entry/str_listList config entry, used for configuring a list of strings
\ No newline at end of file diff --git a/code/controllers/configuration/entries/admin.html b/code/controllers/configuration/entries/admin.html new file mode 100644 index 000000000000..2475a4527635 --- /dev/null +++ b/code/controllers/configuration/entries/admin.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/admin.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/admin.dm

/datum/config_entry/flag/popup_admin_pmGives the ability to send players a maptext popup.
\ No newline at end of file diff --git a/code/controllers/configuration/entries/comms.html b/code/controllers/configuration/entries/comms.html new file mode 100644 index 000000000000..3c1dc550c710 --- /dev/null +++ b/code/controllers/configuration/entries/comms.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/comms.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/comms.dm

/datum/config_entry/keyed_list/cross_server_bunker_overridecit config
\ No newline at end of file diff --git a/code/controllers/configuration/entries/debris.html b/code/controllers/configuration/entries/debris.html new file mode 100644 index 000000000000..931d36783c68 --- /dev/null +++ b/code/controllers/configuration/entries/debris.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/debris.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/debris.dm

/datum/config_entry/number/turf_dirt_thresholdAmount of dirtyness tiles need to spawn dirt.
/datum/config_entry/number/dirt_alpha_startingAlpha dirt starts at
/datum/config_entry/number/turf_dirty_multiplierDirtyness multiplier for making turfs dirty
\ No newline at end of file diff --git a/code/controllers/configuration/entries/general.html b/code/controllers/configuration/entries/general.html new file mode 100644 index 000000000000..6edcc9d1350a --- /dev/null +++ b/code/controllers/configuration/entries/general.html @@ -0,0 +1,2 @@ +code/controllers/configuration/entries/general.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/general.dm

/datum/config_entry/number/initial_gear_pointsInitial loadout points
/datum/config_entry/flag/use_field_of_visionEnables the FoV component, which hides objects and mobs behind the parent from their sight, unless they turn around, duh. +Camera mobs, AIs, ghosts and some other are of course exempt from this. This also doesn't influence simplemob AI, for the best.
\ No newline at end of file diff --git a/code/controllers/configuration/entries/logging.html b/code/controllers/configuration/entries/logging.html new file mode 100644 index 000000000000..3ec9ef199436 --- /dev/null +++ b/code/controllers/configuration/entries/logging.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/logging.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/logging.dm

/datum/config_entry/flag/log_ooclog OOC channel
/datum/config_entry/flag/log_accesslog login/logout
/datum/config_entry/flag/log_suspicious_loginConfig entry which special logging of failed logins under suspicious circumstances.
/datum/config_entry/flag/log_saylog client say
/datum/config_entry/flag/log_adminlog admin actions
/datum/config_entry/flag/log_prayerlog prayers
/datum/config_entry/flag/log_lawlog lawchanges
/datum/config_entry/flag/log_gamelog game events
/datum/config_entry/flag/log_mechalog mech data
/datum/config_entry/flag/log_viruslog virology data
/datum/config_entry/flag/log_votelog voting
/datum/config_entry/flag/log_craftlog crafting
/datum/config_entry/flag/log_whisperlog client whisper
/datum/config_entry/flag/log_attacklog attack messages
/datum/config_entry/flag/log_victimlog attack messages
/datum/config_entry/flag/log_emotelog emotes
/datum/config_entry/flag/log_adminchatlog admin chat messages
/datum/config_entry/flag/log_shuttlelog shuttle related actions, ie shuttle computers, shuttle manipulator, emergency console
/datum/config_entry/flag/log_pdalog pda messages
/datum/config_entry/flag/log_telecommslog telecomms messages
/datum/config_entry/flag/log_econlog economy
/datum/config_entry/flag/log_twitterlog certain expliotable parrots and other such fun things in a JSON file of twitter valid phrases.
/datum/config_entry/flag/log_world_topiclog all world.Topic() calls
/datum/config_entry/flag/log_manifestlog crew manifest to seperate file
/datum/config_entry/flag/log_job_debuglog roundstart divide occupations debug information to a file
/datum/config_entry/flag/log_pictureslog photos taken by players with a camera
/datum/config_entry/flag/picture_logging_cameraThis is... shitcode, literally same as above, if one of them is inactive, won't log at all, PLEASE FUCKING REMOVE THIS.
/datum/config_entry/flag/emergency_tgui_loggingforces log_href for tgui
/datum/config_entry/number/error_cooldownThe "cooldown" time for each occurrence of a unique error
/datum/config_entry/number/error_limitHow many occurrences before the next will silence them
/datum/config_entry/number/error_silence_timeHow long a unique error will be silenced for
/datum/config_entry/number/error_msg_delayHow long to wait between messaging admins about occurrences of a unique error
\ No newline at end of file diff --git a/code/controllers/configuration/entries/movespeed.html b/code/controllers/configuration/entries/movespeed.html new file mode 100644 index 000000000000..e937ca24ebcc --- /dev/null +++ b/code/controllers/configuration/entries/movespeed.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/movespeed.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/movespeed.dm

/datum/config_entry/number/outdated_movedelayOutdated move delay
\ No newline at end of file diff --git a/code/controllers/configuration/entries/persistence.html b/code/controllers/configuration/entries/persistence.html new file mode 100644 index 000000000000..d5311afd8880 --- /dev/null +++ b/code/controllers/configuration/entries/persistence.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/persistence.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/persistence.dm

/datum/config_entry/flag/persistent_debrisWhether or not to use the persistence system for cleanable objects
/datum/config_entry/flag/persistent_debris_onlyWhether or not to nuke all roundstart debris that isn't due to persistence if the above is true
/datum/config_entry/number/persistent_debris_global_maxMax amount of objects to store, total
/datum/config_entry/number/persistent_debris_type_maxMax amount of objects to store per type
/datum/config_entry/flag/persistent_debris_wipe_on_nukeWipe dirty stuff on nuke
\ No newline at end of file diff --git a/code/controllers/configuration/entries/policy.html b/code/controllers/configuration/entries/policy.html new file mode 100644 index 000000000000..1bc6d2448ab2 --- /dev/null +++ b/code/controllers/configuration/entries/policy.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/policy.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/policy.dm

/datum/config_entry/number/defib_cmd_time_limitSeconds for CMD on defib-with-memory-loss policy config to display instead of defib-intact config
\ No newline at end of file diff --git a/code/controllers/configuration/entries/respawns.html b/code/controllers/configuration/entries/respawns.html new file mode 100644 index 000000000000..937ae1989292 --- /dev/null +++ b/code/controllers/configuration/entries/respawns.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/respawns.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/respawns.dm

/datum/config_entry/flag/respawns_enabledAllows usage of respawn system
/datum/config_entry/number/respawn_delayMinutes before allowing respawns.
/datum/config_entry/number/respawn_delay_cryoMinutes before allowing respawn, if user cryo'd.
/datum/config_entry/flag/allow_non_assistant_respawnAllows respawning as non-assistant. Overrides all others of this type.
/datum/config_entry/flag/allow_combat_role_respawnAllows respawning as a combat role, defined as security/head.
/datum/config_entry/flag/allow_same_character_respawnAllows respawning as the same character as a previous life
/datum/config_entry/flag/respawn_penalty_includes_observeObserving penalizes for respawns, not just joining.
/datum/config_entry/number/respawn_minimum_delay_roundstartMinutes from roundstart before someone can respawn
/datum/config_entry/keyed_list/respawn_chaos_gamemodesGamemode config tags that are banned from respawning
\ No newline at end of file diff --git a/code/controllers/configuration/entries/stamina_combat.html b/code/controllers/configuration/entries/stamina_combat.html new file mode 100644 index 000000000000..8513180f927e --- /dev/null +++ b/code/controllers/configuration/entries/stamina_combat.html @@ -0,0 +1 @@ +code/controllers/configuration/entries/stamina_combat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/stamina_combat.dm

/datum/config_entry/number/stamina_combat/buffer_maxMaximum stamina buffer
/datum/config_entry/number/stamina_combat/out_of_combat_timerSeconds until percent_regeneration_out_of_combat kicks in
/datum/config_entry/number/stamina_combat/base_regenerationBase regeneration per second
/datum/config_entry/number/stamina_combat/percent_regeneration_out_of_combatAfter out_of_combat_timer elapses, additionally regenerate this percent of total stamina per second. Unaffected by combat mode.
/datum/config_entry/number/stamina_combat/post_action_penalty_delaySeconds after an action for which your regeneration is penalized
/datum/config_entry/number/stamina_combat/post_action_penalty_factorFactor to multiply by for penalizing post-action-stamina-regen
/datum/config_entry/number/stamina_combat/overdraw_penalty_factorFactor to multiply by for stamina usage past buffer into health
\ No newline at end of file diff --git a/code/controllers/configuration/entries/vote.html b/code/controllers/configuration/entries/vote.html new file mode 100644 index 000000000000..46f74955748c --- /dev/null +++ b/code/controllers/configuration/entries/vote.html @@ -0,0 +1,4 @@ +code/controllers/configuration/entries/vote.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/configuration/entries/vote.dm

/datum/config_entry/number/vote_autotransfer_initialLength of time before the first autotransfer vote is called (deciseconds, default 2 hours) +Set to 0 to disable the subsystem altogether.
/datum/config_entry/number/vote_autotransfer_intervallength of time to wait before subsequent autotransfer votes (deciseconds, default 30 minutes)
/datum/config_entry/number/vote_autotransfer_maximummaximum extensions until the round autoends. +Set to 0 to force automatic crew transfer after the 'vote_autotransfer_initial' elapsed. +Set to -1 to disable the maximum extensions cap.
\ No newline at end of file diff --git a/code/controllers/failsafe.html b/code/controllers/failsafe.html new file mode 100644 index 000000000000..47790e1d62ed --- /dev/null +++ b/code/controllers/failsafe.html @@ -0,0 +1 @@ +code/controllers/failsafe.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/failsafe.dm

/var/FailsafeFailsafe
/proc/recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
/proc/delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
\ No newline at end of file diff --git a/code/controllers/hooks.html b/code/controllers/hooks.html new file mode 100644 index 000000000000..905f570f014e --- /dev/null +++ b/code/controllers/hooks.html @@ -0,0 +1,2 @@ +code/controllers/hooks.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/hooks.dm

/proc/callHook@file hooks.dm +Implements hooks, a simple way to run code on pre-defined events.
\ No newline at end of file diff --git a/code/controllers/master.html b/code/controllers/master.html new file mode 100644 index 000000000000..859d20284082 --- /dev/null +++ b/code/controllers/master.html @@ -0,0 +1 @@ +code/controllers/master.dm - SPLURT Station 13
SPLURT 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 000000000000..ef81c37e418c --- /dev/null +++ b/code/controllers/subsystem.html @@ -0,0 +1 @@ +code/controllers/subsystem.dm - SPLURT Station 13
SPLURT 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/chat.html b/code/controllers/subsystem/chat.html new file mode 100644 index 000000000000..09a1774c6383 --- /dev/null +++ b/code/controllers/subsystem/chat.html @@ -0,0 +1,2 @@ +code/controllers/subsystem/chat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/subsystem/chat.dm

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

\ No newline at end of file diff --git a/code/controllers/subsystem/garbage.html b/code/controllers/subsystem/garbage.html new file mode 100644 index 000000000000..3495c87bf4cd --- /dev/null +++ b/code/controllers/subsystem/garbage.html @@ -0,0 +1,14 @@ +code/controllers/subsystem/garbage.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/subsystem/garbage.dm

Debugging GC issues

+

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

+

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

+

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

+

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

+

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

+

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

/datum/qdel_itemQdel Item: Holds statistics on each type that passes thru qdel
/proc/qdelShould be treated as a replacement for the 'del' keyword.
\ No newline at end of file diff --git a/code/controllers/subsystem/jukeboxes.html b/code/controllers/subsystem/jukeboxes.html new file mode 100644 index 000000000000..19a5bb199518 --- /dev/null +++ b/code/controllers/subsystem/jukeboxes.html @@ -0,0 +1 @@ +code/controllers/subsystem/jukeboxes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/controllers/subsystem/jukeboxes.dm

TRACK_NAMEName of the track
TRACK_LENGTHLength of the track (in deciseconds)
TRACK_BEATBPM of the track (in deciseconds)
TRACK_IDUnique code-facing identifier for this track

Define Details

TRACK_BEAT

BPM of the track (in deciseconds)

TRACK_ID

Unique code-facing identifier for this track

TRACK_LENGTH

Length of the track (in deciseconds)

TRACK_NAME

Name of the track

\ No newline at end of file diff --git a/code/controllers/subsystem/materials.html b/code/controllers/subsystem/materials.html new file mode 100644 index 000000000000..941e09ebaa2f --- /dev/null +++ b/code/controllers/subsystem/materials.html @@ -0,0 +1,3 @@ +code/controllers/subsystem/materials.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/subsystem/materials.dm

How material datums work +Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything.

+

These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area

\ No newline at end of file diff --git a/code/controllers/subsystem/overlays.html b/code/controllers/subsystem/overlays.html new file mode 100644 index 000000000000..57b9d25771ca --- /dev/null +++ b/code/controllers/subsystem/overlays.html @@ -0,0 +1,4 @@ +code/controllers/subsystem/overlays.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/subsystem/overlays.dm

/proc/overlays2textConverts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get
/proc/realize_appearance_queueTakes a list of appearnces, makes them mutable so they can be properly vv'd and inspected
/proc/diff_appearancesTakes two appearances as args, prints out, logs, and returns a text representation of their differences +Including suboverlays
\ No newline at end of file diff --git a/code/controllers/subsystem/persistence/_persistence.html b/code/controllers/subsystem/persistence/_persistence.html new file mode 100644 index 000000000000..f7397c33bdd3 --- /dev/null +++ b/code/controllers/subsystem/persistence/_persistence.html @@ -0,0 +1 @@ +code/controllers/subsystem/persistence/_persistence.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/subsystem/persistence/_persistence.dm

/datum/controller/subsystem/persistencePersistence for cleanable debris.
\ No newline at end of file diff --git a/code/controllers/subsystem/runechat.html b/code/controllers/subsystem/runechat.html new file mode 100644 index 000000000000..d8fddaa19164 --- /dev/null +++ b/code/controllers/subsystem/runechat.html @@ -0,0 +1 @@ +code/controllers/subsystem/runechat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/controllers/subsystem/runechat.dm

BUCKET_LENControls how many buckets should be kept, each representing a tick. (30 seconds worth)
BUCKET_POSHelper for getting the correct bucket for a given chatmessage
BUCKET_LIMITGets the maximum time at which messages will be handled in buckets, used for deferring to secondary queue
/var/SSrunechat

Define Details

BUCKET_LEN

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

BUCKET_LIMIT

Gets the maximum time at which messages will be handled in buckets, used for deferring to secondary queue

BUCKET_POS

Helper for getting the correct bucket for a given chatmessage

\ No newline at end of file diff --git a/code/controllers/subsystem/tgui.html b/code/controllers/subsystem/tgui.html new file mode 100644 index 000000000000..f2fe2a996553 --- /dev/null +++ b/code/controllers/subsystem/tgui.html @@ -0,0 +1,2 @@ +code/controllers/subsystem/tgui.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/controllers/subsystem/tgui.dm

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

/var/SStguitgui subsystem
\ No newline at end of file diff --git a/code/controllers/subsystem/timer.html b/code/controllers/subsystem/timer.html new file mode 100644 index 000000000000..5e57f81acafd --- /dev/null +++ b/code/controllers/subsystem/timer.html @@ -0,0 +1,3 @@ +code/controllers/subsystem/timer.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/controllers/subsystem/timer.dm

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

Define Details

BUCKET_LEN

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

BUCKET_POS

Helper for getting the correct bucket for a given timer

TIMER_ID_MAX

Max float with integer precision

TIMER_MAX

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

\ No newline at end of file diff --git a/code/datums/achievements/_achievement_data.html b/code/datums/achievements/_achievement_data.html new file mode 100644 index 000000000000..a7a4b6d88333 --- /dev/null +++ b/code/datums/achievements/_achievement_data.html @@ -0,0 +1 @@ +code/datums/achievements/_achievement_data.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/achievements/_achievement_data.dm

/datum/achievement_dataDatum that handles
\ No newline at end of file diff --git a/code/datums/achievements/_awards.html b/code/datums/achievements/_awards.html new file mode 100644 index 000000000000..0cffb7cc70fe --- /dev/null +++ b/code/datums/achievements/_awards.html @@ -0,0 +1 @@ +code/datums/achievements/_awards.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/achievements/_awards.dm

/datum/award/achievementAchievements are one-off awards for usually doing cool things.
/datum/award/scoreScores are for leaderboarded things, such as killcount of a specific boss
\ No newline at end of file diff --git a/code/datums/achievements/mafia_achievements.html b/code/datums/achievements/mafia_achievements.html new file mode 100644 index 000000000000..3ede83c089d9 --- /dev/null +++ b/code/datums/achievements/mafia_achievements.html @@ -0,0 +1 @@ +code/datums/achievements/mafia_achievements.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/achievements/mafia_achievements.dm

/datum/award/achievement/mafia/assistantALL THE ACHIEVEMENTS FOR WINNING A ROUND AS A ROLE
/datum/award/achievement/mafia/universally_hatedALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES
\ No newline at end of file diff --git a/code/datums/achievements/misc_scores.html b/code/datums/achievements/misc_scores.html new file mode 100644 index 000000000000..fa3401876314 --- /dev/null +++ b/code/datums/achievements/misc_scores.html @@ -0,0 +1 @@ +code/datums/achievements/misc_scores.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/achievements/misc_scores.dm

/datum/award/score/hardcore_randomHow many times did we survive being a cripple?
/datum/award/score/maintenance_pillHow many maintenance pills did you eat?
/datum/award/score/intento_scoreHow high of a score on the Intento did we get?
\ No newline at end of file diff --git a/code/datums/alarm.html b/code/datums/alarm.html new file mode 100644 index 000000000000..e7ab8f571225 --- /dev/null +++ b/code/datums/alarm.html @@ -0,0 +1 @@ +code/datums/alarm.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/alarm.dm

/datum/alarm_handlerRepresents a single source of alarms, one alarm handler will only ever count for one alarm per listener
\ No newline at end of file diff --git a/code/datums/announcers/_announcer.html b/code/datums/announcers/_announcer.html new file mode 100644 index 000000000000..671e5f98b6c1 --- /dev/null +++ b/code/datums/announcers/_announcer.html @@ -0,0 +1 @@ +code/datums/announcers/_announcer.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/announcers/_announcer.dm

/datum/centcom_announcerData holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern
\ No newline at end of file diff --git a/code/datums/brain_damage/split_personality.html b/code/datums/brain_damage/split_personality.html new file mode 100644 index 000000000000..971367b179f2 --- /dev/null +++ b/code/datums/brain_damage/split_personality.html @@ -0,0 +1 @@ +code/datums/brain_damage/split_personality.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/brain_damage/split_personality.dm

/datum/brain_trauma/severe/split_personality/brainwashingBRAINWASHING
\ No newline at end of file diff --git a/code/datums/browser.html b/code/datums/browser.html new file mode 100644 index 000000000000..70022e028ff3 --- /dev/null +++ b/code/datums/browser.html @@ -0,0 +1 @@ +code/datums/browser.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/browser.dm

/proc/tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
\ No newline at end of file diff --git a/code/datums/callback.html b/code/datums/callback.html new file mode 100644 index 000000000000..6d403a847682 --- /dev/null +++ b/code/datums/callback.html @@ -0,0 +1 @@ +code/datums/callback.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/callback.dm

/datum/callbackA datum that holds a proc to be called on another object, used to track proccalls to other objects
/datum/callback_selectHelper datum for the select callbacks proc
/proc/callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
\ No newline at end of file diff --git a/code/datums/chatmessage.html b/code/datums/chatmessage.html new file mode 100644 index 000000000000..3a4003668119 --- /dev/null +++ b/code/datums/chatmessage.html @@ -0,0 +1 @@ +code/datums/chatmessage.dm - SPLURT Station 13
SPLURT 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_EXP_DECAYFactor of how much the message index (number of messages) will account to exponential decay
CHAT_MESSAGE_HEIGHT_DECAYFactor of how much height will account to exponential decay
CHAT_MESSAGE_APPROX_LHEIGHTApproximate height in pixels of an 'average' line, used for height decay
CHAT_MESSAGE_WIDTHMax width of chat message in pixels
CHAT_MESSAGE_MAX_LENGTHMax length of chat message in characters
CHAT_MESSAGE_ICON_SIZEThe dimensions of the chat message icons
CHAT_LAYER_Z_STEPMaximum precision of float before rounding errors occur (in this context)
CHAT_LAYER_MAX_ZThe number of z-layer 'slices' usable by the chat message layering
/datum/chatmessageDatum for generating a message overlay on the map

Define Details

CHAT_LAYER_MAX_Z

The number of z-layer 'slices' usable by the chat message layering

CHAT_LAYER_Z_STEP

Maximum precision of float before rounding errors occur (in this context)

CHAT_MESSAGE_APPROX_LHEIGHT

Approximate height in pixels of an 'average' line, used for height decay

CHAT_MESSAGE_EOL_FADE

How long the chat message's end of life fading animation will occur for

CHAT_MESSAGE_EXP_DECAY

Factor of how much the message index (number of messages) will account to exponential decay

CHAT_MESSAGE_HEIGHT_DECAY

Factor of how much height will account to exponential decay

CHAT_MESSAGE_ICON_SIZE

The dimensions of the chat message icons

CHAT_MESSAGE_LIFESPAN

How long the chat message will exist prior to any exponential decay

CHAT_MESSAGE_MAX_LENGTH

Max length of chat message in characters

CHAT_MESSAGE_SPAWN_TIME

How long the chat message's spawn-in animation will occur for

CHAT_MESSAGE_WIDTH

Max width of chat message in pixels

\ No newline at end of file diff --git a/code/datums/components.html b/code/datums/components.html new file mode 100644 index 000000000000..d3d8052bb313 --- /dev/null +++ b/code/datums/components.html @@ -0,0 +1,4 @@ +code/datums/components/README.md - SPLURT Station 13
SPLURT 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\components.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 000000000000..97f02c1239d0 --- /dev/null +++ b/code/datums/components/_component.html @@ -0,0 +1 @@ +code/datums/components/_component.dm - SPLURT Station 13
SPLURT 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/admin_popup.html b/code/datums/components/admin_popup.html new file mode 100644 index 000000000000..bdb15e3ce994 --- /dev/null +++ b/code/datums/components/admin_popup.html @@ -0,0 +1,3 @@ +code/datums/components/admin_popup.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/admin_popup.dm

/datum/component/admin_popupApplied to clients when they receive an admin popup, alerting them to +their ticket.
/atom/movable/screen/admin_popupThe UI element for admin popups
/proc/give_admin_popupTries to give the target an admin popup. +If it fails, will send the error to the passed admin.
\ No newline at end of file diff --git a/code/datums/components/area_sound_manager.html b/code/datums/components/area_sound_manager.html new file mode 100644 index 000000000000..4c237ac7048f --- /dev/null +++ b/code/datums/components/area_sound_manager.html @@ -0,0 +1 @@ +code/datums/components/area_sound_manager.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/area_sound_manager.dm

/datum/component/area_sound_managerAllows you to set a theme for a set of areas without tying them to looping sounds explicitly
\ No newline at end of file diff --git a/code/datums/components/butchering.html b/code/datums/components/butchering.html new file mode 100644 index 000000000000..bd603409804e --- /dev/null +++ b/code/datums/components/butchering.html @@ -0,0 +1 @@ +code/datums/components/butchering.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/butchering.dm

/datum/component/butchering/recyclerSpecial snowflake component only used for the recycler.
\ No newline at end of file diff --git a/code/datums/components/combat_mode.html b/code/datums/components/combat_mode.html new file mode 100644 index 000000000000..63d4c54a48b7 --- /dev/null +++ b/code/datums/components/combat_mode.html @@ -0,0 +1,3 @@ +code/datums/components/combat_mode.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/combat_mode.dm

/datum/component/combat_modeCombat mode component. It makes the user face whichever atom the mouse pointer is hovering, +amongst other things designed outside of this file, namely PvP and PvE stuff, hence the name. +Can be toggled on and off by clicking the screen hud object or by pressing the assigned hotkey (default 'C')
/atom/movable/screen/combattoggleThe screen button.
\ No newline at end of file diff --git a/code/datums/components/crafting/glassware/glassware.html b/code/datums/components/crafting/glassware/glassware.html new file mode 100644 index 000000000000..7b4a26ee6ce1 --- /dev/null +++ b/code/datums/components/crafting/glassware/glassware.html @@ -0,0 +1 @@ +code/datums/components/crafting/glassware/glassware.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/crafting/glassware/glassware.dm

/obj/item/glasswork/glass_base/dishChem Disk
/obj/item/glasswork/glass_base/glass_lensLens
/obj/item/glasswork/glass_base/spoutySpouty Flask
/obj/item/glasswork/glass_base/flask_smallSmall Bulb Flask
/obj/item/glasswork/glass_base/flask_largeLarge Bulb Flask
/obj/item/glasswork/glass_base/tea_plateTea Plates
/obj/item/glasswork/glass_base/tea_cupTea Cup
\ No newline at end of file diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.html b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.html new file mode 100644 index 000000000000..168cbb2fbc86 --- /dev/null +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.html @@ -0,0 +1 @@ +code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm

/datum/crafting_recipe/chemical_payloadBOMB CRAFTING
/datum/crafting_recipe/pipebowGUNS CRAFTING
/datum/crafting_recipe/arrowAMMO CRAFTING
\ No newline at end of file diff --git a/code/datums/components/dejavu.html b/code/datums/components/dejavu.html new file mode 100644 index 000000000000..717694e19cb2 --- /dev/null +++ b/code/datums/components/dejavu.html @@ -0,0 +1 @@ +code/datums/components/dejavu.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/dejavu.dm

/datum/component/dejavuA component to reset the parent to its previous state after some time passes
\ No newline at end of file diff --git a/code/datums/components/edible.html b/code/datums/components/edible.html new file mode 100644 index 000000000000..04752090d1b2 --- /dev/null +++ b/code/datums/components/edible.html @@ -0,0 +1,10 @@ +code/datums/components/edible.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/edible.dm

This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could. +Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: +Components: +Drying component (jerky etc) +Customizable component (custom pizzas etc) +Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) +Dunkable component (Dunking things into reagent containers to absorb a specific amount of reagents) +Misc: +Something for cakes (You can store things inside)

\ No newline at end of file diff --git a/code/datums/components/explodable.html b/code/datums/components/explodable.html new file mode 100644 index 000000000000..c0a582182c95 --- /dev/null +++ b/code/datums/components/explodable.html @@ -0,0 +1 @@ +code/datums/components/explodable.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/explodable.dm

/datum/component/explodableComponent specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.
\ No newline at end of file diff --git a/code/datums/components/fantasy/suffixes.html b/code/datums/components/fantasy/suffixes.html new file mode 100644 index 000000000000..3c68a66f612b --- /dev/null +++ b/code/datums/components/fantasy/suffixes.html @@ -0,0 +1 @@ +code/datums/components/fantasy/suffixes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/fantasy/suffixes.dm

/datum/fantasy_affix/baneGood suffixes
/datum/fantasy_affix/foolBad suffixes
\ No newline at end of file diff --git a/code/datums/components/field_of_vision.html b/code/datums/components/field_of_vision.html new file mode 100644 index 000000000000..30507b85bac4 --- /dev/null +++ b/code/datums/components/field_of_vision.html @@ -0,0 +1,8 @@ +code/datums/components/field_of_vision.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/datums/components/field_of_vision.dm

/datum/component/field_of_visionField of Vision component. Does totally what you probably think it does, +ergo preventing players from seeing what's behind them.
FOV_ANGLE_CHECKByond doc is not entirely correct on the integrated arctan() proc. +When both x and y are negative, the output is also negative, cycling clockwise instead of counter-clockwise. +That's also why I am extensively using the SIMPLIFY_DEGREES macro here.
/atom/movable/fov_holderThe shadow cone's mask and visual images holder which can't locate inside the mob, +lest they inherit the mob opacity and cause a lot of hindrance

Define Details

FOV_ANGLE_CHECK

Byond doc is not entirely correct on the integrated arctan() proc. +When both x and y are negative, the output is also negative, cycling clockwise instead of counter-clockwise. +That's also why I am extensively using the SIMPLIFY_DEGREES macro here.

+

Overall this is the main macro that calculates wheter a target is within the shadow cone angle or not.

\ 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 000000000000..31189ac82038 --- /dev/null +++ b/code/datums/components/footstep.html @@ -0,0 +1 @@ +code/datums/components/footstep.dm - SPLURT Station 13
SPLURT 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/fried.html b/code/datums/components/fried.html new file mode 100644 index 000000000000..30416150eabb --- /dev/null +++ b/code/datums/components/fried.html @@ -0,0 +1,2 @@ +code/datums/components/fried.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/fried.dm

This component essentially encapsulates frying and utilizes the edible component +This means fried items can work like regular ones, and generally the code is far less messy

\ No newline at end of file diff --git a/code/datums/components/gps.html b/code/datums/components/gps.html new file mode 100644 index 000000000000..10f929e802b6 --- /dev/null +++ b/code/datums/components/gps.html @@ -0,0 +1 @@ +code/datums/components/gps.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/gps.dm

/datum/component/gpsGPS component. Atoms that have this show up on gps. Pretty simple stuff.
/datum/component/gps/itemGPS component subtype. Only gps/item's can be used to open the UI.
\ No newline at end of file diff --git a/code/datums/components/identification.html b/code/datums/components/identification.html new file mode 100644 index 000000000000..121b8d174772 --- /dev/null +++ b/code/datums/components/identification.html @@ -0,0 +1 @@ +code/datums/components/identification.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/identification.dm

/datum/component/identificationIdentification components
/datum/component/identification/syndicateIdentification component subtype - Syndicate
\ No newline at end of file diff --git a/code/datums/components/killerqueen.html b/code/datums/components/killerqueen.html new file mode 100644 index 000000000000..8bc3cda1a659 --- /dev/null +++ b/code/datums/components/killerqueen.html @@ -0,0 +1 @@ +code/datums/components/killerqueen.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/killerqueen.dm

/datum/component/killerqueenKILLER QUEEN
\ 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 000000000000..df9e142dd770 --- /dev/null +++ b/code/datums/components/label.html @@ -0,0 +1 @@ +code/datums/components/label.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/label.dm

/datum/component/labelThe label component.
\ No newline at end of file diff --git a/code/datums/components/material_container.html b/code/datums/components/material_container.html new file mode 100644 index 000000000000..4ff06805dac0 --- /dev/null +++ b/code/datums/components/material_container.html @@ -0,0 +1,7 @@ +code/datums/components/material_container.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/material_container.dm

This datum should be used for handling mineral contents of machines and whatever else is supposed to hold minerals and make use of them.

+

Variables: +amount - raw amount of the mineral this container is holding, calculated by the defined value MINERAL_MATERIAL_AMOUNT=2000. +max_amount - max raw amount of mineral this container can hold. +sheet_type - type of the mineral sheet the container handles, used for output. +parent - object that this container is being used by, used for output. +MAX_STACK_SIZE - size of a stack of mineral sheets. Constant.

\ No newline at end of file diff --git a/code/datums/components/multiple_lives.html b/code/datums/components/multiple_lives.html new file mode 100644 index 000000000000..7519ad55dd3a --- /dev/null +++ b/code/datums/components/multiple_lives.html @@ -0,0 +1,2 @@ +code/datums/components/multiple_lives.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/multiple_lives.dm

/datum/component/multiple_livesA simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.
\ No newline at end of file diff --git a/code/datums/components/nanites.html b/code/datums/components/nanites.html new file mode 100644 index 000000000000..39fda6221b8f --- /dev/null +++ b/code/datums/components/nanites.html @@ -0,0 +1 @@ +code/datums/components/nanites.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/nanites.dm

/datum/component/nanites/permanentSubtype that doesn't erase itself from running out
\ No newline at end of file diff --git a/code/datums/components/omen.html b/code/datums/components/omen.html new file mode 100644 index 000000000000..6f331180d1b5 --- /dev/null +++ b/code/datums/components/omen.html @@ -0,0 +1 @@ +code/datums/components/omen.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/omen.dm

/datum/component/omenomen.dm: For when you want someone to have a really bad day
\ No newline at end of file diff --git a/code/datums/components/plumbing/_plumbing.html b/code/datums/components/plumbing/_plumbing.html new file mode 100644 index 000000000000..0f15fba40db7 --- /dev/null +++ b/code/datums/components/plumbing/_plumbing.html @@ -0,0 +1 @@ +code/datums/components/plumbing/_plumbing.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/plumbing/_plumbing.dm

/datum/component/plumbing/simple_demandhas one pipe input that only takes, example is manual output pipe
/datum/component/plumbing/simple_supplyhas one pipe output that only supplies. example is liquid pump and manual input pipe
/datum/component/plumbing/tankinput and output, like a holding tank
\ No newline at end of file diff --git a/code/datums/components/plumbing/filter.html b/code/datums/components/plumbing/filter.html new file mode 100644 index 000000000000..4eddec789262 --- /dev/null +++ b/code/datums/components/plumbing/filter.html @@ -0,0 +1 @@ +code/datums/components/plumbing/filter.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/plumbing/filter.dm

/datum/component/plumbing/filterThe magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter
\ No newline at end of file diff --git a/code/datums/components/riding.html b/code/datums/components/riding.html new file mode 100644 index 000000000000..4a60ab3538f1 --- /dev/null +++ b/code/datums/components/riding.html @@ -0,0 +1 @@ +code/datums/components/riding.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/riding.dm

/datum/component/riding/humanYes, I said humans. No, this won't end well...
\ No newline at end of file diff --git a/code/datums/components/storage/concrete/tcg.html b/code/datums/components/storage/concrete/tcg.html new file mode 100644 index 000000000000..90f95a1f333c --- /dev/null +++ b/code/datums/components/storage/concrete/tcg.html @@ -0,0 +1 @@ +code/datums/components/storage/concrete/tcg.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/storage/concrete/tcg.dm

/datum/component/storage/concrete/tcgA storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!
\ No newline at end of file diff --git a/code/datums/components/tackle.html b/code/datums/components/tackle.html new file mode 100644 index 000000000000..11fae930ca0f --- /dev/null +++ b/code/datums/components/tackle.html @@ -0,0 +1 @@ +code/datums/components/tackle.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/tackle.dm

/datum/component/tackler#tackle.dm
\ No newline at end of file diff --git a/code/datums/components/twitch_plays.html b/code/datums/components/twitch_plays.html new file mode 100644 index 000000000000..62ba5b16a675 --- /dev/null +++ b/code/datums/components/twitch_plays.html @@ -0,0 +1 @@ +code/datums/components/twitch_plays.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/twitch_plays.dm

/datum/component/twitch_playsObservers voting on things through orbiting
/datum/component/twitch_plays/simple_movementSimple movement one
\ No newline at end of file diff --git a/code/datums/components/twohanded.html b/code/datums/components/twohanded.html new file mode 100644 index 000000000000..7bc9be2de3d9 --- /dev/null +++ b/code/datums/components/twohanded.html @@ -0,0 +1 @@ +code/datums/components/twohanded.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/twohanded.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/components/uplink.html b/code/datums/components/uplink.html new file mode 100644 index 000000000000..36be1e594f6d --- /dev/null +++ b/code/datums/components/uplink.html @@ -0,0 +1 @@ +code/datums/components/uplink.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/uplink.dm

/datum/component/uplinkUplinks
\ No newline at end of file diff --git a/code/datums/components/virtual_reality.html b/code/datums/components/virtual_reality.html new file mode 100644 index 000000000000..21284b0eecca --- /dev/null +++ b/code/datums/components/virtual_reality.html @@ -0,0 +1,6 @@ +code/datums/components/virtual_reality.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/components/virtual_reality.dm

/datum/component/virtual_realityThe virtual reality turned component. +Originally created to overcome issues of mob polymorphing locking the player inside virtual reality +and allow for a more "immersive" virtual reality in a virtual reality experience. +It relies on comically complex order of logic, expect things to break if procs such as mind/transfer_to() are revamped. +In short, a barebone not so hardcoded VR framework. +If you plan to add more devices that make use of this component, remember to isolate their code outta here where possible.
\ No newline at end of file diff --git a/code/datums/datum.html b/code/datums/datum.html new file mode 100644 index 000000000000..bbbcd62be35d --- /dev/null +++ b/code/datums/datum.html @@ -0,0 +1 @@ +code/datums/datum.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/datum.dm

/datumThe absolute base class for everything
/proc/json_serialize_datumConvert a datum into a json blob
/proc/json_deserialize_datumConvert a list of json to datum
/proc/end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
/proc/reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
\ No newline at end of file diff --git a/code/datums/dna.html b/code/datums/dna.html new file mode 100644 index 000000000000..a94b7a8ba184 --- /dev/null +++ b/code/datums/dna.html @@ -0,0 +1 @@ +code/datums/dna.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/dna.dm

/datum/dnaDNA DATUM
/proc/getleftblocksDNA HELPER-PROCS
\ No newline at end of file diff --git a/code/datums/ductnet.html b/code/datums/ductnet.html new file mode 100644 index 000000000000..12eafbcbfc7f --- /dev/null +++ b/code/datums/ductnet.html @@ -0,0 +1 @@ +code/datums/ductnet.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/ductnet.dm

/datum/ductnetWe handle the unity part of plumbing. We track who is connected to who.
\ 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 000000000000..7e0b6adf2592 --- /dev/null +++ b/code/datums/elements/_element.html @@ -0,0 +1 @@ +code/datums/elements/_element.dm - SPLURT Station 13
SPLURT 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/bed_tucking.html b/code/datums/elements/bed_tucking.html new file mode 100644 index 000000000000..d1b32670e6b2 --- /dev/null +++ b/code/datums/elements/bed_tucking.html @@ -0,0 +1 @@ +code/datums/elements/bed_tucking.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/bed_tucking.dm

/datum/element/bed_tuckableTucking element, for things that can be tucked into bed.
\ 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 000000000000..28bf95e2de95 --- /dev/null +++ b/code/datums/elements/connect_loc.html @@ -0,0 +1,2 @@ +code/datums/elements/connect_loc.dm - SPLURT Station 13
SPLURT 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/dwarfism.html b/code/datums/elements/dwarfism.html new file mode 100644 index 000000000000..b9b4b1af9643 --- /dev/null +++ b/code/datums/elements/dwarfism.html @@ -0,0 +1 @@ +code/datums/elements/dwarfism.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/dwarfism.dm

/datum/element/dwarfismVery similar to squish, but for dwarves and shorties
\ No newline at end of file diff --git a/code/datums/elements/firestacker.html b/code/datums/elements/firestacker.html new file mode 100644 index 000000000000..3637eb5cdca2 --- /dev/null +++ b/code/datums/elements/firestacker.html @@ -0,0 +1 @@ +code/datums/elements/firestacker.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/firestacker.dm

/datum/element/firestackerCan be applied to /atom/movable subtypes to make them apply fire stacks to things they hit
\ No newline at end of file diff --git a/code/datums/elements/item_scaling.html b/code/datums/elements/item_scaling.html new file mode 100644 index 000000000000..5cca907ecf84 --- /dev/null +++ b/code/datums/elements/item_scaling.html @@ -0,0 +1 @@ +code/datums/elements/item_scaling.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/item_scaling.dm

/datum/element/item_scalingElement for scaling item appearances in the overworld or in inventory/storage.
\ No newline at end of file diff --git a/code/datums/elements/screentips.html b/code/datums/elements/screentips.html new file mode 100644 index 000000000000..62b3ec3e214a --- /dev/null +++ b/code/datums/elements/screentips.html @@ -0,0 +1,92 @@ +code/datums/elements/screentips/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Contextual screentips (and when to not use this folder)

Contextual screentips provide information in the form of text at the top of your screen to inform you of the possibilities of an item. The "contextual" here refers to this being handled entirely through code, what it displays and when is completely up to you.

+

The elements (and this folder)

+

This folder provides several useful shortcuts to be able to handle 95% of situations.

+

/datum/element/contextual_screentip_bare_hands

+

This element is used to display screentips when the user hovers over the object with nothing in their active hand.

+

It takes parameters in the form of both non-combat mode and, optionally, combat mode.

+

Example:

+
/obj/machinery/firealarm/Initialize(mapload)
+	. = ..()
+
+	AddElement( \
+		/datum/element/contextual_screentip_bare_hands, \
+		lmb_text = list(INTENT_HELP = "Turn on"), \
+		rmb_text = list(INTENT_HELP = "Turn off"), \
+	)
+
+

This will display "LMB: Turn on | RMB: Turn off" when the user hovers over a fire alarm with an empty active hand.

+

/datum/element/contextual_screentip_tools

+

This element takes a map of tool behaviors to context lists. These will be displayed when the user hovers over the object with an item that has the tool behavior.

+

Example:

+
/obj/structure/table/Initialize(mapload)
+	if (!(flags_1 & NODECONSTRUCT_1))
+		var/static/list/tool_behaviors = list(
+			TOOL_SCREWDRIVER = list(
+				SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Disassemble"),
+			),
+
+			TOOL_WRENCH = list(
+				SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Deconstruct"),
+			),
+		)
+
+		AddElement(/datum/element/contextual_screentip_tools, tool_behaviors)
+
+

This will display "LMB: Deconstruct" when the user hovers over a table with a wrench.

+

/datum/element/contextual_screentip_item_typechecks

+

This element takes a map of item typepaths to context lists. These will be displayed when the user hovers over the object with the selected item.

+

Example:

+
/obj/item/restraints/handcuffs/cable/Initialize(mapload)
+	. = ..()
+
+	var/static/list/hovering_item_typechecks = list(
+		/obj/item/stack/rods = list(
+			SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft wired rod"),
+		),
+
+		/obj/item/stack/sheet/iron = list(
+			SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft bola"),
+		),
+	)
+
+	AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks)
+
+

This will display "LMB: Craft bola" when the user hovers over cable restraints with metal in their hand.

+

The basic system (and when to not use this folder)

+

The basic system acknowledges the following two interactions:

+

Self-defining items (Type A)

+

These are items that are defined by their behavior. These should define their contextual text within themselves, and not in their targets.

+
    +
  • Stun batons (LMB to stun, RMB to harm)
  • +
  • Syringes (LMB to inject, RMB to draw)
  • +
  • Health analyzers (LMB to scan for health/wounds [another piece of context], RMB to scans for chemicals)
  • +
+

Receiving action defining objects (Type B)

+

These are objects (not necessarily items) that are defined by what happens to them. These should define their contextual text within themselves, and not in their operating tools.

+
    +
  • Tables (RMB with wrench to deconstruct)
  • +
  • Construction objects (LMB with glass to put in screen for computers)
  • +
  • Carbon copies (RMB to take a copy)
  • +
+
+

Both of these are supported, and can be hooked to through several means.

+

Note that you must return CONTEXTUAL_SCREENTIP_SET if you change the contextual screentip at all, otherwise you may not see it.

+

COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET

+

This signal is registered on items, and receives the hovering object, provided in the form of obj/item/source, list/context, atom/target, mob/living/user.

+

/atom/proc/register_item_context(), and /atom/proc/add_item_context()

+

/atom/proc/add_item_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET: obj/item/source, list/context, atom/target, mob/living/user.

+

In order for your add_item_context() method to be run, you must call register_item_context().

+

COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM

+

This signal is registered on atoms, and receives what the user is hovering with, provided in the form of atom/source, list/context, obj/item/held_item, mob/living/user.

+

/atom/proc/register_context(), and /atom/proc/add_context()

+

/atom/proc/add_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM: atom/source, list/context, obj/item/held_item, mob/living/user.

+

In order for your add_context() method to be run, you must call register_context().

+
+

When using any of these methods, you will receive a mutable context list.

+

Context lists

+

Context lists are lists with keys mapping from SCREENTIP_CONTEXT_* to a string. You can find these keys in code/__DEFINES/screentips.dm.

+

The signals and add_context() variants mutate the list directly, while shortcut elements will just have you pass them in directly.

+

For example:

+
context[SCREENTIP_CONTEXT_LMB] = "Open"
+context[SCREENTIP_CONTEXT_RMB] = "Destroy"
+
\ No newline at end of file diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.html b/code/datums/elements/screentips/contextual_screentip_bare_hands.html new file mode 100644 index 000000000000..6bcc79f31a7b --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.html @@ -0,0 +1,3 @@ +code/datums/elements/screentips/contextual_screentip_bare_hands.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/screentips/contextual_screentip_bare_hands.dm

/datum/element/contextual_screentip_bare_handsApply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
\ No newline at end of file diff --git a/code/datums/elements/screentips/contextual_screentip_item_typechecks.html b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html new file mode 100644 index 000000000000..ec9180506eb8 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html @@ -0,0 +1,3 @@ +code/datums/elements/screentips/contextual_screentip_item_typechecks.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/screentips/contextual_screentip_item_typechecks.dm

/datum/element/contextual_screentip_item_typechecksApply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
\ No newline at end of file diff --git a/code/datums/elements/screentips/contextual_screentip_sharpness.html b/code/datums/elements/screentips/contextual_screentip_sharpness.html new file mode 100644 index 000000000000..6598a08ba072 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_sharpness.html @@ -0,0 +1,3 @@ +code/datums/elements/screentips/contextual_screentip_sharpness.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/screentips/contextual_screentip_sharpness.dm

/datum/element/contextual_screentip_sharpnessApply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
\ No newline at end of file diff --git a/code/datums/elements/screentips/contextual_screentip_tools.html b/code/datums/elements/screentips/contextual_screentip_tools.html new file mode 100644 index 000000000000..e1185bcdc83c --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_tools.html @@ -0,0 +1,3 @@ +code/datums/elements/screentips/contextual_screentip_tools.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/screentips/contextual_screentip_tools.dm

/datum/element/contextual_screentip_toolsApply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
\ No newline at end of file diff --git a/code/datums/elements/series.html b/code/datums/elements/series.html new file mode 100644 index 000000000000..8e52b7aa45d5 --- /dev/null +++ b/code/datums/elements/series.html @@ -0,0 +1 @@ +code/datums/elements/series.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/series.dm

/datum/element/series
\ 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 000000000000..0eacd57b9f27 --- /dev/null +++ b/code/datums/elements/strippable.html @@ -0,0 +1 @@ +code/datums/elements/strippable.dm - SPLURT Station 13
SPLURT 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/elements/swimming.html b/code/datums/elements/swimming.html new file mode 100644 index 000000000000..4e106e86d635 --- /dev/null +++ b/code/datums/elements/swimming.html @@ -0,0 +1 @@ +code/datums/elements/swimming.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/swimming.dm

/datum/element/swimmingJust for marking when someone's swimming.
\ No newline at end of file diff --git a/code/datums/elements/weather_listener.html b/code/datums/elements/weather_listener.html new file mode 100644 index 000000000000..aae9c9efec71 --- /dev/null +++ b/code/datums/elements/weather_listener.html @@ -0,0 +1 @@ +code/datums/elements/weather_listener.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/elements/weather_listener.dm

/datum/element/weather_listenerThis element just handles creating and destroying an area sound manager that's hooked into weather stuff
\ No newline at end of file diff --git a/code/datums/explosion2.html b/code/datums/explosion2.html new file mode 100644 index 000000000000..dea8daf7916a --- /dev/null +++ b/code/datums/explosion2.html @@ -0,0 +1 @@ +code/datums/explosion2.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/explosion2.dm

/proc/wave_explosionCreates a wave explosion at a certain place
/datum/wave_explosionNew force-blastwave explosion system
\ No newline at end of file diff --git a/code/datums/helper_datums/stack_end_detector.html b/code/datums/helper_datums/stack_end_detector.html new file mode 100644 index 000000000000..c25d463bd0dc --- /dev/null +++ b/code/datums/helper_datums/stack_end_detector.html @@ -0,0 +1,2 @@ +code/datums/helper_datums/stack_end_detector.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/helper_datums/stack_end_detector.dm

/datum/stack_end_detectorStack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.
/datum/stack_canaryStack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.
\ No newline at end of file diff --git a/code/datums/mapgen/_MapGenerator.html b/code/datums/mapgen/_MapGenerator.html new file mode 100644 index 000000000000..783c3d541197 --- /dev/null +++ b/code/datums/mapgen/_MapGenerator.html @@ -0,0 +1 @@ +code/datums/mapgen/_MapGenerator.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/mapgen/_MapGenerator.dm

/datum/map_generatorThis type is responsible for any map generation behavior that is done in areas, override this to allow for area-specific map generation. This generation is ran by areas in initialize.
\ No newline at end of file diff --git a/code/datums/mapgen/biomes/_biome.html b/code/datums/mapgen/biomes/_biome.html new file mode 100644 index 000000000000..e5bd582d1fce --- /dev/null +++ b/code/datums/mapgen/biomes/_biome.html @@ -0,0 +1 @@ +code/datums/mapgen/biomes/_biome.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/mapgen/biomes/_biome.dm

/datum/biomeThis datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.
\ No newline at end of file diff --git a/code/datums/martial/cqc.html b/code/datums/martial/cqc.html new file mode 100644 index 000000000000..d0f708191667 --- /dev/null +++ b/code/datums/martial/cqc.html @@ -0,0 +1 @@ +code/datums/martial/cqc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/martial/cqc.dm

/datum/martial_art/cqc/under_siegeSubtype of CQC. Only used for the chef.
\ No newline at end of file diff --git a/code/datums/materials/_material.html b/code/datums/materials/_material.html new file mode 100644 index 000000000000..78a0bf84751a --- /dev/null +++ b/code/datums/materials/_material.html @@ -0,0 +1,2 @@ +code/datums/materials/_material.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/materials/_material.dm

Material datum

+

Simple datum which is instanced once per type and is used for every object of said material. It has a variety of variables that define behavior. Subtyping from this makes it easier to create your own materials.

\ No newline at end of file diff --git a/code/datums/materials/basemats.html b/code/datums/materials/basemats.html new file mode 100644 index 000000000000..42e1691e3d9d --- /dev/null +++ b/code/datums/materials/basemats.html @@ -0,0 +1 @@ +code/datums/materials/basemats.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/materials/basemats.dm

/datum/material/ironHas no special properties.
/datum/material/glassBreaks extremely easily but is transparent.
/datum/material/silverHas no special properties. Could be good against vampires in the future perhaps.
/datum/material/goldSlight force decrease. It's gold, it's soft as fuck.
/datum/material/diamondSmall force increase, for diamond swords
/datum/material/uraniumIs slightly radioactive
/datum/material/plasmaAdds firestacks on hit (Still needs support to turn into gas on destruction)
/datum/material/bluespaceCan cause bluespace effects on use. (Teleportation) (Not yet implemented)
/datum/material/bananiumHonks and slips
/datum/material/titaniumMediocre force increase
/datum/material/plasticForce decrease
/datum/material/biomassForce decrease and mushy sound effect. (Not yet implemented)
/datum/material/adamantineStronk force increase
/datum/material/mythrilRPG Magic. (Admin only)
\ No newline at end of file diff --git a/code/datums/materials/meat.html b/code/datums/materials/meat.html new file mode 100644 index 000000000000..f365f261b6e9 --- /dev/null +++ b/code/datums/materials/meat.html @@ -0,0 +1 @@ +code/datums/materials/meat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/materials/meat.dm

/datum/material/meatIt's gross, gets the name of it's owner, and is all kinds of fucked up
\ No newline at end of file diff --git a/code/datums/mocking/client.html b/code/datums/mocking/client.html new file mode 100644 index 000000000000..a346355fb7e1 --- /dev/null +++ b/code/datums/mocking/client.html @@ -0,0 +1 @@ +code/datums/mocking/client.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/mocking/client.dm

/datum/client_interfaceThis should match the interface of /client wherever necessary.
\ No newline at end of file diff --git a/code/datums/mutations/sight.html b/code/datums/mutations/sight.html new file mode 100644 index 000000000000..88676230c152 --- /dev/null +++ b/code/datums/mutations/sight.html @@ -0,0 +1 @@ +code/datums/mutations/sight.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/mutations/sight.dm

/datum/mutation/human/thermalThermal Vision lets you see mobs through walls
/datum/mutation/human/thermal/x_rayX-ray Vision lets you see through walls.
\ No newline at end of file diff --git a/code/datums/outfit.html b/code/datums/outfit.html new file mode 100644 index 000000000000..17925b1b30ba --- /dev/null +++ b/code/datums/outfit.html @@ -0,0 +1,2 @@ +code/datums/outfit.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/outfit.dm

/datum/outfitThis is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.
\ No newline at end of file diff --git a/code/datums/ruins/maint.html b/code/datums/ruins/maint.html new file mode 100644 index 000000000000..f390460121ad --- /dev/null +++ b/code/datums/ruins/maint.html @@ -0,0 +1 @@ +code/datums/ruins/maint.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/ruins/maint.dm

/datum/map_template/ruin/station/maintBase for all station ruins.
/datum/map_template/ruin/station/maint/threexthreeBase for the 3x3 rooms.
/datum/map_template/ruin/station/maint/threexthree/memorialMemorial- a memorial to those who died when constructing ss13. Author: Jcat
/datum/map_template/ruin/station/maint/threexthree/singularitySingularity- A fake singularity surrounded by space tiles and some sing-themed equipment. Author: Jcat
/datum/map_template/ruin/station/maint/threexthree/commandAuthor: SergeyMeyer
/datum/map_template/ruin/station/maint/threexthree/dummyAuthor: SergeyMeyer
/datum/map_template/ruin/station/maint/threexthree/spaceartAuthor: SergeyMeyer
/datum/map_template/ruin/station/maint/threexthree/vendoraccidentAuthor: Vaelophis
/datum/map_template/ruin/station/maint/threexthree/donutAuthor: Gravehat
/datum/map_template/ruin/station/maint/threexthree/lairAuthor: Marmio64
/datum/map_template/ruin/station/maint/threexthree/lair2Author: Marmio64
/datum/map_template/ruin/station/maint/threexthree/lair3Author: Marmio64
/datum/map_template/ruin/station/maint/threexthree/lair4Author: Marmio64
/datum/map_template/ruin/station/maint/threexfiveThe base for the 3x5 rooms.
/datum/map_template/ruin/station/maint/threexfive/airlockstorageAirlockstorage- A room that stores a few airlock assemblies and related equipment. Author: Jcat
/datum/map_template/ruin/station/maint/threexfive/checkpointCheckpoint- A security checkpoint. Glory to NT! Author: Jcat
/datum/map_template/ruin/station/maint/threexfive/onioncultOnioncult- Fake clock cult walls, and an onion. Author: Ezhan
/datum/map_template/ruin/station/maint/threexfive/churchroachAuthor: SergeyMeyer
/datum/map_template/ruin/station/maint/threexfive/mirrorAuthor: SergeyMeyer
/datum/map_template/ruin/station/maint/fivexthreeThe base for the 5x3 rooms.
/datum/map_template/ruin/station/maint/fivexthree/breachBreach- a room with metal foam floors and walls. Author: Jcat
/datum/map_template/ruin/station/maint/fivexthree/smallfishAuthor: Vaelophis
/datum/map_template/ruin/station/maint/fivexthree/podminAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/fivexthree/waitingroomAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/fivexthree/highqualitysurgeryAuthor: SergeyMeyer
/datum/map_template/ruin/station/maint/fivexfourThe base for the 5x4 rooms.
/datum/map_template/ruin/station/maint/fivexfour/blastedBlasted-the aftermath of smoking gone wrong. Author: Jcat
/datum/map_template/ruin/station/maint/fivexfour/passAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/fivexfour/laundromatAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/fivexfour/icicleIcicle-brrr its cold! Author: Jcat
/datum/map_template/ruin/station/maint/fivexfour/medusaMedusa- some nerds got turned to stone. Or is it just an artpiece? Author: Jcat
/datum/map_template/ruin/station/maint/fivexfour/boxclutterAuthor: VeebleFetzer
/datum/map_template/ruin/station/maint/fivexfour/posterstoreAuthor: VeebleFetzer
/datum/map_template/ruin/station/maint/fivexfour/shoestoreAuthor: SergeyMeyer
/datum/map_template/ruin/station/maint/tenxfiveThe base for the 10x5 rooms
/datum/map_template/ruin/station/maint/tenxfive/factoryFactory-this is how they made crowbars before autolathes. Author: Jcat
/datum/map_template/ruin/station/maint/tenxfive/insomniaInsomina-The den of an NTnet conspiracy theorist. He's right, you know. Author: Jcat
/datum/map_template/ruin/station/maint/tenxfive/transitTransit: a super pointless transit tube journey. Everyone loves waiting! Author: Jcat
/datum/map_template/ruin/station/maint/tenxfive/ballpitAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxfive/commieAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxfive/firingrangeAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxfive/clothingstoreAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxfive/tank_heavenAuthor: Vaelophis
/datum/map_template/ruin/station/maint/tenxfive/bambooAuthor: Gravehat
/datum/map_template/ruin/station/maint/tenxfive/medicalmaintAuthor: Gravehat
/datum/map_template/ruin/station/maint/tenxtenThe base for the 10x10 rooms.
/datum/map_template/ruin/station/maint/tenxten/aquariumAquarium-NT scientists study space marine life. Author: Jcat
/datum/map_template/ruin/station/maint/tenxten/junctionJunction- sometimes in life, you can only go forward. Author: Jcat
/datum/map_template/ruin/station/maint/tenxten/lasertagLasertag-Author: Jcat
/datum/map_template/ruin/station/maint/tenxten/vaultVault- A 'heavily guarded' vault. Author: Jcat
/datum/map_template/ruin/station/maint/tenxten/wardWard-outbreak gone wrong. Author: Jcat
/datum/map_template/ruin/station/maint/tenxten/assaultpodAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxten/mazeAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxten/maze2Author: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxten/boxfactoryAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxten/fourshopsAuthor: Veeblefetzer
/datum/map_template/ruin/station/maint/tenxten/fishingholeAuthor: Vaelophis
\ No newline at end of file diff --git a/code/datums/skills/_skill.html b/code/datums/skills/_skill.html new file mode 100644 index 000000000000..6a7373eb0f40 --- /dev/null +++ b/code/datums/skills/_skill.html @@ -0,0 +1 @@ +code/datums/skills/_skill.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/skills/_skill.dm

/datum/skillSkill datums
/datum/skill/levelClassing r p g styled skills, tiered by lvl, and current/nextlvl experience.
\ No newline at end of file diff --git a/code/datums/skills/_skill_holder.html b/code/datums/skills/_skill_holder.html new file mode 100644 index 000000000000..ef88247f95ea --- /dev/null +++ b/code/datums/skills/_skill_holder.html @@ -0,0 +1,2 @@ +code/datums/skills/_skill_holder.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/skills/_skill_holder.dm

/datum/skill_holderSkill holder datums +All procs are tied to the mind, since they are always expected to have a skill holder anyway.
\ No newline at end of file diff --git a/code/datums/skills/_skill_modifier.html b/code/datums/skills/_skill_modifier.html new file mode 100644 index 000000000000..b98edd197e35 --- /dev/null +++ b/code/datums/skills/_skill_modifier.html @@ -0,0 +1,2 @@ +code/datums/skills/_skill_modifier.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/skills/_skill_modifier.dm

/datum/skill_modifierBase skill modifier datum, used to modify a player skills without directly touching their values, levels and affinity +and cause lots of edge cases. These are fairly simple overall... make a subtype though, don't use this one.
\ No newline at end of file diff --git a/code/datums/skills/modifiers/job.html b/code/datums/skills/modifiers/job.html new file mode 100644 index 000000000000..1b42959abb66 --- /dev/null +++ b/code/datums/skills/modifiers/job.html @@ -0,0 +1 @@ +code/datums/skills/modifiers/job.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/skills/modifiers/job.dm

/datum/skill_modifier/jobJobbie skill modifiers.
/datum/skill_modifier/job/levelLevel skill modifiers below.
\ No newline at end of file diff --git a/code/datums/soullink.html b/code/datums/soullink.html new file mode 100644 index 000000000000..e81ab2ce855c --- /dev/null +++ b/code/datums/soullink.html @@ -0,0 +1 @@ +code/datums/soullink.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/soullink.dm

/mob/livingMob Living
\ 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 000000000000..f41b938145f5 --- /dev/null +++ b/code/datums/station_traits/_station_trait.html @@ -0,0 +1 @@ +code/datums/station_traits/_station_trait.dm - SPLURT Station 13
SPLURT 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/status_effects/debuffs.html b/code/datums/status_effects/debuffs.html new file mode 100644 index 000000000000..cc3fbafb97cd --- /dev/null +++ b/code/datums/status_effects/debuffs.html @@ -0,0 +1 @@ +code/datums/status_effects/debuffs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/datums/status_effects/debuffs.dm

HEALING_SLEEP_DEFAULTThe damage healed per tick while sleeping without any modifiers

Define Details

HEALING_SLEEP_DEFAULT

The damage healed per tick while sleeping without any modifiers

\ 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 000000000000..b6a8e32de7cf --- /dev/null +++ b/code/datums/status_effects/status_effect.html @@ -0,0 +1 @@ +code/datums/status_effects/status_effect.dm - SPLURT Station 13
SPLURT 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
\ No newline at end of file diff --git a/code/datums/status_effects/wound_effects.html b/code/datums/status_effects/wound_effects.html new file mode 100644 index 000000000000..f3ccbfd8fa94 --- /dev/null +++ b/code/datums/status_effects/wound_effects.html @@ -0,0 +1 @@ +code/datums/status_effects/wound_effects.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/status_effects/wound_effects.dm

/atom/movable/screen/alert/status_effect/woundWOUNDS
\ No newline at end of file diff --git a/code/datums/view.html b/code/datums/view.html new file mode 100644 index 000000000000..051652480093 --- /dev/null +++ b/code/datums/view.html @@ -0,0 +1 @@ +code/datums/view.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/view.dm

/datum/view_dataContainer for client viewsize
\ No newline at end of file diff --git a/code/datums/weather/weather.html b/code/datums/weather/weather.html new file mode 100644 index 000000000000..2f47e55d12e9 --- /dev/null +++ b/code/datums/weather/weather.html @@ -0,0 +1 @@ +code/datums/weather/weather.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/weather/weather.dm

/datum/weatherCauses weather to occur on a z level in certain area types
\ No newline at end of file diff --git a/code/datums/wounds/_scars.html b/code/datums/wounds/_scars.html new file mode 100644 index 000000000000..e81a6c011380 --- /dev/null +++ b/code/datums/wounds/_scars.html @@ -0,0 +1,2 @@ +code/datums/wounds/_scars.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/datums/wounds/_scars.dm

/datum/scarscars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars +look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"
\ No newline at end of file diff --git a/code/game/area/areas.html b/code/game/area/areas.html new file mode 100644 index 000000000000..6868b7d0e2be --- /dev/null +++ b/code/game/area/areas.html @@ -0,0 +1 @@ +code/game/area/areas.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/area/areas.dm

/areaA grouping of tiles into a logical space, mostly used by map editors
/proc/process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
\ No newline at end of file diff --git a/code/game/area/areas/edina.html b/code/game/area/areas/edina.html new file mode 100644 index 000000000000..1fb526a53703 --- /dev/null +++ b/code/game/area/areas/edina.html @@ -0,0 +1 @@ +code/game/area/areas/edina.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/area/areas/edina.dm

/area/edina/streetNova Edina Streets
/area/edina/crew_quartersEdina specific derivitives
/obj/effect/mapping_helpers/planet_zMapping helper
\ No newline at end of file diff --git a/code/game/area/areas/mining.html b/code/game/area/areas/mining.html new file mode 100644 index 000000000000..0f86db9bf3fa --- /dev/null +++ b/code/game/area/areas/mining.html @@ -0,0 +1 @@ +code/game/area/areas/mining.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/area/areas/mining.dm

/area/mineMine areas
/area/lavalandLavaland Areas
/area/icemoonIce Moon Areas
\ No newline at end of file diff --git a/code/game/area/areas/shuttles.html b/code/game/area/areas/shuttles.html new file mode 100644 index 000000000000..759928c5bb8a --- /dev/null +++ b/code/game/area/areas/shuttles.html @@ -0,0 +1,2 @@ +code/game/area/areas/shuttles.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/area/areas/shuttles.dm

/area/shuttle/syndicateMulti-area shuttles +Syndicate infiltrator
/area/shuttle/piratePirate Shuttle
/area/shuttle/hunterBounty Hunter Shuttles
/area/shuttle/abandonedWhite Ship
/area/shuttle/transitSingle-area shuttles
\ No newline at end of file diff --git a/code/game/atoms.html b/code/game/atoms.html new file mode 100644 index 000000000000..07c14799e820 --- /dev/null +++ b/code/game/atoms.html @@ -0,0 +1 @@ +code/game/atoms.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/atoms.dm

/proc/log_combatLog a combat message in the attack log
/proc/log_woundlog_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over
\ No newline at end of file diff --git a/code/game/gamemodes/dynamic.html b/code/game/gamemodes/dynamic.html new file mode 100644 index 000000000000..392420b4070f --- /dev/null +++ b/code/game/gamemodes/dynamic.html @@ -0,0 +1,186 @@ +code/game/gamemodes/dynamic/readme.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Dynamic Mode

Roundstart

+

Dynamic rolls threat based on a special sauce formula:

+
+

[dynamic_curve_width][/datum/controller/global_vars/var/dynamic_curve_width] * tan((3.1416 * (rand() - 0.5) * 57.2957795)) + [dynamic_curve_centre][/datum/controller/global_vars/var/dynamic_curve_centre]

+
+

This threat is split into two separate budgets--round_start_budget and mid_round_budget. For example, a round with 50 threat might be split into a 30 roundstart budget, and a 20 midround budget. The roundstart budget is used to apply antagonists applied on readied players when the roundstarts (/datum/dynamic_ruleset/roundstart). The midround budget is used for two types of rulesets:

+
    +
  • /datum/dynamic_ruleset/midround - Rulesets that apply to either existing alive players, or to ghosts. Think Blob or Space Ninja, which poll ghosts asking if they want to play as these roles.
  • +
  • /datum/dynamic_ruleset/latejoin - Rulesets that apply to the next player that joins. Think Syndicate Infiltrator, which converts a player just joining an existing round into traitor.
  • +
+

This split is done with a similar method, known as the "lorentz distribution", exists to create a bell curve that ensures that while most rounds will have a threat level around ~50, chaotic and tame rounds still exist for variety.

+

The process of creating these numbers occurs in /datum/game_mode/dynamic/proc/generate_threat (for creating the threat level) and /datum/game_mode/dynamic/proc/generate_budgets (for splitting the threat level into budgets).

+

Deciding roundstart threats

+

In /datum/game_mode/dynamic/proc/roundstart() (called when no admin chooses the rulesets explicitly), Dynamic uses the available roundstart budget to pick threats. This is done through the following system:

+
    +
  • All roundstart rulesets (remember, /datum/dynamic_ruleset/roundstart) are put into an associative list with their weight as the values (drafted_rules).
  • +
  • Until there is either no roundstart budget left, or until there is no ruleset we can choose from with the available threat, a pickweight is done based on the drafted_rules. If the same threat is picked twice, it will "scale up". The meaning of this depends on the ruleset itself, using the scaled_times variable; traitors for instance will create more the higher they scale. +
      +
    • If a ruleset is chosen with the HIGH_IMPACT_RULESET in its flags, then all other HIGH_IMPACT_RULESETs will be removed from drafted_rules. This is so that only one can ever be chosen.
    • +
    • If a ruleset has LONE_RULESET in its flags, then it will be removed from drafted_rules. This is to ensure it will only ever be picked once. An example of this in use is Wizard, to avoid creating multiple wizards.
    • +
    +
  • +
  • After all roundstart threats are chosen, /datum/dynamic_ruleset/proc/picking_roundstart_rule is called for each, passing in the ruleset and the number of times it is scaled. +
      +
    • In this stage, pre_execute is called, which is the function that will determine what players get what antagonists. If this function returns FALSE for whatever reason (in the case of an error), then its threat is refunded.
    • +
    +
  • +
+

After this process is done, any leftover roundstart threat will be given to the existing midround budget (done in /datum/game_mode/dynamic/pre_setup()).

+

Deciding midround threats

+

Latejoin and midround injection cooldowns are set using exponential distribution between

+
    +
  • 5 minutes and 25 for latejoin (configurable as latejoin_delay_min and latejoin_delay_max)
  • +
  • 15 minutes and 35 for midround (configurable as midround_delay_min and midround_delay_max)
  • +
+

this value is then added to world.time and assigned to the injection cooldown variables.

+

rigged_roundstart is called instead if there are forced rules (an admin set the mode)

+
    +
  1. [setup_parameters][/datum/game_mode/proc/setup_parameters]()
  2. +
  3. pre_setup()
  4. +
  5. [roundstart][/datum/game_mode/dynamic/proc/roundstart]() OR rigged_roundstart()
  6. +
  7. picking_roundstart_rule(drafted_rules)
  8. +
  9. post_setup()
  10. +
+

Rule Processing

+

Calls rule_process on every rule which is in the current_rules list. +Every sixty seconds, update_playercounts() +Midround injection time is checked against world.time to see if an injection should happen. +If midround injection time is lower than world.time, it updates playercounts again, then tries to inject and generates a new cooldown regardless of whether a rule is picked.

+

Latejoin

+

make_antag_chance(newPlayer) -> (For each latespawn rule...) +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +**If true, add to drafted rules +**NOTE that acceptable uses threat_level not threat! +**NOTE Latejoin timer is ONLY reset if at least one rule was drafted. +**NOTE the new_player.dm AttemptLateSpawn() calls OnPostSetup for all roles (unless assigned role is MODE)

+

(After collecting all draftble rules...) +-> picking_latejoin_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+

Midround

+

process() -> (For each midround rule... +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +(After collecting all draftble rules...) +-> picking_midround_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+

Forced

+

For latejoin, it simply sets forced_latejoin_rule +make_antag_chance(newPlayer) -> trim_candidates() -> ready(forced=TRUE) **NOTE no acceptable() call

+

For midround, calls the below proc with forced = TRUE +picking_specific_rule(ruletype,forced) -> forced OR acceptable(living_players, threat_level) -> trim_candidates() -> ready(forced) -> spend threat -> execute() +**NOTE specific rule can be called by RS traitor->MR autotraitor w/ forced=FALSE +**NOTE that due to short circuiting acceptable() need not be called if forced.

+

Ruleset

+

acceptable(population,threat) just checks if enough threat_level for population indice. +**NOTE that we currently only send threat_level as the second arg, not threat. +ready(forced) checks if enough candidates and calls the map's map_ruleset(dynamic_ruleset) at the parent level

+

trim_candidates() varies significantly according to the ruleset type +Roundstart: All candidates are new_player mobs. Check them for standard stuff: connected, desire role, not banned, etc. +**NOTE Roundstart deals with both candidates (trimmed list of valid players) and mode.candidates (everyone readied up). Don't confuse them! +Latejoin: Only one candidate, the latejoiner. Standard checks. +Midround: Instead of building a single list candidates, candidates contains four lists: living, dead, observing, and living antags. Standard checks in trim_list(list).

+

Midround - Rulesets have additional types +/from_ghosts: execute() -> send_applications() -> review_applications() -> finish_setup(mob/newcharacter, index) -> setup_role(role) +**NOTE: execute() here adds dead players and observers to candidates list

+

Configuration and variables

Configuration

+

Configuration can be done through a config/dynamic.json file. One is provided as example in the codebase. This config file, loaded in /datum/game_mode/dynamic/pre_setup(), directly overrides the values in the codebase, and so is perfect for making some rulesets harder/easier to get, turning them off completely, changing how much they cost, etc.

+

The format of this file is:

+
{
+	"Dynamic": {
+		/* Configuration in here will directly override `/datum/game_mode/dynamic` itself. */
+		/* Keys are variable names, values are their new values. */
+	},
+
+	"Roundstart": {
+		/* Configuration in here will apply to `/datum/dynamic_ruleset/roundstart` instances. */
+		/* Keys are the ruleset names, values are another associative list with keys being variable names and values being new values. */
+		"Wizard": {
+			/* I, a head admin, have died to wizard, and so I made it cost a lot more threat than it does in the codebase. */
+			"cost": 80
+		}
+	},
+
+	"Midround": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/midround` instead. */
+	},
+
+	"Latejoin": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/latejoin` instead. */
+	}
+}
+
+

Note: Comments are not possible in this format, and are just in this document for the sake of readability.

+

Rulesets

+

Rulesets have the following variables notable to developers and those interested in tuning.

+
    +
  • required_candidates - The number of people that must be willing (in their preferences) to be an antagonist with this ruleset. If the candidates do not meet this requirement, then the ruleset will not bother to be drafted.
  • +
  • antag_cap - Judges the amount of antagonists to apply, for both solo and teams. Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. If written as a linear equation, will be in the form of list("denominator" = denominator, "offset" = offset). +
      +
    • Examples include: +
        +
      • Traitor: antag_cap = list("denominator" = 24). This means that for every 24 players, 1 traitor will be added (assuming no scaling).
      • +
      • Nuclear Emergency: antag_cap = list("denominator" = 18, "offset" = 1). For every 18 players, 1 nuke op will be added. Starts at 1, meaning at 30 players, 3 nuke ops will be created, rather than 2.
      • +
      • Revolution: antag_cap = 3. There will always be 3 rev-heads, no matter what.
      • +
      +
    • +
    +
  • +
  • minimum_required_age - The minimum age in order to apply for the ruleset.
  • +
  • weight - How likely this ruleset is to be picked. A higher weight results in a higher chance of drafting.
  • +
  • cost - The initial cost of the ruleset. This cost is taken from either the roundstart or midround budget, depending on the ruleset.
  • +
  • scaling_cost - Cost for every additional application of this ruleset. +
      +
    • Suppose traitors has a cost of 8, and a scaling_cost of 5. This means that buying 1 application of the traitor ruleset costs 8 threat, but buying two costs 13 (8 + 5). Buying it a third time is 18 (8 + 5 + 5), etc.
    • +
    +
  • +
  • pop_per_requirement - The range of population each value in requirements represents. By default, this is 6. +
      +
    • If the value is five the range is 0-4, 5-9, 10-14, 15-19, 20-24, 25-29, 30-34, 35-39, 40-54, 45+.
    • +
    • If it is six the range is 0-5, 6-11, 12-17, 18-23, 24-29, 30-35, 36-41, 42-47, 48-53, 54+.
    • +
    • If it is seven the range is 0-6, 7-13, 14-20, 21-27, 28-34, 35-41, 42-48, 49-55, 56-62, 63+.
    • +
    +
  • +
  • requirements - A list that represents, per population range (see: pop_per_requirement), how much threat is required to consider this ruleset. This is independent of how much it'll actually cost. This uses threat level, not the budget--meaning if a round has 50 threat level, but only 10 points of round start threat, a ruleset with a requirement of 40 can still be picked if it can be bought. +
      +
    • Suppose wizard has a requirements of list(90,90,70,40,30,20,10,10,10,10). This means that, at 0-5 and 6-11 players, A station must have 90 threat in order for a wizard to be possible. At 12-17, 70 threat is required instead, etc.
    • +
    +
  • +
  • restricted_roles - A list of jobs that can't be drafted by this ruleset. For example, cyborgs cannot be changelings, and so are in the restricted_roles.
  • +
  • protected_roles - Serves the same purpose of restricted_roles, except it can be turned off through configuration (protect_roles_from_antagonist). For example, security officers shouldn't be made traitor, so they are in Traitor's protected_roles. +
      +
    • When considering putting a role in protected_roles or restricted_roles, the rule of thumb is if it is technically infeasible to support that job in that role. There's no technical reason a security officer can't be a traitor, and so they are simply in protected_roles. There are technical reasons a cyborg can't be a changeling, so they are in restricted_roles instead.
    • +
    +
  • +
+

Dynamic

+

The "Dynamic" key has the following configurable values:

+
    +
  • pop_per_requirement - The default value of pop_per_requirement for any ruleset that does not explicitly set it. Defaults to 6.
  • +
  • latejoin_delay_min, latejoin_delay_max - The time range, in deciseconds (take your seconds, and multiply by 10), for a latejoin to attempt rolling. Once this timer is finished, a new one will be created within the same range. +
      +
    • Suppose you have a latejoin_delay_min of 600 (60 seconds, 1 minute) and a latejoin_delay_max of 1800 (180 seconds, 3 minutes). Once the round starts, a random number in this range will be picked--let's suppose 1.5 minutes. After 1.5 minutes, Dynamic will decide if a latejoin threat should be created (a probability of /datum/game_mode/dynamic/proc/get_injection_chance()). Regardless of its decision, a new timer will be started within the range of 1 to 3 minutes, repeatedly.
    • +
    +
  • +
  • midround_delay_min, midround_delay_max - Same as latejoin_delay_min and latejoin_delay_max, except for midround threats instead of latejoin ones.
  • +
  • higher_injection_chance, higher_injection_chance_minimum_threat - Manipulates the injection chance (/datum/game_mode/dynamic/proc/get_injection_chance()). If the current midround budget is above higher_injection_chance_minimum_threat, then this chance will be increased by higher_injection_chance. +
      +
    • For example: suppose you have a higher_injection_chance_minimum_threat of 70, and a higher_injection_chance of 15. This means that, if when a midround threat is trying to roll, there is 75 midround budget left, then the injection chance will go up 15%.
    • +
    +
  • +
  • lower_injection_chance, lower_injection_chance_minimum_threat - The inverse of the higher_injection_chance variables. If the current midround budget is below lower_injection_chance, then the chance is lowered by lower_injection_chance_minimum_threat. +
      +
    • For example: suppose you have a lower_injection_chance_minimum_threat of 30, and a lower_injection_chance of 15. This means if there is 20 midround budget left, then the chance will lower by 15%.
    • +
    +
  • +
  • threat_curve_centre - A number between -5 and +5. A negative value will give a more peaceful round and a positive value will give a round with higher threat.
  • +
  • threat_curve_width - A number between 0.5 and 4. Higher value will favour extreme rounds and lower value rounds closer to the average.
  • +
  • roundstart_split_curve_centre - A number between -5 and +5. Equivalent to threat_curve_centre, but for the budget split. A negative value will weigh towards midround rulesets, and a positive value will weight towards roundstart ones.
  • +
  • roundstart_split_curve_width - A number between 0.5 and 4. Equivalent to threat_curve_width, but for the budget split. Higher value will favour more variance in splits and lower value rounds closer to the average.
  • +
  • random_event_hijack_minimum - The minimum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • random_event_hijack_maximum - The maximum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • hijacked_random_event_injection_chance - The amount of injection chance to give to Dynamic when a random event is hijacked. (See Random Event Hijacking)
  • +
+

Random Event "Hijacking"

+

Random events have the potential to be hijacked by Dynamic to keep the pace of midround injections, while also allowing greenshifts to contain some antagonists.

+

/datum/round_event_control/dynamic_should_hijack is a variable to random events to allow Dynamic to hijack them, and defaults to FALSE. This is set to TRUE for random events that spawn antagonists.

+

In /datum/game_mode/dynamic/on_pre_random_event (in dynamic_hijacking.dm), Dynamic hooks to random events. If the dynamic_should_hijack variable is TRUE, the following sequence of events occurs:

+

Flow chart to describe the chain of events for Dynamic 2021 to take

+

n is a random value between random_event_hijack_minimum and random_event_hijack_maximum. Injection chance, should it need to be raised, is increased by hijacked_random_event_injection_chance.

\ No newline at end of file diff --git a/code/game/gamemodes/dynamic/dynamic_logging.html b/code/game/gamemodes/dynamic/dynamic_logging.html new file mode 100644 index 000000000000..5c20f6ceacf2 --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_logging.html @@ -0,0 +1,2 @@ +code/game/gamemodes/dynamic/dynamic_logging.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/gamemodes/dynamic/dynamic_logging.dm

/datum/dynamic_snapshotA "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.
/datum/dynamic_snapshot_rulesetA ruleset chosen during a snapshot
\ No newline at end of file diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html new file mode 100644 index 000000000000..27685a26e2ee --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.html @@ -0,0 +1 @@ +code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm

MALF_ION_PROBProbability the AI going malf will be accompanied by an ion storm announcement and some ion laws.
REPLACE_LAW_WITH_ION_PROBThe probability to replace an existing law with an ion law instead of adding a new ion law.
/datum/dynamic_ruleset/midround/blob_infectionInfects a random player, making them explode into a blob.
/datum/dynamic_ruleset/midround/from_ghosts/revenantRevenant ruleset
/datum/dynamic_ruleset/midround/from_ghosts/sentient_diseaseSentient Disease ruleset
/datum/dynamic_ruleset/midround/piratesSpace Pirates ruleset

Define Details

MALF_ION_PROB

Probability the AI going malf will be accompanied by an ion storm announcement and some ion laws.

REPLACE_LAW_WITH_ION_PROB

The probability to replace an existing law with an ion law instead of adding a new ion law.

\ No newline at end of file diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html new file mode 100644 index 000000000000..fc7bb9b4e4be --- /dev/null +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.html @@ -0,0 +1,2 @@ +code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm

/datum/dynamic_ruleset/roundstart/traitorProbability the AI going malf will be accompanied by an ion storm announcement and some ion laws. +The probability to replace an existing law with an ion law instead of adding a new ion law.
\ No newline at end of file diff --git a/code/game/machinery/civilian_bountys.html b/code/game/machinery/civilian_bountys.html new file mode 100644 index 000000000000..2fbc905bef7d --- /dev/null +++ b/code/game/machinery/civilian_bountys.html @@ -0,0 +1 @@ +code/game/machinery/civilian_bountys.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/civilian_bountys.dm

/obj/machinery/piratepad/civilianPad for the Civilian Bounty Control.
/obj/machinery/computer/piratepad_control/civilianComputer for assigning new civilian bounties, and sending bounties for collection.
/obj/item/bounty_cubeUpon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.
/obj/item/civ_bounty_beaconBeacon to launch a new bounty setup when activated.
\ No newline at end of file diff --git a/code/game/machinery/computer/dna_console.html b/code/game/machinery/computer/dna_console.html new file mode 100644 index 000000000000..30d5e033cc87 --- /dev/null +++ b/code/game/machinery/computer/dna_console.html @@ -0,0 +1 @@ +code/game/machinery/computer/dna_console.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/machinery/computer/dna_console.dm

INJECTOR_TIMEOUTBase timeout for creating mutation activators and other injectors
NUMBER_OF_BUFFERSMaximum number of genetic makeup storage slots in DNA Console
SCRAMBLE_TIMEOUTTimeout for DNA Scramble in DNA Consoles
JOKER_TIMEOUTTimeout for using the Joker feature to solve a gene in DNA Console
JOKER_UPGRADEHow much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT
RADIATION_STRENGTH_MAXMaximum value for radiaton strength when pulsing enzymes
RADIATION_STRENGTH_MULTIPLIERLarger multipliers will affect the range of values when pulsing enzymes
RADIATION_DURATION_MAXMaximum value for the radiation pulse duration when pulsing enzymes
RADIATION_ACCURACY_MULTIPLIERLarge values reduce pulse accuracy and may pulse other enzymes than selected
STATUS_TRANSFORMINGSpecial status indicating a scanner occupant is transforming eg. from monkey to human
RADIATION_IRRADIATION_MULTIPLIERMultiplier for how much radiation received from DNA Console functionality
SEARCH_OCCUPANTFlag for the mutation ref search system. Search will include scanner occupant
SEARCH_STOREDFlag for the mutation ref search system. Search will include console storage
SEARCH_DISKETTEFlag for the mutation ref search system. Search will include diskette storage
SEARCH_ADV_INJFlag for the mutation ref search system. Search will include advanced injector mutations

Define Details

INJECTOR_TIMEOUT

Base timeout for creating mutation activators and other injectors

JOKER_TIMEOUT

Timeout for using the Joker feature to solve a gene in DNA Console

JOKER_UPGRADE

How much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT

NUMBER_OF_BUFFERS

Maximum number of genetic makeup storage slots in DNA Console

RADIATION_ACCURACY_MULTIPLIER

Large values reduce pulse accuracy and may pulse other enzymes than selected

RADIATION_DURATION_MAX

Maximum value for the radiation pulse duration when pulsing enzymes

RADIATION_IRRADIATION_MULTIPLIER

Multiplier for how much radiation received from DNA Console functionality

RADIATION_STRENGTH_MAX

Maximum value for radiaton strength when pulsing enzymes

RADIATION_STRENGTH_MULTIPLIER

Larger multipliers will affect the range of values when pulsing enzymes

SCRAMBLE_TIMEOUT

Timeout for DNA Scramble in DNA Consoles

SEARCH_ADV_INJ

Flag for the mutation ref search system. Search will include advanced injector mutations

SEARCH_DISKETTE

Flag for the mutation ref search system. Search will include diskette storage

SEARCH_OCCUPANT

Flag for the mutation ref search system. Search will include scanner occupant

SEARCH_STORED

Flag for the mutation ref search system. Search will include console storage

STATUS_TRANSFORMING

Special status indicating a scanner occupant is transforming eg. from monkey to human

\ 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 000000000000..caabadfe7b52 --- /dev/null +++ b/code/game/machinery/cryopod.html @@ -0,0 +1 @@ +code/game/machinery/cryopod.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/cryopod.dm

/obj/item/storage/box/blue/cryostorage_itemsThe box
\ 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 000000000000..c65c2a0e894b --- /dev/null +++ b/code/game/machinery/deployable.html @@ -0,0 +1 @@ +code/game/machinery/deployable.dm - SPLURT Station 13
SPLURT 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/lightswitch.html b/code/game/machinery/lightswitch.html new file mode 100644 index 000000000000..7af6977813c9 --- /dev/null +++ b/code/game/machinery/lightswitch.html @@ -0,0 +1 @@ +code/game/machinery/lightswitch.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/lightswitch.dm

/obj/machinery/light_switchThe light switch. Can have multiple per area.
\ No newline at end of file diff --git a/code/game/machinery/limbgrower.html b/code/game/machinery/limbgrower.html new file mode 100644 index 000000000000..38e5b2e36fbe --- /dev/null +++ b/code/game/machinery/limbgrower.html @@ -0,0 +1,2 @@ +code/game/machinery/limbgrower.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/limbgrower.dm

/obj/machinery/limbgrowerThe limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.
\ No newline at end of file diff --git a/code/game/machinery/porta_turret/portable_turret_cover.html b/code/game/machinery/porta_turret/portable_turret_cover.html new file mode 100644 index 000000000000..713c07f6bbfc --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_cover.html @@ -0,0 +1 @@ +code/game/machinery/porta_turret/portable_turret_cover.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/porta_turret/portable_turret_cover.dm

/obj/machinery/porta_turret_coverPORTABLE TURRET COVER
\ 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 000000000000..ad886c0c79d1 --- /dev/null +++ b/code/game/machinery/shieldgen.html @@ -0,0 +1 @@ +code/game/machinery/shieldgen.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/shieldgen.dm

/obj/machinery/shieldwallContainment Field START
\ No newline at end of file diff --git a/code/game/machinery/slotmachine.html b/code/game/machinery/slotmachine.html new file mode 100644 index 000000000000..f3cfc8c9016e --- /dev/null +++ b/code/game/machinery/slotmachine.html @@ -0,0 +1,9 @@ +code/game/machinery/slotmachine.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/machinery/slotmachine.dm

SPIN_PRICE*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

Define Details

SPIN_PRICE

*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

\ No newline at end of file diff --git a/code/game/machinery/status_display.html b/code/game/machinery/status_display.html new file mode 100644 index 000000000000..543b08d4cd10 --- /dev/null +++ b/code/game/machinery/status_display.html @@ -0,0 +1 @@ +code/game/machinery/status_display.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/status_display.dm

/obj/machinery/status_displayStatus display which can show images and scrolling text.
/obj/effect/overlay/status_display_textNice overlay to make text smoothly scroll with no client updates after setup.
/obj/machinery/status_display/evacEvac display which shows shuttle timer or message set by Command.
/obj/machinery/status_display/supplySupply display which shows the status of the supply shuttle.
/obj/machinery/status_display/shuttleGeneral-purpose shuttle status display.
/obj/machinery/status_display/aiPictograph display which the AI can use to emote.
\ 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 000000000000..aff37129108c --- /dev/null +++ b/code/game/machinery/syndicatebomb.html @@ -0,0 +1 @@ +code/game/machinery/syndicatebomb.dm - SPLURT Station 13
SPLURT 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/telecomms/broadcasting.html b/code/game/machinery/telecomms/broadcasting.html new file mode 100644 index 000000000000..dbf63739371a --- /dev/null +++ b/code/game/machinery/telecomms/broadcasting.html @@ -0,0 +1,2 @@ +code/game/machinery/telecomms/broadcasting.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/machinery/telecomms/broadcasting.dm

/datum/signal/subspaceHere is the big, bad function that broadcasts a message given the appropriate +parameters.
\ 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 000000000000..de3734f24817 --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_other.html @@ -0,0 +1,4 @@ +code/game/objects/effects/effect_system/effects_other.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/effects/effect_system/effects_other.dm

/datum/effect_system/trail_follow///// Attach a trail to any object, that spawns when it moves (like for the jetpack) +just pass in the object to attach it to in set_up +Then do start() to start it and stop() to stop it, obviously +and don't call start() in a loop that will be repeated otherwise it'll get spammed!
\ 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 000000000000..b511055bfc36 --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_smoke.html @@ -0,0 +1 @@ +code/game/objects/effects/effect_system/effects_smoke.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/effects/effect_system/effects_smoke.dm

/obj/effect/particle_effect/smokeSMOKE SYSTEMS
\ 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 000000000000..b13e7222bbb5 --- /dev/null +++ b/code/game/objects/effects/forcefields.html @@ -0,0 +1 @@ +code/game/objects/effects/forcefields.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/effects/forcefields.dm

/obj/effect/forcefield/mimeMimewalls
\ 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 000000000000..c91eb1f4cbc7 --- /dev/null +++ b/code/game/objects/effects/overlays.html @@ -0,0 +1 @@ +code/game/objects/effects/overlays.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/effects/overlays.dm

/obj/effect/overlay/closet_doorDoor overlay for animating closets
\ No newline at end of file diff --git a/code/game/objects/effects/spawners/lootdrop.html b/code/game/objects/effects/spawners/lootdrop.html new file mode 100644 index 000000000000..c3485a718332 --- /dev/null +++ b/code/game/objects/effects/spawners/lootdrop.html @@ -0,0 +1 @@ +code/game/objects/effects/spawners/lootdrop.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/effects/spawners/lootdrop.dm

/obj/effect/spawner/lootdrop/space/fancytool/engineonlyMail loot spawner. Some sort of random and rare building tool. No alien tech here.
/obj/effect/spawner/lootdrop/space/fancytool/advmedicalonlyMail loot spawner. Drop pool of advanced medical tools typically from research. Not endgame content.
/obj/effect/spawner/lootdrop/space/fancytool/raremedicalonlyMail loot spawner. Some sort of random and rare surgical tool. Alien tech found here.
\ 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 000000000000..3b31447595a6 --- /dev/null +++ b/code/game/objects/items/AI_modules.html @@ -0,0 +1 @@ +code/game/objects/items/AI_modules.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/AI_modules.dm

/obj/item/ai_module/suppliedModules
/obj/item/ai_module/supplied/safeguardSafeguard
/obj/item/ai_module/zeroth/oneHumanOneCrew
/obj/item/ai_module/supplied/protectStationProtectStation
/obj/item/ai_module/supplied/quarantineQuarantine
/obj/item/ai_module/supplied/oxygenOxygenIsToxicToHumans
/obj/item/ai_module/supplied/freeformNew Freeform
/obj/item/ai_module/removeLaw Removal
/obj/item/ai_module/resetReset
/obj/item/ai_module/reset/purgePurge
/obj/item/ai_module/coreFull Core Boards
/obj/item/ai_module/core/full/asimovAsimov
/obj/item/ai_module/core/full/asimovppAsimov++
/obj/item/ai_module/core/full/corpCorporate
/obj/item/ai_module/core/full/paladinP.A.L.A.D.I.N. 3.5e
/obj/item/ai_module/core/full/paladin_devotionP.A.L.A.D.I.N. 5e
/obj/item/ai_module/core/full/customCustom
/obj/item/ai_module/core/full/tyrantT.Y.R.A.N.T.
/obj/item/ai_module/core/full/robocopRobocop
/obj/item/ai_module/core/full/antimovAntimov
/obj/item/ai_module/core/freeformcoreFreeform Core
/obj/item/ai_module/core/full/overthrowOverthrow
/obj/item/ai_module/syndicateHacked AI Module
/obj/item/ai_module/toyAIIon Module
/obj/item/ai_module/core/full/droneMother Drone
/obj/item/ai_module/core/full/hippocraticRobodoctor
/obj/item/ai_module/core/full/reporterReporter
/obj/item/ai_module/core/full/thermurderdynamicThermodynamic
/obj/item/ai_module/core/full/liveandletliveLive And Let Live
/obj/item/ai_module/core/full/balanceGuardian of Balance
/obj/item/ai_module/core/full/hulkamaniaH.O.G.A.N.
\ No newline at end of file diff --git a/code/game/objects/items/cigs_lighters.html b/code/game/objects/items/cigs_lighters.html new file mode 100644 index 000000000000..a1ff66f9093a --- /dev/null +++ b/code/game/objects/items/cigs_lighters.html @@ -0,0 +1 @@ +code/game/objects/items/cigs_lighters.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/cigs_lighters.dm

/obj/item/bongBONGS
\ No newline at end of file diff --git a/code/game/objects/items/crayons.html b/code/game/objects/items/crayons.html new file mode 100644 index 000000000000..67a1ccdda500 --- /dev/null +++ b/code/game/objects/items/crayons.html @@ -0,0 +1 @@ +code/game/objects/items/crayons.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/crayons.dm

/obj/item/toy/crayon/redGang end
\ No newline at end of file diff --git a/code/game/objects/items/defib.html b/code/game/objects/items/defib.html new file mode 100644 index 000000000000..21af4faf0318 --- /dev/null +++ b/code/game/objects/items/defib.html @@ -0,0 +1 @@ +code/game/objects/items/defib.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/defib.dm

/obj/item/disk/medicalDefibrillator Disks
\ No newline at end of file diff --git a/code/game/objects/items/devices/multitool.html b/code/game/objects/items/devices/multitool.html new file mode 100644 index 000000000000..3e4c1085904c --- /dev/null +++ b/code/game/objects/items/devices/multitool.html @@ -0,0 +1 @@ +code/game/objects/items/devices/multitool.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/devices/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/devices/radio/radio.html b/code/game/objects/items/devices/radio/radio.html new file mode 100644 index 000000000000..fcc2a39e3129 --- /dev/null +++ b/code/game/objects/items/devices/radio/radio.html @@ -0,0 +1 @@ +code/game/objects/items/devices/radio/radio.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/devices/radio/radio.dm

/obj/item/radio/borgBorg Radios
\ No newline at end of file diff --git a/code/game/objects/items/devices/scanners.html b/code/game/objects/items/devices/scanners.html new file mode 100644 index 000000000000..f2f085a8029c --- /dev/null +++ b/code/game/objects/items/devices/scanners.html @@ -0,0 +1 @@ +code/game/objects/items/devices/scanners.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/devices/scanners.dm

/proc/woundscanDisplays wounds with extended information on their status vs medscanners
\ No newline at end of file diff --git a/code/game/objects/items/dice.html b/code/game/objects/items/dice.html new file mode 100644 index 000000000000..c474b19f1500 --- /dev/null +++ b/code/game/objects/items/dice.html @@ -0,0 +1 @@ +code/game/objects/items/dice.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/dice.dm

/obj/item/storage/diceDice Bags
/obj/item/diceDice
\ No newline at end of file diff --git a/code/game/objects/items/granters.html b/code/game/objects/items/granters.html new file mode 100644 index 000000000000..ed4aa083ec0c --- /dev/null +++ b/code/game/objects/items/granters.html @@ -0,0 +1 @@ +code/game/objects/items/granters.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/granters.dm

/obj/item/book/granterbooks that teach things (intrinsic actions like bar flinging, spells like fireball or smoke, or martial arts)
/obj/item/book/granter/traitTRAITS
/obj/item/book/granter/actionACTION BUTTONS
/obj/item/book/granter/spellSPELLS
/obj/item/book/granter/martialMARTIAL ARTS
\ No newline at end of file diff --git a/code/game/objects/items/grenades/chem_grenade.html b/code/game/objects/items/grenades/chem_grenade.html new file mode 100644 index 000000000000..490a06213695 --- /dev/null +++ b/code/game/objects/items/grenades/chem_grenade.html @@ -0,0 +1 @@ +code/game/objects/items/grenades/chem_grenade.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/grenades/chem_grenade.dm

/obj/item/grenade/chem_grenade/metalfoamPREMADE GRENADES
\ No newline at end of file diff --git a/code/game/objects/items/grenades/plastic.html b/code/game/objects/items/grenades/plastic.html new file mode 100644 index 000000000000..05c6a4a004e3 --- /dev/null +++ b/code/game/objects/items/grenades/plastic.html @@ -0,0 +1 @@ +code/game/objects/items/grenades/plastic.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/grenades/plastic.dm

/obj/item/grenade/plastic/c4The Explosives
\ No newline at end of file diff --git a/code/game/objects/items/hand_items.html b/code/game/objects/items/hand_items.html new file mode 100644 index 000000000000..209d6c6db47b --- /dev/null +++ b/code/game/objects/items/hand_items.html @@ -0,0 +1 @@ +code/game/objects/items/hand_items.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/hand_items.dm

/obj/item/hand_item/slapper/secret_handshakeGangster secret handshakes.
\ No newline at end of file diff --git a/code/game/objects/items/mail.html b/code/game/objects/items/mail.html new file mode 100644 index 000000000000..ea29a6c9e30a --- /dev/null +++ b/code/game/objects/items/mail.html @@ -0,0 +1,2 @@ +code/game/objects/items/mail.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/mail.dm

/obj/item/mailMail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient.
/obj/structure/closet/crate/mailCrate for mail from CentCom.
/obj/structure/closet/crate/mail/fullCrate for mail that automatically generates a lot of mail. Usually only normal mail, but on lowpop it may end up just being junk.
/obj/structure/closet/crate/mail/preopenUsed in the mail strike shuttle loan event +Opened mail crate
/obj/item/storage/bag/mailMailbag.
\ No newline at end of file diff --git a/code/game/objects/items/manuals.html b/code/game/objects/items/manuals.html new file mode 100644 index 000000000000..a5ccb084b124 --- /dev/null +++ b/code/game/objects/items/manuals.html @@ -0,0 +1 @@ +code/game/objects/items/manuals.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/manuals.dm

/obj/item/book/manualMANUALS (BOOKS)
\ No newline at end of file diff --git a/code/game/objects/items/melee/energy.html b/code/game/objects/items/melee/energy.html new file mode 100644 index 000000000000..fdb6bf47ce7c --- /dev/null +++ b/code/game/objects/items/melee/energy.html @@ -0,0 +1 @@ +code/game/objects/items/melee/energy.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/melee/energy.dm

/obj/item/melee/transforming/energy/sword/cx/traitorTatortot NEB /////////////// (same stats as regular esword)
\ 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 000000000000..496e60d67bcc --- /dev/null +++ b/code/game/objects/items/robot/ai_upgrades.html @@ -0,0 +1 @@ +code/game/objects/items/robot/ai_upgrades.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/robot/ai_upgrades.dm

/obj/item/malf_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 000000000000..c49d286b9491 --- /dev/null +++ b/code/game/objects/items/robot/robot_items.html @@ -0,0 +1,2 @@ +code/game/objects/items/robot/robot_items.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/robot/robot_items.dm

/obj/item/borgCyborg Spec Items
/obj/item/borg/sightHUD/SIGHT things
/obj/item/gripperGrippers oh god oh fuck
/obj/item/dogborg_tongueDogborg stuff +Mere cosmetic dogborg items, remnants of what were once the most annoying cyborg modules.
\ 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 000000000000..924c7551444d --- /dev/null +++ b/code/game/objects/items/stacks/sheets/leather.html @@ -0,0 +1 @@ +code/game/objects/items/stacks/sheets/leather.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/stacks/sheets/leather.dm

/obj/item/stack/sheet/animalhide/goliath_hideGoliath Hide
\ No newline at end of file diff --git a/code/game/objects/items/storage/boxes.html b/code/game/objects/items/storage/boxes.html new file mode 100644 index 000000000000..b4d30727c487 --- /dev/null +++ b/code/game/objects/items/storage/boxes.html @@ -0,0 +1 @@ +code/game/objects/items/storage/boxes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/storage/boxes.dm

/obj/item/storage/box/clownclown box & honkbot assembly
\ No newline at end of file diff --git a/code/game/objects/items/summon.html b/code/game/objects/items/summon.html new file mode 100644 index 000000000000..0a62ae97d8d8 --- /dev/null +++ b/code/game/objects/items/summon.html @@ -0,0 +1 @@ +code/game/objects/items/summon.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/objects/items/summon.dm

STATE_IDLEdoing nothing/orbiting idly
STATE_RESETperforming reset animation
STATE_ATTACKperforming attack animation
STATE_RECOVERperforming animation between attacks
/obj/item/summonSimple summon weapon code in this file
/datum/summon_weapon_hostServes as the master datum for summon weapons
/datum/summon_weaponA singular summoned object

Define Details

STATE_ATTACK

performing attack animation

STATE_IDLE

doing nothing/orbiting idly

STATE_RECOVER

performing animation between attacks

STATE_RESET

performing reset animation

\ No newline at end of file diff --git a/code/game/objects/items/toy_mechs.html b/code/game/objects/items/toy_mechs.html new file mode 100644 index 000000000000..42e50d95b778 --- /dev/null +++ b/code/game/objects/items/toy_mechs.html @@ -0,0 +1,3 @@ +code/game/objects/items/toy_mechs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/objects/items/toy_mechs.dm

SPECIAL_ATTACK_HEALMech prizes + MECHA COMBAT!! +Mech battle special attack types.
MAX_BATTLE_LENGTHMax length of a mech battle

Define Details

MAX_BATTLE_LENGTH

Max length of a mech battle

SPECIAL_ATTACK_HEAL

Mech prizes + MECHA COMBAT!! +Mech battle special attack types.

\ No newline at end of file diff --git a/code/game/objects/items/weaponry.html b/code/game/objects/items/weaponry.html new file mode 100644 index 000000000000..dadcfdd79f3a --- /dev/null +++ b/code/game/objects/items/weaponry.html @@ -0,0 +1 @@ +code/game/objects/items/weaponry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/items/weaponry.dm

/obj/item/bokken_bladeBOKKEN CRAFTNG PIECES
\ No newline at end of file diff --git a/code/game/objects/structures/beds_chairs/chair.html b/code/game/objects/structures/beds_chairs/chair.html new file mode 100644 index 000000000000..beb36530ae5a --- /dev/null +++ b/code/game/objects/structures/beds_chairs/chair.html @@ -0,0 +1 @@ +code/game/objects/structures/beds_chairs/chair.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/structures/beds_chairs/chair.dm

/obj/structure/chair/greyscaleMaterial chair
\ No newline at end of file diff --git a/code/game/objects/structures/girders.html b/code/game/objects/structures/girders.html new file mode 100644 index 000000000000..b1e795bc1ecd --- /dev/null +++ b/code/game/objects/structures/girders.html @@ -0,0 +1 @@ +code/game/objects/structures/girders.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/structures/girders.dm

/obj/structure/girder/cultcult girder
\ No newline at end of file diff --git a/code/game/objects/structures/industrial_lift.html b/code/game/objects/structures/industrial_lift.html new file mode 100644 index 000000000000..92250fa2ab36 --- /dev/null +++ b/code/game/objects/structures/industrial_lift.html @@ -0,0 +1 @@ +code/game/objects/structures/industrial_lift.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/structures/industrial_lift.dm

/datum/lift_masterCollect and command
\ 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 000000000000..86de73a5a26d --- /dev/null +++ b/code/game/objects/structures/kitchen_spike.html @@ -0,0 +1 @@ +code/game/objects/structures/kitchen_spike.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/objects/structures/kitchen_spike.dm

VIABLE_MOB_CHECKKitchen Spike

Define Details

VIABLE_MOB_CHECK

Kitchen 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 000000000000..5b73772654b3 --- /dev/null +++ b/code/game/objects/structures/loom.html @@ -0,0 +1 @@ +code/game/objects/structures/loom.dm - SPLURT Station 13
SPLURT 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/manned_turret.html b/code/game/objects/structures/manned_turret.html new file mode 100644 index 000000000000..5948e4bd0fcb --- /dev/null +++ b/code/game/objects/structures/manned_turret.html @@ -0,0 +1 @@ +code/game/objects/structures/manned_turret.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/structures/manned_turret.dm

/obj/machinery/manned_turretMANNED TURRET
\ 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 000000000000..9735da414aa2 --- /dev/null +++ b/code/game/objects/structures/safe.html @@ -0,0 +1 @@ +code/game/objects/structures/safe.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/objects/structures/safe.dm

SOUND_CHANCEChance for a sound clue
BROKEN_THRESHOLDExplosion number threshold for opening safe

Define Details

BROKEN_THRESHOLD

Explosion number threshold for opening safe

SOUND_CHANCE

Chance for a sound clue

\ 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 000000000000..9c74969e7923 --- /dev/null +++ b/code/game/objects/structures/statues.html @@ -0,0 +1,2 @@ +code/game/objects/structures/statues.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/structures/statues.dm

/obj/structure/statue/uranium//////////////STATUES////////////////////////// +uranium
/obj/structure/statue/plasmaplasma
/obj/structure/statue/goldgold
/obj/structure/statue/silversilver
/obj/structure/statue/diamonddiamond
/obj/structure/statue/bananiumbananium
/obj/structure/statue/sandstonesandstone
/obj/structure/statue/snowsnow
/obj/structure/statue/bronzebronze
/obj/item/chiselElder Atmosian
\ 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 000000000000..806286e2f5a9 --- /dev/null +++ b/code/game/objects/structures/tables_racks.html @@ -0,0 +1 @@ +code/game/objects/structures/tables_racks.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/objects/structures/tables_racks.dm

/obj/structure/table/rollingTable on wheels
\ No newline at end of file diff --git a/code/game/say.html b/code/game/say.html new file mode 100644 index 000000000000..5901df8a70d4 --- /dev/null +++ b/code/game/say.html @@ -0,0 +1 @@ +code/game/say.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/say.dm

ENCODE_HTML_EMPHASISTransforms the speech emphasis mods from /atom/movable/proc/say_emphasis into the appropriate HTML tags. Includes escaping.

Define Details

ENCODE_HTML_EMPHASIS

Transforms the speech emphasis mods from /atom/movable/proc/say_emphasis into the appropriate HTML tags. Includes escaping.

\ No newline at end of file diff --git a/code/game/sound.html b/code/game/sound.html new file mode 100644 index 000000000000..4ad6b3614de7 --- /dev/null +++ b/code/game/sound.html @@ -0,0 +1,27 @@ +code/game/sound.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/sound.dm

playsound

+

playsound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.

+

source - Origin of sound +soundin - Either a file, or a string that can be used to get an SFX +vol - The volume of the sound, excluding falloff and pressure affection. +vary - bool that determines if the sound changes pitch every time it plays +extrarange - modifier for sound range. This gets added on top of SOUND_RANGE +falloff_exponent - Rate of falloff for the audio. Higher means quicker drop to low volume. Should generally be over 1 to indicate a quick dive to 0 rather than a slow dive. +frequency - playback speed of audio +channel - The channel the sound is played at +pressure_affected - Whether or not difference in pressure affects the sound (E.g. if you can hear in space) +ignore_walls - Whether or not the sound can pass through walls. +falloff_distance - Distance at which falloff begins. Sound is at peak volume (in regards to falloff) aslong as it is in this range.

+

playsound

+

playsound_local is a proc used to play a sound directly on a mob from a specific turf. +This is called by playsound to send sounds to players, in which case it also gets the max_distance of that sound.

+

turf_source - Origin of sound +soundin - Either a file, or a string that can be used to get an SFX +vol - The volume of the sound, excluding falloff +vary - bool that determines if the sound changes pitch every time it plays +frequency - playback speed of audio +falloff_exponent - Rate of falloff for the audio. Higher means quicker drop to low volume. Should generally be over 1 to indicate a quick dive to 0 rather than a slow dive. +channel - The channel the sound is played at +pressure_affected - Whether or not difference in pressure affects the sound (E.g. if you can hear in space) +max_distance - The peak distance of the sound, if this is a 3D sound +falloff_distance - Distance at which falloff begins, if this is a 3D sound +distance_multiplier - Can be used to multiply the distance at which the sound is heard

\ No newline at end of file diff --git a/code/game/turfs/open/floor/catwalk_plating.html b/code/game/turfs/open/floor/catwalk_plating.html new file mode 100644 index 000000000000..d86c0462e8ce --- /dev/null +++ b/code/game/turfs/open/floor/catwalk_plating.html @@ -0,0 +1 @@ +code/game/turfs/open/floor/catwalk_plating.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/turfs/open/floor/catwalk_plating.dm

/turf/open/floor/catwalk_floor
\ No newline at end of file diff --git a/code/game/turfs/simulated/floor/plating/asteroid.html b/code/game/turfs/simulated/floor/plating/asteroid.html new file mode 100644 index 000000000000..332fc003e600 --- /dev/null +++ b/code/game/turfs/simulated/floor/plating/asteroid.html @@ -0,0 +1 @@ +code/game/turfs/simulated/floor/plating/asteroid.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/turfs/simulated/floor/plating/asteroid.dm

/turf/open/floor/plating/asteroidAsteroid
/turf/open/floor/plating/asteroid/basalt/lava_land_surfaceSurface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground.
\ No newline at end of file diff --git a/code/game/turfs/simulated/lava.html b/code/game/turfs/simulated/lava.html new file mode 100644 index 000000000000..f2e8712e1579 --- /dev/null +++ b/code/game/turfs/simulated/lava.html @@ -0,0 +1 @@ +code/game/turfs/simulated/lava.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/game/turfs/simulated/lava.dm

/turf/open/lavaLAVA
LAVA_BE_IGNORINGGeneric return value of the can_burn_stuff() proc. Does nothing.
LAVA_BE_PROCESSINGAnother. Won't burn the target but will make the turf start processing.
LAVA_BE_BURNINGBurns the target and makes the turf process (depending on the return value of do_burn()).

Define Details

LAVA_BE_BURNING

Burns the target and makes the turf process (depending on the return value of do_burn()).

LAVA_BE_IGNORING

Generic return value of the can_burn_stuff() proc. Does nothing.

LAVA_BE_PROCESSING

Another. Won't burn the target but will make the turf start processing.

\ 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 000000000000..683fdd7cf4a0 --- /dev/null +++ b/code/game/turfs/simulated/minerals.html @@ -0,0 +1 @@ +code/game/turfs/simulated/minerals.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/turfs/simulated/minerals.dm

/turf/closed/mineralMineral deposits
\ No newline at end of file diff --git a/code/game/turfs/simulated/wall/mineral_walls.html b/code/game/turfs/simulated/wall/mineral_walls.html new file mode 100644 index 000000000000..048770283d7a --- /dev/null +++ b/code/game/turfs/simulated/wall/mineral_walls.html @@ -0,0 +1 @@ +code/game/turfs/simulated/wall/mineral_walls.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/turfs/simulated/wall/mineral_walls.dm

/turf/closed/wall/mineral/titaniumTitanium walls
/turf/closed/wall/mineral/plastitaniumPlastitanium walls
\ No newline at end of file diff --git a/code/game/turfs/simulated/wall/reinf_walls.html b/code/game/turfs/simulated/wall/reinf_walls.html new file mode 100644 index 000000000000..3477eeb00d0d --- /dev/null +++ b/code/game/turfs/simulated/wall/reinf_walls.html @@ -0,0 +1 @@ +code/game/turfs/simulated/wall/reinf_walls.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/turfs/simulated/wall/reinf_walls.dm

/turf/closed/wall/r_wall/syndicate/piratePirate Ship walls
\ No newline at end of file diff --git a/code/game/turfs/turf.html b/code/game/turfs/turf.html new file mode 100644 index 000000000000..860a9ce14ba2 --- /dev/null +++ b/code/game/turfs/turf.html @@ -0,0 +1 @@ +code/game/turfs/turf.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/game/turfs/turf.dm

/turfAny floor or wall. What makes up the station and the rest of the map.
\ No newline at end of file diff --git a/code/modules/actionspeed/_actionspeed_modifier.html b/code/modules/actionspeed/_actionspeed_modifier.html new file mode 100644 index 000000000000..7b90b452d80a --- /dev/null +++ b/code/modules/actionspeed/_actionspeed_modifier.html @@ -0,0 +1,19 @@ +code/modules/actionspeed/_actionspeed_modifier.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/actionspeed/_actionspeed_modifier.dm

Actionspeed modification datums.

+
How action speed for mobs works
+
+

Action speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of actionspeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update action speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Actionspeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update actionspeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

/proc/get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: multiplicative slowdown), modify the datum +5. Update if necessary

+
/proc/actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
\ No newline at end of file diff --git a/code/modules/admin/NewBan.html b/code/modules/admin/NewBan.html new file mode 100644 index 000000000000..25e36a19ce21 --- /dev/null +++ b/code/modules/admin/NewBan.html @@ -0,0 +1 @@ +code/modules/admin/NewBan.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/NewBan.dm

/proc/CreateBansDEBUG
\ No newline at end of file diff --git a/code/modules/admin/callproc/callproc.html b/code/modules/admin/callproc/callproc.html new file mode 100644 index 000000000000..40493ec83725 --- /dev/null +++ b/code/modules/admin/callproc/callproc.html @@ -0,0 +1 @@ +code/modules/admin/callproc/callproc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/callproc/callproc.dm

/proc/WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
\ No newline at end of file diff --git a/code/modules/admin/force_event.html b/code/modules/admin/force_event.html new file mode 100644 index 000000000000..b5dd04b54633 --- /dev/null +++ b/code/modules/admin/force_event.html @@ -0,0 +1 @@ +code/modules/admin/force_event.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/force_event.dm

/datum/force_eventForce Event Panel
\ No newline at end of file diff --git a/code/modules/admin/smites/berforate.html b/code/modules/admin/smites/berforate.html new file mode 100644 index 000000000000..cade14ca962e --- /dev/null +++ b/code/modules/admin/smites/berforate.html @@ -0,0 +1 @@ +code/modules/admin/smites/berforate.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/berforate.dm

/datum/smite/berforateFires an absurd amount of bullets at the target
\ No newline at end of file diff --git a/code/modules/admin/smites/bloodless.html b/code/modules/admin/smites/bloodless.html new file mode 100644 index 000000000000..49a35c01bba3 --- /dev/null +++ b/code/modules/admin/smites/bloodless.html @@ -0,0 +1 @@ +code/modules/admin/smites/bloodless.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/bloodless.dm

/datum/smite/bloodlessSlashes up the target
\ No newline at end of file diff --git a/code/modules/admin/smites/boneless.html b/code/modules/admin/smites/boneless.html new file mode 100644 index 000000000000..0f5536abad15 --- /dev/null +++ b/code/modules/admin/smites/boneless.html @@ -0,0 +1 @@ +code/modules/admin/smites/boneless.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/boneless.dm

/datum/smite/bonelessGives the target critically bad wounds
\ No newline at end of file diff --git a/code/modules/admin/smites/bonk.html b/code/modules/admin/smites/bonk.html new file mode 100644 index 000000000000..c0f097399846 --- /dev/null +++ b/code/modules/admin/smites/bonk.html @@ -0,0 +1 @@ +code/modules/admin/smites/bonk.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/bonk.dm

/datum/smite/bonkBonks the target
\ No newline at end of file diff --git a/code/modules/admin/smites/bookify.html b/code/modules/admin/smites/bookify.html new file mode 100644 index 000000000000..2ad4e48edb5a --- /dev/null +++ b/code/modules/admin/smites/bookify.html @@ -0,0 +1 @@ +code/modules/admin/smites/bookify.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/bookify.dm

/datum/smite/bookifyTurns the target into a book
\ No newline at end of file diff --git a/code/modules/admin/smites/brain_damage.html b/code/modules/admin/smites/brain_damage.html new file mode 100644 index 000000000000..f9a072ec91d2 --- /dev/null +++ b/code/modules/admin/smites/brain_damage.html @@ -0,0 +1 @@ +code/modules/admin/smites/brain_damage.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/brain_damage.dm

/datum/smite/brain_damageInflicts crippling brain damage on the target
\ No newline at end of file diff --git a/code/modules/admin/smites/bread.html b/code/modules/admin/smites/bread.html new file mode 100644 index 000000000000..6114f7f68e59 --- /dev/null +++ b/code/modules/admin/smites/bread.html @@ -0,0 +1 @@ +code/modules/admin/smites/bread.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/bread.dm

/datum/smite/breadTurns the target into bread
\ No newline at end of file diff --git a/code/modules/admin/smites/bsa.html b/code/modules/admin/smites/bsa.html new file mode 100644 index 000000000000..b8afdc876801 --- /dev/null +++ b/code/modules/admin/smites/bsa.html @@ -0,0 +1 @@ +code/modules/admin/smites/bsa.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/bsa.dm

/datum/smite/bsaFires the BSA at the target
\ No newline at end of file diff --git a/code/modules/admin/smites/cluwne.html b/code/modules/admin/smites/cluwne.html new file mode 100644 index 000000000000..6c1c95ea208a --- /dev/null +++ b/code/modules/admin/smites/cluwne.html @@ -0,0 +1 @@ +code/modules/admin/smites/cluwne.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/cluwne.dm

/datum/smite/cluwneCluwneifies the target
\ No newline at end of file diff --git a/code/modules/admin/smites/custompie.html b/code/modules/admin/smites/custompie.html new file mode 100644 index 000000000000..c0ced47d8d38 --- /dev/null +++ b/code/modules/admin/smites/custompie.html @@ -0,0 +1 @@ +code/modules/admin/smites/custompie.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/custompie.dm

/datum/smite/custompieThrows a custom pie at the target
\ No newline at end of file diff --git a/code/modules/admin/smites/dock_pay.html b/code/modules/admin/smites/dock_pay.html new file mode 100644 index 000000000000..74dc8abe4f99 --- /dev/null +++ b/code/modules/admin/smites/dock_pay.html @@ -0,0 +1 @@ +code/modules/admin/smites/dock_pay.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/dock_pay.dm

/datum/smite/dock_payDocks the target's pay
\ No newline at end of file diff --git a/code/modules/admin/smites/fake_bwoink.html b/code/modules/admin/smites/fake_bwoink.html new file mode 100644 index 000000000000..5dcf874f5f66 --- /dev/null +++ b/code/modules/admin/smites/fake_bwoink.html @@ -0,0 +1 @@ +code/modules/admin/smites/fake_bwoink.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/fake_bwoink.dm

/datum/smite/fake_bwoinkSends the target a fake adminhelp sound
\ No newline at end of file diff --git a/code/modules/admin/smites/finalmessage.html b/code/modules/admin/smites/finalmessage.html new file mode 100644 index 000000000000..fef9bc0927ef --- /dev/null +++ b/code/modules/admin/smites/finalmessage.html @@ -0,0 +1 @@ +code/modules/admin/smites/finalmessage.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/finalmessage.dm

/datum/smite/finalmessageTheir Final Message
\ No newline at end of file diff --git a/code/modules/admin/smites/fireball.html b/code/modules/admin/smites/fireball.html new file mode 100644 index 000000000000..0f8b122ec8a7 --- /dev/null +++ b/code/modules/admin/smites/fireball.html @@ -0,0 +1 @@ +code/modules/admin/smites/fireball.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/fireball.dm

/datum/smite/fireballThrows a fireball down at the target
\ No newline at end of file diff --git a/code/modules/admin/smites/fry.html b/code/modules/admin/smites/fry.html new file mode 100644 index 000000000000..59bf683b584a --- /dev/null +++ b/code/modules/admin/smites/fry.html @@ -0,0 +1 @@ +code/modules/admin/smites/fry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/fry.dm

/datum/smite/fryFry the target
\ No newline at end of file diff --git a/code/modules/admin/smites/gib.html b/code/modules/admin/smites/gib.html new file mode 100644 index 000000000000..a45038c9a41e --- /dev/null +++ b/code/modules/admin/smites/gib.html @@ -0,0 +1 @@ +code/modules/admin/smites/gib.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/gib.dm

/datum/smite/gibGibs the target
\ No newline at end of file diff --git a/code/modules/admin/smites/immerse.html b/code/modules/admin/smites/immerse.html new file mode 100644 index 000000000000..0421e67a481a --- /dev/null +++ b/code/modules/admin/smites/immerse.html @@ -0,0 +1 @@ +code/modules/admin/smites/immerse.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/immerse.dm

/datum/smite/immerse"Fully immerses" the player, making them manually breathe and blink
\ No newline at end of file diff --git a/code/modules/admin/smites/knot_shoes.html b/code/modules/admin/smites/knot_shoes.html new file mode 100644 index 000000000000..fab9a849e3a9 --- /dev/null +++ b/code/modules/admin/smites/knot_shoes.html @@ -0,0 +1 @@ +code/modules/admin/smites/knot_shoes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/knot_shoes.dm

/datum/smite/knot_shoesTies the target's shoes
\ No newline at end of file diff --git a/code/modules/admin/smites/lightning.html b/code/modules/admin/smites/lightning.html new file mode 100644 index 000000000000..9cad8e940575 --- /dev/null +++ b/code/modules/admin/smites/lightning.html @@ -0,0 +1 @@ +code/modules/admin/smites/lightning.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/lightning.dm

/datum/smite/lightningStrikes the target with a lightning bolt
/proc/lightningboltthis is the actual bolt effect and damage, made into its own proc because it is used elsewhere
\ No newline at end of file diff --git a/code/modules/admin/smites/nugget.html b/code/modules/admin/smites/nugget.html new file mode 100644 index 000000000000..f40ea0ebdba7 --- /dev/null +++ b/code/modules/admin/smites/nugget.html @@ -0,0 +1 @@ +code/modules/admin/smites/nugget.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/nugget.dm

/datum/smite/nuggetRips off all the limbs of the target
\ No newline at end of file diff --git a/code/modules/admin/smites/phobia_ocky_icky.html b/code/modules/admin/smites/phobia_ocky_icky.html new file mode 100644 index 000000000000..351c3cf5f109 --- /dev/null +++ b/code/modules/admin/smites/phobia_ocky_icky.html @@ -0,0 +1 @@ +code/modules/admin/smites/phobia_ocky_icky.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/phobia_ocky_icky.dm

/datum/smite/ocky_icky"Immerses" the player, making them unable to use some OOC terms IC
\ No newline at end of file diff --git a/code/modules/admin/smites/pickle.html b/code/modules/admin/smites/pickle.html new file mode 100644 index 000000000000..3aca20f355fc --- /dev/null +++ b/code/modules/admin/smites/pickle.html @@ -0,0 +1 @@ +code/modules/admin/smites/pickle.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/pickle.dm

/datum/smite/pickleTurns the target into a pickle
\ No newline at end of file diff --git a/code/modules/admin/smites/pie.html b/code/modules/admin/smites/pie.html new file mode 100644 index 000000000000..76c054231a96 --- /dev/null +++ b/code/modules/admin/smites/pie.html @@ -0,0 +1 @@ +code/modules/admin/smites/pie.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/pie.dm

/datum/smite/pieThrows a pie at the target
\ No newline at end of file diff --git a/code/modules/admin/smites/puzzle.html b/code/modules/admin/smites/puzzle.html new file mode 100644 index 000000000000..ac1133d92a27 --- /dev/null +++ b/code/modules/admin/smites/puzzle.html @@ -0,0 +1 @@ +code/modules/admin/smites/puzzle.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/puzzle.dm

/datum/smite/puzzleTurns the user into a sliding puzzle
\ No newline at end of file diff --git a/code/modules/admin/smites/rod.html b/code/modules/admin/smites/rod.html new file mode 100644 index 000000000000..e2d5176fb440 --- /dev/null +++ b/code/modules/admin/smites/rod.html @@ -0,0 +1 @@ +code/modules/admin/smites/rod.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/rod.dm

/datum/smite/rodThrow an immovable rod at the target
\ No newline at end of file diff --git a/code/modules/admin/smites/scarify.html b/code/modules/admin/smites/scarify.html new file mode 100644 index 000000000000..8a5299f60887 --- /dev/null +++ b/code/modules/admin/smites/scarify.html @@ -0,0 +1 @@ +code/modules/admin/smites/scarify.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/scarify.dm

/datum/smite/scarifyGives the target fake scars
\ No newline at end of file diff --git a/code/modules/admin/smites/shoes.html b/code/modules/admin/smites/shoes.html new file mode 100644 index 000000000000..fa5d57e7de61 --- /dev/null +++ b/code/modules/admin/smites/shoes.html @@ -0,0 +1 @@ +code/modules/admin/smites/shoes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/shoes.dm

/datum/smite/shoesTies the target's shoes
\ No newline at end of file diff --git a/code/modules/admin/smites/smite.html b/code/modules/admin/smites/smite.html new file mode 100644 index 000000000000..07561b42437b --- /dev/null +++ b/code/modules/admin/smites/smite.html @@ -0,0 +1 @@ +code/modules/admin/smites/smite.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/smite.dm

/datum/smiteA smite, used by admins to punish players, or for their own amusement
\ No newline at end of file diff --git a/code/modules/admin/smites/supply_pod.html b/code/modules/admin/smites/supply_pod.html new file mode 100644 index 000000000000..d83116619196 --- /dev/null +++ b/code/modules/admin/smites/supply_pod.html @@ -0,0 +1 @@ +code/modules/admin/smites/supply_pod.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/supply_pod.dm

/datum/smite/supply_podThrows a supply pod at the target, with no item inside
\ No newline at end of file diff --git a/code/modules/admin/smites/supply_pod_quick.html b/code/modules/admin/smites/supply_pod_quick.html new file mode 100644 index 000000000000..4d5de2e938e0 --- /dev/null +++ b/code/modules/admin/smites/supply_pod_quick.html @@ -0,0 +1 @@ +code/modules/admin/smites/supply_pod_quick.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/supply_pod_quick.dm

/datum/smite/supply_pod_quickQuickly throws a supply pod at the target, optionally with an item
\ No newline at end of file diff --git a/code/modules/admin/smites/tabletide.html b/code/modules/admin/smites/tabletide.html new file mode 100644 index 000000000000..5a488f4a0e56 --- /dev/null +++ b/code/modules/admin/smites/tabletide.html @@ -0,0 +1 @@ +code/modules/admin/smites/tabletide.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/smites/tabletide.dm

/datum/smite/tabletideTableslam the target
\ No newline at end of file diff --git a/code/modules/admin/tag.html b/code/modules/admin/tag.html new file mode 100644 index 000000000000..867ec8cb6398 --- /dev/null +++ b/code/modules/admin/tag.html @@ -0,0 +1 @@ +code/modules/admin/tag.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/admin/tag.dm

TAGS_REFRESHQuick define for readability

Define Details

TAGS_REFRESH

Quick define for readability

\ No newline at end of file diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html new file mode 100644 index 000000000000..ab5371e2ddd1 --- /dev/null +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html @@ -0,0 +1 @@ +code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm

/proc/_turf_in_offsetLocating turfs
\ No newline at end of file diff --git a/code/modules/admin/verbs/adminhelp.html b/code/modules/admin/verbs/adminhelp.html new file mode 100644 index 000000000000..efa4401db005 --- /dev/null +++ b/code/modules/admin/verbs/adminhelp.html @@ -0,0 +1 @@ +code/modules/admin/verbs/adminhelp.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/verbs/adminhelp.dm

/proc/send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
/proc/check_admin_pingsChecks a given message to see if any of the words contain an active admin's ckey with an @ before it
\ No newline at end of file diff --git a/code/modules/admin/verbs/pray.html b/code/modules/admin/verbs/pray.html new file mode 100644 index 000000000000..40407ceac7e0 --- /dev/null +++ b/code/modules/admin/verbs/pray.html @@ -0,0 +1 @@ +code/modules/admin/verbs/pray.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/verbs/pray.dm

/proc/message_centcomUsed by communications consoles to message CentCom
/proc/message_syndicateUsed by communications consoles to message the Syndicate
/proc/nuke_requestUsed by communications consoles to request the nuclear launch codes
\ No newline at end of file diff --git a/code/modules/admin/verbs/randomverbs.html b/code/modules/admin/verbs/randomverbs.html new file mode 100644 index 000000000000..b091803ac0f4 --- /dev/null +++ b/code/modules/admin/verbs/randomverbs.html @@ -0,0 +1 @@ +code/modules/admin/verbs/randomverbs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/verbs/randomverbs.dm

/proc/firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
/proc/immerse_player"Immerse", or how I made the entire playerbase quit the game.
\ No newline at end of file diff --git a/code/modules/admin/view_variables/debug_variables.html b/code/modules/admin/view_variables/debug_variables.html new file mode 100644 index 000000000000..97f8d8121f43 --- /dev/null +++ b/code/modules/admin/view_variables/debug_variables.html @@ -0,0 +1 @@ +code/modules/admin/view_variables/debug_variables.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/admin/view_variables/debug_variables.dm

/proc/debug_variableGet displayed variable in VV variable list
\ No newline at end of file diff --git a/code/modules/admin/view_variables/view_variables.html b/code/modules/admin/view_variables/view_variables.html new file mode 100644 index 000000000000..b035f60ef203 --- /dev/null +++ b/code/modules/admin/view_variables/view_variables.html @@ -0,0 +1 @@ +code/modules/admin/view_variables/view_variables.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/admin/view_variables/view_variables.dm

ICON_STATE_CHECKEDthis dmi is checked. We don't check this one anymore.
ICON_STATE_NULLthis dmi has null-named icon_state, allowing it to show a sprite on vv editor.

Define Details

ICON_STATE_CHECKED

this dmi is checked. We don't check this one anymore.

ICON_STATE_NULL

this dmi has null-named icon_state, allowing it to show a sprite on vv editor.

\ 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 000000000000..f61952762f27 --- /dev/null +++ b/code/modules/antagonists/_common/antag_spawner.html @@ -0,0 +1 @@ +code/modules/antagonists/_common/antag_spawner.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/_common/antag_spawner.dm

/obj/item/antag_spawner/contractWIZARD
/obj/item/antag_spawner/nuke_opsBORGS AND OPERATIVES
/obj/item/antag_spawner/nuke_ops/clownCLOWN OP
/obj/item/antag_spawner/nuke_ops/borg_teleSYNDICATE BORG
/obj/item/antag_spawner/slaughter_demonSLAUGHTER DEMON
\ No newline at end of file diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_powers.html b/code/modules/antagonists/bloodsucker/bloodsucker_powers.html new file mode 100644 index 000000000000..c363bc2ad5b3 --- /dev/null +++ b/code/modules/antagonists/bloodsucker/bloodsucker_powers.html @@ -0,0 +1 @@ +code/modules/antagonists/bloodsucker/bloodsucker_powers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/bloodsucker/bloodsucker_powers.dm

/datum/action/cooldown/bloodsucker/targetedTARGETTED POWERS
\ No newline at end of file diff --git a/code/modules/antagonists/changeling/changeling.html b/code/modules/antagonists/changeling/changeling.html new file mode 100644 index 000000000000..9cbfdd437328 --- /dev/null +++ b/code/modules/antagonists/changeling/changeling.html @@ -0,0 +1 @@ +code/modules/antagonists/changeling/changeling.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/antagonists/changeling/changeling.dm

FORMAT_CHEM_CHARGES_TEXTHelper to format the text that gets thrown onto the chem hud element.

Define Details

FORMAT_CHEM_CHARGES_TEXT

Helper to format the text that gets thrown onto the chem hud element.

\ 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 000000000000..84521b9915ab --- /dev/null +++ b/code/modules/antagonists/changeling/powers/mutations.html @@ -0,0 +1,13 @@ +code/modules/antagonists/changeling/powers/mutations.dm - SPLURT Station 13
SPLURT 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| +*
/datum/action/changeling/gloves*
+|CLAWS| +*
\ No newline at end of file diff --git a/code/modules/antagonists/cult/cult_comms.html b/code/modules/antagonists/cult/cult_comms.html new file mode 100644 index 000000000000..80649e7924fa --- /dev/null +++ b/code/modules/antagonists/cult/cult_comms.html @@ -0,0 +1 @@ +code/modules/antagonists/cult/cult_comms.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/cult/cult_comms.dm

/datum/action/innate/cult/master/pulseELDRITCH PULSE
\ No newline at end of file diff --git a/code/modules/antagonists/devil/imp/imp.html b/code/modules/antagonists/devil/imp/imp.html new file mode 100644 index 000000000000..088f2ad2c209 --- /dev/null +++ b/code/modules/antagonists/devil/imp/imp.html @@ -0,0 +1 @@ +code/modules/antagonists/devil/imp/imp.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/devil/imp/imp.dm

/mob/living/simple_animal/impThe Monster
\ No newline at end of file diff --git a/code/modules/antagonists/disease/disease_abilities.html b/code/modules/antagonists/disease/disease_abilities.html new file mode 100644 index 000000000000..ab5c7d526d65 --- /dev/null +++ b/code/modules/antagonists/disease/disease_abilities.html @@ -0,0 +1 @@ +code/modules/antagonists/disease/disease_abilities.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/disease/disease_abilities.dm

/datum/disease_ability/symptom/mildBASE SYMPTOM TYPES
/datum/disease_ability/symptom/mild/coughMILD
/datum/disease_ability/symptom/medium/sheddingMEDIUM
/datum/disease_ability/symptom/powerful/firePOWERFUL
/datum/disease_ability/symptom/powerful/heal/starlightHEALING SUBTYPE
\ No newline at end of file diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.html b/code/modules/antagonists/eldritch_cult/eldritch_effects.html new file mode 100644 index 000000000000..44726a0cc13c --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.html @@ -0,0 +1 @@ +code/modules/antagonists/eldritch_cult/eldritch_effects.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/eldritch_cult/eldritch_effects.dm

/datum/reality_smash_tracker#Reality smash tracker
\ No newline at end of file diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.html b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.html new file mode 100644 index 000000000000..2fa65db31078 --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.html @@ -0,0 +1 @@ +code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm

/datum/eldritch_knowledge#Eldritch Knowledge
/datum/eldritch_knowledge/spellSubtypes
/datum/eldritch_knowledge/spell/basicBase lore
\ No newline at end of file diff --git a/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.html b/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.html new file mode 100644 index 000000000000..4b09a55b600a --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/eldritch_monster_antag.html @@ -0,0 +1 @@ +code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/eldritch_cult/eldritch_monster_antag.dm

/datum/antagonist/heretic_monsterTracking reasons
\ No newline at end of file diff --git a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.html b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.html new file mode 100644 index 000000000000..1d8c653ca48b --- /dev/null +++ b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.html @@ -0,0 +1 @@ +code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm

/datum/rust_spread#Rust spread datum
\ No newline at end of file diff --git a/code/modules/antagonists/gang/handler.html b/code/modules/antagonists/gang/handler.html new file mode 100644 index 000000000000..a8bd1510c7f5 --- /dev/null +++ b/code/modules/antagonists/gang/handler.html @@ -0,0 +1 @@ +code/modules/antagonists/gang/handler.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/gang/handler.dm

/datum/gang_handlerA special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.
\ No newline at end of file diff --git a/code/modules/antagonists/gang/themes.html b/code/modules/antagonists/gang/themes.html new file mode 100644 index 000000000000..98fdc462350b --- /dev/null +++ b/code/modules/antagonists/gang/themes.html @@ -0,0 +1 @@ +code/modules/antagonists/gang/themes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/gang/themes.dm

/datum/gang_themeGang themes for the Families gamemode. Used to determine the RP theme of the round, what gangs are present, and what their objectives are.
\ No newline at end of file diff --git a/code/modules/antagonists/revolution/revolution.html b/code/modules/antagonists/revolution/revolution.html new file mode 100644 index 000000000000..2c7b23dcebea --- /dev/null +++ b/code/modules/antagonists/revolution/revolution.html @@ -0,0 +1 @@ +code/modules/antagonists/revolution/revolution.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/revolution/revolution.dm

/datum/antagonist/revolution_enemy"Enemy of the Revolutionary", given to heads and security when the revolution wins
\ No newline at end of file diff --git a/code/modules/antagonists/slaughter/slaughter.html b/code/modules/antagonists/slaughter/slaughter.html new file mode 100644 index 000000000000..2a81a481441c --- /dev/null +++ b/code/modules/antagonists/slaughter/slaughter.html @@ -0,0 +1 @@ +code/modules/antagonists/slaughter/slaughter.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/slaughter/slaughter.dm

/mob/living/simple_animal/slaughterThe Monster
\ No newline at end of file diff --git a/code/modules/antagonists/swarmer/swarmer.html b/code/modules/antagonists/swarmer/swarmer.html new file mode 100644 index 000000000000..bfcd00c6e141 --- /dev/null +++ b/code/modules/antagonists/swarmer/swarmer.html @@ -0,0 +1 @@ +code/modules/antagonists/swarmer/swarmer.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/swarmer/swarmer.dm

/obj/item/deactivated_swarmerDeactivated swarmer shell
/mob/living/simple_animal/hostile/swarmerThe Mob itself
\ No newline at end of file diff --git a/code/modules/antagonists/traitor/equipment/contractor.html b/code/modules/antagonists/traitor/equipment/contractor.html new file mode 100644 index 000000000000..c9159c91508e --- /dev/null +++ b/code/modules/antagonists/traitor/equipment/contractor.html @@ -0,0 +1 @@ +code/modules/antagonists/traitor/equipment/contractor.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/traitor/equipment/contractor.dm

/datum/antagonist/traitor/contractor_supportSupport unit gets it's own very basic antag datum for admin logging.
/datum/team/contractor_teamTeam for storing both the contractor and their support unit - only really for the HUD and admin logging.
\ No newline at end of file diff --git a/code/modules/antagonists/wizard/equipment/artefact.html b/code/modules/antagonists/wizard/equipment/artefact.html new file mode 100644 index 000000000000..cd8579a426e4 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/artefact.html @@ -0,0 +1 @@ +code/modules/antagonists/wizard/equipment/artefact.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/wizard/equipment/artefact.dm

/obj/item/veilrenderVeil Render
/obj/singularity/wizardTEAR IN REALITY
/obj/item/scryingScrying
/obj/item/necromantic_stoneNecromantic Stone
\ No newline at end of file diff --git a/code/modules/antagonists/wizard/equipment/soulstone.html b/code/modules/antagonists/wizard/equipment/soulstone.html new file mode 100644 index 000000000000..6c3a20b514a2 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/soulstone.html @@ -0,0 +1 @@ +code/modules/antagonists/wizard/equipment/soulstone.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/antagonists/wizard/equipment/soulstone.dm

/obj/structure/constructshellTransferring to constructs
\ 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 000000000000..062ef19ec99d --- /dev/null +++ b/code/modules/assembly/infrared.html @@ -0,0 +1 @@ +code/modules/assembly/infrared.dm - SPLURT Station 13
SPLURT 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 000000000000..d7c731021e24 --- /dev/null +++ b/code/modules/asset_cache.html @@ -0,0 +1,17 @@ +code/modules/asset_cache/readme.md - SPLURT Station 13
SPLURT 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 000000000000..c66537764f29 --- /dev/null +++ b/code/modules/asset_cache/asset_cache_item.html @@ -0,0 +1 @@ +code/modules/asset_cache/asset_cache_item.dm - SPLURT Station 13
SPLURT 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 000000000000..17746c0f4ce6 --- /dev/null +++ b/code/modules/asset_cache/asset_list.html @@ -0,0 +1,5 @@ +code/modules/asset_cache/asset_list.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/asset_cache/asset_list.dm

/datum/asset/simpleIf you don't need anything complicated.
/datum/asset/simple/namespacedNamespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)
\ 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 000000000000..80409cacf4d2 --- /dev/null +++ b/code/modules/asset_cache/transports/asset_transport.html @@ -0,0 +1 @@ +code/modules/asset_cache/transports/asset_transport.dm - SPLURT Station 13
SPLURT 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 000000000000..f87846a27339 --- /dev/null +++ b/code/modules/asset_cache/transports/webroot_transport.html @@ -0,0 +1 @@ +code/modules/asset_cache/transports/webroot_transport.dm - SPLURT Station 13
SPLURT 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/gasmixtures/gas_mixture.html b/code/modules/atmospherics/gasmixtures/gas_mixture.html new file mode 100644 index 000000000000..6e2fa85d9da4 --- /dev/null +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.html @@ -0,0 +1,2 @@ +code/modules/atmospherics/gasmixtures/gas_mixture.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/atmospherics/gasmixtures/gas_mixture.dm

/proc/release_gas_toReleases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure. +a global proc due to rustmos
\ No newline at end of file diff --git a/code/modules/atmospherics/multiz.html b/code/modules/atmospherics/multiz.html new file mode 100644 index 000000000000..27d470440eae --- /dev/null +++ b/code/modules/atmospherics/multiz.html @@ -0,0 +1 @@ +code/modules/atmospherics/multiz.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/atmospherics/multiz.dm

/obj/machinery/atmospherics/pipe/simple/multizThis is an atmospherics pipe which can relay air up/down a deck.
\ No newline at end of file diff --git a/code/modules/awaymissions/corpse.html b/code/modules/awaymissions/corpse.html new file mode 100644 index 000000000000..fa120bb26b51 --- /dev/null +++ b/code/modules/awaymissions/corpse.html @@ -0,0 +1 @@ +code/modules/awaymissions/corpse.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/awaymissions/corpse.dm

/obj/effect/mob_spawn/human/corpse/assistantCivilians
/obj/effect/mob_spawn/human/bridgeofficerOfficers+Nanotrasen Security
/obj/effect/mob_spawn/human/skeletonSpooky Undead
\ No newline at end of file diff --git a/code/modules/awaymissions/gateway.html b/code/modules/awaymissions/gateway.html new file mode 100644 index 000000000000..f8f5558ee5a7 --- /dev/null +++ b/code/modules/awaymissions/gateway.html @@ -0,0 +1 @@ +code/modules/awaymissions/gateway.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/awaymissions/gateway.dm

/datum/gateway_destinationCorresponds to single entry in gateway control.
\ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/snowdin.html b/code/modules/awaymissions/mission_code/snowdin.html new file mode 100644 index 000000000000..524f4321bcfe --- /dev/null +++ b/code/modules/awaymissions/mission_code/snowdin.html @@ -0,0 +1 @@ +code/modules/awaymissions/mission_code/snowdin.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/awaymissions/mission_code/snowdin.dm

/obj/item/paper/crumpled/ruins/snowdin/foreshadowingpapers
\ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/wildwest.html b/code/modules/awaymissions/mission_code/wildwest.html new file mode 100644 index 000000000000..b3fa17d53c58 --- /dev/null +++ b/code/modules/awaymissions/mission_code/wildwest.html @@ -0,0 +1 @@ +code/modules/awaymissions/mission_code/wildwest.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/awaymissions/mission_code/wildwest.dm

/obj/item/paper/fluff/awaymissions/wildwest/grinderwildwest papers
/obj/effect/meatgrinderMeatgrinder
\ No newline at end of file diff --git a/code/modules/balloon_alert/balloon_alert.html b/code/modules/balloon_alert/balloon_alert.html new file mode 100644 index 000000000000..eecc17f7d5c4 --- /dev/null +++ b/code/modules/balloon_alert/balloon_alert.html @@ -0,0 +1 @@ +code/modules/balloon_alert/balloon_alert.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/balloon_alert/balloon_alert.dm

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

Define Details

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN

The amount of characters needed before this increase takes into effect

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT

The increase in duration per character in seconds

\ No newline at end of file diff --git a/code/modules/buildmode.html b/code/modules/buildmode.html new file mode 100644 index 000000000000..ea08e4ce3648 --- /dev/null +++ b/code/modules/buildmode.html @@ -0,0 +1,204 @@ +code/modules/buildmode/README.md - SPLURT Station 13
SPLURT 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.

      +
    • +
    • +

      Left click a location (requires chosen path):

      +

      Place an instance of the chosen path at the location.

      +
    • +
    • +

      Right click an object:

      +

      Delete the object.

      +
    • +
    +
  • +
  • +

    Fill

    +

    Description:

    +

    Creates an instance of an atom path on every tile in a chosen region.

    +

    With a special control input, instead deletes everything within the region.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Choose a path to spawn.

      +
    • +
    • +

      Left click on a region (requires chosen path):

      +

      Fill the region with the chosen path.

      +
    • +
    • +

      Alt+Left click on a region:

      +

      Deletes everything within the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    Copy

    +

    Description:

    +

    Take an existing object in the world, and place duplicates with identical attributes where you click.

    +

    May not always work nicely - "deep" variables such as lists or datums may malfunction.

    +

    Controls:

    +
      +
    • +

      Right click an existing object:

      +

      Select the clicked object as a template.

      +
    • +
    • +

      Left click a location (Requires a selected object as template):

      +

      Place a duplicate of the template at the clicked location.

      +
    • +
    +
  • +
  • +

    Area Edit

    +

    Description:

    +

    Modifies and creates areas.

    +

    The active area will be highlighted in yellow.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Create a new area, and make it active.

      +
    • +
    • +

      Right click an existing area:

      +

      Make the clicked area active.

      +
    • +
    • +

      Left click a turf:

      +

      When an area is active, adds the turf to the active area.

      +
    • +
    +
  • +
  • +

    Var Edit

    +

    Description:

    +

    Allows for setting and resetting variables of objects with a click.

    +

    If the object does not have the var, will do nothing and print a warning message.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Choose which variable to set, and what to set it to.

      +
    • +
    • +

      Left click an atom:

      +

      Change the clicked atom's variables as configured.

      +
    • +
    • +

      Right click an atom:

      +

      Reset the targeted variable to its original value in the code.

      +
    • +
    +
  • +
  • +

    Map Generator

    +

    Description:

    +

    Fills rectangular regions with algorithmically generated content. Right click during region selection to cancel.

    +

    See the procedural_mapping module for the generators themselves.

    +

    Controls:

    +
      +
    • +

      Right-click on the mode selector:

      +

      Select a map generator from all the generators present in the codebase.

      +
    • +
    • +

      Left click two corners of an area:

      +

      Use the generator to populate the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    Throwing

    +

    Description:

    +

    Select an object with left click, and right click to throw it towards where you clicked.

    +

    Controls:

    +
      +
    • +

      Left click on a movable atom:

      +

      Select the atom for throwing.

      +
    • +
    • +

      Right click on a location:

      +

      Throw the selected atom towards that location.

      +
    • +
    +
  • +
  • +

    Boom

    +

    Description:

    +

    Make explosions where you click.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Configure the explosion size.

      +
    • +
    • +

      Left click a location:

      +

      Cause an explosion where you clicked.

      +
    • +
    +
  • +
\ No newline at end of file diff --git a/code/modules/cargo/packs/armory.html b/code/modules/cargo/packs/armory.html new file mode 100644 index 000000000000..61d0868ab2a7 --- /dev/null +++ b/code/modules/cargo/packs/armory.html @@ -0,0 +1 @@ +code/modules/cargo/packs/armory.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/armory.dm

/datum/supply_pack/security/armoryArmory
\ No newline at end of file diff --git a/code/modules/cargo/packs/costumes_toys.html b/code/modules/cargo/packs/costumes_toys.html new file mode 100644 index 000000000000..6bd8c7128296 --- /dev/null +++ b/code/modules/cargo/packs/costumes_toys.html @@ -0,0 +1 @@ +code/modules/cargo/packs/costumes_toys.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/costumes_toys.dm

/datum/supply_pack/costumes_toysToys
/datum/supply_pack/costumes_toys/formalwearCostumes
\ No newline at end of file diff --git a/code/modules/cargo/packs/emergency.html b/code/modules/cargo/packs/emergency.html new file mode 100644 index 000000000000..05c2b50b2b8b --- /dev/null +++ b/code/modules/cargo/packs/emergency.html @@ -0,0 +1 @@ +code/modules/cargo/packs/emergency.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/emergency.dm

/datum/supply_pack/emergencyEmergency
\ No newline at end of file diff --git a/code/modules/cargo/packs/engine.html b/code/modules/cargo/packs/engine.html new file mode 100644 index 000000000000..e2b11a92a230 --- /dev/null +++ b/code/modules/cargo/packs/engine.html @@ -0,0 +1 @@ +code/modules/cargo/packs/engine.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/engine.dm

/datum/supply_pack/engineEngine Construction
\ No newline at end of file diff --git a/code/modules/cargo/packs/engineering.html b/code/modules/cargo/packs/engineering.html new file mode 100644 index 000000000000..5748509db981 --- /dev/null +++ b/code/modules/cargo/packs/engineering.html @@ -0,0 +1 @@ +code/modules/cargo/packs/engineering.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/engineering.dm

/datum/supply_pack/engineeringEngineering
\ No newline at end of file diff --git a/code/modules/cargo/packs/livestock.html b/code/modules/cargo/packs/livestock.html new file mode 100644 index 000000000000..336074f79e1e --- /dev/null +++ b/code/modules/cargo/packs/livestock.html @@ -0,0 +1 @@ +code/modules/cargo/packs/livestock.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/livestock.dm

/datum/supply_pack/critterLivestock
\ No newline at end of file diff --git a/code/modules/cargo/packs/materials.html b/code/modules/cargo/packs/materials.html new file mode 100644 index 000000000000..129c7dc6d64c --- /dev/null +++ b/code/modules/cargo/packs/materials.html @@ -0,0 +1 @@ +code/modules/cargo/packs/materials.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/materials.dm

/datum/supply_pack/materialsCanisters & Materials
/datum/supply_pack/materials/cardboard50Materials
/datum/supply_pack/materials/bzCanisters
/datum/supply_pack/materials/fueltankTanks
\ No newline at end of file diff --git a/code/modules/cargo/packs/medical.html b/code/modules/cargo/packs/medical.html new file mode 100644 index 000000000000..0c90db6b6ba4 --- /dev/null +++ b/code/modules/cargo/packs/medical.html @@ -0,0 +1 @@ +code/modules/cargo/packs/medical.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/medical.dm

/datum/supply_pack/medicalMedical
/datum/supply_pack/medical/bodybagsEquipment
/datum/supply_pack/medical/spraysMedical Kits
/datum/supply_pack/medical/virusVirology
\ No newline at end of file diff --git a/code/modules/cargo/packs/misc.html b/code/modules/cargo/packs/misc.html new file mode 100644 index 000000000000..0aec3fd89516 --- /dev/null +++ b/code/modules/cargo/packs/misc.html @@ -0,0 +1 @@ +code/modules/cargo/packs/misc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/misc.dm

/datum/supply_pack/miscMiscellaneous
/datum/supply_pack/misc/anvilPaperwork and Writing Supplies
/datum/supply_pack/misc/coloredsheetsEntertainment
/datum/supply_pack/misc/candlesMisc Supplies
/datum/supply_pack/misc/carpetMisc + Decor
/datum/supply_pack/misc/lewdLewd Supplies
/datum/supply_pack/misc/syndicateSpecial supply crate that generates random syndicate gear up to a determined TC value
\ No newline at end of file diff --git a/code/modules/cargo/packs/organic.html b/code/modules/cargo/packs/organic.html new file mode 100644 index 000000000000..507fbc80fecb --- /dev/null +++ b/code/modules/cargo/packs/organic.html @@ -0,0 +1 @@ +code/modules/cargo/packs/organic.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/organic.dm

/datum/supply_pack/organicOrganic
/datum/supply_pack/organic/combomeal2Meals
/datum/supply_pack/organic/foodRaw Ingredients
/datum/supply_pack/organic/hydroponics/beekeeping_suitsHydroponics
/datum/supply_pack/organic/partyMisc
\ No newline at end of file diff --git a/code/modules/cargo/packs/science.html b/code/modules/cargo/packs/science.html new file mode 100644 index 000000000000..aeee0996807c --- /dev/null +++ b/code/modules/cargo/packs/science.html @@ -0,0 +1 @@ +code/modules/cargo/packs/science.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/science.dm

/datum/supply_pack/scienceScience
/datum/supply_pack/science/raw_flux_anomalyRAW ANOMALY CORES
\ No newline at end of file diff --git a/code/modules/cargo/packs/security.html b/code/modules/cargo/packs/security.html new file mode 100644 index 000000000000..66c1663ddbea --- /dev/null +++ b/code/modules/cargo/packs/security.html @@ -0,0 +1 @@ +code/modules/cargo/packs/security.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/security.dm

/datum/supply_pack/securitySecurity
\ No newline at end of file diff --git a/code/modules/cargo/packs/service.html b/code/modules/cargo/packs/service.html new file mode 100644 index 000000000000..737d085b8938 --- /dev/null +++ b/code/modules/cargo/packs/service.html @@ -0,0 +1 @@ +code/modules/cargo/packs/service.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/service.dm

/datum/supply_pack/serviceService
/datum/supply_pack/service/wrapping_paperCargo
/datum/supply_pack/service/buildabarChef, Botanist, Bartender
/datum/supply_pack/service/advlightingJanitor
\ No newline at end of file diff --git a/code/modules/cargo/packs/vending.html b/code/modules/cargo/packs/vending.html new file mode 100644 index 000000000000..6941e4be28a6 --- /dev/null +++ b/code/modules/cargo/packs/vending.html @@ -0,0 +1 @@ +code/modules/cargo/packs/vending.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/cargo/packs/vending.dm

/datum/supply_pack/vendingVending
/datum/supply_pack/vending/bartendingService, Medical, Sec
/datum/supply_pack/vending/wardrobes/autodrobeWardrobe Vendors
\ No newline at end of file diff --git a/code/modules/clothing/masks/boxing.html b/code/modules/clothing/masks/boxing.html new file mode 100644 index 000000000000..155256376d12 --- /dev/null +++ b/code/modules/clothing/masks/boxing.html @@ -0,0 +1 @@ +code/modules/clothing/masks/boxing.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/clothing/masks/boxing.dm

/obj/item/clothing/mask/luchadorThis makes it so that your name shows up as unknown when wearing the mask.
\ No newline at end of file diff --git a/code/modules/clothing/masks/miscellaneous.html b/code/modules/clothing/masks/miscellaneous.html new file mode 100644 index 000000000000..aa7c826176f5 --- /dev/null +++ b/code/modules/clothing/masks/miscellaneous.html @@ -0,0 +1 @@ +code/modules/clothing/masks/miscellaneous.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/clothing/masks/miscellaneous.dm

/obj/item/clothing/mask/frogfrog mask - reeee!!
\ No newline at end of file diff --git a/code/modules/clothing/spacesuits/hardsuit.html b/code/modules/clothing/spacesuits/hardsuit.html new file mode 100644 index 000000000000..0a97214bad1f --- /dev/null +++ b/code/modules/clothing/spacesuits/hardsuit.html @@ -0,0 +1 @@ +code/modules/clothing/spacesuits/hardsuit.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/clothing/spacesuits/hardsuit.dm

/obj/item/clothing/suit/space/hardsuit/shieldedSHIELDED
/obj/item/clothing/suit/space/hardsuit/shielded/ctfCapture the Flag
/obj/item/clothing/suit/space/hardsuit/shielded/syndiSyndicate Version
/obj/item/clothing/suit/space/hardsuit/shielded/swatSWAT version
\ No newline at end of file diff --git a/code/modules/events/holiday/halloween.html b/code/modules/events/holiday/halloween.html new file mode 100644 index 000000000000..e9e652a964ab --- /dev/null +++ b/code/modules/events/holiday/halloween.html @@ -0,0 +1 @@ +code/modules/events/holiday/halloween.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/events/holiday/halloween.dm

/datum/round_event_control/spookyYou will appear adjacent to the beacon
\ No newline at end of file diff --git a/code/modules/events/stray_cargo.html b/code/modules/events/stray_cargo.html new file mode 100644 index 000000000000..797c8dfe5aff --- /dev/null +++ b/code/modules/events/stray_cargo.html @@ -0,0 +1 @@ +code/modules/events/stray_cargo.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/events/stray_cargo.dm

/datum/round_event_control/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event_control/stray_cargo/syndicateA rare variant that drops a crate containing syndicate uplink items
\ No newline at end of file diff --git a/code/modules/food_and_drinks/drinks/drinks.html b/code/modules/food_and_drinks/drinks/drinks.html new file mode 100644 index 000000000000..5ed7067ccc35 --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/drinks/drinks.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/drinks/drinks.dm

/obj/item/reagent_containers/food/drinksDrinks.
/obj/item/reagent_containers/food/drinks/trophyDrinks. END
/obj/item/reagent_containers/food/drinks/coffeeDrinks
/obj/item/reagent_containers/food/drinks/shakerdrinkingglass and shaker
/obj/item/reagent_containers/food/drinks/soda_canssoda_cans
\ 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 000000000000..6e1a2100566d --- /dev/null +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/drinks/drinks/bottle.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/drinks/drinks/bottle.dm

/obj/item/reagent_containers/food/drinks/bottleAlchohol bottles! -Agouri
/obj/item/reagent_containers/food/drinks/bottle/orangejuiceJUICES AND STUFF
/obj/item/reagent_containers/food/drinks/bottle/molotovMOLOTOV
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food.html b/code/modules/food_and_drinks/food.html new file mode 100644 index 000000000000..176235c98382 --- /dev/null +++ b/code/modules/food_and_drinks/food.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food.dm

/obj/item/reagent_containers/foodFood.
\ 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 000000000000..895352c9e0d0 --- /dev/null +++ b/code/modules/food_and_drinks/food/condiment.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/condiment.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/condiment.dm

/obj/item/reagent_containers/food/condimentCondiments
\ 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 000000000000..af9eb6bf96fd --- /dev/null +++ b/code/modules/food_and_drinks/food/customizables.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/customizables.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/customizables.dm

/obj/item/reagent_containers/food/snacks/customizable/burgerCustomizable Food Types
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks.html b/code/modules/food_and_drinks/food/snacks.html new file mode 100644 index 000000000000..0a4ba93a7536 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks.dm

/obj/item/reagent_containers/food/snacks
/obj/item/reagent_containers/food/snacks/storeAll the food items that can store an item inside itself, like bread or cake.
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks/dough.html b/code/modules/food_and_drinks/food/snacks/dough.html new file mode 100644 index 000000000000..eeebc9ecb511 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks/dough.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks/dough.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks/dough.dm

/obj/item/reagent_containers/food/snacks/doughDough Ingredients
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks/meat.html b/code/modules/food_and_drinks/food/snacks/meat.html new file mode 100644 index 000000000000..6251557e1134 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks/meat.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks/meat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks/meat.dm

/obj/item/reagent_containers/food/snacks/meat/slab/humanHUMAN MEATS
/obj/item/reagent_containers/food/snacks/meat/slab/synthmeatOTHER MEATS
/obj/item/reagent_containers/food/snacks/meat/steakMEAT STEAKS
/obj/item/reagent_containers/food/snacks/meat/rawcutletMEAT CUTLETS
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_egg.html b/code/modules/food_and_drinks/food/snacks_egg.html new file mode 100644 index 000000000000..565edcb9731c --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_egg.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_egg.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_egg.dm

/obj/item/reagent_containers/food/snacks/chocolateeggEGGS
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_meat.html b/code/modules/food_and_drinks/food/snacks_meat.html new file mode 100644 index 000000000000..908127610324 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_meat.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_meat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_meat.dm

/obj/item/reagent_containers/food/snacks/cubancarpFISH
/obj/item/reagent_containers/food/snacks/tofuMEATS AND ALIKE
/obj/item/reagent_containers/food/snacks/cubeCubes
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_other.html b/code/modules/food_and_drinks/food/snacks_other.html new file mode 100644 index 000000000000..2799eb4d48f2 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_other.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_other.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_other.dm

/obj/item/reagent_containers/food/snacks/store/cheesewheelOTHER
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_pastry.html b/code/modules/food_and_drinks/food/snacks_pastry.html new file mode 100644 index 000000000000..f16515c7fb3c --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_pastry.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_pastry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_pastry.dm

/obj/item/reagent_containers/food/snacks/donutDONUTS
/obj/item/reagent_containers/food/snacks/donut/jellyJELLY DONUTS
/obj/item/reagent_containers/food/snacks/donut/jelly/slimejellySLIME DONUTS
/obj/item/reagent_containers/food/snacks/muffinMUFFINS
/obj/item/reagent_containers/food/snacks/wafflesWAFFLES
/obj/item/reagent_containers/food/snacks/cookieOTHER
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_pizza.html b/code/modules/food_and_drinks/food/snacks_pizza.html new file mode 100644 index 000000000000..8bdb9ff59136 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_pizza.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_pizza.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_pizza.dm

/obj/item/reagent_containers/food/snacks/pizzaPIZZA
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_salad.html b/code/modules/food_and_drinks/food/snacks_salad.html new file mode 100644 index 000000000000..9892ed395805 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_salad.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_salad.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_salad.dm

/obj/item/reagent_containers/food/snacks/saladSALAD
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_sushi.html b/code/modules/food_and_drinks/food/snacks_sushi.html new file mode 100644 index 000000000000..b80b32bd7994 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_sushi.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_sushi.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_sushi.dm

/obj/item/reagent_containers/food/snacks/sushi_riceSushi Components
/obj/item/reagent_containers/food/snacks/sushie_basicSushi
\ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_vend.html b/code/modules/food_and_drinks/food/snacks_vend.html new file mode 100644 index 000000000000..8b18d243ec41 --- /dev/null +++ b/code/modules/food_and_drinks/food/snacks_vend.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/food/snacks_vend.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/food/snacks_vend.dm

/obj/item/reagent_containers/food/snacks/candySNACKS FROM VENDING MACHINES
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.html b/code/modules/food_and_drinks/recipes/drinks_recipes.html new file mode 100644 index 000000000000..a9aac6df328d --- /dev/null +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/drinks_recipes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/drinks_recipes.dm

/datum/chemical_reaction/goldschlagerCOCKTAILS
/datum/chemical_reaction/sbitenDRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
/datum/chemical_reaction/mushTea Base Drinks
/datum/chemical_reaction/coldscalesRace Base Drinks
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.html b/code/modules/food_and_drinks/recipes/food_mixtures.html new file mode 100644 index 000000000000..738bb55e5b7e --- /dev/null +++ b/code/modules/food_and_drinks/recipes/food_mixtures.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/food_mixtures.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/food_mixtures.dm

/datum/chemical_reaction/tofuFOOD MIXTURES
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html new file mode 100644 index 000000000000..25d9f6c8920f --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm

/datum/crafting_recipe/food/breadBREAD
/datum/crafting_recipe/food/butteredtoastTOAST
/datum/crafting_recipe/food/baguetteMISC
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html new file mode 100644 index 000000000000..c1e35e461a57 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm

/datum/crafting_recipe/food/burgerSTANDARD BURGS
/datum/crafting_recipe/food/appendixburgerEXOTIC
/datum/crafting_recipe/food/clownburgerMYSTICAL
/datum/crafting_recipe/food/redburgerCOLORED BURGERS
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html new file mode 100644 index 000000000000..e5d3514eb54c --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm

/datum/crafting_recipe/food/applecakeFRUIT CAKE
/datum/crafting_recipe/food/birthdaycakeFANCY
/datum/crafting_recipe/food/holycakeSPECIAL
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.html new file mode 100644 index 000000000000..4df12662b5ef --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_donut.dm

/datum/crafting_recipe/food/donutDONUTS
/datum/crafting_recipe/food/donut/jelly/appleJELLY DONUTS
/datum/crafting_recipe/food/donut/slimejelly/appleSLIME DONUTS
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html new file mode 100644 index 000000000000..a2cfca51a475 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm

/datum/crafting_recipe/food/friedeggEGG RECIPE's
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html new file mode 100644 index 000000000000..16eb55e42553 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm

/datum/crafting_recipe/food/apple_scSNOW CONES
/datum/crafting_recipe/food/mime_scI don't like seperating the clown and mime.
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html new file mode 100644 index 000000000000..6e32adfe7702 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm

/datum/crafting_recipe/food/humankebabKEBABS
/datum/crafting_recipe/food/spidereggshamMR SPIDER
/datum/crafting_recipe/food/meatslabMISC RECIPE's
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.html new file mode 100644 index 000000000000..8c51ce4184fb --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm

/datum/crafting_recipe/food/burrito"MEXICAN"
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.html new file mode 100644 index 000000000000..890dbce4290b --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm

/datum/crafting_recipe/food/chawanmushiEastern Foods
/datum/crafting_recipe/food/doughMISC
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html new file mode 100644 index 000000000000..0c7a7b737ee9 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm

/datum/crafting_recipe/food/muffinMUFFINS
/datum/crafting_recipe/food/cherrycupcakeCUPCAKES
/datum/crafting_recipe/food/raisincookieCOOKIES
/datum/crafting_recipe/food/wafflesWAFFLES AND PANCAKES
/datum/crafting_recipe/food/donkpocketDONKPOCCKETS
/datum/crafting_recipe/food/piedoughOTHER
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.html new file mode 100644 index 000000000000..ef0f5b641caf --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_pies_sweets.dm

/datum/crafting_recipe/food/applepieFRUITS
/datum/crafting_recipe/food/amanitapieOTHER PIES
/datum/crafting_recipe/food/goldenappletartTARTS
/datum/crafting_recipe/food/candiedappleSWEETS
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html new file mode 100644 index 000000000000..9bdf791ada07 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm

/datum/crafting_recipe/food/dankpizzaPIZZA!!!
/datum/crafting_recipe/food/pineapplepizza/anomalySpecial Pizzas
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html new file mode 100644 index 000000000000..ba485587c214 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm

/datum/crafting_recipe/food/aesirsaladSALADS
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html new file mode 100644 index 000000000000..f48226ba259a --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm

/datum/crafting_recipe/food/sandwichSANDWICHES
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.html new file mode 100644 index 000000000000..776de1c77855 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm

/datum/crafting_recipe/food/sushi_riceSushi Components
/datum/crafting_recipe/food/sashimiSushi
/datum/crafting_recipe/food/tuna_canFISH
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html new file mode 100644 index 000000000000..1ff05c454f7e --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm

/datum/crafting_recipe/food/amanitajellySOUP
\ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html new file mode 100644 index 000000000000..a097232fcf5a --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html @@ -0,0 +1 @@ +code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm

/datum/crafting_recipe/food/copypastaSPAGHETTI
/datum/crafting_recipe/food/beefnoodleNOODLES
\ 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 000000000000..7e223182aa0a --- /dev/null +++ b/code/modules/games/unum.html @@ -0,0 +1 @@ +code/modules/games/unum.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/games/unum.dm

/obj/item/toy/cards/deck/unumA deck of unum cards. Classic.
\ No newline at end of file diff --git a/code/modules/holiday/halloween/jacqueen.html b/code/modules/holiday/halloween/jacqueen.html new file mode 100644 index 000000000000..17586c2706f3 --- /dev/null +++ b/code/modules/holiday/halloween/jacqueen.html @@ -0,0 +1 @@ +code/modules/holiday/halloween/jacqueen.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/holiday/halloween/jacqueen.dm

/datum/round_event_control/jacqueenEVENT
/mob/living/simple_animal/jacqMOBS
\ 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 000000000000..909665a280e8 --- /dev/null +++ b/code/modules/hydroponics/grown/towercap.html @@ -0,0 +1 @@ +code/modules/hydroponics/grown/towercap.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/hydroponics/grown/towercap.dm

/obj/structure/bonfireBONFIRES
\ 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 000000000000..b857957e58d5 --- /dev/null +++ b/code/modules/hydroponics/seed_extractor.html @@ -0,0 +1 @@ +code/modules/hydroponics/seed_extractor.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/hydroponics/seed_extractor.dm

/proc/seedifyFinds and extracts seeds from an object
\ No newline at end of file diff --git a/code/modules/instruments/instrument_data/_instrument_data.html b/code/modules/instruments/instrument_data/_instrument_data.html new file mode 100644 index 000000000000..73f3844aeba9 --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_data.html @@ -0,0 +1 @@ +code/modules/instruments/instrument_data/_instrument_data.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/instruments/instrument_data/_instrument_data.dm

/proc/get_allowed_instrument_idsGet all non admin_only instruments.
\ 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 000000000000..19aa9f94a58d --- /dev/null +++ b/code/modules/instruments/songs/_song.html @@ -0,0 +1,2 @@ +code/modules/instruments/songs/_song.dm - SPLURT Station 13
SPLURT 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/jobs/access.html b/code/modules/jobs/access.html new file mode 100644 index 000000000000..54bb4aae2e04 --- /dev/null +++ b/code/modules/jobs/access.html @@ -0,0 +1 @@ +code/modules/jobs/access.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/jobs/access.dm

/proc/GetJobNameGets the job title, if the job name is an alt title, locates the original title using a prebuilt cache
\ No newline at end of file diff --git a/code/modules/keybindings.html b/code/modules/keybindings.html new file mode 100644 index 000000000000..00f0f5970308 --- /dev/null +++ b/code/modules/keybindings.html @@ -0,0 +1,34 @@ +code/modules/keybindings/readme.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

In-code keypress handling system

This whole system is heavily based off of forum_account's keyboard library. +Thanks to forum_account for saving the day, the library can be found +here!

+

.dmf macros have some very serious shortcomings. For example, they do not allow reusing parts +of one macro in another, so giving cyborgs their own shortcuts to swap active module couldn't +inherit the movement that all mobs should have anyways. The webclient only supports one macro, +so having more than one was problematic. Additionally each keybind has to call an actual +verb, which meant a lot of hidden verbs that just call one other proc. Also our existing +macro was really bad and tied unrelated behavior into Northeast(), Southeast(), Northwest(), +and Southwest().

+

The basic premise of this system is to not screw with .dmf macro setup at all and handle +pressing those keys in the code instead. We have every key call client.keyDown() +or client.keyUp() with the pressed key as an argument. Certain keys get processed +directly by the client because they should be doable at any time, then we call +keyDown() or keyUp() on the client's holder and the client's mob's focus. +By default mob.focus is the mob itself, but you can set it to any datum to give control of a +client's keypresses to another object. This would be a good way to handle a menu or driving +a mech. You can also set it to null to disregard input from a certain user.

+

Movement is handled by having each client call client.keyLoop() every game tick. +As above, this calls holder and focus.keyLoop(). atom/movable/keyLoop() handles movement +Try to keep the calculations in this proc light. It runs every tick for every client after all!

+

You can also tell which keys are being held down now. Each client a list of keys pressed called +keys_held. Each entry is a key as a text string associated with the world.time when it was +pressed.

+

No client-set keybindings at this time, but it shouldn't be too hard if someone wants.

+

Notes about certain keys:

+
    +
  • Tab has client-sided behavior but acts normally
  • +
  • T, O, and M move focus to the input when pressed. This fires the keyUp macro right away.
  • +
  • \ needs to be escaped in the dmf so any usage is \\
  • +
+

You cannot TICK_CHECK or check world.tick_usage inside of procs called by key down and up +events. They happen outside of a byond tick and have no meaning there. Key looping +works correctly since it's part of a subsystem, not direct input.

\ No newline at end of file diff --git a/code/modules/language/language_holder.html b/code/modules/language/language_holder.html new file mode 100644 index 000000000000..f8094348f8bc --- /dev/null +++ b/code/modules/language/language_holder.html @@ -0,0 +1,35 @@ +code/modules/language/language_holder.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/language/language_holder.dm

Language holders will either exist in an atom/movable or a mind. Creation of language holders happens +automatically when they are needed, for example when something tries to speak. +Where a mind is available, the mind language holder will be the one "in charge". The mind holder +will update its languages based on the atom holder, and will get updated as part of +transformations and other events that cause new languages to become available. +Every language holder has three lists of languages (and sources for each of them):

+
    +
  • understood_languages
  • +
  • spoken_languages
  • +
  • blocked_languages +Understood languages let you understand them, spoken languages lets you speak them +(if your tongue is compatible), and blocked languages will let you do neither no matter +what the source of the language is. +Language holders are designed to mostly only ever require the use the helpers in atom/movable +to achieve your goals, but it is also possible to work on them directly if needed. Any adding +and removing of languages and sources should only happen through the procs, as directly changing +these will mess something up somewhere down the line. +All atom movables have the initial_language_holder var which allows you to set the default language +holder to create. For example, /datum/language_holder/alien will give you xenocommon and a block for +galactic common. Human species also have a default language holder var that will be updated on +species change, initial_species_holder. +Key procs
  • +
+
\ No newline at end of file diff --git a/code/modules/lighting/emissive_blocker.html b/code/modules/lighting/emissive_blocker.html new file mode 100644 index 000000000000..057a14d2bcb5 --- /dev/null +++ b/code/modules/lighting/emissive_blocker.html @@ -0,0 +1 @@ +code/modules/lighting/emissive_blocker.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/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/mafia/_defines.html b/code/modules/mafia/_defines.html new file mode 100644 index 000000000000..295a72f16328 --- /dev/null +++ b/code/modules/mafia/_defines.html @@ -0,0 +1 @@ +code/modules/mafia/_defines.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mafia/_defines.dm

MAFIA_MAX_PLAYER_COUNThow many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)
TOWN_OVERFLOWAdd this if you don't want a role to be a choice in the selection
TOWN_INVESTroles that learn info about others in the game (chaplain, detective, psych)
TOWN_PROTECTroles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)
TOWN_KILLINGroles that are only there to kill bad guys.
TOWN_SUPPORTroles that don't fit into anything else (hop)
MAFIA_REGULARnormal vote kill changelings
MAFIA_SPECIALevery other changeling role that has extra abilities
NEUTRAL_KILLrole that wins solo that nobody likes
NEUTRAL_DISRUPTrole that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia
ROLE_UNDETECTABLEto all forms of detection, shows themselves as an assistant.
ROLE_CAN_KILLhas the ability to kill at night and thus, blocks the game from ending with other teams alive.
ROLE_UNIQUEcan only be one in a randomly generated game
ROLE_REVEALEDrole is public to all other players in the game.
ROLE_VULNERABLEcan not be defended, protected, or any other form of protection. all kills succeed no matter what.
ROLE_ROLEBLOCKEDcannot perform any actions that night, preselected actions fail
COMSIG_MAFIA_SUNDOWNwhen the shutters fall, before the 45 second wait and night event resolution
COMSIG_MAFIA_NIGHT_STARTafter the 45 second wait, for actions that must go first
COMSIG_MAFIA_NIGHT_ACTION_PHASEmost night actions now resolve
COMSIG_MAFIA_NIGHT_KILL_PHASEnow killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block
COMSIG_MAFIA_NIGHT_ENDnow undoing states like protection, actions that must happen last, etc. right before shutters raise and the day begins
COMSIG_MAFIA_GAME_ENDsignal sent to roles when the game is confirmed ending

Define Details

COMSIG_MAFIA_GAME_END

signal sent to roles when the game is confirmed ending

COMSIG_MAFIA_NIGHT_ACTION_PHASE

most night actions now resolve

COMSIG_MAFIA_NIGHT_END

now undoing states like protection, actions that must happen last, etc. right before shutters raise and the day begins

COMSIG_MAFIA_NIGHT_KILL_PHASE

now killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block

COMSIG_MAFIA_NIGHT_START

after the 45 second wait, for actions that must go first

COMSIG_MAFIA_SUNDOWN

when the shutters fall, before the 45 second wait and night event resolution

MAFIA_MAX_PLAYER_COUNT

how many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)

MAFIA_REGULAR

normal vote kill changelings

MAFIA_SPECIAL

every other changeling role that has extra abilities

NEUTRAL_DISRUPT

role that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia

NEUTRAL_KILL

role that wins solo that nobody likes

ROLE_CAN_KILL

has the ability to kill at night and thus, blocks the game from ending with other teams alive.

ROLE_REVEALED

role is public to all other players in the game.

ROLE_ROLEBLOCKED

cannot perform any actions that night, preselected actions fail

ROLE_UNDETECTABLE

to all forms of detection, shows themselves as an assistant.

ROLE_UNIQUE

can only be one in a randomly generated game

ROLE_VULNERABLE

can not be defended, protected, or any other form of protection. all kills succeed no matter what.

TOWN_INVEST

roles that learn info about others in the game (chaplain, detective, psych)

TOWN_KILLING

roles that are only there to kill bad guys.

TOWN_OVERFLOW

Add this if you don't want a role to be a choice in the selection

TOWN_PROTECT

roles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)

TOWN_SUPPORT

roles that don't fit into anything else (hop)

\ No newline at end of file diff --git a/code/modules/mafia/controller.html b/code/modules/mafia/controller.html new file mode 100644 index 000000000000..cf5a3e6894ed --- /dev/null +++ b/code/modules/mafia/controller.html @@ -0,0 +1,2 @@ +code/modules/mafia/controller.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mafia/controller.dm

/datum/mafia_controllerThe mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.
/proc/create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.
\ No newline at end of file diff --git a/code/modules/mafia/roles.html b/code/modules/mafia/roles.html new file mode 100644 index 000000000000..c30e061288a9 --- /dev/null +++ b/code/modules/mafia/roles.html @@ -0,0 +1 @@ +code/modules/mafia/roles.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mafia/roles.dm

/datum/mafia_role/mafiaMAFIA ROLES/// they're the "anti-town" working to kill off townies to win
/datum/mafia_role/traitorSOLO ROLES/// they range from anomalous factors to deranged killers that try to win alone.
\ No newline at end of file diff --git a/code/modules/mapping.html b/code/modules/mapping.html new file mode 100644 index 000000000000..15ed6cc3473a --- /dev/null +++ b/code/modules/mapping.html @@ -0,0 +1,53 @@ +code/modules/mapping/README.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mapping/README.txt

The code in this module originally evolved from dmm_suite and has since been
+specialized for SS13 and otherwise tweaked to fit /tg/station's needs.
+
+dmm_suite version 1.0
+	Released January 30th, 2011.
+
+NOTE: Map saving functionality removed
+
+defines the object /dmm_suite
+	- Provides the proc load_map()
+		- Loads the specified map file onto the specified z-level.
+	- provides the proc write_map()
+		- Returns a text string of the map in dmm format
+			ready for output to a file.
+	- provides the proc save_map()
+		- Returns a .dmm file if map is saved
+		- Returns FALSE if map fails to save
+
+The dmm_suite provides saving and loading of map files in BYOND's native DMM map
+format. It approximates the map saving and loading processes of the Dream Maker
+and Dream Seeker programs so as to allow editing, saving, and loading of maps at
+runtime.
+
+------------------------
+
+To save a map at runtime, create an instance of /dmm_suite, and then call
+write_map(), which accepts three arguments:
+	- A turf representing one corner of a three dimensional grid (Required).
+	- Another turf representing the other corner of the same grid (Required).
+	- Any, or a combination, of several bit flags (Optional, see documentation).
+
+The order in which the turfs are supplied does not matter, the /dmm_writer will
+determine the grid containing both, in much the same way as DM's block() function.
+write_map() will then return a string representing the saved map in dmm format;
+this string can then be saved to a file, or used for any other purose.
+
+------------------------
+
+To load a map at runtime, create an instance of /dmm_suite, and then call load_map(),
+which accepts two arguments:
+	- A .dmm file to load (Required).
+	- A number representing the z-level on which to start loading the map (Optional).
+
+The /dmm_suite will load the map file starting on the specified z-level. If no
+z-level	was specified, world.maxz will be increased so as to fit the map. Note
+that if you wish to load a map onto a z-level that already has objects on it,
+you will have to handle the removal of those objects. Otherwise the new map will
+simply load the new objects on top of the old ones.
+
+Also note that all type paths specified in the .dmm file must exist in the world's
+code, and that the /dmm_reader trusts that files to be loaded are in fact valid
+.dmm files. Errors in the .dmm format will cause runtime errors.
+
\ No newline at end of file diff --git a/code/modules/mapping/mapping_helpers/_mapping_helpers.html b/code/modules/mapping/mapping_helpers/_mapping_helpers.html new file mode 100644 index 000000000000..eb3beaf52b76 --- /dev/null +++ b/code/modules/mapping/mapping_helpers/_mapping_helpers.html @@ -0,0 +1 @@ +code/modules/mapping/mapping_helpers/_mapping_helpers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mapping/mapping_helpers/_mapping_helpers.dm

/obj/effect/mapping_helpers/custom_iconFetches an external dmi and applies to the target object
\ No newline at end of file diff --git a/code/modules/mapping/mapping_helpers/network_builder/power_cables.html b/code/modules/mapping/mapping_helpers/network_builder/power_cables.html new file mode 100644 index 000000000000..982f976e79c2 --- /dev/null +++ b/code/modules/mapping/mapping_helpers/network_builder/power_cables.html @@ -0,0 +1 @@ +code/modules/mapping/mapping_helpers/network_builder/power_cables.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mapping/mapping_helpers/network_builder/power_cables.dm

/obj/effect/mapping_helpers/network_builder/power_cableAutomatically links on init to power cables and other cable builder helpers. Only supports cardinals.
\ No newline at end of file diff --git a/code/modules/mapping/preloader.html b/code/modules/mapping/preloader.html new file mode 100644 index 000000000000..0fd117f56ec6 --- /dev/null +++ b/code/modules/mapping/preloader.html @@ -0,0 +1 @@ +code/modules/mapping/preloader.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mapping/preloader.dm

/datum/map_preloaderPreloader datum
\ No newline at end of file diff --git a/code/modules/mapping/reader.html b/code/modules/mapping/reader.html new file mode 100644 index 000000000000..c0df9accef64 --- /dev/null +++ b/code/modules/mapping/reader.html @@ -0,0 +1 @@ +code/modules/mapping/reader.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mapping/reader.dm

/proc/load_mapShortcut function to parse a map and apply it to the world.
\ No newline at end of file diff --git a/code/modules/mapping/verify.html b/code/modules/mapping/verify.html new file mode 100644 index 000000000000..e78525397e30 --- /dev/null +++ b/code/modules/mapping/verify.html @@ -0,0 +1 @@ +code/modules/mapping/verify.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mapping/verify.dm

/datum/map_reportAn error report generated by /datum/parsed_map/proc/check_for_errors.
\ No newline at end of file diff --git a/code/modules/mining/aux_base.html b/code/modules/mining/aux_base.html new file mode 100644 index 000000000000..1932b4b04120 --- /dev/null +++ b/code/modules/mining/aux_base.html @@ -0,0 +1 @@ +code/modules/mining/aux_base.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mining/aux_base.dm

ZONE_SETMining Base

Define Details

ZONE_SET

Mining Base

\ 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 000000000000..c3a91770f3e4 --- /dev/null +++ b/code/modules/mining/equipment/explorer_gear.html @@ -0,0 +1 @@ +code/modules/mining/equipment/explorer_gear.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/equipment/explorer_gear.dm

/obj/item/clothing/suit/hooded/explorerExplorer's Suit and Mask
/obj/item/clothing/suit/hooded/explorer/hevaHEVA Suit and Mask
/obj/item/clothing/suit/hooded/explorer/exoExo-Suit and Mask
\ 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 000000000000..6b1a7ce4234c --- /dev/null +++ b/code/modules/mining/equipment/kinetic_crusher.html @@ -0,0 +1 @@ +code/modules/mining/equipment/kinetic_crusher.dm - SPLURT Station 13
SPLURT 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/lazarus_injector.html b/code/modules/mining/equipment/lazarus_injector.html new file mode 100644 index 000000000000..24ebe324c577 --- /dev/null +++ b/code/modules/mining/equipment/lazarus_injector.html @@ -0,0 +1 @@ +code/modules/mining/equipment/lazarus_injector.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/equipment/lazarus_injector.dm

/obj/item/lazarus_injectorLazarus Injector
\ 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 000000000000..cc1dac0eb6cf --- /dev/null +++ b/code/modules/mining/equipment/mineral_scanner.html @@ -0,0 +1 @@ +code/modules/mining/equipment/mineral_scanner.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/equipment/mineral_scanner.dm

/obj/item/mining_scannerMining Scanners
\ 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 000000000000..5799ee873a03 --- /dev/null +++ b/code/modules/mining/equipment/mining_tools.html @@ -0,0 +1 @@ +code/modules/mining/equipment/mining_tools.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/equipment/mining_tools.dm

/obj/item/pickaxePickaxes & Drills & Shovels
\ 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 000000000000..a44252105aa3 --- /dev/null +++ b/code/modules/mining/equipment/regenerative_core.html @@ -0,0 +1 @@ +code/modules/mining/equipment/regenerative_core.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/equipment/regenerative_core.dm

/obj/item/hivelordstabilizerHivelord stabilizer
/obj/item/organ/regenerative_coreHivelord core
/obj/item/organ/regenerative_core/legionLegion core
\ 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 000000000000..2c55c278043c --- /dev/null +++ b/code/modules/mining/equipment/resonator.html @@ -0,0 +1 @@ +code/modules/mining/equipment/resonator.dm - SPLURT Station 13
SPLURT 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/survival_pod.html b/code/modules/mining/equipment/survival_pod.html new file mode 100644 index 000000000000..9304757a5b81 --- /dev/null +++ b/code/modules/mining/equipment/survival_pod.html @@ -0,0 +1 @@ +code/modules/mining/equipment/survival_pod.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/equipment/survival_pod.dm

/area/survivalpodSurvival Pod
\ 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 000000000000..6f981e79cb38 --- /dev/null +++ b/code/modules/mining/equipment/vendor_items.html @@ -0,0 +1 @@ +code/modules/mining/equipment/vendor_items.dm - SPLURT Station 13
SPLURT 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 000000000000..5013643d908b --- /dev/null +++ b/code/modules/mining/equipment/wormhole_jaunter.html @@ -0,0 +1 @@ +code/modules/mining/equipment/wormhole_jaunter.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/equipment/wormhole_jaunter.dm

/obj/item/wormhole_jaunterJaunter
\ No newline at end of file diff --git a/code/modules/mining/laborcamp/laborstacker.html b/code/modules/mining/laborcamp/laborstacker.html new file mode 100644 index 000000000000..e6db744e9c76 --- /dev/null +++ b/code/modules/mining/laborcamp/laborstacker.html @@ -0,0 +1 @@ +code/modules/mining/laborcamp/laborstacker.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/laborcamp/laborstacker.dm

/obj/machinery/mineral/labor_claim_consolePrisoners' Console
/obj/machinery/mineral/stacking_machine/laborstackerPrisoner Collection Unit
/obj/machinery/mineral/labor_points_checkerPoint Lookup Console
\ 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 000000000000..e86cbb5d4c7f --- /dev/null +++ b/code/modules/mining/lavaland/ash_flora.html @@ -0,0 +1 @@ +code/modules/mining/lavaland/ash_flora.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/lavaland/ash_flora.dm

/obj/item/seeds/lavalandLAVALAND FLORA
\ No newline at end of file diff --git a/code/modules/mining/lavaland/necropolis_chests.html b/code/modules/mining/lavaland/necropolis_chests.html new file mode 100644 index 000000000000..f40d7a0bc3dc --- /dev/null +++ b/code/modules/mining/lavaland/necropolis_chests.html @@ -0,0 +1 @@ +code/modules/mining/lavaland/necropolis_chests.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/lavaland/necropolis_chests.dm

/obj/item/melee/transforming/cleaving_sawBosses
\ 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 000000000000..5698be6ebe2e --- /dev/null +++ b/code/modules/mining/machine_processing.html @@ -0,0 +1 @@ +code/modules/mining/machine_processing.dm - SPLURT Station 13
SPLURT 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 000000000000..882e907440c5 --- /dev/null +++ b/code/modules/mining/machine_redemption.html @@ -0,0 +1 @@ +code/modules/mining/machine_redemption.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/machine_redemption.dm

/obj/machinery/mineral/ore_redemptionOre Redemption Unit
\ 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 000000000000..49711c4ee32d --- /dev/null +++ b/code/modules/mining/machine_stacking.html @@ -0,0 +1 @@ +code/modules/mining/machine_stacking.dm - SPLURT Station 13
SPLURT 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 000000000000..d61fc71d4b69 --- /dev/null +++ b/code/modules/mining/machine_unloading.html @@ -0,0 +1 @@ +code/modules/mining/machine_unloading.dm - SPLURT Station 13
SPLURT 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 000000000000..b5ad85875209 --- /dev/null +++ b/code/modules/mining/machine_vending.html @@ -0,0 +1 @@ +code/modules/mining/machine_vending.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/machine_vending.dm

/obj/machinery/mineral/equipment_vendorMining Equipment Vendor
/obj/machinery/mineral/equipment_vendor/golemGolem Point Vendor
/obj/item/mining_voucherMining Equipment Vendor Items
/obj/item/card/mining_point_cardMining Point Card
/obj/item/card/mining_access_cardConscript kit
\ 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 000000000000..c530adb78484 --- /dev/null +++ b/code/modules/mining/mine_items.html @@ -0,0 +1 @@ +code/modules/mining/mine_items.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/mine_items.dm

/obj/effect/light_emitterLight
/obj/structure/closet/wardrobe/minerMiner Lockers
/obj/machinery/computer/shuttle/miningShuttle Computer
/obj/structure/closet/crate/miningcarMining car (Crate like thing, not the rail car)
\ No newline at end of file diff --git a/code/modules/mining/minebot.html b/code/modules/mining/minebot.html new file mode 100644 index 000000000000..3f81620e7c96 --- /dev/null +++ b/code/modules/mining/minebot.html @@ -0,0 +1 @@ +code/modules/mining/minebot.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mining/minebot.dm

MINEDRONE_COLLECTMining drone
/obj/item/mine_bot_upgradeMinebot Upgrades

Define Details

MINEDRONE_COLLECT

Mining drone

\ No newline at end of file diff --git a/code/modules/mining/money_bag.html b/code/modules/mining/money_bag.html new file mode 100644 index 000000000000..b55752923977 --- /dev/null +++ b/code/modules/mining/money_bag.html @@ -0,0 +1 @@ +code/modules/mining/money_bag.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/money_bag.dm

/obj/item/storage/bag/moneyMoney bag
\ No newline at end of file diff --git a/code/modules/mining/ores_coins.html b/code/modules/mining/ores_coins.html new file mode 100644 index 000000000000..f9831afb218c --- /dev/null +++ b/code/modules/mining/ores_coins.html @@ -0,0 +1 @@ +code/modules/mining/ores_coins.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mining/ores_coins.dm

/obj/item/stack/oreMineral ores
/obj/item/coinCoin
\ 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 000000000000..6781d715d04a --- /dev/null +++ b/code/modules/mining/satchel_ore_boxdm.html @@ -0,0 +1 @@ +code/modules/mining/satchel_ore_boxdm.dm - SPLURT Station 13
SPLURT 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/clickdelay.html b/code/modules/mob/clickdelay.html new file mode 100644 index 000000000000..b11b052c92c2 --- /dev/null +++ b/code/modules/mob/clickdelay.html @@ -0,0 +1,3 @@ +code/modules/mob/clickdelay.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/clickdelay.dm

/mobCLICKDELAY HANDLING SYSTEM +How this works is mobs can never do actions until their next_action is at or below world.time, but things can specify extra cooldown +to check for either from the time of last_action or from the end of next_action.
\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/new_player.html b/code/modules/mob/dead/new_player/new_player.html new file mode 100644 index 000000000000..13d1ed9d6185 --- /dev/null +++ b/code/modules/mob/dead/new_player/new_player.html @@ -0,0 +1 @@ +code/modules/mob/dead/new_player/new_player.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mob/dead/new_player/new_player.dm

RESET_HUD_INTERVALCooldown for the Reset Lobby Menu HUD verb

Define Details

RESET_HUD_INTERVAL

Cooldown for the Reset Lobby Menu HUD verb

\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.html b/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.html new file mode 100644 index 000000000000..8ba980ffcc2f --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.html @@ -0,0 +1 @@ +code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm

/datum/sprite_accessory/xeno_dorsalXeno Dorsal Tubes
/datum/sprite_accessory/xeno_tailXeno Tails
/datum/sprite_accessory/xeno_headXeno Heads
\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.html b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.html new file mode 100644 index 000000000000..6721f02afced --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.html @@ -0,0 +1 @@ +code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm

/datum/sprite_accessory/mam_body_markingsFurry Markings
/datum/sprite_accessory/insect_fluffInsect Markings
\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.html b/code/modules/mob/dead/new_player/sprite_accessories/ears.html new file mode 100644 index 000000000000..c4e31585edc7 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.html @@ -0,0 +1 @@ +code/modules/mob/dead/new_player/sprite_accessories/ears.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/dead/new_player/sprite_accessories/ears.dm

/datum/sprite_accessory/ears/human/axolotlHuman Ears
/datum/sprite_accessory/ears/mam_earsFurry Ears
/datum/sprite_accessory/ears/human/bnnuyTall Ears
\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.html b/code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.html new file mode 100644 index 000000000000..6767ce957f36 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.html @@ -0,0 +1 @@ +code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/dead/new_player/sprite_accessories/ipc_synths.dm

/datum/sprite_accessory/screenIPC SCREENS
/datum/sprite_accessory/antennaIPC Antennas
\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.html b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.html new file mode 100644 index 000000000000..d151c284053a --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.html @@ -0,0 +1 @@ +code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm

/datum/sprite_accessory/legs/noneLeggy
/datum/sprite_accessory/taurTaur Bodies
\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/sprite_accessories/snouts.html b/code/modules/mob/dead/new_player/sprite_accessories/snouts.html new file mode 100644 index 000000000000..3b7ba106c468 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/snouts.html @@ -0,0 +1,7 @@ +code/modules/mob/dead/new_player/sprite_accessories/snouts.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/dead/new_player/sprite_accessories/snouts.dm

/datum/sprite_accessory/snouts/mam_snouts************ Lizard compatable snoots *********** +/datum/sprite_accessory/snouts/bird +name = "Beak" +icon_state = "bird" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED
/datum/sprite_accessory/snouts/mam_snouts/fbird*** Snouts *** +but higher up
\ No newline at end of file diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.html b/code/modules/mob/dead/new_player/sprite_accessories/tails.html new file mode 100644 index 000000000000..80d4732c4b44 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.html @@ -0,0 +1 @@ +code/modules/mob/dead/new_player/sprite_accessories/tails.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/dead/new_player/sprite_accessories/tails.dm

/datum/sprite_accessory/tails/human/noneHuman Tails
/datum/sprite_accessory/tails/mam_tailsFurry Tails
\ No newline at end of file diff --git a/code/modules/mob/living/blood.html b/code/modules/mob/living/blood.html new file mode 100644 index 000000000000..ac6325d9a8e2 --- /dev/null +++ b/code/modules/mob/living/blood.html @@ -0,0 +1 @@ +code/modules/mob/living/blood.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mob/living/blood.dm

EXOTIC_BLEED_MULTIPLIERBLOOD SYSTEM

Define Details

EXOTIC_BLEED_MULTIPLIER

BLOOD SYSTEM

\ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.html b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.html new file mode 100644 index 000000000000..407e4b4fcee1 --- /dev/null +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm

/obj/effect/proc_holder/alienSTUN
\ 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 000000000000..3aedc3701903 --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_stripping.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/carbon_stripping.dm - SPLURT Station 13
SPLURT 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/human/dummy.html b/code/modules/mob/living/carbon/human/dummy.html new file mode 100644 index 000000000000..88f1a4d84cd1 --- /dev/null +++ b/code/modules/mob/living/carbon/human/dummy.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/dummy.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/carbon/human/dummy.dm

/mob/living/carbon/human/dummy/consistentProvides a dummy that is consistently bald, white, naked, etc.
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human_defines.html b/code/modules/mob/living/carbon/human/human_defines.html new file mode 100644 index 000000000000..3e388f1cac3b --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_defines.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/human_defines.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/carbon/human/human_defines.dm

/datum/block_parry_data/unarmed/humanUnarmed parry data for human
/datum/block_parry_data/unarmed/pugilistUnarmed parry data for pugilists
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species.html b/code/modules/mob/living/carbon/human/species.html new file mode 100644 index 000000000000..96cf795952b1 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/species.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/carbon/human/species.dm

/datum/speciesDatum that handles different species in the game.
/proc/generate_selectable_speciesGenerates species available to choose in character setup at roundstart
\ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.html b/code/modules/mob/living/carbon/human/species_types/jellypeople.html new file mode 100644 index 000000000000..b762d6a57882 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.html @@ -0,0 +1 @@ +code/modules/mob/living/carbon/human/species_types/jellypeople.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/carbon/human/species_types/jellypeople.dm

/datum/species/jelly/slimeSLIMEPEOPLE
/datum/species/jelly/slime/roundstartslimeRound Start Slimes
/datum/species/jelly/luminescentLUMINESCENTS
/datum/species/jelly/stargazerSTARGAZERS
\ No newline at end of file diff --git a/code/modules/mob/living/living.html b/code/modules/mob/living/living.html new file mode 100644 index 000000000000..697209d3a473 --- /dev/null +++ b/code/modules/mob/living/living.html @@ -0,0 +1,3 @@ +code/modules/mob/living/living.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/living.dm

Proc that actually does the grab resisting. Return TRUE if successful. Does not check that a grab exists! Use attempt_resist_grab() instead of this in general! +Forced is if something other than the user mashing movement keys/pressing resist button did it, silent is if it makes messages (like "attempted to resist" and "broken free"). +Forced does NOT force success!

\ No newline at end of file diff --git a/code/modules/mob/living/living_active_parry.html b/code/modules/mob/living/living_active_parry.html new file mode 100644 index 000000000000..5410cc4288df --- /dev/null +++ b/code/modules/mob/living/living_active_parry.html @@ -0,0 +1 @@ +code/modules/mob/living/living_active_parry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/living_active_parry.dm

/obj/effect/abstract/parryEffects
\ No newline at end of file diff --git a/code/modules/mob/living/living_block.html b/code/modules/mob/living/living_block.html new file mode 100644 index 000000000000..4bc0efc1fb65 --- /dev/null +++ b/code/modules/mob/living/living_block.html @@ -0,0 +1 @@ +code/modules/mob/living/living_block.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/living_block.dm

/proc/block_calculate_resultant_damageConsiders a block return_list and calculates damage to use from that.
\ No newline at end of file diff --git a/code/modules/mob/living/living_blocking_parrying.html b/code/modules/mob/living/living_blocking_parrying.html new file mode 100644 index 000000000000..850e3b508880 --- /dev/null +++ b/code/modules/mob/living/living_blocking_parrying.html @@ -0,0 +1 @@ +code/modules/mob/living/living_blocking_parrying.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/living_blocking_parrying.dm

/datum/block_parry_dataCarries data like list data that would be a waste of memory if we initialized the list on every /item as we can cache datums easier.
\ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.html b/code/modules/mob/living/silicon/robot/robot.html new file mode 100644 index 000000000000..427366f63811 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot.html @@ -0,0 +1 @@ +code/modules/mob/living/silicon/robot/robot.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/silicon/robot/robot.dm

/mob/living/silicon/robot/nocellThis is the subtype that gets created by robot suits. It's needed so that those kind of borgs don't have a useless cell in them
\ 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 000000000000..3e1aae70ad05 --- /dev/null +++ b/code/modules/mob/living/simple_animal/constructs.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/constructs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/constructs.dm

/mob/living/simple_animal/hostile/construct/armoredJuggernaut
/mob/living/simple_animal/hostile/construct/wraithWraith
/mob/living/simple_animal/hostile/construct/builderArtificer
/mob/living/simple_animal/hostile/construct/builder/noncultNon-cult Artificer
/mob/living/simple_animal/hostile/construct/harvesterHarvester
/datum/action/innate/seek_masterMaster-Tracker
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.html b/code/modules/mob/living/simple_animal/guardian/guardian.html new file mode 100644 index 000000000000..dec6577dcb26 --- /dev/null +++ b/code/modules/mob/living/simple_animal/guardian/guardian.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/guardian/guardian.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/guardian/guardian.dm

/obj/item/guardiancreatorCreation
\ 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 000000000000..355247d1608f --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/illusion.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/illusion.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/illusion.dm

/mob/living/simple_animal/hostile/illusion/escapeActual Types
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html new file mode 100644 index 000000000000..a48c8c63701a --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm

ACTIVATE_TOUCHAnomolous Crystal

Define Details

ACTIVATE_TOUCH

Anomolous Crystal

\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html new file mode 100644 index 000000000000..7f7557aa9d13 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm

/obj/structure/legionturretA basic turret that shoots at nearby mobs. Intended to be used for the legion megafauna.
/obj/item/projectile/beam/legionUsed for the legion turret.
/obj/effect/projectile/tracer/legion/tracerUsed for the legion turret tracer.
/obj/effect/projectile/tracer/legionUsed for the legion turret beam.
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html new file mode 100644 index 000000000000..81dc410bdedc --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm

/mob/living/simple_animal/hostile/asteroid/elite/broodmotherA stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. +When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. +It's attacks are as follows:
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html new file mode 100644 index 000000000000..b98c018e1e45 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm

/mob/living/simple_animal/hostile/asteroid/elite/heraldA slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. +As it's health gets lower, the amount of projectiles fired per-attack increases. +It's attacks are as follows:
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html new file mode 100644 index 000000000000..6532394f5858 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm

/mob/living/simple_animal/hostile/asteroid/elite/legionnaireA towering skeleton, embodying the power of Legion. +As it's health gets lower, the head does more damage. +It's attacks are as follows:
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html new file mode 100644 index 000000000000..78063bdd30a7 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html @@ -0,0 +1,3 @@ +code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm

/mob/living/simple_animal/hostile/asteroid/elite/pandoraA box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. +As it's health gets lower, the time between it's attacks decrease. +It's attacks are as follows:
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.html new file mode 100644 index 000000000000..218fb8e1447f --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/mining_mobs/lobsterosity.dm

/mob/living/simple_animal/hostile/asteroid/lobstrosity
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/plaguerat.html b/code/modules/mob/living/simple_animal/hostile/plaguerat.html new file mode 100644 index 000000000000..882e8c7bcd08 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/plaguerat.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/plaguerat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/plaguerat.dm

/datum/action/cooldown/scavengeCreates a chance to spawn more trash or gibs to repopulate. Otherwise, spawns a corpse or dirt.
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.html b/code/modules/mob/living/simple_animal/hostile/regalrat.html new file mode 100644 index 000000000000..6dad1623c6be --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/regalrat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/regalrat.dm

/datum/action/cooldown/cofferThis action creates trash, money, dirt, and cheese.
/datum/action/cooldown/riotThis action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.
\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.html b/code/modules/mob/living/simple_animal/hostile/space_dragon.html new file mode 100644 index 000000000000..8f8c983beb5e --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/space_dragon.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mob/living/simple_animal/hostile/space_dragon.dm

CHARGE_ONGOINGThe carp rift is currently charging.
CHARGE_FINALWARNINGThe carp rift is currently charging and has output a final warning.
CHARGE_COMPLETEDThe carp rift is now fully charged.
DARKNESS_THRESHOLDThe darkness threshold for space dragon when choosing a color
/mob/living/simple_animal/hostile/space_dragonA space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event.
/obj/structure/carp_riftThe portals Space Dragon summons to bring carp onto the station.

Define Details

CHARGE_COMPLETED

The carp rift is now fully charged.

CHARGE_FINALWARNING

The carp rift is currently charging and has output a final warning.

CHARGE_ONGOING

The carp rift is currently charging.

DARKNESS_THRESHOLD

The darkness threshold for space dragon when choosing a color

\ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.html b/code/modules/mob/living/simple_animal/hostile/syndicate.html new file mode 100644 index 000000000000..e5108893f75b --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.html @@ -0,0 +1 @@ +code/modules/mob/living/simple_animal/hostile/syndicate.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/syndicate.dm

/obj/effect/light_emitter/red_energy_swordBase mob
/mob/living/simple_animal/hostile/syndicate/spaceMelee
/mob/living/simple_animal/hostile/syndicate/rangedGuns
/mob/living/simple_animal/hostile/syndicate/civilianMisc
\ 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 000000000000..177dfac02e4b --- /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 - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm

/obj/structure/alien/resin/flower_bud_enemyKudzu Flower Bud
/mob/living/simple_animal/hostile/venus_human_trapVenus Human Trap
\ No newline at end of file diff --git a/code/modules/mob/mob_helpers.html b/code/modules/mob/mob_helpers.html new file mode 100644 index 000000000000..e2607c3ce614 --- /dev/null +++ b/code/modules/mob/mob_helpers.html @@ -0,0 +1 @@ +code/modules/mob/mob_helpers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/mob_helpers.dm

/proc/starsConvert random parts of a passed in message to stars
/proc/slurMakes you speak like you're drunk
/proc/cultslurMakes you talk like you got cult stunned, which is slurring but with some dark messages
/proc/stutterAdds stuttering to the message passed in
\ No newline at end of file diff --git a/code/modules/mob/say_vr.html b/code/modules/mob/say_vr.html new file mode 100644 index 000000000000..b3dd3e60e92b --- /dev/null +++ b/code/modules/mob/say_vr.html @@ -0,0 +1 @@ +code/modules/mob/say_vr.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/say_vr.dm

/datum/emote/living/subtleEMOTE CODE
/datum/emote/living/subtlerSUBTLE 2: NO GHOST BOOGALOO
/datum/emote/living/subtler_tableSUBTLE 3: DARE DICE
\ No newline at end of file diff --git a/code/modules/mob/typing_indicator.html b/code/modules/mob/typing_indicator.html new file mode 100644 index 000000000000..fce51bec773e --- /dev/null +++ b/code/modules/mob/typing_indicator.html @@ -0,0 +1 @@ +code/modules/mob/typing_indicator.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mob/typing_indicator.dm

/obj/effect/overlay/typing_indicatorDefault typing indicator
\ 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 000000000000..41c9267d1aa6 --- /dev/null +++ b/code/modules/mod/mod_control.html @@ -0,0 +1 @@ +code/modules/mod/mod_control.dm - SPLURT Station 13
SPLURT 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_theme.html b/code/modules/mod/mod_theme.html new file mode 100644 index 000000000000..9e1324a630e3 --- /dev/null +++ b/code/modules/mod/mod_theme.html @@ -0,0 +1 @@ +code/modules/mod/mod_theme.dm - SPLURT Station 13
SPLURT 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.
\ 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 000000000000..524fba8812b4 --- /dev/null +++ b/code/modules/mod/modules/modules_engineering.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_engineering.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mod/modules/modules_engineering.dm

/obj/item/mod/module/weldingWelding Protection - Makes the helmet protect from flashes and welding.
/obj/item/mod/module/t_rayT-Ray Scan - Scans the terrain for undertile objects.
/obj/item/mod/module/magbootMagnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.
/obj/item/mod/module/tetherEmergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it.
/obj/item/mod/module/rad_protectionRadiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel.
/obj/item/mod/module/constructorConstructor - Lets you build quicker and create RCD holograms.
/obj/item/mod/module/misterMister - Sprays water over an area.
/obj/item/mod/module/mister/atmosResin Mister - Sprays resin over an area.
\ 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 000000000000..c344b53a4f87 --- /dev/null +++ b/code/modules/mod/modules/modules_general.html @@ -0,0 +1,3 @@ +code/modules/mod/modules/modules_general.dm - SPLURT Station 13
SPLURT 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/mouthholeEating Apparatus - Lets the user eat/drink with the suit on.
/obj/item/mod/module/emp_shieldEMP Shield - Protects the suit from EMPs.
/obj/item/mod/module/flashlightFlashlight - Gives the suit a customizable flashlight.
/obj/item/mod/module/dispenserDispenser - Dispenses an item after a time passes.
/obj/item/mod/module/dna_lockLongfall +Thermal Regulator - Naw. +DNA Lock - Prevents people without the set DNA from activating the suit.
\ 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 000000000000..c164819a5130 --- /dev/null +++ b/code/modules/mod/modules/modules_maint.html @@ -0,0 +1,4 @@ +code/modules/mod/modules/modules_maint.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mod/modules/modules_maint.dm

/obj/item/mod/module/springlockSign Language Translator - I want, but no +Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.
/obj/item/mod/module/balloonRave Visor - Pointless +Tanner - Maybe another time +Balloon Blower - Blows a balloon.
/obj/item/mod/module/paper_dispenserPaper Dispenser - Dispenses (sometimes burning) paper sheets.
/obj/item/mod/module/stampStamper - Extends a stamp that can switch between accept/deny modes.
\ 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 000000000000..31013253e070 --- /dev/null +++ b/code/modules/mod/modules/modules_medical.html @@ -0,0 +1,5 @@ +code/modules/mod/modules/modules_medical.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/mod/modules/modules_medical.dm

HEALTH_SCANAtrocinator - Perhaps another time
/obj/item/mod/module/health_analyzerHealth Analyzer - Gives the user a ranged health analyzer and their health status in the panel.
/obj/item/mod/module/quick_carryQuick Carry - Lets the user carry bodies quicker.
/obj/item/mod/module/defibrillatorInjector - No piercing syringes, replace another time +Organ Thrower +Patrient Transport +Defibrillator - Gives the suit an extendable pair of shock paddles.
/obj/item/mod/module/surgical_processorThread Ripper +Surgical Processor - Lets you do advanced surgeries portably.

Define Details

HEALTH_SCAN

Atrocinator - Perhaps another time

\ 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 000000000000..a6ea21d7200f --- /dev/null +++ b/code/modules/mod/modules/modules_science.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_science.dm - SPLURT Station 13
SPLURT 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/antigravAnti-Gravity - Makes the user weightless.
/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 000000000000..81fbe8b0a233 --- /dev/null +++ b/code/modules/mod/modules/modules_security.html @@ -0,0 +1,2 @@ +code/modules/mod/modules/modules_security.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mod/modules/modules_security.dm

/obj/item/mod/module/stealthCloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.
/obj/item/mod/module/magnetic_harnessMagnetic Harness - Automatically puts guns in your suit storage when you drop them.
/obj/item/mod/module/holsterPepper Shoulders +Holster - Instantly holsters any not huge gun.
/obj/item/mod/module/megaphoneMegaphone - Lets you speak loud.
\ 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 000000000000..4dff05d6012b --- /dev/null +++ b/code/modules/mod/modules/modules_service.html @@ -0,0 +1,5 @@ +code/modules/mod/modules/modules_service.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/mod/modules/modules_service.dm

/obj/item/mod/module/bikehornCriminal Capture +Mirage grenade dispenser +Projectile Dampener +Active Sonar +Bike Horn - Plays a bike horn sound.
/obj/item/mod/module/microwave_beamMicrowave Beam - Microwaves items instantly.
\ 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 000000000000..f2288c2222c4 --- /dev/null +++ b/code/modules/mod/modules/modules_supply.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_supply.dm - SPLURT Station 13
SPLURT 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.
\ 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 000000000000..60d4d489edcf --- /dev/null +++ b/code/modules/mod/modules/modules_visor.html @@ -0,0 +1 @@ +code/modules/mod/modules/modules_visor.dm - SPLURT Station 13
SPLURT 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/modular_computers/computers/item/tablet.html b/code/modules/modular_computers/computers/item/tablet.html new file mode 100644 index 000000000000..b2db59e4e691 --- /dev/null +++ b/code/modules/modular_computers/computers/item/tablet.html @@ -0,0 +1 @@ +code/modules/modular_computers/computers/item/tablet.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/modular_computers/computers/item/tablet.dm

/obj/item/modular_computer/tablet/nukeopsGiven to Nuke Ops members.
/obj/item/modular_computer/tablet/integratedBorg Built-in tablet interface
\ No newline at end of file diff --git a/code/modules/modular_computers/documentation.html b/code/modules/modular_computers/documentation.html new file mode 100644 index 000000000000..611bf9076949 --- /dev/null +++ b/code/modules/modular_computers/documentation.html @@ -0,0 +1,62 @@ +code/modules/modular_computers/documentation.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Modular computer programs

How module computer programs work

+

Ok. so a quick rundown on how to make a program. This is kind of a shitty documentation, but oh well I was asked to.

+

Base setup

+

This is how the base program is setup. the rest is mostly tgui stuff. I'll use the ntnetmonitor as a base

+
/datum/computer_file/program/ntnetmonitor
+	/// This is obviously the name of the file itself. not much to be said
+	filename = "ntmonitor"
+
+	/// This is sort of the official name. it's what shows up on the main menu
+	filedesc = "NTNet Diagnostics and Monitoring"
+
+	/// This is what the screen will look like when the program is active
+	program_icon_state = "comm_monitor"
+
+	/// This is a sort of a description, visible when looking on the ntnet
+	extended_desc = "This program is a dummy."
+
+	/// size of the program. Big programs need more hard drive space. Don't
+	/// make it too big though.
+	size = 12
+
+	/// If this is set, the program will not run without an ntnet connection,
+	/// and will close if the connection is lost. Mainly for primarily online
+	/// programs.
+	requires_ntnet = 1
+
+	/// This is access required to run the program itself. ONLY SET THIS FOR
+	/// SUPER SECURE SHIT. This also acts as transfer_access as well.
+	required_access = access_network
+
+	/// This is the access needed to download from ntnet or host on the ptp
+	/// program. This is what you want to use most of the time.
+	transfer_access = access_change_ids
+
+	/// If it's available to download on ntnet. pretty self explanatory.
+	available_on_ntnet = 1
+
+	/// ditto but on emagged syndie net. Use this for antag programs
+	available_on_syndinet = 0
+
+	/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination)
+	/// or PROGRAM_ALL. Use this to limit what kind of machines can run the
+	/// program. For example, comms program should be limited to consoles and laptops.
+	usage_flags = PROGRAM_ALL
+
+	/// This one is kinda cool. If you have the program minimized, this will
+	/// show up in the header of the computer screen. You can even have the
+	/// program change what the header is based on the situation! See `alarm.dm`
+	/// for an example.
+	var/ui_header = "downloader_finished.gif"
+
+

Preinstalls

+

Now. for pre-installing stuff.

+

Primarily done for consoles, there's an install_programs() proc in the console presets file in the machines folder.

+

for example, the command console one.

+
/obj/machinery/modular_computer/console/preset/command/install_programs()
+	cpu.hard_drive.store_file(new/datum/computer_file/program/chatclient())
+	cpu.hard_drive.store_file(new/datum/computer_file/program/card_mod())
+
+

Basically, you want to do cpu.hard_drive.store_file(new/program path here()) and put it in the subtype's install_programs(). +Probably pretty self explanatory, but just in case.

+

Will probably be expanded when new features come around or I get asked to mention something.

\ No newline at end of file diff --git a/code/modules/modular_computers/file_system/programs/jobmanagement.html b/code/modules/modular_computers/file_system/programs/jobmanagement.html new file mode 100644 index 000000000000..d4b3158832e8 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/jobmanagement.html @@ -0,0 +1 @@ +code/modules/modular_computers/file_system/programs/jobmanagement.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/modular_computers/file_system/programs/jobmanagement.dm

/datum/computer_file/program/job_managementThe time since the last job opening was created
\ No newline at end of file diff --git a/code/modules/modular_computers/file_system/programs/ntdownloader.html b/code/modules/modular_computers/file_system/programs/ntdownloader.html new file mode 100644 index 000000000000..7c5b2cbf1f77 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/ntdownloader.html @@ -0,0 +1 @@ +code/modules/modular_computers/file_system/programs/ntdownloader.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/modular_computers/file_system/programs/ntdownloader.dm

/datum/computer_file/program/ntnetdownload/syndicateThis app only lists programs normally found in the emagged section of the normal downloader app
\ No newline at end of file diff --git a/code/modules/modular_computers/file_system/programs/portrait_printer.html b/code/modules/modular_computers/file_system/programs/portrait_printer.html new file mode 100644 index 000000000000..daa903a85474 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/portrait_printer.html @@ -0,0 +1 @@ +code/modules/modular_computers/file_system/programs/portrait_printer.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/modular_computers/file_system/programs/portrait_printer.dm

CANVAS_PAPER_COSThow much paper it takes from the printer to create a canvas.
/datum/computer_file/program/portrait_printer

Define Details

CANVAS_PAPER_COST

how much paper it takes from the printer to create a canvas.

\ No newline at end of file diff --git a/code/modules/modular_computers/file_system/programs/radar.html b/code/modules/modular_computers/file_system/programs/radar.html new file mode 100644 index 000000000000..c13ab0f07417 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/radar.html @@ -0,0 +1 @@ +code/modules/modular_computers/file_system/programs/radar.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/modular_computers/file_system/programs/radar.dm

/datum/computer_file/program/radar/lifelineA program that tracks crew members via suit sensors
/datum/computer_file/program/radar/fission360A program that tracks nukes and nuclear accessories
\ No newline at end of file diff --git a/code/modules/modular_computers/hardware/hard_drive.html b/code/modules/modular_computers/hardware/hard_drive.html new file mode 100644 index 000000000000..20e9e6fee004 --- /dev/null +++ b/code/modules/modular_computers/hardware/hard_drive.html @@ -0,0 +1 @@ +code/modules/modular_computers/hardware/hard_drive.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/modular_computers/hardware/hard_drive.dm

/obj/item/computer_hardware/hard_drive/small/nukeopsFor tablets given to nuke ops
\ No newline at end of file diff --git a/code/modules/modular_computers/hardware/recharger.html b/code/modules/modular_computers/hardware/recharger.html new file mode 100644 index 000000000000..7db320c02922 --- /dev/null +++ b/code/modules/modular_computers/hardware/recharger.html @@ -0,0 +1,2 @@ +code/modules/modular_computers/hardware/recharger.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/modular_computers/hardware/recharger.dm

/obj/item/computer_hardware/recharger/cyborgThis recharger exists only in borg built-in tablets. I would have tied it to the borg's cell but +the program that displays laws should always be usable, and the exceptions were starting to pile.
\ No newline at end of file diff --git a/code/modules/movespeed/_movespeed_modifier.html b/code/modules/movespeed/_movespeed_modifier.html new file mode 100644 index 000000000000..2f70ff153922 --- /dev/null +++ b/code/modules/movespeed/_movespeed_modifier.html @@ -0,0 +1,26 @@ +code/modules/movespeed/_movespeed_modifier.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/movespeed/_movespeed_modifier.dm

Movespeed modification datums.

+
How move speed for mobs works
+
+

Move speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of movespeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update move speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Movespeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update movespeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

+

Key procs

+
/proc/get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: multiplicative slowdown), modify the datum +5. Update if necessary

+
/proc/movespeed_data_null_checkChecks if a move speed modifier is valid and not missing any data
\ No newline at end of file diff --git a/code/modules/newscaster/news_network.html b/code/modules/newscaster/news_network.html new file mode 100644 index 000000000000..b96a8e2ba47d --- /dev/null +++ b/code/modules/newscaster/news_network.html @@ -0,0 +1 @@ +code/modules/newscaster/news_network.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/newscaster/news_network.dm

/datum/news_networkContains all the news datum of a newscaster system.
\ No newline at end of file diff --git a/code/modules/ninja/energy_katana.html b/code/modules/ninja/energy_katana.html new file mode 100644 index 000000000000..662a2e479bc2 --- /dev/null +++ b/code/modules/ninja/energy_katana.html @@ -0,0 +1 @@ +code/modules/ninja/energy_katana.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/energy_katana.dm

/obj/item/energy_katanaThe space ninja's katana.
\ No newline at end of file diff --git a/code/modules/ninja/ninja_explosive.html b/code/modules/ninja/ninja_explosive.html new file mode 100644 index 000000000000..0835e7f514c3 --- /dev/null +++ b/code/modules/ninja/ninja_explosive.html @@ -0,0 +1,3 @@ +code/modules/ninja/ninja_explosive.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/ninja_explosive.dm

/obj/item/grenade/plastic/c4/ninjaA unique version of c4 possessed only by the space ninja. Has a stronger blast radius. +Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. +When it primes, the space ninja responsible will have their objective set to complete.
\ No newline at end of file diff --git a/code/modules/ninja/suit/gloves.html b/code/modules/ninja/suit/gloves.html new file mode 100644 index 000000000000..5c7d1f0b13f6 --- /dev/null +++ b/code/modules/ninja/suit/gloves.html @@ -0,0 +1 @@ +code/modules/ninja/suit/gloves.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/suit/gloves.dm

/obj/item/clothing/gloves/space_ninjaSpace ninja's gloves. Gives access to a number of special interactions.
\ No newline at end of file diff --git a/code/modules/ninja/suit/head.html b/code/modules/ninja/suit/head.html new file mode 100644 index 000000000000..d4e5f36baee0 --- /dev/null +++ b/code/modules/ninja/suit/head.html @@ -0,0 +1 @@ +code/modules/ninja/suit/head.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/suit/head.dm

/obj/item/clothing/head/helmet/space/space_ninjaSpace ninja's hood. Provides armor and blocks AI tracking.
\ No newline at end of file diff --git a/code/modules/ninja/suit/mask.html b/code/modules/ninja/suit/mask.html new file mode 100644 index 000000000000..7305fcd9fdb2 --- /dev/null +++ b/code/modules/ninja/suit/mask.html @@ -0,0 +1 @@ +code/modules/ninja/suit/mask.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/suit/mask.dm

/obj/item/clothing/mask/gas/space_ninjaSpace ninja's mask. Makes you sound like a real anime girl. Barely able to be considered a real upside.
\ No newline at end of file diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html new file mode 100644 index 000000000000..892df1cd46bd --- /dev/null +++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.html @@ -0,0 +1 @@ +code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm

/obj/structure/energy_netEnergy net which ensnares prey until it is destroyed. Used by space ninjas.
\ No newline at end of file diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html new file mode 100644 index 000000000000..67c52bcda5e1 --- /dev/null +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.html @@ -0,0 +1 @@ +code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm

/obj/item/throwing_star/stamina/ninjaa throwing star which specifically makes sure you know it came from a real ninja.
\ No newline at end of file diff --git a/code/modules/ninja/suit/shoes.html b/code/modules/ninja/suit/shoes.html new file mode 100644 index 000000000000..e4057758c504 --- /dev/null +++ b/code/modules/ninja/suit/shoes.html @@ -0,0 +1 @@ +code/modules/ninja/suit/shoes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/suit/shoes.dm

/obj/item/clothing/shoes/space_ninjaSpace ninja's shoes. Gives him armor on his feet.
\ No newline at end of file diff --git a/code/modules/ninja/suit/suit.html b/code/modules/ninja/suit/suit.html new file mode 100644 index 000000000000..4ba9f82f67f4 --- /dev/null +++ b/code/modules/ninja/suit/suit.html @@ -0,0 +1 @@ +code/modules/ninja/suit/suit.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ninja/suit/suit.dm

/obj/item/clothing/suit/space/space_ninjaSpace ninja's suit. Provides him with most of his powers.
\ No newline at end of file diff --git a/code/modules/paperwork/clipboard.html b/code/modules/paperwork/clipboard.html new file mode 100644 index 000000000000..167245c9afcb --- /dev/null +++ b/code/modules/paperwork/clipboard.html @@ -0,0 +1 @@ +code/modules/paperwork/clipboard.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/paperwork/clipboard.dm

/obj/item/clipboardClipboard
\ No newline at end of file diff --git a/code/modules/paperwork/paper.html b/code/modules/paperwork/paper.html new file mode 100644 index 000000000000..f03e619675fa --- /dev/null +++ b/code/modules/paperwork/paper.html @@ -0,0 +1,6 @@ +code/modules/paperwork/paper.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/paperwork/paper.dm

MAX_PAPER_LENGTHPaper +also scraps of paper
/obj/item/paperPaper is now using markdown (like in github pull notes) for ALL rendering +so we do loose a bit of functionality but we gain in easy of use of +paper and getting rid of that crashing bug
/obj/item/paper/constructionConstruction paper

Define Details

MAX_PAPER_LENGTH

Paper +also scraps of paper

+

lipstick wiping is in code/game/objects/items/weapons/cosmetics.dm!

\ No newline at end of file diff --git a/code/modules/paperwork/paper_premade.html b/code/modules/paperwork/paper_premade.html new file mode 100644 index 000000000000..4fc84ec9f2f9 --- /dev/null +++ b/code/modules/paperwork/paper_premade.html @@ -0,0 +1 @@ +code/modules/paperwork/paper_premade.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/paperwork/paper_premade.dm

/obj/item/paper/guides/jobs/hydroponicsJob guides n' fluff
/obj/item/paper/guides/cogstation/job_changesCogstation.
/obj/item/paper/fluff/stations/centcom/disk_memoCentCom
/obj/item/paper/fluff/stations/lavaland/orm_noticeLavaland
\ 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 000000000000..2b4c7e40cae3 --- /dev/null +++ b/code/modules/paperwork/photocopier.html @@ -0,0 +1 @@ +code/modules/paperwork/photocopier.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/paperwork/photocopier.dm

PHOTO_GREYSCALEFor use with the color_mode var. Photos will be printed in greyscale while the var has this value.
PHOTO_COLORFor use with the color_mode var. Photos will be printed in full color while the var has this value.
PAPER_TONER_USEHow much toner is used for making a copy of a paper.
PHOTO_TONER_USEHow much toner is used for making a copy of a photo.
DOCUMENT_TONER_USEHow much toner is used for making a copy of a document.
ASS_TONER_USEHow much toner is used for making a copy of an ass.
MAX_COPIES_AT_ONCEThe maximum amount of copies you can make with one press of the copy button.

Define Details

ASS_TONER_USE

How much toner is used for making a copy of an ass.

DOCUMENT_TONER_USE

How much toner is used for making a copy of a document.

MAX_COPIES_AT_ONCE

The maximum amount of copies you can make with one press of the copy button.

PAPER_TONER_USE

How much toner is used for making a copy of a paper.

PHOTO_COLOR

For use with the color_mode var. Photos will be printed in full color while the var has this value.

PHOTO_GREYSCALE

For use with the color_mode var. Photos will be printed in greyscale while the var has this value.

PHOTO_TONER_USE

How much toner is used for making a copy of a photo.

\ No newline at end of file diff --git a/code/modules/plumbing/ducts.html b/code/modules/plumbing/ducts.html new file mode 100644 index 000000000000..e02c5dda48d7 --- /dev/null +++ b/code/modules/plumbing/ducts.html @@ -0,0 +1 @@ +code/modules/plumbing/ducts.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/ducts.dm

/obj/machinery/duct/multilayeredhas a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect.
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.html b/code/modules/plumbing/plumbers/_plumb_machinery.html new file mode 100644 index 000000000000..549e40963b8e --- /dev/null +++ b/code/modules/plumbing/plumbers/_plumb_machinery.html @@ -0,0 +1,4 @@ +code/modules/plumbing/plumbers/_plumb_machinery.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/_plumb_machinery.dm

/obj/machinery/plumbingBasic plumbing object. +It doesn't really hold anything special, YET. +Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank +Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it
/obj/machinery/plumbing/inputWe can empty beakers in here and everything
/obj/machinery/plumbing/outputWe can fill beakers in here and everything. we dont inheret from input because it has nothing that we need
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/acclimator.html b/code/modules/plumbing/plumbers/acclimator.html new file mode 100644 index 000000000000..ccead1b13880 --- /dev/null +++ b/code/modules/plumbing/plumbers/acclimator.html @@ -0,0 +1 @@ +code/modules/plumbing/plumbers/acclimator.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/acclimator.dm

/obj/machinery/plumbing/acclimatorthis the plumbing version of a heater/freezer.
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/filter.html b/code/modules/plumbing/plumbers/filter.html new file mode 100644 index 000000000000..c4423533b7dc --- /dev/null +++ b/code/modules/plumbing/plumbers/filter.html @@ -0,0 +1 @@ +code/modules/plumbing/plumbers/filter.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/filter.dm

/obj/machinery/plumbing/filterchemical plumbing filter. If it's not filtered by left and right, it goes straight.
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/pill_press.html b/code/modules/plumbing/plumbers/pill_press.html new file mode 100644 index 000000000000..25d9ff7764c1 --- /dev/null +++ b/code/modules/plumbing/plumbers/pill_press.html @@ -0,0 +1 @@ +code/modules/plumbing/plumbers/pill_press.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/pill_press.dm

/obj/machinery/plumbing/pill_pressWe take a constant input of reagents, and produce a pill once a set volume is reached
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/pumps.html b/code/modules/plumbing/plumbers/pumps.html new file mode 100644 index 000000000000..060e8c1ae5f2 --- /dev/null +++ b/code/modules/plumbing/plumbers/pumps.html @@ -0,0 +1 @@ +code/modules/plumbing/plumbers/pumps.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/pumps.dm

/obj/machinery/plumbing/liquid_pumpWe pump liquids from activated(plungerated) geysers to a plumbing outlet. We don't need to be wired.
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/reaction_chamber.html b/code/modules/plumbing/plumbers/reaction_chamber.html new file mode 100644 index 000000000000..caa249485b22 --- /dev/null +++ b/code/modules/plumbing/plumbers/reaction_chamber.html @@ -0,0 +1 @@ +code/modules/plumbing/plumbers/reaction_chamber.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/reaction_chamber.dm

/obj/machinery/plumbing/reaction_chambera reaction chamber for plumbing. pretty much everything can react, but this one keeps the reagents seperated and only reacts under your given terms
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/splitters.html b/code/modules/plumbing/plumbers/splitters.html new file mode 100644 index 000000000000..2eb669326310 --- /dev/null +++ b/code/modules/plumbing/plumbers/splitters.html @@ -0,0 +1 @@ +code/modules/plumbing/plumbers/splitters.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/splitters.dm

/obj/machinery/plumbing/splitterit splits the reagents however you want. So you can "every 60 units, 45 goes left and 15 goes straight". The side direction is EAST, you can change this in the component
\ No newline at end of file diff --git a/code/modules/plumbing/plumbers/synthesizer.html b/code/modules/plumbing/plumbers/synthesizer.html new file mode 100644 index 000000000000..f32ac93b6b51 --- /dev/null +++ b/code/modules/plumbing/plumbers/synthesizer.html @@ -0,0 +1 @@ +code/modules/plumbing/plumbers/synthesizer.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/plumbing/plumbers/synthesizer.dm

/obj/machinery/plumbing/synthesizerA single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories
\ No newline at end of file diff --git a/code/modules/power/apc.html b/code/modules/power/apc.html new file mode 100644 index 000000000000..2748cb1b3951 --- /dev/null +++ b/code/modules/power/apc.html @@ -0,0 +1 @@ +code/modules/power/apc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/power/apc.dm

APC_ELECTRONICS_MISSINGThere are no electronics in the APC.
APC_ELECTRONICS_INSTALLEDThe electronics are installed but not secured.
APC_ELECTRONICS_SECUREDThe electronics are installed and secured.
APC_COVER_CLOSEDThe APCs cover is closed.
APC_COVER_OPENEDThe APCs cover is open.
APC_COVER_REMOVEDThe APCs cover is missing.
APC_NOT_CHARGINGThe APC is not charging.
APC_CHARGINGThe APC is charging.
APC_FULLY_CHARGEDThe APC is fully charged.
APC_CHANNEL_OFFThe APCs power channel is manually set off.
APC_CHANNEL_AUTO_OFFThe APCs power channel is automatically off.
APC_CHANNEL_ONThe APCs power channel is manually set on.
APC_CHANNEL_AUTO_ONThe APCs power channel is automatically on.
AUTOSET_FORCE_OFFThe APC turns automated and manual power channels off.
AUTOSET_OFFThe APC turns automated power channels off.
AUTOSET_ONThe APC turns automated power channels on.
APC_NO_POWERThe APC either isn't attached to a powernet or there is no power on the external powernet.
APC_LOW_POWERThe APCs external powernet does not have enough power to charge the APC.
APC_HAS_POWERThe APCs external powernet has enough power to charge the APC.
APC_DRAIN_TIMEHow long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.
APC_POWER_GAINHow much power ethereals gain/drain from APCs.
APC_RESET_EMPThe wire value used to reset the APCs wires after one's EMPed.
UPSTATE_COVER_SHIFTThe bit shift for the APCs cover status.
UPSTATE_OPENED1The bitflag representing the APCs cover being open for icon purposes.
UPSTATE_OPENED2The bitflag representing the APCs cover being missing for icon purposes.
UPSTATE_CELL_INThe APC has a power cell.
UPSTATE_BROKEThe APC is broken or damaged.
UPSTATE_MAINTThe APC is undergoing maintenance.
UPSTATE_BLUESCREENThe APC is emagged or malfed.
UPSTATE_WIREEXPThe APCs wires are exposed.
UPOVERLAY_OPERATINGBitflag indicating that the APCs operating status overlay should be shown.
UPOVERLAY_LOCKEDBitflag indicating that the APCs locked status overlay should be shown.
UPOVERLAY_CHARGING_SHIFTBit shift for the charging status of the APC.
UPOVERLAY_EQUIPMENT_SHIFTBit shift for the equipment status of the APC.
UPOVERLAY_LIGHTING_SHIFTBit shift for the lighting channel status of the APC.
UPOVERLAY_ENVIRON_SHIFTBit shift for the environment channel status of the APC.
UPOVERLAY_HIJACKEDUpdate for hijack overlays

Define Details

APC_CHANNEL_AUTO_OFF

The APCs power channel is automatically off.

APC_CHANNEL_AUTO_ON

The APCs power channel is automatically on.

APC_CHANNEL_OFF

The APCs power channel is manually set off.

APC_CHANNEL_ON

The APCs power channel is manually set on.

APC_CHARGING

The APC is charging.

APC_COVER_CLOSED

The APCs cover is closed.

APC_COVER_OPENED

The APCs cover is open.

APC_COVER_REMOVED

The APCs cover is missing.

APC_DRAIN_TIME

How long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.

APC_ELECTRONICS_INSTALLED

The electronics are installed but not secured.

APC_ELECTRONICS_MISSING

There are no electronics in the APC.

APC_ELECTRONICS_SECURED

The electronics are installed and secured.

APC_FULLY_CHARGED

The APC is fully charged.

APC_HAS_POWER

The APCs external powernet has enough power to charge the APC.

APC_LOW_POWER

The APCs external powernet does not have enough power to charge the APC.

APC_NOT_CHARGING

The APC is not charging.

APC_NO_POWER

The APC either isn't attached to a powernet or there is no power on the external powernet.

APC_POWER_GAIN

How much power ethereals gain/drain from APCs.

APC_RESET_EMP

The wire value used to reset the APCs wires after one's EMPed.

AUTOSET_FORCE_OFF

The APC turns automated and manual power channels off.

AUTOSET_OFF

The APC turns automated power channels off.

AUTOSET_ON

The APC turns automated power channels on.

UPOVERLAY_CHARGING_SHIFT

Bit shift for the charging status of the APC.

UPOVERLAY_ENVIRON_SHIFT

Bit shift for the environment channel status of the APC.

UPOVERLAY_EQUIPMENT_SHIFT

Bit shift for the equipment status of the APC.

UPOVERLAY_HIJACKED

Update for hijack overlays

UPOVERLAY_LIGHTING_SHIFT

Bit shift for the lighting channel status of the APC.

UPOVERLAY_LOCKED

Bitflag indicating that the APCs locked status overlay should be shown.

UPOVERLAY_OPERATING

Bitflag indicating that the APCs operating status overlay should be shown.

UPSTATE_BLUESCREEN

The APC is emagged or malfed.

UPSTATE_BROKE

The APC is broken or damaged.

UPSTATE_CELL_IN

The APC has a power cell.

UPSTATE_COVER_SHIFT

The bit shift for the APCs cover status.

UPSTATE_MAINT

The APC is undergoing maintenance.

UPSTATE_OPENED1

The bitflag representing the APCs cover being open for icon purposes.

UPSTATE_OPENED2

The bitflag representing the APCs cover being missing for icon purposes.

UPSTATE_WIREEXP

The APCs wires are exposed.

\ No newline at end of file diff --git a/code/modules/power/reactor/rbmk.html b/code/modules/power/reactor/rbmk.html new file mode 100644 index 000000000000..9c740509fe60 --- /dev/null +++ b/code/modules/power/reactor/rbmk.html @@ -0,0 +1,28 @@ +code/modules/power/reactor/rbmk.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/power/reactor/rbmk.dm

/obj/machinery/atmospherics/components/trinary/nuclear_reactorWhat is this? +Moderators list (Not gonna keep this accurate forever): +Fuel Type: +Oxygen: Power production multiplier. Allows you to run a low plasma, high oxy mix, and still get a lot of power. +Plasma: Power production gas. More plasma -> more power, but it enriches your fuel and makes the reactor much, much harder to control. +Tritium: Extremely efficient power production gas. Will cause chernobyl if used improperly. +Moderation Type: +N2: Helps you regain control of the reaction by increasing control rod effectiveness, will massively boost the rad production of the reactor. +CO2: Super effective shutdown gas for runaway reactions. MASSIVE RADIATION PENALTY! +Pluoxium: Same as N2, but no cancer-rads! +Permeability Type: +BZ: Increases your reactor's ability to transfer its heat to the coolant, thus letting you cool it down faster (but your output will get hotter) +Water Vapour: More efficient permeability modifier +Hyper Noblium: Extremely efficient permeability increase. (10x as efficient as bz) +Depletion type: +Nitryl: When you need weapons grade plutonium yesterday. Causes your fuel to deplete much, much faster. Not a huge amount of use outside of sabotage. +Sabotage: +Meltdown: +Flood reactor moderator with plasma, they won't be able to mitigate the reaction with control rods. +Shut off coolant entirely. Raise control rods. +Swap all fuel out with spent fuel, as it's way stronger. +Blowout: +Shut off exit valve for quick overpressure. +Cause a pipefire in the coolant line (LETHAL). +Tack heater onto coolant line (can also cause straight meltdown) +Tips: +Be careful to not exhaust your plasma supply. I recommend you DON'T max out the moderator input when youre running plasma + o2, or you're at a tangible risk of running out of those gasses from atmos. +The reactor CHEWS through moderator. It does not do this slowly. Be very careful with that!
\ No newline at end of file diff --git a/code/modules/power/singularity/generator.html b/code/modules/power/singularity/generator.html new file mode 100644 index 000000000000..34f2294b73e1 --- /dev/null +++ b/code/modules/power/singularity/generator.html @@ -0,0 +1 @@ +code/modules/power/singularity/generator.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/power/singularity/generator.dm

/obj/machinery/the_singularitygenSINGULARITY SPAWNER
\ No newline at end of file diff --git a/code/modules/power/supermatter/supermatter.html b/code/modules/power/supermatter/supermatter.html new file mode 100644 index 000000000000..39302894d605 --- /dev/null +++ b/code/modules/power/supermatter/supermatter.html @@ -0,0 +1 @@ +code/modules/power/supermatter/supermatter.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/power/supermatter/supermatter.dm

SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWNto prevent accent sounds from layering

Define Details

SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWN

to prevent accent sounds from layering

\ No newline at end of file diff --git a/code/modules/projectiles/guns/ballistic/magweapon.html b/code/modules/projectiles/guns/ballistic/magweapon.html new file mode 100644 index 000000000000..3080ef1ae536 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/magweapon.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/ballistic/magweapon.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/projectiles/guns/ballistic/magweapon.dm

/obj/item/gun/ballistic/automatic/magrifle/pistolmagpistol
\ No newline at end of file diff --git a/code/modules/projectiles/guns/ballistic/pistol.html b/code/modules/projectiles/guns/ballistic/pistol.html new file mode 100644 index 000000000000..8c8af655cc0d --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/pistol.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/ballistic/pistol.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/projectiles/guns/ballistic/pistol.dm

/obj/item/gun/ballistic/automatic/pistol/antitankAnti Tank Pistol
\ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/laser.html b/code/modules/projectiles/guns/energy/laser.html new file mode 100644 index 000000000000..67cda6ab0e5f --- /dev/null +++ b/code/modules/projectiles/guns/energy/laser.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/energy/laser.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/projectiles/guns/energy/laser.dm

/obj/item/gun/energy/lasercannonLaser Cannon
/obj/item/gun/energy/laser/bluetagLaser Tag
\ No newline at end of file diff --git a/code/modules/projectiles/guns/misc/medbeam.html b/code/modules/projectiles/guns/misc/medbeam.html new file mode 100644 index 000000000000..475f9153e01b --- /dev/null +++ b/code/modules/projectiles/guns/misc/medbeam.html @@ -0,0 +1 @@ +code/modules/projectiles/guns/misc/medbeam.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/projectiles/guns/misc/medbeam.dm

/obj/item/gun/medbeam/mechMech Version
\ No newline at end of file diff --git a/code/modules/projectiles/projectile.html b/code/modules/projectiles/projectile.html new file mode 100644 index 000000000000..cba72cc20325 --- /dev/null +++ b/code/modules/projectiles/projectile.html @@ -0,0 +1,2 @@ +code/modules/projectiles/projectile.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/projectiles/projectile.dm

MINIMUM_PIXELS_TO_ANIMATEMinimum projectile pixels to move before it animate()S, below this it's a direct set.
PROJECTILE_FIRING_INSTANT_TRAVEL_AMOUNTPixels to instantly travel on firing.
/proc/is_energy_reflectable_projectile//// MISC HELPERS //////// +Is this atom reflectable with ""standardized"" reflection methods like you know eshields and deswords and similar

Define Details

MINIMUM_PIXELS_TO_ANIMATE

Minimum projectile pixels to move before it animate()S, below this it's a direct set.

PROJECTILE_FIRING_INSTANT_TRAVEL_AMOUNT

Pixels to instantly travel on firing.

\ No newline at end of file diff --git a/code/modules/reagents/chemistry.html b/code/modules/reagents/chemistry.html new file mode 100644 index 000000000000..00ffa94c9e4e --- /dev/null +++ b/code/modules/reagents/chemistry.html @@ -0,0 +1,243 @@ +code/modules/reagents/chemistry/readme.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/readme.md

NOTE: IF YOU UPDATE THE REAGENT-SYSTEM, ALSO UPDATE THIS README.

+
Structure: ///////////////////          //////////////////////////
+		   // Mob or object // -------> // Reagents var (datum) // 	    Is a reference to the datum that holds the reagents.
+		   ///////////////////          //////////////////////////
+		   			|				    			 |
+    The object that holds everything.   			 V
+		   							      reagent_list var (list)   	A List of datums, each datum is a reagent.
+
+		   							      |          |          |
+		   							      V          V          V
+
+		   							         reagents (datums)	    	Reagents. I.e. Water , cryoxadone or mercury.
+
+

Random important notes:

+

An objects on_reagent_change will be called every time the objects reagents change. Useful if you want to update the objects icon etc.

+

About the Holder:

+

The holder (reagents datum) is the datum that holds a list of all reagents currently in the object.It also has all the procs needed to manipulate reagents

+
		remove_any(var/amount)
+			This proc removes reagents from the holder until the passed amount
+			is matched. It'll try to remove some of ALL reagents contained.
+
+		remove_all(var/amount)
+			This proc removes reagents from the holder equally.
+
+		trans_to(var/obj/target, var/amount)
+			This proc equally transfers the contents of the holder to another
+			objects holder. You need to pass it the object (not the holder) you want
+			to transfer to and the amount you want to transfer. Its return value is the
+			actual amount transfered (if one of the objects is full/empty)
+
+		trans_id_to(var/obj/target, var/reagent, var/amount)
+			Same as above but only for a specific reagent in the reagent list.
+			If the specified amount is greater than what is available, it will use
+			the amount of the reagent that is available. If no reagent exists, returns null.
+
+		metabolize(var/mob/living/carbon/C)
+			This proc is called by the mobs life proc. It simply calls on_mob_life for
+			all contained reagents. You shouldnt have to use this one directly.
+
+		handle_reactions()
+			This proc check all recipes and, on a match, uses them.
+			It will also call the recipe's on_reaction proc (for explosions or w/e).
+			Currently, this proc is automatically called by trans_to.
+
+		isolate_reagent(var/reagent)
+			Pass it a reagent id and it will remove all reagents but that one.
+			It's that simple.
+
+		del_reagent(var/reagent)
+			Completely remove the reagent with the matching id.
+
+		reaction_fire(exposed_temp)
+			Simply calls the reaction_fire procs of all contained reagents.
+
+		update_total()
+			This one simply updates the total volume of the holder.
+			(the volume of all reagents added together)
+
+		clear_reagents()
+			This proc removes ALL reagents from the holder.
+
+		reaction(var/atom/A, var/method=TOUCH, var/volume_modifier=0)
+			This proc calls the appropriate reaction procs of the reagents.
+			I.e. if A is an object, it will call the reagents reaction_obj
+			proc. The method var is used for reaction on mobs. It simply tells
+			us if the mob TOUCHed the reagent, if it INGESTed the reagent, if the reagent
+			was VAPORIZEd on them, if the reagent was INJECTed,	or transfered via a PATCH to them.
+			Since the volume can be checked in a reagents proc, you might want to
+			use the volume_modifier var to modifiy the passed value without actually
+			changing the volume of the reagents.
+			If you're not sure if you need to use this the answer is very most likely 'No'.
+			You'll want to use this proc whenever an atom first comes in
+			contact with the reagents of a holder. (in the 'splash' part of a beaker i.e.)
+			More on the reaction in the reagent part of this readme.
+
+		add_reagent(var/reagent, var/amount, var/data)
+			Attempts to add X of the matching reagent to the holder.
+			You wont use this much. Mostly in new procs for pre-filled
+			objects.
+
+		remove_reagent(var/reagent, var/amount)
+			The exact opposite of the add_reagent proc.
+
+		has_reagent(var/reagent, var/amount)
+			Returns 1 if the holder contains this reagent.
+			Or 0 if not.
+			If you pass it an amount it will additionally check
+			if the amount is matched. This is optional.
+
+		get_reagent_amount(var/reagent)
+			Returns the amount of the matching reagent inside the
+			holder. Returns 0 if the reagent is missing.
+
+		Important variables:
+
+			total_volume
+				This variable contains the total volume of all reagents in this holder.
+
+			reagent_list
+				This is a list of all contained reagents. More specifically, references
+				to the reagent datums.
+
+			maximum_volume
+				This is the maximum volume of the holder.
+
+			my_atom
+				This is the atom the holder is 'in'. Useful if you need to find the location.
+				(i.e. for explosions)
+
+

About Reagents:

+

Reagents are all the things you can mix and fille in bottles etc. This can be anything from rejuvs over water to ... iron. Each reagent also has a few procs - i'll explain those below.

+
		reaction_mob(var/mob/living/L, var/method=TOUCH)
+			This is called by the holder's reation proc.
+			This version is only called when the reagent
+			reacts with a mob. The method var can be either
+			TOUCH or INGEST. You'll want to put stuff like
+			acid-facemelting in here.
+
+		reaction_obj(var/obj/O)
+			This is called by the holder's reation proc.
+			This version is called when the reagents reacts
+			with an object. You'll want to put stuff like
+			object melting in here ... or something. i dunno.
+
+		reaction_turf(var/turf/T)
+			This is called by the holder's reation proc.
+			This version is called when the reagents reacts
+			with a turf. You'll want to put stuff like extra
+			slippery floors for lube or something in here.
+
+		on_mob_life(var/mob/living/L)
+			This proc is called everytime the mobs life proc executes.
+			This is the place where you put damage for toxins ,
+			drowsyness for sleep toxins etc etc.
+			You'll want to call the parents proc by using ..() .
+			If you dont, the chemical will stay in the mob forever -
+			unless you write your own piece of code to slowly remove it.
+			(Should be pretty easy, 1 line of code)
+
+

Important variables:

+
		holder
+			This variable contains a reference to the holder the chemical is 'in'
+
+		volume
+			This is the volume of the reagent.
+
+		id
+			The id of the reagent
+
+		name
+			The name of the reagent.
+
+		data
+			This var can be used for whatever the fuck you want. I used it for the sleep
+			toxins to make them work slowly instead of instantly. You could also use this
+			for DNA in a blood reagent or ... well whatever you want.
+
+		color
+			This is a hexadecimal color that represents the reagent outside of containers,
+			you define it as "#RRGGBB", or, red green blue. You can also define it using the
+			rgb() proc, which returns a hexadecimal value too. The color is black by default.
+
+

A good website for color calculations: http://www.psyclops.com/tools/rgb/

+

About Recipes:

+

Recipes are simple datums that contain a list of required reagents and a result. They also have a proc that is called when the recipe is matched.

+
		on_reaction(var/datum/reagents/holder, var/created_volume)
+			This proc is called when the recipe is matched.
+			You'll want to add explosions etc here.
+			To find the location you'll have to do something
+			like get_turf(holder.my_atom)
+
+		name & id
+			Should be pretty obvious.
+
+		results
+			This var contains a list of the id(s) of the resulting reagents and their result amounts.
+			I recommend you set this to the total volume of all required reagent.
+
+		required_reagents
+			This is a list of ids of the required reagents.
+			Each id also needs an associated value that gives us the minimum required amount
+			of that reagent. The handle_reaction proc can detect mutiples of the same recipes
+			so for most cases you want to set the required amount to 1.
+
+		required_catalysts
+			This is a list of the ids of the required catalysts.
+			Functionally similar to required_reagents, it is a list of reagents that are required
+			for the reaction. However, unlike required_reagents, catalysts are NOT consumed.
+			They mearly have to be present in the container.
+
+		required_container
+			The container the recipe has to take place in in order to happen. Leave this blank/null
+			if you want the reaction to happen anywhere.
+
+		required_other
+			Basically like a reagent's data variable. You can set extra requirements for a
+			reaction with this.
+
+		required_temp
+			This is the required temperature.
+
+

About the Tools:

+

By default, all atom have a reagents var - but its empty. if you want to use an object for the chem. system you'll need to add something like this in its new proc:

+
		var/datum/reagents/R = new/datum/reagents(100) <<<<< create a new datum , 100 is the maximum_volume of the new holder datum.
+		reagents = R <<<<< assign the new datum to the objects reagents var
+		R.my_atom = src <<<<< set the holders my_atom to src so that we know where we are.
+
+		This can also be done by calling a convenience proc:
+		atom/proc/create_reagents(var/max_volume)
+
+

Other important stuff:

+
		amount_per_transfer_from_this var
+			This var is mostly used by beakers and bottles.
+			It simply tells us how much to transfer when
+			'pouring' our reagents into something else.
+
+		atom/proc/is_open_container()
+			Checks atom/var/reagents.reagents_holder_flags & OPENCONTAINER.
+			If this returns 1 , you can use syringes, beakers etc
+			to manipulate the contents of this object.
+			If it's 0, you'll need to write your own custom reagent
+			transfer code since you will not be able to use the standard
+			tools to manipulate it.
+
+		atom/proc/is_injectable()
+			Checks if something can be injected to.
+			If this returns 1, you can use syringes and droppers
+			to draw from and add to the contents of this object.
+
+		atom/proc/is_drawable()
+			Checks if something can be drawn from.
+			If this returns 1, you can use syringes and droppers
+			to draw from the contents of this object.
+
+

GOON CHEMS README:

+

Credit goes to Cogwerks, and all the other goonstation coders for the original idea and implementation of this over at goonstation.

+
    +
  • THE REQUESTED DON'T PORT LIST: IF YOU PORT THESE THE GOONS WILL MURDER US IN OUR SLEEP SO PLEASE DON'T KTHX - Iamgoofball
  • +
  • Any of the Secret Chems
  • +
  • Goon in-joke chems (Eg. Cat Drugs, Hairgrownium)
  • +
  • Liquid Electricity
  • +
  • Rajajajah
  • +
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/fermi.html b/code/modules/reagents/chemistry/fermi.html new file mode 100644 index 000000000000..5fc19a3536fe --- /dev/null +++ b/code/modules/reagents/chemistry/fermi.html @@ -0,0 +1,17 @@ +code/modules/reagents/chemistry/fermi/readme.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/fermi/readme.md

How to code fermichem reactions: +First off, probably read though the readme for standard reagent mechanisms, this builds on top of that.

+

#bitflags +for datum/reagent/ you have the following options with var/chemical_flags:

+
REAGENT_DEAD_PROCESS		calls on_mob_dead() if present in a dead body
+REAGENT_DONOTSPLIT		    Do not split the chem at all during processing
+REAGENT_ONLYINVERSE		    Only invert chem, no splitting
+REAGENT_ONMOBMERGE		    Call on_mob_life proc when reagents are merging.
+REAGENT_INVISIBLE		    Doesn't appear on handheld health analyzers.
+REAGENT_FORCEONNEW		    Forces a on_new() call without a data overhead
+REAGENT_SNEAKYNAME          When inverted, the inverted chem uses the name of the original chem
+REAGENT_SPLITRETAINVOL      Retains initial volume of chem when splitting
+
+

for datum/chemical_reaction/ under var/clear_conversion

+
REACTION_CLEAR_IMPURE       Convert into impure/pure on reaction completion
+REACTION_CLEAR_INVERSE      Convert into inverse on reaction completion when purity is low enough
+
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.html b/code/modules/reagents/chemistry/machinery/chem_dispenser.html new file mode 100644 index 000000000000..309802d2998a --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/machinery/chem_dispenser.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/machinery/chem_dispenser.dm

/obj/machinery/chem_dispenser/apothecaryAn unique, less efficient model found in the medbay apothecary room.
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.html b/code/modules/reagents/chemistry/reagents/alcohol_reagents.html new file mode 100644 index 000000000000..6a17b8f259bf --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/alcohol_reagents.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/alcohol_reagents.dm

/datum/reagent/consumable/ethanolI don't know who made this header before I refactored alcohols but I'm going to fucking strangle them because it was so ugly, holy Christ
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.html b/code/modules/reagents/chemistry/reagents/drink_reagents.html new file mode 100644 index 000000000000..6e3216ae0d41 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/drink_reagents.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/drink_reagents.dm

/datum/reagent/consumable/orangejuiceDRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum
\ 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 000000000000..f11aed62de76 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/food_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/food_reagents.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/food_reagents.dm

/datum/reagent/consumable/entpolyLavaland Flora Reagents
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.html b/code/modules/reagents/chemistry/reagents/other_reagents.html new file mode 100644 index 000000000000..86321d9bfcd4 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/other_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/other_reagents.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/other_reagents.dm

/datum/reagent/lube/superlubeStronger kind of lube. Applies TURF_WET_SUPERLUBE.
/datum/reagent/colorful_reagent/crayonpowderColoured Crayon Powder
/datum/reagent/plantnutrimentHydroponics stuff
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.html b/code/modules/reagents/chemistry/reagents/toxin_reagents.html new file mode 100644 index 000000000000..8fba3761a450 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/reagents/toxin_reagents.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/reagents/toxin_reagents.dm

/datum/reagent/toxinPoison stuff (Toxins & Acids)
\ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/others.html b/code/modules/reagents/chemistry/recipes/others.html new file mode 100644 index 000000000000..b991ec8cde97 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/others.html @@ -0,0 +1 @@ +code/modules/reagents/chemistry/recipes/others.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/chemistry/recipes/others.dm

/datum/chemical_reaction/virus_foodVIROLOGY
/datum/chemical_reaction/surfactantfoam and foam precursor
/datum/chemical_reaction/ammoniaCleaning and hydroponics
/datum/chemical_reaction/acetoneOther goon stuff
/datum/chemical_reaction/white_glitter/blueGlitter
/datum/chemical_reaction/synth_bloodSynthblood
\ 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 000000000000..d6ef537e19c4 --- /dev/null +++ b/code/modules/reagents/reagent_containers/pill.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/pill.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/reagent_containers/pill.dm

/obj/item/reagent_containers/pill/shadowtoxinthis pill is used only in a legion mob drop
/obj/item/reagent_containers/pill/zoomdrugs
\ 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 000000000000..2776271d077d --- /dev/null +++ b/code/modules/reagents/reagent_containers/spray.html @@ -0,0 +1 @@ +code/modules/reagents/reagent_containers/spray.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/reagents/reagent_containers/spray.dm

/obj/item/reagent_containers/spray/waterflower/superlubeSubtype used for the lavaland clown ruin.
\ No newline at end of file diff --git a/code/modules/recycling/disposal/multiz.html b/code/modules/recycling/disposal/multiz.html new file mode 100644 index 000000000000..ba09913ab102 --- /dev/null +++ b/code/modules/recycling/disposal/multiz.html @@ -0,0 +1 @@ +code/modules/recycling/disposal/multiz.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/recycling/disposal/multiz.dm

MULTIZ_PIPE_UPDefines for determining which way a multiz disposal element should travel
MULTIZ_PIPE_DOWNDefines for determining which way a multiz disposal element should travel
/obj/structure/disposalpipe/trunk/multiz/downSet the multiz direction of your trunk. 1 = up, 2 = down

Define Details

MULTIZ_PIPE_DOWN

Defines for determining which way a multiz disposal element should travel

MULTIZ_PIPE_UP

Defines for determining which way a multiz disposal element should travel

\ No newline at end of file diff --git a/code/modules/research/anomaly/explosive_compressor.html b/code/modules/research/anomaly/explosive_compressor.html new file mode 100644 index 000000000000..5fa880968d75 --- /dev/null +++ b/code/modules/research/anomaly/explosive_compressor.html @@ -0,0 +1 @@ +code/modules/research/anomaly/explosive_compressor.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/anomaly/explosive_compressor.dm

/obj/machinery/research/explosive_compressorThe explosive compressor machine used in anomaly core production.
\ No newline at end of file diff --git a/code/modules/research/anomaly/raw_anomaly.html b/code/modules/research/anomaly/raw_anomaly.html new file mode 100644 index 000000000000..4da36807c0b0 --- /dev/null +++ b/code/modules/research/anomaly/raw_anomaly.html @@ -0,0 +1 @@ +code/modules/research/anomaly/raw_anomaly.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/anomaly/raw_anomaly.dm

/obj/item/raw_anomaly_coreThe current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.
\ 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 000000000000..6d2f7c392c94 --- /dev/null +++ b/code/modules/research/designs.html @@ -0,0 +1 @@ +code/modules/research/designs.dm - SPLURT Station 13
SPLURT 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 000000000000..1c82eb50f9cc --- /dev/null +++ b/code/modules/research/designs/AI_module_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/AI_module_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/AI_module_designs.dm

/datum/design/board/aicoreAI Module Disks
\ No newline at end of file diff --git a/code/modules/research/designs/autobotter_designs.html b/code/modules/research/designs/autobotter_designs.html new file mode 100644 index 000000000000..02d9d4d21a00 --- /dev/null +++ b/code/modules/research/designs/autobotter_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/autobotter_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/autobotter_designs.dm

/datum/design/board/autobottlerAutoBottler Designs
\ No newline at end of file diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.html new file mode 100644 index 000000000000..4d81aa5fadc0 --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_construction.html @@ -0,0 +1 @@ +code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/autolathe_desings/autolathe_designs_construction.dm

/datum/design/rods///////Autolathe Designs/////
\ No newline at end of file diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.html new file mode 100644 index 000000000000..a5daaaeb72e3 --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.html @@ -0,0 +1 @@ +code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm

/datum/design/apc_board///////Autolathe Designs /////
\ No newline at end of file diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.html new file mode 100644 index 000000000000..cdb703fa6fc5 --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.html @@ -0,0 +1 @@ +code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm

/datum/design/kitchen_knife//////Autolathe Designs /////
/datum/design/scalpelMedical
\ No newline at end of file diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.html new file mode 100644 index 000000000000..d697f9d7acda --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.html @@ -0,0 +1 @@ +code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm

/datum/design/beanbag_slug//////Autolathe Designs /////
/datum/design/large_welding_toolHacked Gear
\ No newline at end of file diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.html new file mode 100644 index 000000000000..4e184b2307de --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.html @@ -0,0 +1 @@ +code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm

/datum/design/signaler//////Autolathe Designs /////
/datum/design/cameraMISC
\ No newline at end of file diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.html b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.html new file mode 100644 index 000000000000..1750fc20a0c5 --- /dev/null +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tools.html @@ -0,0 +1 @@ +code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/autolathe_desings/autolathe_designs_tools.dm

/datum/design/bucket//////Autolathe 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 000000000000..c9cdc238cca3 --- /dev/null +++ b/code/modules/research/designs/biogenerator_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/biogenerator_designs.dm - SPLURT Station 13
SPLURT 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 000000000000..3d02805043dd --- /dev/null +++ b/code/modules/research/designs/bluespace_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/bluespace_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/bluespace_designs.dm

/datum/design/beaconBlue Space
\ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.html new file mode 100644 index 000000000000..f897176fc175 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.html @@ -0,0 +1 @@ +code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/comp_board_designs/comp_board_designs_all_misc.dm

/datum/design/boardComputer Boards
\ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.html new file mode 100644 index 000000000000..c61f7cd1d5f4 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.html @@ -0,0 +1 @@ +code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/comp_board_designs/comp_board_designs_cargo.dm

/datum/design/board/cargoCARGO Boards
\ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_engi.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_engi.html new file mode 100644 index 000000000000..35518d0b970a --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_engi.html @@ -0,0 +1 @@ +code/modules/research/designs/comp_board_designs/comp_board_designs_engi.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/comp_board_designs/comp_board_designs_engi.dm

/datum/design/board/comm_monitorENGINE Boards
\ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_medical.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_medical.html new file mode 100644 index 000000000000..f129576d692d --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_medical.html @@ -0,0 +1 @@ +code/modules/research/designs/comp_board_designs/comp_board_designs_medical.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/comp_board_designs/comp_board_designs_medical.dm

/datum/design/board/pandemicMEDICAL Boards
\ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.html new file mode 100644 index 000000000000..1ba6284d81fc --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_sci.html @@ -0,0 +1 @@ +code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/comp_board_designs/comp_board_designs_sci.dm

/datum/design/board/rdcameraSCI Boards
\ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs/comp_board_designs_sec.html b/code/modules/research/designs/comp_board_designs/comp_board_designs_sec.html new file mode 100644 index 000000000000..be9a13b5b7f8 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs/comp_board_designs_sec.html @@ -0,0 +1 @@ +code/modules/research/designs/comp_board_designs/comp_board_designs_sec.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/comp_board_designs/comp_board_designs_sec.dm

/datum/design/board/seccameraSECURITY Boards
\ No newline at end of file diff --git a/code/modules/research/designs/computer_part_designs.html b/code/modules/research/designs/computer_part_designs.html new file mode 100644 index 000000000000..d6f236545a76 --- /dev/null +++ b/code/modules/research/designs/computer_part_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/computer_part_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/computer_part_designs.dm

/datum/design/disk/normalComputer Parts
\ No newline at end of file diff --git a/code/modules/research/designs/electronics_designs.html b/code/modules/research/designs/electronics_designs.html new file mode 100644 index 000000000000..9fc6971dae8c --- /dev/null +++ b/code/modules/research/designs/electronics_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/electronics_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/electronics_designs.dm

/datum/design/intellicardNon-Board Computer Stuff
/datum/design/nanite_remoteNanite Devices
/datum/design/design_diskDisk Construction Disks
\ No newline at end of file diff --git a/code/modules/research/designs/limbgrower_designs.html b/code/modules/research/designs/limbgrower_designs.html new file mode 100644 index 000000000000..4d363fe5063f --- /dev/null +++ b/code/modules/research/designs/limbgrower_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/limbgrower_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/limbgrower_designs.dm

/datum/design/chestmobLimb Grower Designs
\ No newline at end of file diff --git a/code/modules/research/designs/machine_desings/machine_designs_all_misc.html b/code/modules/research/designs/machine_desings/machine_designs_all_misc.html new file mode 100644 index 000000000000..107cf6ae75fe --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_all_misc.html @@ -0,0 +1 @@ +code/modules/research/designs/machine_desings/machine_designs_all_misc.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/machine_desings/machine_designs_all_misc.dm

/datum/design/board/recyclerMISC Boards
\ No newline at end of file diff --git a/code/modules/research/designs/machine_desings/machine_designs_cargo.html b/code/modules/research/designs/machine_desings/machine_designs_cargo.html new file mode 100644 index 000000000000..c07da3c76f1c --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_cargo.html @@ -0,0 +1 @@ +code/modules/research/designs/machine_desings/machine_designs_cargo.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/machine_desings/machine_designs_cargo.dm

/datum/design/board/ore_siloCARGO Boards
\ No newline at end of file diff --git a/code/modules/research/designs/machine_desings/machine_designs_engi.html b/code/modules/research/designs/machine_desings/machine_designs_engi.html new file mode 100644 index 000000000000..066e384bca27 --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_engi.html @@ -0,0 +1 @@ +code/modules/research/designs/machine_desings/machine_designs_engi.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/machine_desings/machine_designs_engi.dm

/datum/design/board/smesENGINE Boards
\ No newline at end of file diff --git a/code/modules/research/designs/machine_desings/machine_designs_medical.html b/code/modules/research/designs/machine_desings/machine_designs_medical.html new file mode 100644 index 000000000000..036f7adbca1f --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_medical.html @@ -0,0 +1 @@ +code/modules/research/designs/machine_desings/machine_designs_medical.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/machine_desings/machine_designs_medical.dm

/datum/design/board/limbgrowerMEDICAL Boards
\ No newline at end of file diff --git a/code/modules/research/designs/machine_desings/machine_designs_sci.html b/code/modules/research/designs/machine_desings/machine_designs_sci.html new file mode 100644 index 000000000000..af4573fd0676 --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_sci.html @@ -0,0 +1 @@ +code/modules/research/designs/machine_desings/machine_designs_sci.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/machine_desings/machine_designs_sci.dm

/datum/design/board/teleport_stationSCI Boards
\ No newline at end of file diff --git a/code/modules/research/designs/machine_desings/machine_designs_service.html b/code/modules/research/designs/machine_desings/machine_designs_service.html new file mode 100644 index 000000000000..be43f76adaad --- /dev/null +++ b/code/modules/research/designs/machine_desings/machine_designs_service.html @@ -0,0 +1 @@ +code/modules/research/designs/machine_desings/machine_designs_service.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/machine_desings/machine_designs_service.dm

/datum/design/board/gibberCIV 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 000000000000..d37e7fc9a471 --- /dev/null +++ b/code/modules/research/designs/mecha_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/mecha_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/mecha_designs.dm

/datum/design/board/ripley_mainMecha Module Disks
/datum/design/mech_scattershotMecha Equpment
\ 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 000000000000..fa1d3b71539f --- /dev/null +++ b/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/mechfabricator_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/mechfabricator_designs.dm

/datum/design/borg_upgrade_renameBorg Upgrades
\ 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 000000000000..747d3c6b0068 --- /dev/null +++ b/code/modules/research/designs/medical_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/medical_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/medical_designs.dm

/datum/design/mmiMedical Tools
/datum/design/bodybagBody Bags
/datum/design/defibrillatorDefibrillator Tech
/datum/design/cyberimp_weldingCybernetic Implants
/datum/design/implanterRegular Implants
/datum/design/ipc_stomachSynth Organs
/datum/design/surgerySurgery Designs
/datum/design/basic_l_armMedical Prosthetics
/datum/design/acclimatorPlumbing
\ 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 000000000000..3e366d8aee59 --- /dev/null +++ b/code/modules/research/designs/mining_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/mining_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/mining_designs.dm

/datum/design/cargo_expressMining
\ 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 000000000000..537af1521cc6 --- /dev/null +++ b/code/modules/research/designs/misc_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/misc_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/misc_designs.dm

/datum/design/health_hudHUDs
/datum/design/welding_maskMisc
/datum/design/broomJanitor Designs
/datum/design/holosignHolosign Designs
/datum/design/quantum_keycardTools
/datum/design/reactive_armourArmour
/datum/design/secliteSecurity
/datum/design/meteor_defenceMeteors
/datum/design/tackle_dolphinTackle Gloves
/datum/design/oxygen_tankInternal Tanks
/datum/design/sticky_tapeTape
/datum/design/shuttle_speed_upgradeShuttle Upgrades
\ No newline at end of file diff --git a/code/modules/research/designs/nanite_designs.html b/code/modules/research/designs/nanite_designs.html new file mode 100644 index 000000000000..eba512b9330c --- /dev/null +++ b/code/modules/research/designs/nanite_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/nanite_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/nanite_designs.dm

/datum/design/nanites/metabolic_synthesisUTILITY NANITES
/datum/design/nanites/regenerativeMEDICAL NANITES
/datum/design/nanites/nervousAUGMENTATION NANITES
/datum/design/nanites/glitchDEFECTIVE NANITES
/datum/design/nanites/flesh_eatingWEAPONIZED NANITES
/datum/design/nanites/shockSUPPRESSION NANITES
/datum/design/nanites/sensor_healthSENSOR NANITES
/datum/design/nanites/kickstartNANITE PROTOCOLS
\ 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 000000000000..ae7568f6e31c --- /dev/null +++ b/code/modules/research/designs/power_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/power_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/power_designs.dm

/datum/design/basic_cellPower
\ 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 000000000000..66b080aa597b --- /dev/null +++ b/code/modules/research/designs/smelting_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/smelting_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/smelting_designs.dm

/datum/design/plasteel_alloySMELTABLE 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 000000000000..4759c162d8e7 --- /dev/null +++ b/code/modules/research/designs/stock_parts_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/stock_parts_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/stock_parts_designs.dm

/datum/design/RPEDStock 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 000000000000..23c7e5c06e01 --- /dev/null +++ b/code/modules/research/designs/telecomms_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/telecomms_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/telecomms_designs.dm

/datum/design/board/subspace_receiverSubspace Telecomms
\ No newline at end of file diff --git a/code/modules/research/designs/tool_designs.html b/code/modules/research/designs/tool_designs.html new file mode 100644 index 000000000000..b14ea9810c6f --- /dev/null +++ b/code/modules/research/designs/tool_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/tool_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/tool_designs.dm

/datum/design/rcd_upgrade/framesTools
/datum/design/alienwrenchAlien Tools
/datum/design/alienscalpelAlien Surgical Tools
\ 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 000000000000..35c60834a696 --- /dev/null +++ b/code/modules/research/designs/weapon_designs.html @@ -0,0 +1 @@ +code/modules/research/designs/weapon_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/designs/weapon_designs.dm

/datum/design/c38/secWeapons & Ammo
\ No newline at end of file diff --git a/code/modules/research/experimentor.html b/code/modules/research/experimentor.html new file mode 100644 index 000000000000..6f774d5b6b0d --- /dev/null +++ b/code/modules/research/experimentor.html @@ -0,0 +1 @@ +code/modules/research/experimentor.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/experimentor.dm

/obj/item/relicSPECIAL ITEMS
\ No newline at end of file diff --git a/code/modules/research/nanites/nanite_programs.html b/code/modules/research/nanites/nanite_programs.html new file mode 100644 index 000000000000..c58f3b9a5837 --- /dev/null +++ b/code/modules/research/nanites/nanite_programs.html @@ -0,0 +1 @@ +code/modules/research/nanites/nanite_programs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/nanites/nanite_programs.dm

/datum/nanite_program/protocolA nanite program containing a behaviour protocol. Only one protocol of each class can be active at once.
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/alien_nodes.html b/code/modules/research/techweb/nodes/alien_nodes.html new file mode 100644 index 000000000000..60268d3ae463 --- /dev/null +++ b/code/modules/research/techweb/nodes/alien_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/alien_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/alien_nodes.dm

/datum/techweb_node/alientechAlien technology
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/bepis_nodes.html b/code/modules/research/techweb/nodes/bepis_nodes.html new file mode 100644 index 000000000000..32d86b834112 --- /dev/null +++ b/code/modules/research/techweb/nodes/bepis_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/bepis_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/bepis_nodes.dm

/datum/techweb_node/light_appsB.E.P.I.S. Locked Techs
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/biotech_nodes.html b/code/modules/research/techweb/nodes/biotech_nodes.html new file mode 100644 index 000000000000..43323d2dde69 --- /dev/null +++ b/code/modules/research/techweb/nodes/biotech_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/biotech_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/biotech_nodes.dm

/datum/techweb_node/biotechBiotech
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/bluespace_nodes.html b/code/modules/research/techweb/nodes/bluespace_nodes.html new file mode 100644 index 000000000000..4e3d7b6c0845 --- /dev/null +++ b/code/modules/research/techweb/nodes/bluespace_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/bluespace_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/bluespace_nodes.dm

/datum/techweb_node/bluespace_basicBluespace tech
/datum/techweb_node/basic_shuttle_techshuttle tech
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/computer_hud_nodes.html b/code/modules/research/techweb/nodes/computer_hud_nodes.html new file mode 100644 index 000000000000..e76232a678c8 --- /dev/null +++ b/code/modules/research/techweb/nodes/computer_hud_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/computer_hud_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/computer_hud_nodes.dm

/datum/techweb_node/comptechComputer tech
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/engineering_nodes.html b/code/modules/research/techweb/nodes/engineering_nodes.html new file mode 100644 index 000000000000..88c73d8a69fc --- /dev/null +++ b/code/modules/research/techweb/nodes/engineering_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/engineering_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/engineering_nodes.dm

/datum/techweb_node/engineeringengineering tech
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/mecha_nodes.html b/code/modules/research/techweb/nodes/mecha_nodes.html new file mode 100644 index 000000000000..3f1a67d0963e --- /dev/null +++ b/code/modules/research/techweb/nodes/mecha_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/mecha_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/mecha_nodes.dm

/datum/techweb_node/mechmech technology
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/medical_nodes.html b/code/modules/research/techweb/nodes/medical_nodes.html new file mode 100644 index 000000000000..dd033484d570 --- /dev/null +++ b/code/modules/research/techweb/nodes/medical_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/medical_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/medical_nodes.dm

/datum/techweb_node/cloningMedical
/datum/techweb_node/surplus_limbsCybernetics
/datum/techweb_node/imp_wt_surgeryAdvanced Surgery
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/misc_nodes.html b/code/modules/research/techweb/nodes/misc_nodes.html new file mode 100644 index 000000000000..c2e81c1f79e4 --- /dev/null +++ b/code/modules/research/techweb/nodes/misc_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/misc_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/misc_nodes.dm

/datum/techweb_node/datatheorydata theory tech
/datum/techweb_node/basic_plasmaplasma tech
/datum/techweb_node/emp_basicEMP tech
/datum/techweb_node/clownClown tech
/datum/techweb_node/sticky_basicTape tech
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/nanites_nodes.html b/code/modules/research/techweb/nodes/nanites_nodes.html new file mode 100644 index 000000000000..ac675c2cdb1d --- /dev/null +++ b/code/modules/research/techweb/nodes/nanites_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/nanites_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/nanites_nodes.dm

/datum/techweb_node/nanite_baseNanites
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/robotics_nodes.html b/code/modules/research/techweb/nodes/robotics_nodes.html new file mode 100644 index 000000000000..edb728fa5294 --- /dev/null +++ b/code/modules/research/techweb/nodes/robotics_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/robotics_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/robotics_nodes.dm

/datum/techweb_node/roboticsrobotics tech
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/tools_nodes.html b/code/modules/research/techweb/nodes/tools_nodes.html new file mode 100644 index 000000000000..fb732ce8d3cc --- /dev/null +++ b/code/modules/research/techweb/nodes/tools_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/tools_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/tools_nodes.dm

/datum/techweb_node/basic_toolsTools
\ No newline at end of file diff --git a/code/modules/research/techweb/nodes/weaponry_nodes.html b/code/modules/research/techweb/nodes/weaponry_nodes.html new file mode 100644 index 000000000000..1fd3174ca8df --- /dev/null +++ b/code/modules/research/techweb/nodes/weaponry_nodes.html @@ -0,0 +1 @@ +code/modules/research/techweb/nodes/weaponry_nodes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/techweb/nodes/weaponry_nodes.dm

/datum/techweb_node/weaponryweaponry tech
\ No newline at end of file diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.html b/code/modules/research/xenobiology/crossbreeding/__corecross.html new file mode 100644 index 000000000000..6e53289fd89e --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/__corecross.html @@ -0,0 +1 @@ +code/modules/research/xenobiology/crossbreeding/__corecross.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/xenobiology/crossbreeding/__corecross.dm

/obj/item/slimecrossSLIME CROSSBREEDS
\ No newline at end of file diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.html b/code/modules/research/xenobiology/crossbreeding/_status_effects.html new file mode 100644 index 000000000000..28f1988ea9de --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.html @@ -0,0 +1 @@ +code/modules/research/xenobiology/crossbreeding/_status_effects.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/xenobiology/crossbreeding/_status_effects.dm

/datum/status_effect/firecookieCONSUMING EXTRACTS
/datum/status_effect/stabilizedSTABILIZED EXTRACTS
\ No newline at end of file diff --git a/code/modules/research/xenobiology/crossbreeding/charged.html b/code/modules/research/xenobiology/crossbreeding/charged.html new file mode 100644 index 000000000000..faba54ad4c52 --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/charged.html @@ -0,0 +1 @@ +code/modules/research/xenobiology/crossbreeding/charged.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/research/xenobiology/crossbreeding/charged.dm

/obj/item/slimepotion/slime_reviverUnique things.
\ 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 000000000000..591f8a70298e --- /dev/null +++ b/code/modules/research/xenobiology/xenobiology.html @@ -0,0 +1 @@ +code/modules/research/xenobiology/xenobiology.dm - SPLURT Station 13
SPLURT 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/ruins/icemoonruin_code/hotsprings.html b/code/modules/ruins/icemoonruin_code/hotsprings.html new file mode 100644 index 000000000000..5bc9f7b622ba --- /dev/null +++ b/code/modules/ruins/icemoonruin_code/hotsprings.html @@ -0,0 +1 @@ +code/modules/ruins/icemoonruin_code/hotsprings.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/icemoonruin_code/hotsprings.dm

/turf/open/water/cursed_springTurns whoever enters into a mob
\ No newline at end of file diff --git a/code/modules/ruins/lavaland_ruin_code.html b/code/modules/ruins/lavaland_ruin_code.html new file mode 100644 index 000000000000..801e8d8eb3d3 --- /dev/null +++ b/code/modules/ruins/lavaland_ruin_code.html @@ -0,0 +1 @@ +code/modules/ruins/lavaland_ruin_code.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/lavaland_ruin_code.dm

/obj/item/disk/design_disk/adv/knight_gearWizard tower item
/obj/effect/mob_spawn/human/lavaland_syndicateSyndicate Listening Post
\ No newline at end of file diff --git a/code/modules/ruins/lavalandruin_code/biodome_clown_planet.html b/code/modules/ruins/lavalandruin_code/biodome_clown_planet.html new file mode 100644 index 000000000000..dc9e5bae2728 --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/biodome_clown_planet.html @@ -0,0 +1 @@ +code/modules/ruins/lavalandruin_code/biodome_clown_planet.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/lavalandruin_code/biodome_clown_planet.dm

/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escapelavaland clown planet papers
\ No newline at end of file diff --git a/code/modules/ruins/lavalandruin_code/sloth.html b/code/modules/ruins/lavalandruin_code/sloth.html new file mode 100644 index 000000000000..297e4db9b11d --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/sloth.html @@ -0,0 +1 @@ +code/modules/ruins/lavalandruin_code/sloth.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/lavalandruin_code/sloth.dm

/obj/item/paper/fluff/stations/lavaland/sloth/notelavaland slot ruin items
\ No newline at end of file diff --git a/code/modules/ruins/lavalandruin_code/surface.html b/code/modules/ruins/lavalandruin_code/surface.html new file mode 100644 index 000000000000..bf7dc888774e --- /dev/null +++ b/code/modules/ruins/lavalandruin_code/surface.html @@ -0,0 +1 @@ +code/modules/ruins/lavalandruin_code/surface.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/lavalandruin_code/surface.dm

/obj/item/paper/fluff/stations/lavaland/surface/henderson_reportlavaland surface papers
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/DJstation.html b/code/modules/ruins/spaceruin_code/DJstation.html new file mode 100644 index 000000000000..bd6cf684e85d --- /dev/null +++ b/code/modules/ruins/spaceruin_code/DJstation.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/DJstation.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/DJstation.dm

/obj/item/paper/fluff/ruins/djstationdjstation items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/TheDerelict.html b/code/modules/ruins/spaceruin_code/TheDerelict.html new file mode 100644 index 000000000000..33a9d44e2b30 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/TheDerelict.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/TheDerelict.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/TheDerelict.dm

/obj/item/paper/fluff/ruins/thederelict/equipmentthederelict items
/obj/machinery/computer/vaultcontrollerVault controller for use on the derelict/KS13.
/obj/machinery/door/airlock/vault/derelictAirlock that can't be deconstructed, broken or hacked.
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/asteroid4.html b/code/modules/ruins/spaceruin_code/asteroid4.html new file mode 100644 index 000000000000..a6c4329058f5 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/asteroid4.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/asteroid4.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/asteroid4.dm

/obj/item/paper/fluff/ruins/asteroid4/extractionasteroid4 items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/bigderelict1.html b/code/modules/ruins/spaceruin_code/bigderelict1.html new file mode 100644 index 000000000000..5179b4ce5429 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/bigderelict1.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/bigderelict1.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/bigderelict1.dm

/obj/item/paper/crumpled/ruins/bigderelict1/manifestbigderelict1 items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/clericsden.html b/code/modules/ruins/spaceruin_code/clericsden.html new file mode 100644 index 000000000000..fe422d56bed4 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/clericsden.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/clericsden.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/clericsden.dm

/obj/item/disk/design_disk/adv/cleric_macecleric's den items.
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/crashedclownship.html b/code/modules/ruins/spaceruin_code/crashedclownship.html new file mode 100644 index 000000000000..fc40ee725ad1 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/crashedclownship.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/crashedclownship.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/crashedclownship.dm

/obj/item/paper/fluff/ruins/crashedclownship/true_nationcrashedclownship items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/deepstorage.html b/code/modules/ruins/spaceruin_code/deepstorage.html new file mode 100644 index 000000000000..4848cbdb2028 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/deepstorage.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/deepstorage.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/deepstorage.dm

/obj/item/paper/fluff/ruins/deepstorage/water_concerndeepstorage items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/listeningstation.html b/code/modules/ruins/spaceruin_code/listeningstation.html new file mode 100644 index 000000000000..9395f364b8cd --- /dev/null +++ b/code/modules/ruins/spaceruin_code/listeningstation.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/listeningstation.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/listeningstation.dm

/obj/item/paper/fluff/ruins/listeningstation/reportslistening station
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/miracle.html b/code/modules/ruins/spaceruin_code/miracle.html new file mode 100644 index 000000000000..e6bd976ea92a --- /dev/null +++ b/code/modules/ruins/spaceruin_code/miracle.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/miracle.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/miracle.dm

/obj/item/storage/backpack/satchel/flat/secret/miracle_ruinmiracle ruin
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/oldstation.html b/code/modules/ruins/spaceruin_code/oldstation.html new file mode 100644 index 000000000000..adc6a54f369f --- /dev/null +++ b/code/modules/ruins/spaceruin_code/oldstation.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/oldstation.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/oldstation.dm

/obj/item/paper/fluff/ruins/oldstationOldstation items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/originalcontent.html b/code/modules/ruins/spaceruin_code/originalcontent.html new file mode 100644 index 000000000000..89ba298c2e87 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/originalcontent.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/originalcontent.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/originalcontent.dm

/obj/item/paper/crumpled/ruins/originalcontentoriginalcontent items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/skelter.html b/code/modules/ruins/spaceruin_code/skelter.html new file mode 100644 index 000000000000..48c16b509bda --- /dev/null +++ b/code/modules/ruins/spaceruin_code/skelter.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/skelter.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/skelter.dm

/obj/item/paper/fluff/ruins/skelter/clonerskelter items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/spacehotel.html b/code/modules/ruins/spaceruin_code/spacehotel.html new file mode 100644 index 000000000000..fa0a39e59203 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/spacehotel.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/spacehotel.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/spacehotel.dm

/obj/item/paper/fluff/ruins/spacehotel/noticespacehotel items
\ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/whiteshipruin_box.html b/code/modules/ruins/spaceruin_code/whiteshipruin_box.html new file mode 100644 index 000000000000..112aaacaaa55 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/whiteshipruin_box.html @@ -0,0 +1 @@ +code/modules/ruins/spaceruin_code/whiteshipruin_box.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/ruins/spaceruin_code/whiteshipruin_box.dm

/obj/item/circuitboard/computer/white_ship/ruinruined whiteship
\ No newline at end of file diff --git a/code/modules/shielding/helpers.html b/code/modules/shielding/helpers.html new file mode 100644 index 000000000000..a1ff6efbfe71 --- /dev/null +++ b/code/modules/shielding/helpers.html @@ -0,0 +1,7 @@ +code/modules/shielding/helpers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/shielding/helpers.dm

/proc/hull_shielding_get_tiles_around_areaHELPER FILE FOR SHIELDING +Gets hull exterior adjacent tiles of a certain area +Area method. +EXPENSIVE. +If the area itself is already considered exterior, it'll find all tiles inside it that's next to an interior area.
/proc/hull_shielding_get_tiles_in_zGets hull adjacent exterior tiles of an entire zlevel +EXPENSIVE. +Gets the tiles in the exterior area touching to a non-exterior area
\ No newline at end of file diff --git a/code/modules/shuttle/supply.html b/code/modules/shuttle/supply.html new file mode 100644 index 000000000000..50dcadaf782c --- /dev/null +++ b/code/modules/shuttle/supply.html @@ -0,0 +1 @@ +code/modules/shuttle/supply.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/shuttle/supply.dm

GOODY_FREE_SHIPPING_MAXHow many goody orders we can fit in a lockbox before we upgrade to a crate
CRATE_TAXHow much to charge oversized goody orders

Define Details

CRATE_TAX

How much to charge oversized goody orders

GOODY_FREE_SHIPPING_MAX

How many goody orders we can fit in a lockbox before we upgrade to a crate

\ No newline at end of file diff --git a/code/modules/spells/spell_types/cone_spells.html b/code/modules/spells/spell_types/cone_spells.html new file mode 100644 index 000000000000..d06f0af81922 --- /dev/null +++ b/code/modules/spells/spell_types/cone_spells.html @@ -0,0 +1 @@ +code/modules/spells/spell_types/cone_spells.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/spells/spell_types/cone_spells.dm

/obj/effect/proc_holder/spell/cone/staggeredThis type of cone gradually affects each level of the cone instead of affecting the entire area at once.
\ No newline at end of file diff --git a/code/modules/spells/spell_types/construct_spells.html b/code/modules/spells/spell_types/construct_spells.html new file mode 100644 index 000000000000..7c386dcf3077 --- /dev/null +++ b/code/modules/spells/spell_types/construct_spells.html @@ -0,0 +1 @@ +code/modules/spells/spell_types/construct_spells.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/spells/spell_types/construct_spells.dm

/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesserConstruct Spells
\ No newline at end of file diff --git a/code/modules/surgery/bone_mending.html b/code/modules/surgery/bone_mending.html new file mode 100644 index 000000000000..64d513ef2fe6 --- /dev/null +++ b/code/modules/surgery/bone_mending.html @@ -0,0 +1,2 @@ +code/modules/surgery/bone_mending.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/surgery/bone_mending.dm

/datum/surgery/repair_bone_hairlineBONE FIXING SURGERIES////// +Repair Hairline Fracture (Severe)
/datum/surgery/repair_bone_compoundRepair Compound Fracture (Critical)
/datum/surgery_step/repair_bone_hairlineRepair Hairline Fracture (Severe)
/datum/surgery_step/reset_compound_fractureReset Compound Fracture (Crticial)
/datum/surgery_step/repair_bone_compoundRepair Compound Fracture (Crticial)
\ No newline at end of file diff --git a/code/modules/surgery/burn_dressing.html b/code/modules/surgery/burn_dressing.html new file mode 100644 index 000000000000..3890585fd301 --- /dev/null +++ b/code/modules/surgery/burn_dressing.html @@ -0,0 +1,2 @@ +code/modules/surgery/burn_dressing.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/surgery/burn_dressing.dm

/datum/surgery/debrideBURN FIXING SURGERIES////// +Debride burnt flesh
/datum/surgery_step/debrideDebride
/datum/surgery_step/dressDressing burns
\ No newline at end of file diff --git a/code/modules/surgery/healing.html b/code/modules/surgery/healing.html new file mode 100644 index 000000000000..197f0bf578a5 --- /dev/null +++ b/code/modules/surgery/healing.html @@ -0,0 +1 @@ +code/modules/surgery/healing.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/surgery/healing.dm

/datum/surgery/healing/bruteBRUTE
/datum/surgery_step/heal/brute/basicBRUTE STEPS
/datum/surgery/healing/burnBURN
/datum/surgery_step/heal/burn/basicBURN STEPS
/datum/surgery/healing/comboCOMBO
/datum/surgery_step/heal/comboCOMBO STEPS
\ No newline at end of file diff --git a/code/modules/surgery/limb_augmentation.html b/code/modules/surgery/limb_augmentation.html new file mode 100644 index 000000000000..2b99f2a24818 --- /dev/null +++ b/code/modules/surgery/limb_augmentation.html @@ -0,0 +1 @@ +code/modules/surgery/limb_augmentation.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/surgery/limb_augmentation.dm

/datum/surgery_step/replace_limbAUGMENTATION SURGERIES
\ No newline at end of file diff --git a/code/modules/surgery/organs/eyes.html b/code/modules/surgery/organs/eyes.html new file mode 100644 index 000000000000..155c58010bec --- /dev/null +++ b/code/modules/surgery/organs/eyes.html @@ -0,0 +1 @@ +code/modules/surgery/organs/eyes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/surgery/organs/eyes.dm

/obj/item/organ/eyes/roboticRobotic
\ 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 000000000000..4428b1e5a963 --- /dev/null +++ b/code/modules/surgery/organs/vocal_cords.html @@ -0,0 +1 @@ +code/modules/surgery/organs/vocal_cords.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/surgery/organs/vocal_cords.dm

VOG_MAX_STANDARD_POWERanything above this requires adminbus, to prevent a cultist from stacking chaplain + cult + specific listener = 8x, which is enough to instantly kill someone with damage.
VOG_MAX_BURST_DAMAGEmax damage we can do in one "blast" to a listener
VOG_MAX_BURST_HEALmax healing we can do in one "blast" to a listener
/proc/voice_of_godVOICE OF GOD
/proc/get_vog_specialget special role multiplier for voice of god. No double dipping.
/obj/item/organ/vocal_cords/velvetENTHRAL VELVET CHORDS
/proc/velvetspeechFermiChem

Define Details

VOG_MAX_BURST_DAMAGE

max damage we can do in one "blast" to a listener

VOG_MAX_BURST_HEAL

max healing we can do in one "blast" to a listener

VOG_MAX_STANDARD_POWER

anything above this requires adminbus, to prevent a cultist from stacking chaplain + cult + specific listener = 8x, which is enough to instantly kill someone with damage.

\ No newline at end of file diff --git a/code/modules/surgery/repair_puncture.html b/code/modules/surgery/repair_puncture.html new file mode 100644 index 000000000000..2b7136f632ad --- /dev/null +++ b/code/modules/surgery/repair_puncture.html @@ -0,0 +1 @@ +code/modules/surgery/repair_puncture.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/surgery/repair_puncture.dm

REALIGN_INNARDSPUNCTURE FIXING SURGERIES
/datum/surgery/repair_punctureRepair puncture wounds
/datum/surgery_step/repair_innardsrealign the blood vessels so we can reweld them
/datum/surgery_step/seal_veinsSealing the vessels back together

Define Details

REALIGN_INNARDS

PUNCTURE FIXING SURGERIES

\ No newline at end of file diff --git a/code/modules/surgery/robot_healing.html b/code/modules/surgery/robot_healing.html new file mode 100644 index 000000000000..3a7e6cdee7e7 --- /dev/null +++ b/code/modules/surgery/robot_healing.html @@ -0,0 +1 @@ +code/modules/surgery/robot_healing.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/surgery/robot_healing.dm

/datum/surgery_step/robot_heal/basicSTEPS
\ No newline at end of file diff --git a/code/modules/tgchat/message.html b/code/modules/tgchat/message.html new file mode 100644 index 000000000000..40b3055a9da1 --- /dev/null +++ b/code/modules/tgchat/message.html @@ -0,0 +1 @@ +code/modules/tgchat/message.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgchat/message.dm

/proc/message_to_htmlMessage-related procs
\ No newline at end of file diff --git a/code/modules/tgchat/to_chat.html b/code/modules/tgchat/to_chat.html new file mode 100644 index 000000000000..980abbe027b1 --- /dev/null +++ b/code/modules/tgchat/to_chat.html @@ -0,0 +1,3 @@ +code/modules/tgchat/to_chat.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgchat/to_chat.dm

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

/proc/to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
/proc/to_chatSends the message to the recipient (target).
\ No newline at end of file diff --git a/code/modules/tgs.html b/code/modules/tgs.html new file mode 100644 index 000000000000..38c962b5156a --- /dev/null +++ b/code/modules/tgs.html @@ -0,0 +1,14 @@ +code/modules/tgs/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

DMAPI Internals

This folder should be placed on its 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 000000000000..f330040ab155 --- /dev/null +++ b/code/modules/tgs/core.html @@ -0,0 +1,8 @@ +code/modules/tgs/core/README.md - SPLURT Station 13
SPLURT 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.
  • +
  • byond_world_export.dm contains the default /datum/tgs_http_handler implementation which uses world.Export().
  • +
  • core.dm contains the implementations of the /world/proc/TgsXXX() procs. Many map directly to the /datum/tgs_api functions. It also contains the /datum selection and setup code.
  • +
  • datum.dm contains the /datum/tgs_api declarations that all APIs must implement.
  • +
  • tgs_version.dm contains the /datum/tgs_version definition
  • +
\ 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 000000000000..ee1d3019f492 --- /dev/null +++ b/code/modules/tgs/v3210.html @@ -0,0 +1,5 @@ +code/modules/tgs/v3210/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

DMAPI V3

This DMAPI implements bridge using file output which TGS monitors for.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
\ 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 000000000000..758b49600a4a --- /dev/null +++ b/code/modules/tgs/v4.html @@ -0,0 +1,5 @@ +code/modules/tgs/v4/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

DMAPI V4

This DMAPI implements bridge requests using file output which TGS monitors for. It has a safe mode restriction.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
\ 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 000000000000..69ba9b09c9b9 --- /dev/null +++ b/code/modules/tgs/v5.html @@ -0,0 +1,12 @@ +code/modules/tgs/v5/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

DMAPI V5

This DMAPI implements bridge requests using HTTP GET requests to TGS. It has no security restrictions.

+
    +
  • __interop_version.dm contains the version of the API used between the DMAPI and TGS.
  • +
  • _defines.dm contains constant definitions.
  • +
  • api.dm contains the bulk of the API code.
  • +
  • bridge.dm contains functions related to making bridge requests.
  • +
  • chunking.dm contains common function for splitting large raw data sets into chunks BYOND can natively process.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
  • serializers.dm contains function to help convert interop /datums into a JSON encodable list() format.
  • +
  • topic.dm contains functions related to processing topic requests.
  • +
  • undefs.dm Undoes the work of _defines.dm.
  • +
\ 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 000000000000..d49a04ae3b19 --- /dev/null +++ b/code/modules/tgui/external.html @@ -0,0 +1,3 @@ +code/modules/tgui/external.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/external.dm

External tgui definitions, such as src_object APIs.

+

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

/proc/tgui_TopicMiddleware for /client/Topic.
\ No newline at end of file diff --git a/code/modules/tgui/states.html b/code/modules/tgui/states.html new file mode 100644 index 000000000000..5cd3e2f4925e --- /dev/null +++ b/code/modules/tgui/states.html @@ -0,0 +1,4 @@ +code/modules/tgui/states.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states.dm

Base state and helpers for states. Just does some sanity checks, +implement a proper state for in-depth checks.

+

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

\ No newline at end of file diff --git a/code/modules/tgui/states/admin.html b/code/modules/tgui/states/admin.html new file mode 100644 index 000000000000..ba54d5f94a7c --- /dev/null +++ b/code/modules/tgui/states/admin.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/admin.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/admin.dm

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

\ 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 000000000000..87394b3a4ee9 --- /dev/null +++ b/code/modules/tgui/states/always.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/always.dm - SPLURT Station 13
SPLURT 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 000000000000..bf0c1b7a8436 --- /dev/null +++ b/code/modules/tgui/states/conscious.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/conscious.dm - SPLURT Station 13
SPLURT 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 000000000000..4bac9f234a5d --- /dev/null +++ b/code/modules/tgui/states/contained.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/contained.dm - SPLURT Station 13
SPLURT 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/deep_inventory.html b/code/modules/tgui/states/deep_inventory.html new file mode 100644 index 000000000000..9ece21562cf5 --- /dev/null +++ b/code/modules/tgui/states/deep_inventory.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/deep_inventory.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/deep_inventory.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/default.html b/code/modules/tgui/states/default.html new file mode 100644 index 000000000000..4c48d36c6637 --- /dev/null +++ b/code/modules/tgui/states/default.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/default.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/default.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/fun.html b/code/modules/tgui/states/fun.html new file mode 100644 index 000000000000..feac1336c939 --- /dev/null +++ b/code/modules/tgui/states/fun.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/fun.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/fun.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 000000000000..17add1abb735 --- /dev/null +++ b/code/modules/tgui/states/hands.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/hands.dm - SPLURT Station 13
SPLURT 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 000000000000..4be2514d8f06 --- /dev/null +++ b/code/modules/tgui/states/human_adjacent.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/human_adjacent.dm - SPLURT Station 13
SPLURT 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/inventory.html b/code/modules/tgui/states/inventory.html new file mode 100644 index 000000000000..d5480b458298 --- /dev/null +++ b/code/modules/tgui/states/inventory.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/inventory.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/inventory.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/language_menu.html b/code/modules/tgui/states/language_menu.html new file mode 100644 index 000000000000..88c3fdc523d2 --- /dev/null +++ b/code/modules/tgui/states/language_menu.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/language_menu.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/language_menu.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/states/never.html b/code/modules/tgui/states/never.html new file mode 100644 index 000000000000..f9df16ca2e9d --- /dev/null +++ b/code/modules/tgui/states/never.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/never.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/never.dm

Copyright (c) 2021 Arm A. Hammer +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 000000000000..07d67a49a5b8 --- /dev/null +++ b/code/modules/tgui/states/not_incapacitated.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/not_incapacitated.dm - SPLURT Station 13
SPLURT 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 000000000000..8949dcc139aa --- /dev/null +++ b/code/modules/tgui/states/notcontained.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/notcontained.dm - SPLURT Station 13
SPLURT 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/observer.html b/code/modules/tgui/states/observer.html new file mode 100644 index 000000000000..071322058c8e --- /dev/null +++ b/code/modules/tgui/states/observer.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/observer.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/observer.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 000000000000..5a99c760f707 --- /dev/null +++ b/code/modules/tgui/states/physical.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/physical.dm - SPLURT Station 13
SPLURT 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 000000000000..b3372d734365 --- /dev/null +++ b/code/modules/tgui/states/self.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/self.dm - SPLURT Station 13
SPLURT 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/states/zlevel.html b/code/modules/tgui/states/zlevel.html new file mode 100644 index 000000000000..0d731c8d3bdc --- /dev/null +++ b/code/modules/tgui/states/zlevel.html @@ -0,0 +1,2 @@ +code/modules/tgui/states/zlevel.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/states/zlevel.dm

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

\ No newline at end of file diff --git a/code/modules/tgui/status_composers.html b/code/modules/tgui/status_composers.html new file mode 100644 index 000000000000..c1787bb544c2 --- /dev/null +++ b/code/modules/tgui/status_composers.html @@ -0,0 +1,13 @@ +code/modules/tgui/status_composers.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/status_composers.dm

/proc/default_ui_stateThe sane defaults for a UI such as a computer or a machine.
/proc/ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
/proc/ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
/proc/ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
/proc/ui_status_user_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
/proc/ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
/proc/ui_status_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
/proc/ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
/proc/ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
\ No newline at end of file diff --git a/code/modules/tgui/tgui.html b/code/modules/tgui/tgui.html new file mode 100644 index 000000000000..50b812d15dd1 --- /dev/null +++ b/code/modules/tgui/tgui.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/tgui.dm

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

/datum/tguitgui datum (represents a UI).
\ 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 000000000000..81339e31937b --- /dev/null +++ b/code/modules/tgui/tgui_window.html @@ -0,0 +1,2 @@ +code/modules/tgui/tgui_window.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui/tgui_window.dm

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

\ No newline at end of file diff --git a/code/modules/tgui_input/alert.html b/code/modules/tgui_input/alert.html new file mode 100644 index 000000000000..7e1e61ba11ae --- /dev/null +++ b/code/modules/tgui_input/alert.html @@ -0,0 +1,2 @@ +code/modules/tgui_input/alert.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui_input/alert.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.
/proc/tgui_alert_asyncCreates an asynchronous TGUI alert window with an associated callback.
/datum/tgui_alert/asyncAn asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.
\ No newline at end of file diff --git a/code/modules/tgui_input/list.html b/code/modules/tgui_input/list.html new file mode 100644 index 000000000000..aa379c4d9426 --- /dev/null +++ b/code/modules/tgui_input/list.html @@ -0,0 +1,2 @@ +code/modules/tgui_input/list.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui_input/list.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
/proc/tgui_input_list_asyncCreates an asynchronous TGUI input list window with an associated callback.
/datum/tgui_list_input/asyncAn asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.
\ No newline at end of file diff --git a/code/modules/tgui_input/number.html b/code/modules/tgui_input/number.html new file mode 100644 index 000000000000..ffe37a9d5c35 --- /dev/null +++ b/code/modules/tgui_input/number.html @@ -0,0 +1,2 @@ +code/modules/tgui_input/number.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui_input/number.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.
/proc/tgui_input_number_asyncCreates an asynchronous TGUI input num window with an associated callback.
/datum/tgui_input_number/asyncAn asynchronous version of tgui_text_input to be used with callbacks instead of waiting on user responses.
\ No newline at end of file diff --git a/code/modules/tgui_input/text.html b/code/modules/tgui_input/text.html new file mode 100644 index 000000000000..680a4f29d4c1 --- /dev/null +++ b/code/modules/tgui_input/text.html @@ -0,0 +1 @@ +code/modules/tgui_input/text.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui_input/text.dm

/proc/tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
/datum/tgui_input_texttgui_input_text
/proc/tgui_input_text_asyncCreates an asynchronous TGUI input text window with an associated callback.
/datum/tgui_input_text/asyncAn asynchronous version of tgui_text_input to be used with callbacks instead of waiting on user responses.
\ No newline at end of file diff --git a/code/modules/tgui_panel/audio.html b/code/modules/tgui_panel/audio.html new file mode 100644 index 000000000000..cf427224f5d0 --- /dev/null +++ b/code/modules/tgui_panel/audio.html @@ -0,0 +1,2 @@ +code/modules/tgui_panel/audio.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui_panel/audio.dm

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

\ No newline at end of file diff --git a/code/modules/tgui_panel/external.html b/code/modules/tgui_panel/external.html new file mode 100644 index 000000000000..1ca7ff5527ca --- /dev/null +++ b/code/modules/tgui_panel/external.html @@ -0,0 +1,2 @@ +code/modules/tgui_panel/external.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui_panel/external.dm

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

\ No newline at end of file diff --git a/code/modules/tgui_panel/telemetry.html b/code/modules/tgui_panel/telemetry.html new file mode 100644 index 000000000000..7055d54ea1ba --- /dev/null +++ b/code/modules/tgui_panel/telemetry.html @@ -0,0 +1,4 @@ +code/modules/tgui_panel/telemetry.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/tgui_panel/telemetry.dm

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

TGUI_TELEMETRY_MAX_CONNECTIONSMaximum number of connection records allowed to analyze. +Should match the value set in the browser.
TGUI_TELEMETRY_RESPONSE_WINDOWMaximum time allocated for sending a telemetry packet.

Define Details

TGUI_TELEMETRY_MAX_CONNECTIONS

Maximum number of connection records allowed to analyze. +Should match the value set in the browser.

TGUI_TELEMETRY_RESPONSE_WINDOW

Maximum time allocated for sending a telemetry packet.

\ No newline at end of file diff --git a/code/modules/tgui_panel/tgui_panel.html b/code/modules/tgui_panel/tgui_panel.html new file mode 100644 index 000000000000..d755d5e1cb84 --- /dev/null +++ b/code/modules/tgui_panel/tgui_panel.html @@ -0,0 +1,3 @@ +code/modules/tgui_panel/tgui_panel.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/tgui_panel/tgui_panel.dm

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

/datum/tgui_paneltgui_panel datum +Hosts tgchat and other nice features.
\ No newline at end of file diff --git a/code/modules/unit_tests.html b/code/modules/unit_tests.html new file mode 100644 index 000000000000..66327fde42e5 --- /dev/null +++ b/code/modules/unit_tests.html @@ -0,0 +1,45 @@ +code/modules/unit_tests/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Unit Tests

What is unit testing?

+

Unit tests are automated code to verify that parts of the game work exactly as they should. For example, a test to make sure that the amputation surgery actually amputates the limb. These are ran every time a PR is made, and thus are very helpful for preventing bugs from cropping up in your code that would've otherwise gone unnoticed. For example, would you have thought to check that beach boys would still work the same after editing pizza? If you value your time, probably not.

+

On their most basic level, when UNIT_TESTS is defined, all subtypes of /datum/unit_test will have their Run proc executed. From here, if Fail is called at any point, then the tests will report as failed.

+

How do I write one?

+
    +
  1. Find a relevant file.
  2. +
+

All unit test related code is in code/modules/unit_tests. If you are adding a new test for a surgery, for example, then you'd open surgeries.dm. If a relevant file does not exist, simply create one in this folder, then #include it in _unit_tests.dm.

+
    +
  1. Create the unit test.
  2. +
+

To make a new unit test, you simply need to define a /datum/unit_test.

+

For example, let's suppose that we are creating a test to make sure a proc square correctly raises inputs to the power of two. We'd start with first:

+
/datum/unit_test/square/Run()
+
+

This defines our new unit test, /datum/unit_test/square. Inside this function, we're then going to run through whatever we want to check. Tests provide a few assertion functions to make this easy. For now, we're going to use TEST_ASSERT_EQUAL.

+
/datum/unit_test/square/Run()
+    TEST_ASSERT_EQUAL(square(3), 9, "square(3) did not return 9")
+    TEST_ASSERT_EQUAL(square(4), 16, "square(4) did not return 16")
+
+

As you can hopefully tell, we're simply checking if the output of square matches the output we are expecting. If the test fails, it'll report the error message given as well as whatever the actual output was.

+
    +
  1. Run the unit test
  2. +
+

Open code/_compile_options.dm and uncomment the following line.

+
//#define UNIT_TESTS			//If this is uncommented, we do a single run though of the game setup and tear down process with unit tests in between
+
+

Then, run tgstation.dmb in Dream Daemon. Don't bother trying to connect, you won't need to. You'll be able to see the outputs of all the tests. You'll get to see which tests failed and for what reason. If they all pass, you're set!

+

How to think about tests

+

Unit tests exist to prevent bugs that would happen in a real game. Thus, they should attempt to emulate the game world wherever possible. For example, the quick swap sanity test emulates a real scenario of the bug it fixed occurring by creating a character and giving it real items. The unrecommended alternative would be to create special test-only items. This isn't a hard rule, the reagent method exposure tests create a test-only reagent for example, but do keep it in mind.

+

Unit tests should also be just that--testing units of code. For example, instead of having one massive test for reagents, there are instead several smaller tests for testing exposure, metabolization, etc.

+

The unit testing API

+

You can find more information about all of these from their respective doc comments, but for a brief overview:

+

/datum/unit_test - The base for all tests to be ran. Subtypes must override Run(). New() and Destroy() can be used for setup and teardown. To fail, use Fail(reason).

+

/datum/unit_test/proc/allocate(type, ...) - Allocates an instance of the provided type with the given arguments. Is automatically destroyed when the test is over. Commonly seen in the form of var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human).

+

TEST_ASSERT(assertion, reason) - Stops the unit test and fails if the assertion is not met. For example: TEST_ASSERT(powered(), "Machine is not powered").

+

TEST_ASSERT_EQUAL(a, b, message) - Same as TEST_ASSERT, but checks if a == b. If not, gives a helpful message showing what both a and b were. For example: TEST_ASSERT_EQUAL(2 + 2, 4, "The universe is falling apart before our eyes!").

+

TEST_ASSERT_NOTEQUAL(a, b, message) - Same as TEST_ASSERT_EQUAL, but reversed.

+

TEST_FOCUS(test_path) - Only run the test provided within the parameters. Useful for reducing noise. For example, if we only want to run our example square test, we can add TEST_FOCUS(/datum/unit_test/square). Should never be pushed in a pull request--you will be laughed at.

+

Final Notes

+
    +
  • Writing tests before you attempt to fix the bug can actually speed up development a lot! It means you don't have to go in game and folllow the same exact steps manually every time. This process is known as "TDD" (test driven development). Write the test first, make sure it fails, then start work on the fix/feature, and you'll know you're done when your tests pass. If you do try this, do make sure to confirm in a non-testing environment just to double check.
  • +
  • Make sure that your tests don't accidentally call RNG functions like prob. Since RNG is seeded during tests, you may not realize you have until someone else makes a PR and the tests fail!
  • +
  • Do your best not to change the behavior of non-testing code during tests. While it may sometimes be necessary in the case of situations such as the above, it is still a slippery slope that can lead to the code you're testing being too different from the production environment to be useful.
  • +
\ No newline at end of file diff --git a/code/modules/unit_tests/_unit_tests.html b/code/modules/unit_tests/_unit_tests.html new file mode 100644 index 000000000000..fbbbef19081e --- /dev/null +++ b/code/modules/unit_tests/_unit_tests.html @@ -0,0 +1,11 @@ +code/modules/unit_tests/_unit_tests.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/unit_tests/_unit_tests.dm

TEST_FAILFor advanced cases, fail unconditionally but don't return (so a test can return multiple results)
TEST_ASSERTAsserts that a condition is true +If the condition is not true, fails the test
TEST_ASSERT_NOTNULLAsserts that a parameter is not null
TEST_ASSERT_NULLAsserts that a parameter is null
TEST_ASSERT_EQUALAsserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_ASSERT_NOTEQUALAsserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_FOCUSOnly run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)
UNIT_TEST_PASSEDConstants indicating unit test completion status
TEST_LONGERAfter most test steps, used for tests that run long so shorter issues can be noticed faster
TEST_CREATE_AND_DESTROYThis must be the last test to run due to the inherent nature of the test iterating every single tangible atom in the game and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.
TEST_OUTPUT_REDChange color to red on ANSI terminal output, if enabled with -DANSICOLORS.
TEST_OUTPUT_GREENChange color to green on ANSI terminal output, if enabled with -DANSICOLORS.
TRAIT_SOURCE_UNIT_TESTSA trait source when adding traits through unit tests

Define Details

TEST_ASSERT

Asserts that a condition is true +If the condition is not true, fails the test

TEST_ASSERT_EQUAL

Asserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTEQUAL

Asserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTNULL

Asserts that a parameter is not null

TEST_ASSERT_NULL

Asserts that a parameter is null

TEST_CREATE_AND_DESTROY

This must be the last test to run due to the inherent nature of the test iterating every single tangible atom in the game and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.

TEST_FAIL

For advanced cases, fail unconditionally but don't return (so a test can return multiple results)

TEST_FOCUS

Only run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)

TEST_LONGER

After most test steps, used for tests that run long so shorter issues can be noticed faster

TEST_OUTPUT_GREEN

Change color to green on ANSI terminal output, if enabled with -DANSICOLORS.

TEST_OUTPUT_RED

Change color to red on ANSI terminal output, if enabled with -DANSICOLORS.

TRAIT_SOURCE_UNIT_TESTS

A trait source when adding traits through unit tests

UNIT_TEST_PASSED

Constants indicating unit test completion status

\ No newline at end of file diff --git a/code/modules/unit_tests/character_saving.html b/code/modules/unit_tests/character_saving.html new file mode 100644 index 000000000000..0d981c31c5ea --- /dev/null +++ b/code/modules/unit_tests/character_saving.html @@ -0,0 +1 @@ +code/modules/unit_tests/character_saving.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

code/modules/unit_tests/character_saving.dm

UNIT_TEST_SAVING_FLAVOR_TEXTCIT TESTS

Define Details

UNIT_TEST_SAVING_FLAVOR_TEXT

CIT TESTS

\ No newline at end of file diff --git a/code/modules/unit_tests/create_and_destroy.html b/code/modules/unit_tests/create_and_destroy.html new file mode 100644 index 000000000000..058f49eb2c00 --- /dev/null +++ b/code/modules/unit_tests/create_and_destroy.html @@ -0,0 +1 @@ +code/modules/unit_tests/create_and_destroy.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/unit_tests/create_and_destroy.dm

/datum/unit_test/create_and_destroyDelete one of every type, sleep a while, then check to see if anything has gone fucky
\ No newline at end of file diff --git a/code/modules/unit_tests/dynamic_ruleset_sanity.html b/code/modules/unit_tests/dynamic_ruleset_sanity.html new file mode 100644 index 000000000000..0bf27d52c916 --- /dev/null +++ b/code/modules/unit_tests/dynamic_ruleset_sanity.html @@ -0,0 +1 @@ +code/modules/unit_tests/dynamic_ruleset_sanity.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/unit_tests/dynamic_ruleset_sanity.dm

/datum/unit_test/dynamic_roundstart_ruleset_sanityVerifies that roundstart dynamic rulesets are setup properly without external configuration.
/datum/unit_test/dynamic_unique_antag_flagsVerifies that dynamic rulesets have unique antag_flag.
\ No newline at end of file diff --git a/code/modules/unit_tests/spawn_mobs.html b/code/modules/unit_tests/spawn_mobs.html new file mode 100644 index 000000000000..9b800db1b10e --- /dev/null +++ b/code/modules/unit_tests/spawn_mobs.html @@ -0,0 +1 @@ +code/modules/unit_tests/spawn_mobs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/unit_tests/spawn_mobs.dm

/datum/unit_test/spawn_mobsUnit test that spawns all mobs that can be spawned by golden slimes
\ No newline at end of file diff --git a/code/modules/unit_tests/tgui_create_message.html b/code/modules/unit_tests/tgui_create_message.html new file mode 100644 index 000000000000..aeef644b99b0 --- /dev/null +++ b/code/modules/unit_tests/tgui_create_message.html @@ -0,0 +1 @@ +code/modules/unit_tests/tgui_create_message.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/unit_tests/tgui_create_message.dm

/datum/unit_test/tgui_create_messageTest that TGUI_CREATE_MESSAGE is correctly implemented
\ No newline at end of file diff --git a/code/modules/uplink/uplink_items.html b/code/modules/uplink/uplink_items.html new file mode 100644 index 000000000000..dba4cd451f61 --- /dev/null +++ b/code/modules/uplink/uplink_items.html @@ -0,0 +1 @@ +code/modules/uplink/uplink_items.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/uplink/uplink_items.dm

/datum/uplink_itemUplink Items
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/_mecha.html b/code/modules/vehicles/mecha/_mecha.html new file mode 100644 index 000000000000..d7dd8d047a3f --- /dev/null +++ b/code/modules/vehicles/mecha/_mecha.html @@ -0,0 +1 @@ +code/modules/vehicles/mecha/_mecha.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/_mecha.dm

/obj/vehicle/sealed/mechaWELCOME TO MECHA.DM, ENJOY YOUR STAY
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/combat/durand.html b/code/modules/vehicles/mecha/combat/durand.html new file mode 100644 index 000000000000..98fed2234c57 --- /dev/null +++ b/code/modules/vehicles/mecha/combat/durand.html @@ -0,0 +1,6 @@ +code/modules/vehicles/mecha/combat/durand.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/combat/durand.dm

/obj/durand_shieldShield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.html b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html new file mode 100644 index 000000000000..90fd7edcb8ee --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html @@ -0,0 +1 @@ +code/modules/vehicles/mecha/equipment/tools/medical_tools.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/equipment/tools/medical_tools.dm

/obj/item/mecha_parts/mecha_equipment/medical/syringe_gunSyringe Gun
/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeamMedical Beam
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.html b/code/modules/vehicles/mecha/equipment/tools/other_tools.html new file mode 100644 index 000000000000..f4de80575191 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.html @@ -0,0 +1 @@ +code/modules/vehicles/mecha/equipment/tools/other_tools.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/equipment/tools/other_tools.dm

/obj/item/mecha_parts/mecha_equipment/teleporterTELEPORTER
/obj/item/mecha_parts/mecha_equipment/wormhole_generatorWORMHOLE GENERATOR
/obj/item/mecha_parts/mecha_equipment/gravcatapultGRAVITATIONAL CATAPULT
/obj/item/mecha_parts/mecha_equipment/anticcw_armor_boosterARMOR BOOSTER MODULES
/obj/item/mecha_parts/mecha_equipment/repair_droidREPAIR DROID
/obj/item/mecha_parts/mecha_equipment/tesla_energy_relayTESLA ENERGY RELAY
/obj/item/mecha_parts/mecha_equipment/generatorGENERATOR
/obj/item/mecha_parts/mecha_equipment/thrustersTHRUSTERS
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/mecha_actions.html b/code/modules/vehicles/mecha/mecha_actions.html new file mode 100644 index 000000000000..543530e51b7a --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_actions.html @@ -0,0 +1 @@ +code/modules/vehicles/mecha/mecha_actions.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/mecha_actions.dm

/datum/action/vehicle/sealed/mecha/mech_defense_modeSpecific Ability Actions
/datum/action/vehicle/sealed/mecha/swap_seatswap seats, for two person mecha
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/mecha_construction_paths.html b/code/modules/vehicles/mecha/mecha_construction_paths.html new file mode 100644 index 000000000000..00ca87acf8d4 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_construction_paths.html @@ -0,0 +1 @@ +code/modules/vehicles/mecha/mecha_construction_paths.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/mecha_construction_paths.dm

/datum/component/construction/mechaConstruction datums
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/mecha_parts.html b/code/modules/vehicles/mecha/mecha_parts.html new file mode 100644 index 000000000000..81bc16ccbca9 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_parts.html @@ -0,0 +1 @@ +code/modules/vehicles/mecha/mecha_parts.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/mecha_parts.dm

/obj/item/mecha_partsMecha Parts
/obj/item/mecha_parts/chassis/ripleyRipley
/obj/item/mecha_parts/chassis/odysseusOdysseus
/obj/item/mecha_parts/chassis/gygaxGygax
/obj/item/mecha_parts/chassis/medigaxMedical Gygax
/obj/item/mecha_parts/chassis/durandDurand
/obj/item/mecha_parts/chassis/honkerHONK
/obj/item/mecha_parts/chassis/phazonPhazon
/obj/item/circuitboard/mechaCircuitboards
\ No newline at end of file diff --git a/code/modules/vehicles/mecha/mecha_wreckage.html b/code/modules/vehicles/mecha/mecha_wreckage.html new file mode 100644 index 000000000000..5383dd3a4d80 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_wreckage.html @@ -0,0 +1 @@ +code/modules/vehicles/mecha/mecha_wreckage.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vehicles/mecha/mecha_wreckage.dm

/obj/structure/mecha_wreckageMecha wreckage
\ No newline at end of file diff --git a/code/modules/vending/_vending.html b/code/modules/vending/_vending.html new file mode 100644 index 000000000000..a83e8be27618 --- /dev/null +++ b/code/modules/vending/_vending.html @@ -0,0 +1 @@ +code/modules/vending/_vending.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/modules/vending/_vending.dm

/datum/data/vending_productA datum that represents a product that is vendable
/obj/machinery/vendingCaptalism in the year 2525, everything in a vending machine, even love
\ No newline at end of file diff --git a/code/world.html b/code/world.html new file mode 100644 index 000000000000..287d96214bbd --- /dev/null +++ b/code/world.html @@ -0,0 +1 @@ +code/world.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

code/world.dm

/worldTwo possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke
\ No newline at end of file diff --git a/datum.html b/datum.html new file mode 100644 index 000000000000..b2ca0dc8e129 --- /dev/null +++ b/datum.html @@ -0,0 +1,142 @@ +/datum - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

datum

The absolute base class for everything

+

A datum instantiated has no physical world prescence, use an atom if you want something +that actually lives in the world

+

Be very mindful about adding variables to this class, they are inherited by every single +thing in the entire game, and so you can easily cause memory usage to rise a lot with careless +use of variables at this level

Vars

active_timersActive timers with this datum as the target
comp_lookupAny datum registered to receive signals from this datum is in this list
datum_componentsComponents attached to this datum
datum_flagsDatum level flags
gc_destroyedTick count time when this object was destroyed.
signal_enabledIs this datum capable of sending signals?
signal_procsLazy associated list in the structure of signals:proctype that are run when the datum receives that signal
status_traitsStatus traits attached to this datum
tgui_shared_statesglobal
weak_referenceA weak reference to another datum

Procs

DestroyDefault implementation of clean-up code.
GetComponentReturn any component assigned to this datum of the given type +This will throw an error if it's possible to have more than one component of that type on the parent
GetComponentsGet all components of a given type that are attached to this datum
GetExactComponentReturn any component assigned to this datum of the exact given type +This will throw an error if it's possible to have more than one component of that type on the parent
LoadComponentGet existing component of type, or create it and return a reference to it
RegisterSignalRegister to listen for a signal from the passed in target
TakeComponentTransfer this component to another parent
TopicCalled when a href for this datum is clicked
TransferComponentsTransfer all components to target
UnregisterSignalStop listening to a given signal from target
_AddComponentCreates an instance of new_type in the datum and attaches to it as parent +Sends the COMSIG_COMPONENT_ADDED signal to the datum +Returns the component that was created. Or the old component in a dupe situation where COMPONENT_DUPE_UNIQUE was set +If this tries to add an component to an incompatible type, the component will be deleted and the result will be null. This is very unperformant, try not to do it +Properly handles duplicate situations based on the dupe_mode var
_AddElementFinds the singleton for the element type given and attaches it to src
_RemoveElementFinds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE
_SendSignalInternal proc to handle most all of the signaling procedure +Will runtime if used on datums with an empty component list +Use the SEND_SIGNAL define instead
deserialize_jsonDeserializes from JSON. Does not parse type.
deserialize_listAccepts a LIST from deserialize_datum. Should return src or another datum.
processThis proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.
serialize_jsonSerializes into JSON. Does not encode type.
serialize_listReturn a LIST for serialize_datum to encode! Not the actual json!
ui_actpublic
ui_assetspublic
ui_closepublic
ui_datapublic
ui_fallbackpublic
ui_hostprivate
ui_interactpublic
ui_stateprivate
ui_static_datapublic
ui_statuspublic
ui_updatepublic
update_static_datapublic

Var Details

active_timers

Active timers with this datum as the target

comp_lookup

Any datum registered to receive signals from this datum is in this list

+

Lazy associated list in the structure of signal:registree/list of registrees

datum_components

Components attached to this datum

+

Lazy associated list in the structure of type:component/list of components

datum_flags

Datum level flags

gc_destroyed

Tick count time when this object was destroyed.

+

If this is non zero then the object has been garbage collected and is awaiting either +a hard del by the GC subsystme, or to be autocollected (if it has no references)

signal_enabled

Is this datum capable of sending signals?

+

Set to true when a signal has been registered

signal_procs

Lazy associated list in the structure of signals:proctype that are run when the datum receives that signal

status_traits

Status traits attached to this datum

tgui_shared_states

global

+

Associative list of JSON-encoded shared states that were set by +tgui clients.

weak_reference

A weak reference to another datum

Proc Details

Destroy

Default implementation of clean-up code.

+

This should be overridden to remove all references pointing to the object being destroyed, if +you do override it, make sure to call the parent and return it's return value by default

+

Return an appropriate QDEL_HINT to modify handling of your deletion; +in most cases this is QDEL_HINT_QUEUE.

+

The base case is responsible for doing the following

+ +

Returns QDEL_HINT_QUEUE

GetComponent

Return any component assigned to this datum of the given type +This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

GetComponents

Get all components of a given type that are attached to this datum

+

Arguments:

+

GetExactComponent

Return any component assigned to this datum of the exact given type +This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

LoadComponent

Get existing component of type, or create it and return a reference to it

+

Use this if the item needs to exist at the time of this call, but may not have been created before now

+

Arguments:

+

RegisterSignal

Register to listen for a signal from the passed in target

+

This sets up a listening relationship such that when the target object emits a signal +the source datum this proc is called upon, will recieve a callback to the given proctype +Return values from procs registered must be a bitfield

+

Arguments:

+

TakeComponent

Transfer this component to another parent

+

Component is taken from source datum

+

Arguments:

+

Topic

Called when a href for this datum is clicked

+

Sends a COMSIG_TOPIC signal

TransferComponents

Transfer all components to target

+

All components from source datum are taken

+

Arguments:

+

UnregisterSignal

Stop listening to a given signal from target

+

Breaks the relationship between target and source datum, removing the callback when the signal fires +Doesn't care if a registration exists or not

+

Arguments:

+

_AddComponent

Creates an instance of new_type in the datum and attaches to it as parent +Sends the COMSIG_COMPONENT_ADDED signal to the datum +Returns the component that was created. Or the old component in a dupe situation where COMPONENT_DUPE_UNIQUE was set +If this tries to add an component to an incompatible type, the component will be deleted and the result will be null. This is very unperformant, try not to do it +Properly handles duplicate situations based on the dupe_mode var

_AddElement

Finds the singleton for the element type given and attaches it to src

_RemoveElement

Finds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE

_SendSignal

Internal proc to handle most all of the signaling procedure +Will runtime if used on datums with an empty component list +Use the SEND_SIGNAL define instead

deserialize_json

Deserializes from JSON. Does not parse type.

deserialize_list

Accepts a LIST from deserialize_datum. Should return src or another datum.

process

This proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.

+

Since the wait setting of a subsystem can be changed at any time, it is important that any rate-of-change that you implement in this proc is multiplied by the delta_time that is sent as a parameter, +Additionally, any "prob" you use in this proc should instead use the DT_PROB define to make sure that the final probability per second stays the same even if the subsystem's wait is altered. +Examples where this must be considered:

+ +

If you override this do not call parent, as it will return PROCESS_KILL. This is done to prevent objects that dont override process() from staying in the processing list

serialize_json

Serializes into JSON. Does not encode type.

serialize_list

Return a LIST for serialize_datum to encode! Not the actual json!

ui_act

public

+

Called on a UI when the UI receieves a href. +Think of this as Topic().

+

required action string The action/button that has been invoked by the user. +required params list A list of parameters attached to the button.

+

return bool If the user's input has been handled and the UI should update.

ui_assets

public

+

Called on an object when a tgui object is being created, allowing you to +push various assets to tgui, for examples spritesheets.

+

return list List of asset datums or file paths.

ui_close

public

+

Called on a UI's object when the UI is closed, not to be confused with +client/verb/uiclose(), which closes the ui window

ui_data

public

+

Data to be sent to the UI. +This must be implemented for a UI to work.

+

required user mob The mob interacting with the UI.

+

return list Data to be sent to the UI.

ui_fallback

public

+

Called on a UI when the UI crashed.

+

required payload list A list of the payload supposed to be set on the regular UI.

ui_host

private

+

The UI's host object (usually src_object). +This allows modules/datums to have the UI attached to them, +and be a part of another object.

ui_interact

public

+

Used to open and update UIs. +If this proc is not implemented properly, the UI will not update correctly.

+

required user mob The mob who opened/is using the UI. +optional ui datum/tgui The UI to be updated, if it exists.

ui_state

private

+

The UI's state controller to be used for created uis +This is a proc over a var for memory reasons

ui_static_data

public

+

Static Data to be sent to the UI.

+

Static data differs from normal data in that it's large data that should be +sent infrequently. This is implemented optionally for heavy uis that would +be sending a lot of redundant data frequently. Gets squished into one +object on the frontend side, but the static part is cached.

+

required user mob The mob interacting with the UI.

+

return list Statuic Data to be sent to the UI.

ui_status

public

+

Checks the UI state for a mob.

+

required user mob The mob who opened/is using the UI. +required state datum/ui_state The state to check.

+

return UI_state The state of the UI.

ui_update

public

+

Causes the UI to update to viewers on the next process. +Better than calling SStgui.update if this is callable by the user, +since it calls on process rather than instantly which handles spamming.

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

\ No newline at end of file diff --git a/datum/SDQL2_query.html b/datum/SDQL2_query.html new file mode 100644 index 000000000000..d02a51244e0e --- /dev/null +++ b/datum/SDQL2_query.html @@ -0,0 +1,7 @@ +/datum/SDQL2_query - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

SDQL2_query

Procs

SDQL_printRecursively prints out an object to text list for SDQL2 output to admins, with VV links and all. +Recursion limit: 50 +Limit imposed by callers should be around 10000 objects +Seriously, if you hit those limits, you're doing something wrong.

Proc Details

SDQL_print

Recursively prints out an object to text list for SDQL2 output to admins, with VV links and all. +Recursion limit: 50 +Limit imposed by callers should be around 10000 objects +Seriously, if you hit those limits, you're doing something wrong.

\ No newline at end of file diff --git a/datum/abductor_gear.html b/datum/abductor_gear.html new file mode 100644 index 000000000000..3910aeea73e3 --- /dev/null +++ b/datum/abductor_gear.html @@ -0,0 +1 @@ +/datum/abductor_gear - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

abductor_gear

Vars

build_pathBuild path of the gear itself
categoryCategory of the gear
costCredit cost of the gear
descriptionDescription of the gear
idUnique ID of the gear
nameName of the gear

Var Details

build_path

Build path of the gear itself

category

Category of the gear

cost

Credit cost of the gear

description

Description of the gear

id

Unique ID of the gear

name

Name of the gear

\ No newline at end of file diff --git a/datum/achievement_data.html b/datum/achievement_data.html new file mode 100644 index 000000000000..8c52a0e06060 --- /dev/null +++ b/datum/achievement_data.html @@ -0,0 +1 @@ +/datum/achievement_data - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

achievement_data

Datum that handles

Vars

dataUp to date list of all achievements and their info.
initializedHave we done our set-up yet?
original_cached_dataOriginal status of achievement.
owner_ckeyCkey of this achievement data's owner

Procs

get_achievement_statusGetter for the status/score of an achievement
get_changed_dataGets list of changed rows in MassInsert format
get_dataUpdates local cache with db data for the given achievement type if it wasn't loaded yet.
resetResets an achievement to default values.
unlockUnlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard

Var Details

data

Up to date list of all achievements and their info.

initialized

Have we done our set-up yet?

original_cached_data

Original status of achievement.

owner_ckey

Ckey of this achievement data's owner

Proc Details

get_achievement_status

Getter for the status/score of an achievement

get_changed_data

Gets list of changed rows in MassInsert format

get_data

Updates local cache with db data for the given achievement type if it wasn't loaded yet.

reset

Resets an achievement to default values.

unlock

Unlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard

\ No newline at end of file diff --git a/datum/action.html b/datum/action.html new file mode 100644 index 000000000000..176b7ae9f6dc --- /dev/null +++ b/datum/action.html @@ -0,0 +1,16 @@ +/datum/action - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

action

Vars

background_icon_stateThis 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)
button_iconThis is the file for the BACKGROUND underlay icon of the button
button_icon_stateThis is the icon state for the icon that appears on the button
buttontooltipstyleThe style the button's tooltips appear to be
check_flagsFlags that will determine of the owner / user of the action can... use the action
default_button_positionWhere any buttons we create should be by default. Accepts screen_loc and location defines
descThe description of what the action does, shown in button tooltips
icon_iconThis is the file for the icon that appears on the button
nameThe name of the action
ownerThis is who currently owns the action, and most often, this is who is using the action if it is triggered +This can be the same as "target" but is not ALWAYS the same - this is set and unset with Grant() and Remove()
targetThe target the action is attached to. If the target datum is deleted, the action is as well. +Set in New() via the proc link_to(). PLEASE set a target if you're making an action
transparent_when_unavailableWhether the button becomes transparent when it can't be used, or just reddened
viewersList of all mobs that are viewing our action button -> A unique movable for them to view.

Procs

GiveActionGives our action to the passed viewer. +Puts our action in their actions list and shows them the button.
HideFromRemoves our action from the passed viewer.
IsAvailableWhether our action is currently available to use or not
ShowToAdds our action button to the screen of the passed viewer.
TriggerActually triggers the effects of the action. +Called when the on-screen button is clicked, for example.
clear_refSignal proc that clears any references based on the owner or target deleting +If the owner's deleted, we will simply remove from them, but if the target's deleted, we will self-delete
update_status_on_signalA general use signal proc that reacts to an event and updates JUST our button's status

Var Details

background_icon_state

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)

button_icon

This is the file for the BACKGROUND underlay icon of the button

button_icon_state

This is the icon state for the icon that appears on the button

buttontooltipstyle

The style the button's tooltips appear to be

check_flags

Flags that will determine of the owner / user of the action can... use the action

default_button_position

Where any buttons we create should be by default. Accepts screen_loc and location defines

desc

The description of what the action does, shown in button tooltips

icon_icon

This is the file for the icon that appears on the button

name

The name of the action

owner

This is who currently owns the action, and most often, this is who is using the action if it is triggered +This can be the same as "target" but is not ALWAYS the same - this is set and unset with Grant() and Remove()

target

The target the action is attached to. If the target datum is deleted, the action is as well. +Set in New() via the proc link_to(). PLEASE set a target if you're making an action

transparent_when_unavailable

Whether the button becomes transparent when it can't be used, or just reddened

viewers

List of all mobs that are viewing our action button -> A unique movable for them to view.

Proc Details

GiveAction

Gives our action to the passed viewer. +Puts our action in their actions list and shows them the button.

HideFrom

Removes our action from the passed viewer.

IsAvailable

Whether our action is currently available to use or not

+

ShowTo

Adds our action button to the screen of the passed viewer.

Trigger

Actually triggers the effects of the action. +Called when the on-screen button is clicked, for example.

clear_ref

Signal proc that clears any references based on the owner or target deleting +If the owner's deleted, we will simply remove from them, but if the target's deleted, we will self-delete

update_status_on_signal

A general use signal proc that reacts to an event and updates JUST our button's status

\ No newline at end of file diff --git a/datum/action/cooldown.html b/datum/action/cooldown.html new file mode 100644 index 000000000000..48c2dbed61f9 --- /dev/null +++ b/datum/action/cooldown.html @@ -0,0 +1 @@ +/datum/action/cooldown - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

cooldown

Procs

ActivateTo be implemented by subtypes
InterceptClickOnIntercepts client owner clicks to activate the ability
PreActivateFor signal calling
StartCooldownStarts a cooldown time to be shared with similar abilities, 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

Proc Details

Activate

To be implemented by subtypes

InterceptClickOn

Intercepts client owner clicks to activate the ability

PreActivate

For signal calling

StartCooldown

Starts a cooldown time to be shared with similar abilities, 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

\ No newline at end of file diff --git a/datum/action/cooldown/bloodsucker.html b/datum/action/cooldown/bloodsucker.html new file mode 100644 index 000000000000..f23da76a5f10 --- /dev/null +++ b/datum/action/cooldown/bloodsucker.html @@ -0,0 +1 @@ +/datum/action/cooldown/bloodsucker - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

bloodsucker

Vars

background_icon_state_offBackground icon when the Power is NOT active.
background_icon_state_onBackground icon when the Power is active.
cooldown_timeCooldown you'll have to wait between each use, decreases depending on level.

Var Details

background_icon_state_off

Background icon when the Power is NOT active.

background_icon_state_on

Background icon when the Power is active.

cooldown_time

Cooldown you'll have to wait between each use, decreases depending on level.

\ No newline at end of file diff --git a/datum/action/cooldown/bloodsucker/targeted/haste.html b/datum/action/cooldown/bloodsucker/targeted/haste.html new file mode 100644 index 000000000000..e852f7720393 --- /dev/null +++ b/datum/action/cooldown/bloodsucker/targeted/haste.html @@ -0,0 +1 @@ +/datum/action/cooldown/bloodsucker/targeted/haste - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

haste

Vars

speed_overrideIf set, uses this speed in deciseconds instead of world.tick_lag

Var Details

speed_override

If set, uses this speed in deciseconds instead of world.tick_lag

\ No newline at end of file diff --git a/datum/action/cooldown/riot.html b/datum/action/cooldown/riot.html new file mode 100644 index 000000000000..cb2b67d3d2c7 --- /dev/null +++ b/datum/action/cooldown/riot.html @@ -0,0 +1 @@ +/datum/action/cooldown/riot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

riot

This action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.

Procs

ActivateChecks to see if there are any nearby mice. Does not count Rats.

Proc Details

Activate

Checks to see if there are any nearby mice. Does not count Rats.

\ No newline at end of file diff --git a/datum/action/cooldown/spawn_induction_package.html b/datum/action/cooldown/spawn_induction_package.html new file mode 100644 index 000000000000..a2b9cb47b77f --- /dev/null +++ b/datum/action/cooldown/spawn_induction_package.html @@ -0,0 +1 @@ +/datum/action/cooldown/spawn_induction_package - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

spawn_induction_package

Vars

my_gang_datumThe family antagonist datum of the "owner" of this action.

Var Details

my_gang_datum

The family antagonist datum of the "owner" of this action.

\ No newline at end of file diff --git a/datum/action/innate/ability/humanoid_customization.html b/datum/action/innate/ability/humanoid_customization.html new file mode 100644 index 000000000000..8979231f9b35 --- /dev/null +++ b/datum/action/innate/ability/humanoid_customization.html @@ -0,0 +1,5 @@ +/datum/action/innate/ability/humanoid_customization - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

humanoid_customization

Procs

change_form// NOTICE: This currently doens't support skin tone - if anyone wants to add this to non slimes, it's up to YOU to do this. +/ (someone should also add genital color switching, more mutant color selection) +maybe just make this entire thing tgui based. maybe.

Proc Details

change_form

// NOTICE: This currently doens't support skin tone - if anyone wants to add this to non slimes, it's up to YOU to do this. +/ (someone should also add genital color switching, more mutant color selection) +maybe just make this entire thing tgui based. maybe.

\ 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 000000000000..d208a9bb02a5 --- /dev/null +++ b/datum/action/innate/cult/blood_spell.html @@ -0,0 +1 @@ +/datum/action/innate/cult/blood_spell - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

blood_spell

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/rune_shatter.html b/datum/action/innate/rune_shatter.html new file mode 100644 index 000000000000..cc92b4cf454b --- /dev/null +++ b/datum/action/innate/rune_shatter.html @@ -0,0 +1 @@ +/datum/action/innate/rune_shatter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

rune_shatter

Vars

swordReference to the rune knife it is inside of

Var Details

sword

Reference to the rune knife it is inside of

\ No newline at end of file diff --git a/datum/action/item_action/mod.html b/datum/action/item_action/mod.html new file mode 100644 index 000000000000..dd8bc6b1a1e7 --- /dev/null +++ b/datum/action/item_action/mod.html @@ -0,0 +1 @@ +/datum/action/item_action/mod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mod

Vars

ai_actionWhether this action is intended for the AI. Stuff breaks a lot if this is done differently.

Var Details

ai_action

Whether this action is intended for the AI. Stuff breaks a lot if this is done differently.

\ No newline at end of file diff --git a/datum/action/item_action/stickmen.html b/datum/action/item_action/stickmen.html new file mode 100644 index 000000000000..74348ebc68c0 --- /dev/null +++ b/datum/action/item_action/stickmen.html @@ -0,0 +1,7 @@ +/datum/action/item_action/stickmen - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

stickmen

Procs

rallyRallies your army of stickmen to whichever target the user is pointing. +Should the user be on harm intent and the target be a living mob that's not the user or a fellow stickman, +said target will be added to a list of foes which the stickmen will gladly dispose regardless of faction. +This is designed so stickmen will move toward whatever you point at even when you don't want to, that's the downside.

Proc Details

rally

Rallies your army of stickmen to whichever target the user is pointing. +Should the user be on harm intent and the target be a living mob that's not the user or a fellow stickman, +said target will be added to a list of foes which the stickmen will gladly dispose regardless of faction. +This is designed so stickmen will move toward whatever you point at even when you don't want to, that's the downside.

\ No newline at end of file diff --git a/datum/action/vehicle/ridden/scooter/skateboard/ollie.html b/datum/action/vehicle/ridden/scooter/skateboard/ollie.html new file mode 100644 index 000000000000..7d397478a283 --- /dev/null +++ b/datum/action/vehicle/ridden/scooter/skateboard/ollie.html @@ -0,0 +1 @@ +/datum/action/vehicle/ridden/scooter/skateboard/ollie - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ollie

Vars

next_ollieCooldown to next jump

Var Details

next_ollie

Cooldown to next jump

\ No newline at end of file diff --git a/datum/action/vehicle/sealed/mecha/ivanov_strike.html b/datum/action/vehicle/sealed/mecha/ivanov_strike.html new file mode 100644 index 000000000000..f6055b97fd59 --- /dev/null +++ b/datum/action/vehicle/sealed/mecha/ivanov_strike.html @@ -0,0 +1,12 @@ +/datum/action/vehicle/sealed/mecha/ivanov_strike - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

ivanov_strike

Vars

rockets_lefthow many rockets can we send with ivanov strike
strike_cooldown_timecooldown time between strike uses

Procs

drop_missile
end_missile_targeting
on_equipment_clicksignal called from clicking with equipment
on_melee_clicksignal called from clicking with no equipment
reset_button_icon
start_missile_targeting

Var Details

rockets_left

how many rockets can we send with ivanov strike

strike_cooldown_time

cooldown time between strike uses

Proc Details

drop_missile

drop_missile

+

Called via intercepted clicks when the missile ability is active +Spawns a droppod and starts the cooldown of the missile strike ability +arguments:

+

end_missile_targeting

end_missile_targeting

+

Called by the ivanov strike datum action or other actions that would end targetting +Unhooks signals into clicking to call drop_missile plus other flavor like the overlay

on_equipment_click

signal called from clicking with equipment

on_melee_click

signal called from clicking with no equipment

reset_button_icon

reset_button_icon

+

called after an addtimer when the cooldown is finished with the ivanov strike, resets the icon

start_missile_targeting

start_missile_targeting

+

Called by the ivanov strike datum action, hooks signals into clicking to call drop_missile +Plus other flavor like the overlay

\ No newline at end of file diff --git a/datum/action/vehicle/sealed/mecha/skyfall.html b/datum/action/vehicle/sealed/mecha/skyfall.html new file mode 100644 index 000000000000..7b517c0eb052 --- /dev/null +++ b/datum/action/vehicle/sealed/mecha/skyfall.html @@ -0,0 +1,10 @@ +/datum/action/vehicle/sealed/mecha/skyfall - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

skyfall

Savannah Skyfall

Vars

skyfall_charge_levelskyfall builds up in charges every 2 seconds, when it reaches 5 charges the ability actually starts
skyfall_cooldown_timecooldown time between skyfall uses

Procs

abort_skyfall
begin_landing
land
reset_button_icon
skyfall_charge_loop

Var Details

skyfall_charge_level

skyfall builds up in charges every 2 seconds, when it reaches 5 charges the ability actually starts

skyfall_cooldown_time

cooldown time between skyfall uses

Proc Details

abort_skyfall

abort_skyfall

+

Called by skyfall_charge_loop if the charging is interrupted. +Applies cooldown and resets charge level

begin_landing

begin_landing

+

Called by skyfall_charge_loop after some time if it reaches full charge level. +it's just the animations of the mecha coming down + another timer for the final landing effect

land

land

+

Called by skyfall_charge_loop after some time if it reaches full charge level. +it's just the animations of the mecha coming down + another timer for the final landing effect

reset_button_icon

reset_button_icon

+

called after an addtimer when the cooldown is finished with the skyfall, resets the icon

skyfall_charge_loop

skyfall_charge_loop

+

The actual skyfall loop itself. Repeatedly calls itself after a do_after, so any interruptions will call abort_skyfall and end the loop +the other way the loop ends is if charge level (var it's ticking up) gets to SKYFALL_CHARGELEVEL_LAUNCH, in which case it ends the loop and does the ability.

\ No newline at end of file diff --git a/datum/action_group.html b/datum/action_group.html new file mode 100644 index 000000000000..d6c920507af7 --- /dev/null +++ b/datum/action_group.html @@ -0,0 +1,7 @@ +/datum/action_group - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

action_group

Vars

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

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

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/actionspeed_modifier.html b/datum/actionspeed_modifier.html new file mode 100644 index 000000000000..2ae1bfe86167 --- /dev/null +++ b/datum/actionspeed_modifier.html @@ -0,0 +1 @@ +/datum/actionspeed_modifier - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

actionspeed_modifier

Vars

conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
multiplicative_slowdownMultiplicative slowdown
priorityHigher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

Var Details

conflicts_with

Other modification datums this conflicts with.

id

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

multiplicative_slowdown

Multiplicative slowdown

priority

Higher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.

variable

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

\ No newline at end of file diff --git a/datum/admin_help.html b/datum/admin_help.html new file mode 100644 index 000000000000..2f66f19075e0 --- /dev/null +++ b/datum/admin_help.html @@ -0,0 +1 @@ +/datum/admin_help - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

admin_help

Vars

answereddid we send "answered" to irc yet

Var Details

answered

did we send "answered" to irc yet

\ No newline at end of file diff --git a/datum/admins.html b/datum/admins.html new file mode 100644 index 000000000000..3f0829235bf8 --- /dev/null +++ b/datum/admins.html @@ -0,0 +1,10 @@ +/datum/admins - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

admins

Vars

tagged_datumsA lazylist of tagged datums, for quick reference with the View Tags verb

Procs

add_tagged_datumInserts the target_datum into /datum/admins/var/tagged_datums, for later reference.
clear_tagsClears tagged datums
display_tagsDisplay all of the tagged datums
forceEventOpens up the Force Event Panel
handle_tagged_delGet ahead of the curve with deleting
makeAliensdatum/admins/proc/makeAbductorTeam()
modify_traitsAllow admin to add or remove traits of datum
remove_tagged_datumAttempts to remove the specified datum from /datum/admins/var/tagged_datums if it exists
restartadmins2.dm merge
show_player_panelPanels
spawn_atomADMIN HELPER PROCS
station_traits_panelOpens the station traits admin panel

Var Details

tagged_datums

A lazylist of tagged datums, for quick reference with the View Tags verb

Proc Details

add_tagged_datum

Inserts the target_datum into /datum/admins/var/tagged_datums, for later reference.

+

Arguments:

+

clear_tags

Clears tagged datums

display_tags

Display all of the tagged datums

forceEvent

Opens up the Force Event Panel

handle_tagged_del

Get ahead of the curve with deleting

makeAliens

datum/admins/proc/makeAbductorTeam()

modify_traits

Allow admin to add or remove traits of datum

remove_tagged_datum

Attempts to remove the specified datum from /datum/admins/var/tagged_datums if it exists

+

Arguments:

+

restart

admins2.dm merge

show_player_panel

Panels

spawn_atom

ADMIN HELPER PROCS

station_traits_panel

Opens the station traits admin panel

\ No newline at end of file diff --git a/datum/ai_laws.html b/datum/ai_laws.html new file mode 100644 index 000000000000..167f2bdef5b3 --- /dev/null +++ b/datum/ai_laws.html @@ -0,0 +1,7 @@ +/datum/ai_laws - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

ai_laws

Procs

get_law_listGenerates a list of all laws on this datum, including rendered HTML tags if required

Proc Details

get_law_list

Generates a list of all laws on this datum, including rendered HTML tags if required

+

Arguments:

+
\ No newline at end of file diff --git a/datum/alarm_handler.html b/datum/alarm_handler.html new file mode 100644 index 000000000000..7d07683f2d6e --- /dev/null +++ b/datum/alarm_handler.html @@ -0,0 +1,5 @@ +/datum/alarm_handler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

alarm_handler

Represents a single source of alarms, one alarm handler will only ever count for one alarm per listener

Vars

sent_alarmsA list of alarm type -> list of areas we currently have alarms in
source_atomOur source atom

Procs

clear_alarmClears an alarm from any interested listeners
clear_alarm_from_areaExists so we can request that the alarms from an area are cleared, even if our source atom is no longer in that area
send_alarmSends an alarm to any interested things, does some checks to prevent unneeded work +Important to note is that source_atom is not held as a ref, we're used as a proxy to prevent hard deletes +optional_camera should only be used when you have one camera you want to pass along to alarm listeners, most of the time you should have no use for it

Var Details

sent_alarms

A list of alarm type -> list of areas we currently have alarms in

source_atom

Our source atom

Proc Details

clear_alarm

Clears an alarm from any interested listeners

clear_alarm_from_area

Exists so we can request that the alarms from an area are cleared, even if our source atom is no longer in that area

send_alarm

Sends an alarm to any interested things, does some checks to prevent unneeded work +Important to note is that source_atom is not held as a ref, we're used as a proxy to prevent hard deletes +optional_camera should only be used when you have one camera you want to pass along to alarm listeners, most of the time you should have no use for it

\ No newline at end of file diff --git a/datum/alarm_listener.html b/datum/alarm_listener.html new file mode 100644 index 000000000000..437a546ced10 --- /dev/null +++ b/datum/alarm_listener.html @@ -0,0 +1,5 @@ +/datum/alarm_listener - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

alarm_listener

Vars

accepting_alarm_changesShould we allow alarm changes to go through or not
alarmsList of alarm type -> list of area name -> list(area, ref to area's cameras, list(sources))
allowed_areasList of allowed areas. if this is null it's ignored
allowed_z_levelsList of valid source z levels, ignored if null

Procs

NewAccepts a list of alarm types to pay attention to, a list of valid z levels, and a list of valid areas. areas and zlevels are ignored if null
add_alarmAdds an alarm to our alarms list, you shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only send an alarm to one listener
allow_alarm_changesDoes what it says on the tin, exists for signal hooking
clear_alarmRemoves an alarm to our alarms list, you probably shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only remove an alarm to one listener
clear_camera_refUsed to manually clear camera refs if one is ref'd directly
prevent_alarm_changesDoes what it says on the tin, exists for signal hooking

Var Details

accepting_alarm_changes

Should we allow alarm changes to go through or not

alarms

List of alarm type -> list of area name -> list(area, ref to area's cameras, list(sources))

allowed_areas

List of allowed areas. if this is null it's ignored

allowed_z_levels

List of valid source z levels, ignored if null

Proc Details

New

Accepts a list of alarm types to pay attention to, a list of valid z levels, and a list of valid areas. areas and zlevels are ignored if null

add_alarm

Adds an alarm to our alarms list, you shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only send an alarm to one listener

allow_alarm_changes

Does what it says on the tin, exists for signal hooking

clear_alarm

Removes an alarm to our alarms list, you probably shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only remove an alarm to one listener

clear_camera_ref

Used to manually clear camera refs if one is ref'd directly

prevent_alarm_changes

Does what it says on the tin, exists for signal hooking

\ No newline at end of file diff --git a/datum/antagonist.html b/datum/antagonist.html new file mode 100644 index 000000000000..4e21f603e541 --- /dev/null +++ b/datum/antagonist.html @@ -0,0 +1,32 @@ +/datum/antagonist - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

antagonist

Vars

antag_hud_nameName of the antag hud we provide to this mob.
antag_hud_typeWhat is the configuration of this antagonist's hud icon, such as it's screen position and style, so thatit doesn't break other in-game hud icons.
antag_memoryString dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.
antag_moodlettypepath of moodlet that the mob will gain when granted this antagonist type.
antagpanel_categoryAntagpanel will display these together, REQUIRED
blacklisted_quirksQuirks that will be removed upon gaining this antag. Pacifist and mute are default.
can_coexist_with_othersWhether or not the person will be able to have more than one datum
hijack_speedIf above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().
info_buttonbutton to access antag interface
job_rankThe define string we use to identify the role for bans/player polls to spawn a random new one in.
namePublic name for this antagonist. Appears for player prompts and round-end reports.
objectivesList of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.
ownerMind that owns this datum
prevent_roundtype_conversionIf false, the roundtype will still convert with this antag active
preview_outfitThe typepath for the outfit to show in the preview for the preferences menu.
replace_bannedShould replace jobbanned player with ghosts if granted.
requested_objective_changesLazy list for antagonists to request the admins objectives.
roundend_categorySection of roundend report, datums with same category will be displayed together, also default header for the section
show_in_antagpanelThis will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind
show_in_roundendSet to false to hide the antagonists from roundend report
show_name_in_check_antagonistsWill append antagonist name in admin listings - use for categories that share more than one antag type
show_to_ghostsShould this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors
silentSilent will prevent the gain/lose texts to show
soft_antagIf set to true, the antag will not be added to the living antag list.
suicide_cryThe battlecry this antagonist shouts when suiciding with C4/X4.
threatAmount of threat this antag poses, for dynamic mode
typecache_datum_blacklistList of datums this type can't coexist with
ui_namename of the UI that will try to open, right now having nothing means this won't exist but in the future all should.

Procs

antag_panel_dataAdditional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc
clean_request_from_del_objectiveClears change requests from deleted objectives to avoid broken references.
clear_antag_moodiesProc that removes this antagonist's ascribed moodlet from the player.
farewellProc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.
finish_preview_iconGiven an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.
get_admin_commandsList of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
get_objectivesgeneric helper to send objectives as data through tgui. supports smart objectives too!
get_preview_iconReturns the icon to show on the preferences menu.
get_teamProc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round, like families.
give_antag_moodiesProc that assigns this antagonist's ascribed moodlet to the player.
greetProc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.
handle_clown_mutationHandles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects
hijack_speedGets how fast we can hijack the shuttle, return FALSE for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.
is_bannedProc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.
on_body_transferCalled by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transfered.
on_gainCalled by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.
on_mindshieldThis is called when the antagonist is successfully mindshielded.
on_removalCalled by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.
pre_mindshieldThis is called when the antagonist is being mindshielded.
remove_blacklisted_quirksRemoves invalid quirks.
render_preview_outfitCreates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.
replace_banned_playerProc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.
roundend_reportProc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.
roundend_report_footerProc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.
roundend_report_headerProc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.
threatGets our threat level. Override this proc for custom functionality/dynamic threat level.
ui_interactANTAGONIST UI STUFF

Var Details

antag_hud_name

Name of the antag hud we provide to this mob.

antag_hud_type

What is the configuration of this antagonist's hud icon, such as it's screen position and style, so thatit doesn't break other in-game hud icons.

antag_memory

String dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.

antag_moodlet

typepath of moodlet that the mob will gain when granted this antagonist type.

antagpanel_category

Antagpanel will display these together, REQUIRED

blacklisted_quirks

Quirks that will be removed upon gaining this antag. Pacifist and mute are default.

can_coexist_with_others

Whether or not the person will be able to have more than one datum

hijack_speed

If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().

info_button

button to access antag interface

job_rank

The define string we use to identify the role for bans/player polls to spawn a random new one in.

name

Public name for this antagonist. Appears for player prompts and round-end reports.

objectives

List of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.

owner

Mind that owns this datum

prevent_roundtype_conversion

If false, the roundtype will still convert with this antag active

preview_outfit

The typepath for the outfit to show in the preview for the preferences menu.

replace_banned

Should replace jobbanned player with ghosts if granted.

requested_objective_changes

Lazy list for antagonists to request the admins objectives.

roundend_category

Section of roundend report, datums with same category will be displayed together, also default header for the section

show_in_antagpanel

This will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind

show_in_roundend

Set to false to hide the antagonists from roundend report

show_name_in_check_antagonists

Will append antagonist name in admin listings - use for categories that share more than one antag type

show_to_ghosts

Should this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors

silent

Silent will prevent the gain/lose texts to show

soft_antag

If set to true, the antag will not be added to the living antag list.

suicide_cry

The battlecry this antagonist shouts when suiciding with C4/X4.

threat

Amount of threat this antag poses, for dynamic mode

typecache_datum_blacklist

List of datums this type can't coexist with

ui_name

name of the UI that will try to open, right now having nothing means this won't exist but in the future all should.

Proc Details

antag_panel_data

Additional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc

clean_request_from_del_objective

Clears change requests from deleted objectives to avoid broken references.

clear_antag_moodies

Proc that removes this antagonist's ascribed moodlet from the player.

farewell

Proc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.

finish_preview_icon

Given an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.

get_admin_commands

List of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution

get_objectives

generic helper to send objectives as data through tgui. supports smart objectives too!

get_preview_icon

Returns the icon to show on the preferences menu.

get_team

Proc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round, like families.

give_antag_moodies

Proc that assigns this antagonist's ascribed moodlet to the player.

greet

Proc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.

handle_clown_mutation

Handles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects

hijack_speed

Gets how fast we can hijack the shuttle, return FALSE for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.

is_banned

Proc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.

+

on_body_transfer

Called by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transfered.

on_gain

Called by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.

on_mindshield

This is called when the antagonist is successfully mindshielded.

on_removal

Called by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.

pre_mindshield

This is called when the antagonist is being mindshielded.

remove_blacklisted_quirks

Removes invalid quirks.

render_preview_outfit

Creates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.

replace_banned_player

Proc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.

roundend_report

Proc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.

Proc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.

roundend_report_header

Proc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.

threat

Gets our threat level. Override this proc for custom functionality/dynamic threat level.

ui_interact

ANTAGONIST UI STUFF

\ No newline at end of file diff --git a/datum/antagonist/changeling.html b/datum/antagonist/changeling.html new file mode 100644 index 000000000000..ab2cfefb26e6 --- /dev/null +++ b/datum/antagonist/changeling.html @@ -0,0 +1,5 @@ +/datum/antagonist/changeling - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

changeling

Vars

hostile_absorbeddid we get succed by another changeling

Procs

check_menuChecks if we are allowed to interact with a radial menu
select_dnaGives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna

Var Details

hostile_absorbed

did we get succed by another changeling

Proc Details

check_menu

Checks if we are allowed to interact with a radial menu

+

Arguments:

+

select_dna

Gives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna

\ No newline at end of file diff --git a/datum/antagonist/gang.html b/datum/antagonist/gang.html new file mode 100644 index 000000000000..5bc07366e9b7 --- /dev/null +++ b/datum/antagonist/gang.html @@ -0,0 +1 @@ +/datum/antagonist/gang - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

gang

Vars

acceptable_clothesThe list of clothes that are acceptable to show allegiance to this family.
free_clothesThe list of clothes that are given to family members upon induction into the family.
gang_idThe abbreviation of the family corresponding to this family member datum.
gang_nameThe name of the family corresponding to this family member datum.
gang_team_typeType of team to create when creating the gang in the first place. Used for renames.
handlerA reference to the handler datum that manages the families gamemode. In case of no handler (admin-spawned during round), this will be null; this is fine.
my_gangThe overarching family that the owner of this datum is a part of. Family teams are generic and imprinted upon by the per-person antagonist datums.
original_nameThe gangster's original real name. Used for renaming stuff, kept between gang switches.
package_spawnerThe action used to spawn family induction packages.
starter_gangsterWhether or not this family member is the first of their family.

Procs

equip_gangster_in_inventoryGives a gangster their equipment in their backpack and / or pockets.

Var Details

acceptable_clothes

The list of clothes that are acceptable to show allegiance to this family.

free_clothes

The list of clothes that are given to family members upon induction into the family.

gang_id

The abbreviation of the family corresponding to this family member datum.

gang_name

The name of the family corresponding to this family member datum.

gang_team_type

Type of team to create when creating the gang in the first place. Used for renames.

handler

A reference to the handler datum that manages the families gamemode. In case of no handler (admin-spawned during round), this will be null; this is fine.

my_gang

The overarching family that the owner of this datum is a part of. Family teams are generic and imprinted upon by the per-person antagonist datums.

original_name

The gangster's original real name. Used for renaming stuff, kept between gang switches.

package_spawner

The action used to spawn family induction packages.

starter_gangster

Whether or not this family member is the first of their family.

Proc Details

equip_gangster_in_inventory

Gives a gangster their equipment in their backpack and / or pockets.

\ No newline at end of file diff --git a/datum/antagonist/heretic.html b/datum/antagonist/heretic.html new file mode 100644 index 000000000000..9c7e3b73a4c5 --- /dev/null +++ b/datum/antagonist/heretic.html @@ -0,0 +1 @@ +/datum/antagonist/heretic - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

heretic

Procs

on_deathWhat happens to the heretic once he dies, used to remove any custom perks

Proc Details

on_death

What happens to the heretic once he dies, used to remove any custom perks

\ No newline at end of file diff --git a/datum/antagonist/ninja.html b/datum/antagonist/ninja.html new file mode 100644 index 000000000000..051184f83910 --- /dev/null +++ b/datum/antagonist/ninja.html @@ -0,0 +1,9 @@ +/datum/antagonist/ninja - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

ninja

Vars

give_equipmentWhether or not this ninja receives the standard equipment
give_objectivesWhether or not this ninja will obtain objectives

Procs

addMemoriesProc that adds the proper memories to the antag datum
addObjectivesProc that adds all the ninja's objectives to the antag datum.
equip_space_ninjaProc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.

Var Details

give_equipment

Whether or not this ninja receives the standard equipment

give_objectives

Whether or not this ninja will obtain objectives

Proc Details

addMemories

Proc that adds the proper memories to the antag datum

+

Proc that adds the ninja starting memories to the owner of the antagonist datum.

addObjectives

Proc that adds all the ninja's objectives to the antag datum.

+

Proc that adds all the ninja's objectives to the antag datum. Called when the datum is gained.

equip_space_ninja

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.

+

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. +Arguments:

+
\ No newline at end of file diff --git a/datum/antagonist/rev.html b/datum/antagonist/rev.html new file mode 100644 index 000000000000..594e1d73e7cb --- /dev/null +++ b/datum/antagonist/rev.html @@ -0,0 +1 @@ +/datum/antagonist/rev - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

rev

Vars

deconversion_reasonwhen this antagonist is being de-antagged, this is why
victory_messageWhat message should the player receive when they are being demoted, and the revolution has won?

Procs

announce_victoriousChecks if the revolution succeeded, and lets them know.

Var Details

deconversion_reason

when this antagonist is being de-antagged, this is why

victory_message

What message should the player receive when they are being demoted, and the revolution has won?

Proc Details

announce_victorious

Checks if the revolution succeeded, and lets them know.

\ No newline at end of file diff --git a/datum/antagonist/traitor.html b/datum/antagonist/traitor.html new file mode 100644 index 000000000000..b0941492fe42 --- /dev/null +++ b/datum/antagonist/traitor.html @@ -0,0 +1 @@ +/datum/antagonist/traitor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

traitor

Vars

traitor_kindspecial datum about what kind of employer the trator has
uplinkreference to the uplink this traitor was given, if they were.

Procs

contractor_round_endProc detailing contract kit buys/completed contracts/additional info
forge_traitor_objectivesGenerates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as martyr and hijack.
give_codewordsOutputs this shift's codewords and responses to the antag's chat and copies them to their memory.

Var Details

traitor_kind

special datum about what kind of employer the trator has

reference to the uplink this traitor was given, if they were.

Proc Details

contractor_round_end

Proc detailing contract kit buys/completed contracts/additional info

forge_traitor_objectives

Generates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as martyr and hijack.

give_codewords

Outputs this shift's codewords and responses to the antag's chat and copies them to their memory.

\ No newline at end of file diff --git a/datum/antagonist/traitor/contractor_support.html b/datum/antagonist/traitor/contractor_support.html new file mode 100644 index 000000000000..85a82e7cccef --- /dev/null +++ b/datum/antagonist/traitor/contractor_support.html @@ -0,0 +1 @@ +/datum/antagonist/traitor/contractor_support - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

contractor_support

Support unit gets it's own very basic antag datum for admin logging.

Vars

contractor_teamDon't give them an uplink.
give_objectivesWe're already adding them in to the contractor's roundend.
should_equipNot a proper/full antag.
show_in_antagpanelWe give them their own custom objective.

Var Details

contractor_team

Don't give them an uplink.

give_objectives

We're already adding them in to the contractor's roundend.

should_equip

Not a proper/full antag.

show_in_antagpanel

We give them their own custom objective.

\ No newline at end of file diff --git a/datum/asset.html b/datum/asset.html new file mode 100644 index 000000000000..592c142f2ff9 --- /dev/null +++ b/datum/asset.html @@ -0,0 +1 @@ +/datum/asset - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

asset

Procs

get_serialized_url_mappingsReturns a cached tgui message of URL mappings

Proc Details

get_serialized_url_mappings

Returns a cached tgui message of URL mappings

\ No newline at end of file diff --git a/datum/asset/simple.html b/datum/asset/simple.html new file mode 100644 index 000000000000..6b141bb8caf3 --- /dev/null +++ b/datum/asset/simple.html @@ -0,0 +1,7 @@ +/datum/asset/simple - SPLURT Station 13
SPLURT 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 the legacy browse_rsc +system when cdn transports are enabled?

Var Details

assets

list of assets for this datum in the form of: +asset_filename = asset_file. At runtime the asset_file will be +converted into a asset_cache datum.

keep_local_name

TRUE for keeping local asset names when browse_rsc backend is used

legacy

Set to true to have this asset also be sent via the legacy browse_rsc +system when cdn transports are enabled?

\ 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 000000000000..63464eb56cf8 --- /dev/null +++ b/datum/asset/simple/namespaced.html @@ -0,0 +1,9 @@ +/datum/asset/simple/namespaced - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

namespaced

Namespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)

Vars

parentsparents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Procs

get_htmlloaderGet a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.

Var Details

parents

parents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Proc Details

get_htmlloader

Get a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.

\ No newline at end of file diff --git a/datum/asset/spritesheet.html b/datum/asset/spritesheet.html new file mode 100644 index 000000000000..75be41e1d296 --- /dev/null +++ b/datum/asset/spritesheet.html @@ -0,0 +1,9 @@ +/datum/asset/spritesheet - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

spritesheet

Procs

ModifyInsertedA simple proc handing the Icon for you to modify before it gets turned into an asset.
icon_size_idReturns the size class (ex design32x32) for a given sprite's icon

Proc Details

ModifyInserted

A simple proc handing the Icon for you to modify before it gets turned into an asset.

+

Arguments:

+

icon_size_id

Returns the size class (ex design32x32) for a given sprite's icon

+

Arguments:

+
\ No newline at end of file diff --git a/datum/asset/spritesheet/decals.html b/datum/asset/spritesheet/decals.html new file mode 100644 index 000000000000..457698dbd1cc --- /dev/null +++ b/datum/asset/spritesheet/decals.html @@ -0,0 +1,11 @@ +/datum/asset/spritesheet/decals - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

decals

Vars

painter_typeThe associated decal painter type to grab decals, colors, etc from.
preview_floor_iconThe floor icon used for blend_preview_floor()
preview_floor_stateThe floor icon state used for blend_preview_floor()

Procs

blend_preview_floorUnderlay an example floor for preview purposes, and return the new icon.
insert_stateInsert a specific state into the spritesheet.

Var Details

painter_type

The associated decal painter type to grab decals, colors, etc from.

preview_floor_icon

The floor icon used for blend_preview_floor()

preview_floor_state

The floor icon state used for blend_preview_floor()

Proc Details

blend_preview_floor

Underlay an example floor for preview purposes, and return the new icon.

+

Arguments:

+

insert_state

Insert a specific state into the spritesheet.

+

Arguments:

+
\ 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 000000000000..5fb1cbcb2005 --- /dev/null +++ b/datum/asset_cache_item.html @@ -0,0 +1,9 @@ +/datum/asset_cache_item - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

asset_cache_item

An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.

Vars

keep_local_nameTRUE for keeping local asset names when browse_rsc backend is used
legacyShould this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?
namespaceUsed by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)
namespace_parentTrue if this is the parent css or html file for an asset's namespace

Var Details

keep_local_name

TRUE for keeping local asset names when browse_rsc backend is used

legacy

Should this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?

namespace

Used by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)

namespace_parent

True if this is the parent css or html file for an asset's namespace

\ No newline at end of file diff --git a/datum/asset_transport.html b/datum/asset_transport.html new file mode 100644 index 000000000000..70be46efd235 --- /dev/null +++ b/datum/asset_transport.html @@ -0,0 +1,25 @@ +/datum/asset_transport - SPLURT Station 13
SPLURT 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 get_asset_url and the asset isn't marked legacy, fix one of those.

Procs

InitializeInitialize - Called when SSassets initializes.
LoadCalled when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.
get_asset_urlReturns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name
register_assetRegister a browser asset with the asset cache system +asset_name - the identifier of the asset +asset - the actual asset file (or an asset_cache_item datum) +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum
send_assetsSends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.
send_assets_slowPrecache files without clogging up the browse() queue, used for passively sending files on connection start.
validate_configCheck the config is valid to load this transport +Returns TRUE or FALSE

Var Details

dont_mutate_filenames

Don't mutate the filename of assets when sending via browse_rsc. +This is to make it easier to debug issues with assets, and allow server operators to bypass issues that make it to production. +If turning this on fixes asset issues, something isn't using get_asset_url and the asset isn't marked legacy, fix one of those.

Proc Details

Initialize

Initialize - Called when SSassets initializes.

Load

Called when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.

get_asset_url

Returns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name

register_asset

Register a browser asset with the asset cache system +asset_name - the identifier of the asset +asset - the actual asset file (or an asset_cache_item datum) +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum

send_assets

Sends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.

send_assets_slow

Precache files without clogging up the browse() queue, used for passively sending files on connection start.

validate_config

Check the config is valid to load this transport +Returns TRUE or FALSE

\ 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 000000000000..846e017247eb --- /dev/null +++ b/datum/asset_transport/webroot.html @@ -0,0 +1,11 @@ +/datum/asset_transport/webroot - SPLURT Station 13
SPLURT 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/award.html b/datum/award.html new file mode 100644 index 000000000000..427a1c0cbc05 --- /dev/null +++ b/datum/award.html @@ -0,0 +1 @@ +/datum/award - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

award

Vars

database_idWhat ID do we use in db, limited to 32 characters
iconFound in ui_icons/achievements
nameName of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Procs

get_changed_rowsThis saves the changed data to the hub.
get_raw_valueGet raw numerical achievement value from the database
loadThis proc loads the achievement data from the hub.
on_unlockCan be overriden for achievement specific events

Var Details

database_id

What ID do we use in db, limited to 32 characters

icon

Found in ui_icons/achievements

name

Name of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Proc Details

get_changed_rows

This saves the changed data to the hub.

get_raw_value

Get raw numerical achievement value from the database

load

This proc loads the achievement data from the hub.

on_unlock

Can be overriden for achievement specific events

\ No newline at end of file diff --git a/datum/bank_account.html b/datum/bank_account.html new file mode 100644 index 000000000000..8adf80019d96 --- /dev/null +++ b/datum/bank_account.html @@ -0,0 +1 @@ +/datum/bank_account - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

bank_account

Procs

bounty_numReturns the required item count, or required chemical units required to submit a bounty.
bounty_textReturns a string with the civilian bounty's description on it.
bounty_valueProduces the value of the account's civilian bounty reward, if able.
reset_bountyPerforms house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed.

Proc Details

bounty_num

Returns the required item count, or required chemical units required to submit a bounty.

bounty_text

Returns a string with the civilian bounty's description on it.

bounty_value

Produces the value of the account's civilian bounty reward, if able.

reset_bounty

Performs house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed.

\ No newline at end of file diff --git a/datum/biome.html b/datum/biome.html new file mode 100644 index 000000000000..0406ecaac876 --- /dev/null +++ b/datum/biome.html @@ -0,0 +1 @@ +/datum/biome - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

biome

This datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.

Vars

fauna_densityChance of having a mob from the fauna types list spawn
fauna_typeslist of type paths of mobs that can be spawned when the turf spawns fauna
flora_densityChance of having a structure from the flora types list spawn
flora_typeslist of type paths of objects that can be spawned when the turf spawns flora
turf_typeType of turf this biome creates

Procs

generate_turfThis proc handles the creation of a turf of a specific biome type

Var Details

fauna_density

Chance of having a mob from the fauna types list spawn

fauna_types

list of type paths of mobs that can be spawned when the turf spawns fauna

flora_density

Chance of having a structure from the flora types list spawn

flora_types

list of type paths of objects that can be spawned when the turf spawns flora

turf_type

Type of turf this biome creates

Proc Details

generate_turf

This proc handles the creation of a turf of a specific biome type

\ No newline at end of file diff --git a/datum/bitfield.html b/datum/bitfield.html new file mode 100644 index 000000000000..3b1c098f606f --- /dev/null +++ b/datum/bitfield.html @@ -0,0 +1 @@ +/datum/bitfield - SPLURT Station 13
SPLURT 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/block_parry_data.html b/datum/block_parry_data.html new file mode 100644 index 000000000000..9e89a4ca15cf --- /dev/null +++ b/datum/block_parry_data.html @@ -0,0 +1,20 @@ +/datum/block_parry_data - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

block_parry_data

Carries data like list data that would be a waste of memory if we initialized the list on every /item as we can cache datums easier.

Vars

autoparry_cooldown_absoluteHard autoparry cooldown
autoparry_mouse_delay_maximumADVANCED - Autoparry requirement for time since last moused over for a specific object
autoparry_sequence_simulationAutoparry : Simulate a parry sequence starting at a certain tick, or simply simulate a single attack parry?
autoparry_sequence_start_timeDecisecond of sequence to start on. -1 to start to 0th tick of active parry window.
autoparry_single_efficiencySingle attack autoparry - efficiency
autoparry_single_efficiency_overrideSingle attack autoparry - efficiency overrides by attack type, see above
block_active_priorityThe priority we get in mob/do_run_block() while we're being used to parry.
block_automatic_directionsDirections that you can autoblock in. Null to default to normal directions.
block_automatic_enabledCan this item automatically block?
block_automatic_mitigation_multiplierEffectiveness multiplier for automated block. Only applies to efficiency, absorption and limits stay the same!
block_automatic_stamina_multiplierStamina cost multiplier for automated block
block_damage_absorptionAmount of "free" damage blocking absorbs
block_damage_absorption_overrideOverride absorption, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_absorption]
block_damage_limitUpper bound of damage block, anything above this will go right through.
block_damage_limit_overrideOverride upper bound of damage block, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_limit]
block_damage_multiplierRatio of damage to allow through above absorption and below limit. Multiplied by damage to determine how much to let through. Lower is better.
block_damage_multiplier_overrideOverride damage overrun efficiency, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_efficiency]
block_end_click_cd_addClickdelay added to user after block ends
block_lock_attackingDisallow attacking during block
block_lock_sprintingDisallow sprinting during block
block_no_stambuffer_regenerationPrevent stamina buffer regeneration while block?
block_no_stamina_regenerationPrevent stamina regeneration while block?
block_projectile_mitigationThe blocked variable of on_hit() on projectiles is impacted by this. Higher is better, 0 to 100, percentage.
block_resting_attack_types_anydirBitfield for attack types that we can block while down. This will work in any direction.
block_resting_attack_types_directionalBitfield for attack types that we can block while down but only in our normal directions.
block_resting_stamina_penalty_multiplierMultiplier to stamina damage taken for attacks blocked while downed.
block_resting_stamina_penalty_multiplier_overrideOverride list for multiplier to stamina damage taken for attacks blocked while down. list("[ATTACK_TYPE_DEFINE]" = multiplier_number)
block_slowdownOur slowdown added while blocking
block_soundsSounds for blocking
block_stamina_buffer_ratioRatio of stamina incurred by chest (so after [block_stamina_limb_ratio] runs) that is buffered.
block_stamina_cost_per_secondStamina dealt directly via UseStaminaBuffer() per SECOND of block.
block_stamina_efficiencyDefault damage-to-stamina coefficient, higher is better. This is based on amount of damage BLOCKED, not initial damage, to prevent damage from "double dipping".
block_stamina_efficiency_overrideOverride damage-to-stamina coefficient, see [block_efficiency], this should be list("[ATTACK_TYPE_DEFINE]" = coefficient_number)
block_stamina_limb_ratioRatio of stamina incurred by blocking that goes to the arm holding the object instead of the chest. Has no effect if this is not held in hand.
block_start_delayWindup before we have our blocking active.
can_block_attack_typesAttacks we can block
can_block_directions//////// BLOCKING //////////// +NOTE: FOR ATTACK_TYPE_DEFINE, you MUST wrap it in "[DEFINE_HERE]"! The defines are bitflags, and therefore, NUMBERS! +See defines. Point of reference is someone facing north.
parry_allow_repeated_counterattacksAllow multiple counterattacks per parry sequence. Bad idea.
parry_attack_typesAttack types we can block
parry_automatic_enabledCan this data automatically parry? This is off by default because this is something that requires thought to balance.
parry_cooldownParrying cooldown, separate of clickdelay. It must be this much deciseconds since their last parry for them to parry with this object.
parry_dataParry effect data.
parry_effect_icon_stateVisual icon state override for parrying
parry_efficiency_considered_successfulEfficiency must be at least this to be considered successful
parry_efficiency_perfectEfficiency in percent on perfect parry.
parry_efficiency_perfect_overrideOverride for attack types, list("[ATTACK_TYPE_DEFINE]" = perecntage) for perfect efficiency.
parry_efficiency_to_counterattackEfficiency must be at least this to run automatic counterattack
parry_failed_clickcd_durationClickdelay duration post-parry if you fail to parry an attack
parry_failed_cooldown_durationParry cooldown post-parry if failed. This is ADDED to parry_cooldown!!!
parry_failed_stagger_durationStagger duration post-parry if you fail to parry an attack
parry_flagsParry flags
parry_imperfect_falloff_percentParry "efficiency" falloff in percent per decisecond once perfect window is over.
parry_imperfect_falloff_percent_override[parry_imperfect_falloff_percent] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)
parry_max_attacksMaximum attacks to parry successfully or unsuccessfully (but not efficiency < 0) during active period, hitting this immediately ends the sequence.
parry_respect_clickdelay//////// PARRYING //////////// +Priority for mob/do_run_block() while we're being used to parry. +Parry doesn't work if you aren't able to otherwise attack due to clickdelay
parry_soundsSounds for parrying
parry_stamina_costParry stamina cost
parry_start_soundParry start sound
parry_time_activeMain parry window in deciseconds. This is between [parry_time_windup] and [parry_time_spindown]
parry_time_active_visual_overrideIf set, overrides visual duration of active period
parry_time_perfectPerfect parry window in deciseconds from the start of the main window. 3 with main 5 = perfect on third decisecond of main window.
parry_time_perfect_leewayTime on both sides of perfect parry that still counts as part of the perfect window.
parry_time_perfect_leeway_override[parry_time_perfect_leeway] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)
parry_time_spindownParry spindown duration in deciseconds. main stage end to this is the spindown stage, afterwards the parry fully ends.
parry_time_spindown_visual_overrideIf set, overrides visual duration of spindown
parry_time_windupParry windup duration in deciseconds. 0 to this is windup, afterwards is main stage.
parry_time_windup_visual_overrideIf set, overrides visual duration of windup
perfect_parry_block_return_flagsFlags added to return value
perfect_parry_block_return_listList appended to block return

Procs

attack_type_list_scanQuirky proc to get average of flags in list that are in attack_type because why is attack_type a flag.
get_parry_efficiencyGets the percentage efficiency of our parry.
render_html_readoutGenerates a HTML render of this datum for self-documentation +Maybe make this tgui-next someday haha god this is ugly as sin. +Does NOT include the popout or title or anything. Just the variables and explanations..

Var Details

autoparry_cooldown_absolute

Hard autoparry cooldown

autoparry_mouse_delay_maximum

ADVANCED - Autoparry requirement for time since last moused over for a specific object

autoparry_sequence_simulation

Autoparry : Simulate a parry sequence starting at a certain tick, or simply simulate a single attack parry?

autoparry_sequence_start_time

Decisecond of sequence to start on. -1 to start to 0th tick of active parry window.

autoparry_single_efficiency

Single attack autoparry - efficiency

autoparry_single_efficiency_override

Single attack autoparry - efficiency overrides by attack type, see above

block_active_priority

The priority we get in mob/do_run_block() while we're being used to parry.

block_automatic_directions

Directions that you can autoblock in. Null to default to normal directions.

block_automatic_enabled

Can this item automatically block?

block_automatic_mitigation_multiplier

Effectiveness multiplier for automated block. Only applies to efficiency, absorption and limits stay the same!

block_automatic_stamina_multiplier

Stamina cost multiplier for automated block

block_damage_absorption

Amount of "free" damage blocking absorbs

block_damage_absorption_override

Override absorption, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_absorption]

block_damage_limit

Upper bound of damage block, anything above this will go right through.

block_damage_limit_override

Override upper bound of damage block, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_limit]

block_damage_multiplier

Ratio of damage to allow through above absorption and below limit. Multiplied by damage to determine how much to let through. Lower is better.

block_damage_multiplier_override

Override damage overrun efficiency, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_efficiency]

block_end_click_cd_add

Clickdelay added to user after block ends

block_lock_attacking

Disallow attacking during block

block_lock_sprinting

Disallow sprinting during block

block_no_stambuffer_regeneration

Prevent stamina buffer regeneration while block?

block_no_stamina_regeneration

Prevent stamina regeneration while block?

block_projectile_mitigation

The blocked variable of on_hit() on projectiles is impacted by this. Higher is better, 0 to 100, percentage.

block_resting_attack_types_anydir

Bitfield for attack types that we can block while down. This will work in any direction.

block_resting_attack_types_directional

Bitfield for attack types that we can block while down but only in our normal directions.

block_resting_stamina_penalty_multiplier

Multiplier to stamina damage taken for attacks blocked while downed.

block_resting_stamina_penalty_multiplier_override

Override list for multiplier to stamina damage taken for attacks blocked while down. list("[ATTACK_TYPE_DEFINE]" = multiplier_number)

block_slowdown

Our slowdown added while blocking

block_sounds

Sounds for blocking

block_stamina_buffer_ratio

Ratio of stamina incurred by chest (so after [block_stamina_limb_ratio] runs) that is buffered.

block_stamina_cost_per_second

Stamina dealt directly via UseStaminaBuffer() per SECOND of block.

block_stamina_efficiency

Default damage-to-stamina coefficient, higher is better. This is based on amount of damage BLOCKED, not initial damage, to prevent damage from "double dipping".

block_stamina_efficiency_override

Override damage-to-stamina coefficient, see [block_efficiency], this should be list("[ATTACK_TYPE_DEFINE]" = coefficient_number)

block_stamina_limb_ratio

Ratio of stamina incurred by blocking that goes to the arm holding the object instead of the chest. Has no effect if this is not held in hand.

block_start_delay

Windup before we have our blocking active.

can_block_attack_types

Attacks we can block

can_block_directions

//////// BLOCKING //////////// +NOTE: FOR ATTACK_TYPE_DEFINE, you MUST wrap it in "[DEFINE_HERE]"! The defines are bitflags, and therefore, NUMBERS! +See defines. Point of reference is someone facing north.

parry_allow_repeated_counterattacks

Allow multiple counterattacks per parry sequence. Bad idea.

parry_attack_types

Attack types we can block

parry_automatic_enabled

Can this data automatically parry? This is off by default because this is something that requires thought to balance.

parry_cooldown

Parrying cooldown, separate of clickdelay. It must be this much deciseconds since their last parry for them to parry with this object.

parry_data

Parry effect data.

parry_effect_icon_state

Visual icon state override for parrying

parry_efficiency_considered_successful

Efficiency must be at least this to be considered successful

parry_efficiency_perfect

Efficiency in percent on perfect parry.

parry_efficiency_perfect_override

Override for attack types, list("[ATTACK_TYPE_DEFINE]" = perecntage) for perfect efficiency.

parry_efficiency_to_counterattack

Efficiency must be at least this to run automatic counterattack

parry_failed_clickcd_duration

Clickdelay duration post-parry if you fail to parry an attack

parry_failed_cooldown_duration

Parry cooldown post-parry if failed. This is ADDED to parry_cooldown!!!

parry_failed_stagger_duration

Stagger duration post-parry if you fail to parry an attack

parry_flags

Parry flags

parry_imperfect_falloff_percent

Parry "efficiency" falloff in percent per decisecond once perfect window is over.

parry_imperfect_falloff_percent_override

[parry_imperfect_falloff_percent] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)

parry_max_attacks

Maximum attacks to parry successfully or unsuccessfully (but not efficiency < 0) during active period, hitting this immediately ends the sequence.

parry_respect_clickdelay

//////// PARRYING //////////// +Priority for mob/do_run_block() while we're being used to parry. +Parry doesn't work if you aren't able to otherwise attack due to clickdelay

parry_sounds

Sounds for parrying

parry_stamina_cost

Parry stamina cost

parry_start_sound

Parry start sound

parry_time_active

Main parry window in deciseconds. This is between [parry_time_windup] and [parry_time_spindown]

parry_time_active_visual_override

If set, overrides visual duration of active period

parry_time_perfect

Perfect parry window in deciseconds from the start of the main window. 3 with main 5 = perfect on third decisecond of main window.

parry_time_perfect_leeway

Time on both sides of perfect parry that still counts as part of the perfect window.

parry_time_perfect_leeway_override

[parry_time_perfect_leeway] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)

parry_time_spindown

Parry spindown duration in deciseconds. main stage end to this is the spindown stage, afterwards the parry fully ends.

parry_time_spindown_visual_override

If set, overrides visual duration of spindown

parry_time_windup

Parry windup duration in deciseconds. 0 to this is windup, afterwards is main stage.

parry_time_windup_visual_override

If set, overrides visual duration of windup

perfect_parry_block_return_flags

Flags added to return value

perfect_parry_block_return_list

List appended to block return

Proc Details

attack_type_list_scan

Quirky proc to get average of flags in list that are in attack_type because why is attack_type a flag.

get_parry_efficiency

Gets the percentage efficiency of our parry.

+

Returns a percentage in normal 0 to 100 scale, but not clamped to just 0 to 100. +This is a proc to allow for overriding. +@params

+

render_html_readout

Generates a HTML render of this datum for self-documentation +Maybe make this tgui-next someday haha god this is ugly as sin. +Does NOT include the popout or title or anything. Just the variables and explanations..

\ No newline at end of file diff --git a/datum/callback.html b/datum/callback.html new file mode 100644 index 000000000000..face97b33213 --- /dev/null +++ b/datum/callback.html @@ -0,0 +1,36 @@ +/datum/callback - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Callback Datums

A datum that holds a proc to be called on another object, used to track proccalls to other objects

+

USAGE

+
var/datum/callback/C = new(object|null, GLOBAL_PROC_REF(type/path|"procstring"), arg1, arg2, ... argn)
+var/timerid = addtimer(C, time, timertype)
+you can also use the compiler define shorthand
+var/timerid = addtimer(CALLBACK(object|null, PROC_REF(procname), arg1, arg2, ... argn), time, timertype)
+
+

Note: proc strings can only be given for datum proc calls, global procs must be proc paths

+

Also proc strings are strongly advised against because they don't compile error if the proc stops existing

+

In some cases you can provide a shortform of the procname, see the proc typepath shortcuts documentation below

+

INVOKING THE CALLBACK

+

var/result = C.Invoke(args, to, add) additional args are added after the ones given when the callback was created

+

var/result = C.InvokeAsync(args, to, add) Asyncronous - returns . on the first sleep then continues on in the background +after the sleep/block ends, otherwise operates normally.

+

PROC TYPEPATH SHORTCUTS

+

(these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...)

+

proc defined on current(src) object OR overridden at src or any of it's parents:

+

PROC_REF(procname)

+

CALLBACK(src, PROC_REF(some_proc_here))

+

global proc

+

GLOBAL_PROC_REF(procname)

+

CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(some_proc_here))

+

proc defined on some type

+

TYPE_PROC_REF(/some/type, some_proc_here)

Vars

argumentsA list of arguments to pass into the proc
delegateThe proc we will be calling on the object
objectThe object we will be calling the proc on
userA weak reference to the user who triggered this callback

Procs

InvokeInvoke this callback
InvokeAsyncInvoke this callback async (waitfor=false)
NewCreate a new callback datum

Var Details

arguments

A list of arguments to pass into the proc

delegate

The proc we will be calling on the object

object

The object we will be calling the proc on

user

A weak reference to the user who triggered this callback

Proc Details

Invoke

Invoke this callback

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

InvokeAsync

Invoke this callback async (waitfor=false)

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

New

Create a new callback datum

+

Arguments

+
\ No newline at end of file diff --git a/datum/centcom_announcer.html b/datum/centcom_announcer.html new file mode 100644 index 000000000000..790512e15f5f --- /dev/null +++ b/datum/centcom_announcer.html @@ -0,0 +1 @@ +/datum/centcom_announcer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

centcom_announcer

Data holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern

Vars

alert_soundsSounds made when announcement is receivedc
command_report_soundsSounds made when command report is received
custom_alert_messageOverride this to have a custom message to show instead of the normal priority announcement
event_soundsEvent audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area
welcome_soundsRoundshift start audio

Var Details

alert_sounds

Sounds made when announcement is receivedc

command_report_sounds

Sounds made when command report is received

custom_alert_message

Override this to have a custom message to show instead of the normal priority announcement

event_sounds

Event audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area

welcome_sounds

Roundshift start audio

\ No newline at end of file diff --git a/datum/changelingprofile.html b/datum/changelingprofile.html new file mode 100644 index 000000000000..4d1cea8791bf --- /dev/null +++ b/datum/changelingprofile.html @@ -0,0 +1 @@ +/datum/changelingprofile - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

changelingprofile

Vars

profile_snapshotIcon snapshot of the profile

Var Details

profile_snapshot

Icon snapshot of the profile

\ No newline at end of file diff --git a/datum/chatmessage.html b/datum/chatmessage.html new file mode 100644 index 000000000000..2c613056376b --- /dev/null +++ b/datum/chatmessage.html @@ -0,0 +1,37 @@ +/datum/chatmessage - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Chat Message Overlay

Datum for generating a message overlay on the map

Vars

approx_linesContains the approximate amount of lines for height decay
current_z_idxThe current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones
eol_completeContains the time that the EOL for the message will be complete, used for qdel scheduling
messageThe visual element of the chat messsage
message_locThe location in which the message is appearing
nextContains the reference to the next chatmessage in the bucket, used by runechat subsystem
owned_byThe client who heard this message
prevContains the reference to the previous chatmessage in the bucket, used by runechat subsystem
scheduled_destructionContains the scheduled destruction time, used for scheduling EOL

Procs

NewConstructs a chat message overlay
colorize_stringGets a color for a name, will return the same color for a given string consistently within a round.atom
end_of_lifeApplies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion +Arguments:
enter_subsystemEnters the runechat subsystem with this chatmessage, inserting it into the end-of-life queue
generate_imageGenerates a chat message image representation
leave_subsystemRemoves this chatmessage datum from the runechat subsystem
on_parent_qdelCalls qdel on the chatmessage when its parent is deleted, used to register qdel signal

Var Details

approx_lines

Contains the approximate amount of lines for height decay

current_z_idx

The current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones

eol_complete

Contains the time that the EOL for the message will be complete, used for qdel scheduling

message

The visual element of the chat messsage

message_loc

The location in which the message is appearing

next

Contains the reference to the next chatmessage in the bucket, used by runechat subsystem

owned_by

The client who heard this message

prev

Contains the reference to the previous chatmessage in the bucket, used by runechat subsystem

scheduled_destruction

Contains the scheduled destruction time, used for scheduling EOL

Proc Details

New

Constructs a chat message overlay

+

Arguments:

+

colorize_string

Gets a color for a name, will return the same color for a given string consistently within a round.atom

+

Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map.

+

Arguments:

+

end_of_life

Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion +Arguments:

+

enter_subsystem

Enters the runechat subsystem with this chatmessage, inserting it into the end-of-life queue

+

This will also account for a chatmessage already being registered, and in which case +the position will be updated to remove it from the previous location if necessary

+

Arguments:

+

generate_image

Generates a chat message image representation

+

Arguments:

+

leave_subsystem

Removes this chatmessage datum from the runechat subsystem

on_parent_qdel

Calls qdel on the chatmessage when its parent is deleted, used to register qdel signal

\ No newline at end of file diff --git a/datum/chemical_reaction.html b/datum/chemical_reaction.html new file mode 100644 index 000000000000..f7145b327097 --- /dev/null +++ b/datum/chemical_reaction.html @@ -0,0 +1 @@ +/datum/chemical_reaction - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

chemical_reaction

Vars

priorityHigher is higher priority, determines which order reactions are checked.

Var Details

priority

Higher is higher priority, determines which order reactions are checked.

\ No newline at end of file diff --git a/datum/client_interface.html b/datum/client_interface.html new file mode 100644 index 000000000000..82dd6359c920 --- /dev/null +++ b/datum/client_interface.html @@ -0,0 +1 @@ +/datum/client_interface - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

client_interface

This should match the interface of /client wherever necessary.

Vars

prefsPlayer preferences datum for the client
viewThe view of the client, similar to /client/var/view.

Var Details

prefs

Player preferences datum for the client

view

The view of the client, similar to /client/var/view.

\ No newline at end of file diff --git a/datum/component.html b/datum/component.html new file mode 100644 index 000000000000..a3eb3b2191ca --- /dev/null +++ b/datum/component.html @@ -0,0 +1,46 @@ +/datum/component - SPLURT Station 13
SPLURT 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 +At a minimum RegisterWithParent and UnregisterFromParent should be used +Make sure you also implement PostTransfer for any post transfer handling
dupe_modeDefines how duplicate existing components are handled when added to a datum +See COMPONENT_DUPE_* definitions for available options
dupe_typeThe type to check for duplication +null means exact match on type (default) +Any other type means that and all subtypes
parentThe datum this components belongs to

Procs

CheckDupeComponentCalled on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE +See /datum/component/var/dupe_mode +C's type will always be the same of the called component +return TRUE if you are absorbing the component, otherwise FALSE if you are fine having it exist as a duplicate component
DestroyProperly removes the component from parent and cleans up references
InheritComponentCalled on a component when a component of the same type was added to the same parent +See /datum/component/var/dupe_mode +C's type will always be the same of the called component
InitializeCalled during component creation with the same arguments as in new excluding parent. +Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead
NewCreate a new component. +Additional arguments are passed to Initialize()
PostTransferCallback Just after a component is transferred
PreTransferCallback Just before this component is transferred
RegisterWithParentRegister the component with the parent object
RemoveComponentRemoves the component from parent, ends up with a null parent
UnregisterFromParentUnregister from our parent object
_GetInverseTypeListInternal proc to create a list of our type and all parent types
_JoinParentInternal proc to handle behaviour of components when joining a parent
_RemoveFromParentInternal proc to handle behaviour when being removed from a parent
ui_hostReturn the object that is the host of any UI's that this component has

Var Details

can_transfer

Only set to true if you are able to properly transfer this component +At a minimum RegisterWithParent and UnregisterFromParent should be used +Make sure you also implement PostTransfer for any post transfer handling

dupe_mode

Defines how duplicate existing components are handled when added to a datum +See COMPONENT_DUPE_* definitions for available options

dupe_type

The type to check for duplication +null means exact match on type (default) +Any other type means that and all subtypes

parent

The datum this components belongs to

Proc Details

CheckDupeComponent

Called on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE +See /datum/component/var/dupe_mode +C's type will always be the same of the called component +return TRUE if you are absorbing the component, otherwise FALSE if you are fine having it exist as a duplicate component

Destroy

Properly removes the component from parent and cleans up references

+

Arguments:

+

InheritComponent

Called on a component when a component of the same type was added to the same parent +See /datum/component/var/dupe_mode +C's type will always be the same of the called component

Initialize

Called during component creation with the same arguments as in new excluding parent. +Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

New

Create a new component. +Additional arguments are passed to Initialize()

+

Arguments:

+

PostTransfer

Callback Just after a component is transferred

+

Use this to do any special setup you need to do after being moved to a new object +Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

PreTransfer

Callback Just before this component is transferred

+

Use this to do any special cleanup you might need to do before being deregged from an object

RegisterWithParent

Register the component with the parent object

+

Use this proc to register with your parent object +Overridable proc that's called when added to a new parent

RemoveComponent

Removes the component from parent, ends up with a null parent

UnregisterFromParent

Unregister from our parent object

+

Use this proc to unregister from your parent object +Overridable proc that's called when removed from a parent

_GetInverseTypeList

Internal proc to create a list of our type and all parent types

_JoinParent

Internal proc to handle behaviour of components when joining a parent

_RemoveFromParent

Internal proc to handle behaviour when being removed from a parent

ui_host

Return the object that is the host of any UI's that this component has

\ No newline at end of file diff --git a/datum/component/admin_popup.html b/datum/component/admin_popup.html new file mode 100644 index 000000000000..f04c8c03afe7 --- /dev/null +++ b/datum/component/admin_popup.html @@ -0,0 +1,4 @@ +/datum/component/admin_popup - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

admin_popup

Applied to clients when they receive an admin popup, alerting them to +their ticket.

Vars

ticketThe user's most active ticket. If this is resolved, closed, or replied to, +then the component will delete itself.

Var Details

ticket

The user's most active ticket. If this is resolved, closed, or replied to, +then the component will delete itself.

\ No newline at end of file diff --git a/datum/component/area_sound_manager.html b/datum/component/area_sound_manager.html new file mode 100644 index 000000000000..e5ff9f590410 --- /dev/null +++ b/datum/component/area_sound_manager.html @@ -0,0 +1 @@ +/datum/component/area_sound_manager - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

area_sound_manager

Allows you to set a theme for a set of areas without tying them to looping sounds explicitly

Vars

accepted_zsA list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves
area_to_looping_typearea -> looping sound type
our_loopCurrent sound loop
timeridThe timer id of our current start delay, if it exists

Var Details

accepted_zs

A list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves

area_to_looping_type

area -> looping sound type

our_loop

Current sound loop

timerid

The timer id of our current start delay, if it exists

\ No newline at end of file diff --git a/datum/component/bodycamera_holder.html b/datum/component/bodycamera_holder.html new file mode 100644 index 000000000000..0674a45ef1fc --- /dev/null +++ b/datum/component/bodycamera_holder.html @@ -0,0 +1,2 @@ +/datum/component/bodycamera_holder - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

bodycamera_holder

Bodycamera component

+

Allows anything to have a body camera inserted into it

Vars

bodycamera_installedThe installed bodycamera
clothingtype_requiredThe clothing part this needs to be on. This could possibly just be done by checking the clothing's slot

Procs

on_attackbyWhen items are used on it. Bodycamera/ID card
on_examine_moreWhen examining
on_screwdriver_actWhen a screwdriver is used on it
on_unequipWhen the camera holder is unequipped

Var Details

bodycamera_installed

The installed bodycamera

clothingtype_required

The clothing part this needs to be on. This could possibly just be done by checking the clothing's slot

Proc Details

on_attackby

When items are used on it. Bodycamera/ID card

on_examine_more

When examining

on_screwdriver_act

When a screwdriver is used on it

on_unequip

When the camera holder is unequipped

\ No newline at end of file diff --git a/datum/component/combat_mode.html b/datum/component/combat_mode.html new file mode 100644 index 000000000000..421fa2da9d27 --- /dev/null +++ b/datum/component/combat_mode.html @@ -0,0 +1,3 @@ +/datum/component/combat_mode - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

combat_mode

Combat mode component. It makes the user face whichever atom the mouse pointer is hovering, +amongst other things designed outside of this file, namely PvP and PvE stuff, hence the name. +Can be toggled on and off by clicking the screen hud object or by pressing the assigned hotkey (default 'C')

Procs

check_flagsReturns a field of flags that are contained in both the second arg and our bitfield variable.
disable_combat_modeDisables combat mode. Please use 'safe_disable_combat_mode' instead, if you wish to also disable the toggle flag.
enable_combat_modeEnables combat mode. Please use 'safe_enable_combat_mode' instead, if you wish to also enable the toggle flag.
onMouseMoveChanges the user direction to (try) match the pointer.
on_deathDisables combat mode upon death.
on_logoutDisables combat mode upon logout
on_mob_hud_createdCreates the hud screen object.
on_moveChanges the user direction to (try) keep match the pointer.
safe_disable_combat_modeDisables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.
safe_enable_combat_modeEnables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.
update_combat_lockCombat mode can be locked out, forcibly disabled by a status trait.
user_toggle_intentional_combat_modeToggles whether the user is intentionally in combat mode. THIS should be the proc you generally use! Has built in visual/to other player feedback, as well as an audible cue to ourselves.

Proc Details

check_flags

Returns a field of flags that are contained in both the second arg and our bitfield variable.

disable_combat_mode

Disables combat mode. Please use 'safe_disable_combat_mode' instead, if you wish to also disable the toggle flag.

enable_combat_mode

Enables combat mode. Please use 'safe_enable_combat_mode' instead, if you wish to also enable the toggle flag.

onMouseMove

Changes the user direction to (try) match the pointer.

on_death

Disables combat mode upon death.

on_logout

Disables combat mode upon logout

on_mob_hud_created

Creates the hud screen object.

on_move

Changes the user direction to (try) keep match the pointer.

safe_disable_combat_mode

Disables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.

safe_enable_combat_mode

Enables intentionally being in combat mode. Please try to use the COMSIG_COMBAT_MODE_CHECK signal for feedback when possible.

update_combat_lock

Combat mode can be locked out, forcibly disabled by a status trait.

user_toggle_intentional_combat_mode

Toggles whether the user is intentionally in combat mode. THIS should be the proc you generally use! Has built in visual/to other player feedback, as well as an audible cue to ourselves.

\ No newline at end of file diff --git a/datum/component/construction/mecha/powerarmor.html b/datum/component/construction/mecha/powerarmor.html new file mode 100644 index 000000000000..a41fed287dfa --- /dev/null +++ b/datum/component/construction/mecha/powerarmor.html @@ -0,0 +1 @@ +/datum/component/construction/mecha/powerarmor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

powerarmor

Procs

get_stepsBetter than writing all of that new crap for something that's not even a mech.

Proc Details

get_steps

Better than writing all of that new crap for something that's not even a mech.

\ No newline at end of file diff --git a/datum/component/container_item.html b/datum/component/container_item.html new file mode 100644 index 000000000000..b248d47753e2 --- /dev/null +++ b/datum/component/container_item.html @@ -0,0 +1 @@ +/datum/component/container_item - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

container_item

Container item, an item which can be stored by specialized containers.

Procs

try_attachCalled when parent is added to the container.

Proc Details

try_attach

Called when parent is added to the container.

\ No newline at end of file diff --git a/datum/component/dejavu.html b/datum/component/dejavu.html new file mode 100644 index 000000000000..803fe9e5dc97 --- /dev/null +++ b/datum/component/dejavu.html @@ -0,0 +1,5 @@ +/datum/component/dejavu - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

dejavu

A component to reset the parent to its previous state after some time passes

Vars

brain_lossThe starting value of brain loss at the beginning of the effect
brute_lossThe starting value of brute loss at the beginning of the effect +This only applies to simple animals
clone_lossThe starting value of clone loss at the beginning of the effect
integrityThe starting value of integrity at the beginning of the effect +This only applies to objects
oxy_lossThe starting value of oxygen loss at the beginning of the effect
rewind_intervalHow long to wait between each rewind
rewind_typeDetermined by the type of the parent so different behaviours can happen per type
rewinds_remainingHow many rewinds will happen before the effect ends
saved_bodypartsA list of body parts saved at the beginning of the effect
starting_turfThe turf the parent was on when this components was applied, they get moved back here after the duration
tox_lossThe starting value of toxin loss at the beginning of the effect

Var Details

brain_loss

The starting value of brain loss at the beginning of the effect

brute_loss

The starting value of brute loss at the beginning of the effect +This only applies to simple animals

clone_loss

The starting value of clone loss at the beginning of the effect

integrity

The starting value of integrity at the beginning of the effect +This only applies to objects

oxy_loss

The starting value of oxygen loss at the beginning of the effect

rewind_interval

How long to wait between each rewind

rewind_type

Determined by the type of the parent so different behaviours can happen per type

rewinds_remaining

How many rewinds will happen before the effect ends

saved_bodyparts

A list of body parts saved at the beginning of the effect

starting_turf

The turf the parent was on when this components was applied, they get moved back here after the duration

tox_loss

The starting value of toxin loss at the beginning of the effect

\ No newline at end of file diff --git a/datum/component/edible.html b/datum/component/edible.html new file mode 100644 index 000000000000..8077143b0fb9 --- /dev/null +++ b/datum/component/edible.html @@ -0,0 +1 @@ +/datum/component/edible - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

edible

Vars

after_eatCallback to be ran for when you take a bite of something
bite_consumptionAmount of reagents taken per bite
bitecountAmount of bites taken so far
eat_timeAmount of seconds it takes to eat this food
eatverbsMessage to send when eating
food_flagsFlags for food
foodtypesBitfield of the types of this food
junkinessDefines how much it lowers someones satiety (Need to eat, essentialy)
last_check_timeLast time we checked for food likes

Procs

CanConsumeChecks whether or not the eater can actually consume the food
On_ConsumeDelete the item when it is fully eaten
TakeBiteThis function lets the eater take a bite and transfers the reagents to the eater.
TryToEatAll the checks for the act of eating itself and
UseByAnimalAbility to feed food to puppers
checkLikedCheck foodtypes to see if we should send a moodlet

Var Details

after_eat

Callback to be ran for when you take a bite of something

bite_consumption

Amount of reagents taken per bite

bitecount

Amount of bites taken so far

eat_time

Amount of seconds it takes to eat this food

eatverbs

Message to send when eating

food_flags

Flags for food

foodtypes

Bitfield of the types of this food

junkiness

Defines how much it lowers someones satiety (Need to eat, essentialy)

last_check_time

Last time we checked for food likes

Proc Details

CanConsume

Checks whether or not the eater can actually consume the food

On_Consume

Delete the item when it is fully eaten

TakeBite

This function lets the eater take a bite and transfers the reagents to the eater.

TryToEat

All the checks for the act of eating itself and

UseByAnimal

Ability to feed food to puppers

checkLiked

Check foodtypes to see if we should send a moodlet

\ No newline at end of file diff --git a/datum/component/embedded.html b/datum/component/embedded.html new file mode 100644 index 000000000000..e68bba37884a --- /dev/null +++ b/datum/component/embedded.html @@ -0,0 +1,8 @@ +/datum/component/embedded - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

embedded

Vars

harmfulif both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Procs

TopicSomeone is ripping out the item from the turf by hand
byeItemCarbonSomething deleted or moved our weapon while it was embedded, how rude!
fallOutCarbonCalled when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()
initCarbon//////////HUMAN PROCS////////////////
initTurf///////////TURF PROCS////////////////
itemMovedThis proc handles if something knocked the invisible item loose from the turf somehow (probably an explosion). Just make it visible and say it fell loose, then get outta here.
jostleCheckCalled every time a carbon with a harmful embed moves, rolling a chance for the item to cause pain. The chance is halved if the carbon is crawling or walking.
processCarbonItems embedded/stuck to carbons both check whether they randomly fall out (if applicable), as well as if the target mob and limb still exists. +Items harmfully embedded in carbons have an additional check for random pain (if applicable)
ripOutCarbonCalled when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()
safeRemoveCarbonThis proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +Pass TRUE for to_hands if we want it to go to the victim's hands when they pull it out

Var Details

harmful

if both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Proc Details

Topic

Someone is ripping out the item from the turf by hand

byeItemCarbon

Something deleted or moved our weapon while it was embedded, how rude!

fallOutCarbon

Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()

initCarbon

//////////HUMAN PROCS////////////////

+

Set up an instance of embedding for a carbon. This is basically an extension of Initialize() so not much to say

initTurf

///////////TURF PROCS////////////////

+

Turfs are much lower maintenance, since we don't care if they're in pain, but since they don't bleed or scream, we draw an overlay to show their status. +The only difference pointy/sticky items make here is text descriptors and pointy objects making a spark shower on impact.

itemMoved

This proc handles if something knocked the invisible item loose from the turf somehow (probably an explosion). Just make it visible and say it fell loose, then get outta here.

jostleCheck

Called every time a carbon with a harmful embed moves, rolling a chance for the item to cause pain. The chance is halved if the carbon is crawling or walking.

processCarbon

Items embedded/stuck to carbons both check whether they randomly fall out (if applicable), as well as if the target mob and limb still exists. +Items harmfully embedded in carbons have an additional check for random pain (if applicable)

ripOutCarbon

Called when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()

safeRemoveCarbon

This proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +Pass TRUE for to_hands if we want it to go to the victim's hands when they pull it out

\ No newline at end of file diff --git a/datum/component/explodable.html b/datum/component/explodable.html new file mode 100644 index 000000000000..c9d29aecaf32 --- /dev/null +++ b/datum/component/explodable.html @@ -0,0 +1 @@ +/datum/component/explodable - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

explodable

Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.

Procs

detonateExpldoe and remove the object
explodable_attackCalled when you use this object to attack sopmething
explodable_attack_zoneCalled when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.
is_hitting_zoneChecks if we're hitting the zone this component is covering

Proc Details

detonate

Expldoe and remove the object

explodable_attack

Called when you use this object to attack sopmething

explodable_attack_zone

Called when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.

is_hitting_zone

Checks if we're hitting the zone this component is covering

\ No newline at end of file diff --git a/datum/component/field_of_vision.html b/datum/component/field_of_vision.html new file mode 100644 index 000000000000..87298598551c --- /dev/null +++ b/datum/component/field_of_vision.html @@ -0,0 +1,16 @@ +/datum/component/field_of_vision - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

field_of_vision

Field of Vision component. Does totally what you probably think it does, +ergo preventing players from seeing what's behind them.

Vars

adj_maskA circle image used to somewhat uncover the adjacent portion of the shadow cone, making mobs and objects behind us somewhat visible. +The owner mask is still required for those mob going over the default 32x32 px size btw.
angleHow much is the cone rotated clockwise, purely backend. Please use rotate_shadow_cone() if you must.
current_fov_sizeThe current screen size this field of vision is meant to fit for.
fovThat special invisible, almost neigh indestructible movable +that holds both shadow cone mask and image and follows the player around.
nested_locsA list of nested locations the mob is in, to ensure the above image works correctly.
owner_maskAn image whose render_source is kept up to date to prevent the mob (or the topmost movable holding it) from being hidden by the mask. +Will make it use vis_contents instead once a few byonds bugs with images and vis contents are fixed.
rot_scaleUsed to scale the shadow cone when rotating it to fit over the edges of the screen.
shadow_angleThe inner angle of this cone, right hardset to 90, 180, or 270 degrees, until someone figures out a way to make it dynamic.
shadow_maskThe mask portion of the cone, placed on a * render target plane so while not visible it still applies the filter.
visual_shadowThe visual portion of the cone, placed on the highest layer of the wall plane
width_n_height_offsetsA static list of offsets based on icon width and height, because render sources are centered unlike most other visuals, +and that gives us some problems when the icon is larger or smaller than world.icon_size

Procs

generate_fov_holderGenerates the holder and images (if not generated yet) and adds them to client.images. +Run when the component is registered to a player mob, or upon login.
hide_fovHides the shadow, other visibility comsig procs will take it into account. Called when the mob dies.
manual_centered_render_sourceA hacky comsig proc for things that somehow decide to change icon on the go. may make a change_icon_file() proc later but...
on_change_viewCalled when the client view size is changed.
on_loc_movedPretty much like the above, but meant for other movables the mob is stored in (bodybags, boxes, mechs etc).
on_mob_movedCalled when the owner mob moves around. Used to keep shadow located right behind us, +As well as modify the owner mask to match the topmost item.
on_reset_perspectiveHides the shadow when looking through other items, shows it otherwise.
resize_fovResizes the shadow to match the current screen size. +Run when the client view size is changed, or if the player has a viewsize different than "15x15" on login/comp registration.
rotate_shadow_coneRotates the shadow cone to a certain degree. Backend shenanigans.
show_fovShows the shadow. Called when the mob is revived.

Var Details

adj_mask

A circle image used to somewhat uncover the adjacent portion of the shadow cone, making mobs and objects behind us somewhat visible. +The owner mask is still required for those mob going over the default 32x32 px size btw.

angle

How much is the cone rotated clockwise, purely backend. Please use rotate_shadow_cone() if you must.

current_fov_size

The current screen size this field of vision is meant to fit for.

fov

That special invisible, almost neigh indestructible movable +that holds both shadow cone mask and image and follows the player around.

nested_locs

A list of nested locations the mob is in, to ensure the above image works correctly.

owner_mask

An image whose render_source is kept up to date to prevent the mob (or the topmost movable holding it) from being hidden by the mask. +Will make it use vis_contents instead once a few byonds bugs with images and vis contents are fixed.

rot_scale

Used to scale the shadow cone when rotating it to fit over the edges of the screen.

shadow_angle

The inner angle of this cone, right hardset to 90, 180, or 270 degrees, until someone figures out a way to make it dynamic.

shadow_mask

The mask portion of the cone, placed on a * render target plane so while not visible it still applies the filter.

visual_shadow

The visual portion of the cone, placed on the highest layer of the wall plane

width_n_height_offsets

A static list of offsets based on icon width and height, because render sources are centered unlike most other visuals, +and that gives us some problems when the icon is larger or smaller than world.icon_size

Proc Details

generate_fov_holder

Generates the holder and images (if not generated yet) and adds them to client.images. +Run when the component is registered to a player mob, or upon login.

hide_fov

Hides the shadow, other visibility comsig procs will take it into account. Called when the mob dies.

manual_centered_render_source

A hacky comsig proc for things that somehow decide to change icon on the go. may make a change_icon_file() proc later but...

on_change_view

Called when the client view size is changed.

on_loc_moved

Pretty much like the above, but meant for other movables the mob is stored in (bodybags, boxes, mechs etc).

on_mob_moved

Called when the owner mob moves around. Used to keep shadow located right behind us, +As well as modify the owner mask to match the topmost item.

on_reset_perspective

Hides the shadow when looking through other items, shows it otherwise.

resize_fov

Resizes the shadow to match the current screen size. +Run when the client view size is changed, or if the player has a viewsize different than "15x15" on login/comp registration.

rotate_shadow_cone

Rotates the shadow cone to a certain degree. Backend shenanigans.

show_fov

Shows the shadow. Called when the mob is revived.

\ No newline at end of file diff --git a/datum/component/footstep.html b/datum/component/footstep.html new file mode 100644 index 000000000000..5bcb6ba626ed --- /dev/null +++ b/datum/component/footstep.html @@ -0,0 +1 @@ +/datum/component/footstep - SPLURT Station 13
SPLURT 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.
stepsHow many steps the parent has taken since the last time a footstep was played
volumevolume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Procs

prepare_stepPrepares a footstep. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open

Var Details

e_range

e_range stands for extra range - aka how far the sound can be heard. This is added to the base value and ignored if there isn't a base value.

footstep_sounds

This can be a list OR a soundfile OR null. Determines whatever sound gets played.

footstep_type

footstep_type is a define which determines what kind of sounds should get chosen.

steps

How many steps the parent has taken since the last time a footstep was played

volume

volume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Proc Details

prepare_step

Prepares a footstep. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open

\ No newline at end of file diff --git a/datum/component/glory_kill.html b/datum/component/glory_kill.html new file mode 100644 index 000000000000..3180c681c8e4 --- /dev/null +++ b/datum/component/glory_kill.html @@ -0,0 +1 @@ +/datum/component/glory_kill - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

glory_kill

Vars

crusher_drop_modMultiply crusher drop chance by (only for asteroid mobs)
health_givenHealth to give to our executioner
messages_crusherSAME AS ABOVE BUT CRUSHER
messages_pkaSAME AS ABOVE THE ABOVE BUT PKA
messages_pka_bayonetSAME AS ABOVE BUT WITH A HONKING KNIFE ON THE FUCKING THING
messages_unarmedWHAT THE FUCK ARE THE MESSAGES SAID BY THIS FUCK WHEN HE'S GLORY KILLED WITH AN EMPTY HAND?
readyIs this ready to be glory killed
thresholdWith how much health our sate shall be sealed

Var Details

crusher_drop_mod

Multiply crusher drop chance by (only for asteroid mobs)

health_given

Health to give to our executioner

messages_crusher

SAME AS ABOVE BUT CRUSHER

messages_pka

SAME AS ABOVE THE ABOVE BUT PKA

messages_pka_bayonet

SAME AS ABOVE BUT WITH A HONKING KNIFE ON THE FUCKING THING

messages_unarmed

WHAT THE FUCK ARE THE MESSAGES SAID BY THIS FUCK WHEN HE'S GLORY KILLED WITH AN EMPTY HAND?

ready

Is this ready to be glory killed

threshold

With how much health our sate shall be sealed

\ No newline at end of file diff --git a/datum/component/gps/item.html b/datum/component/gps/item.html new file mode 100644 index 000000000000..1cce56436c42 --- /dev/null +++ b/datum/component/gps/item.html @@ -0,0 +1 @@ +/datum/component/gps/item - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

item

GPS component subtype. Only gps/item's can be used to open the UI.

Vars

stateUI state of GPS, altering when it can be used.

Procs

interactCalled on COMSIG_ITEM_ATTACK_SELF
on_AltClickCalls toggletracking
on_emp_actCalled on COMSIG_ATOM_EMP_ACT
on_examineCalled on COMSIG_PARENT_EXAMINE
rebootRestarts the GPS after getting turned off by an EMP.
toggletrackingToggles the tracking for the gps

Var Details

state

UI state of GPS, altering when it can be used.

Proc Details

interact

Called on COMSIG_ITEM_ATTACK_SELF

on_AltClick

Calls toggletracking

on_emp_act

Called on COMSIG_ATOM_EMP_ACT

on_examine

Called on COMSIG_PARENT_EXAMINE

reboot

Restarts the GPS after getting turned off by an EMP.

toggletracking

Toggles the tracking for the gps

\ No newline at end of file diff --git a/datum/component/identification.html b/datum/component/identification.html new file mode 100644 index 000000000000..cd1d96463696 --- /dev/null +++ b/datum/component/identification.html @@ -0,0 +1 @@ +/datum/component/identification - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

identification

Identification components

Vars

additional_examine_textIf this is set, show this on examine to the examiner if they know how to use it.
deconstructor_reveal_textAdded to deconstructive analyzer say on success if set
identification_effect_flagsGeneral flags for what we should do.
identification_flagsGeneral flags for how we should work.
identification_method_flagsGeneral flags for how we can be identified.

Var Details

additional_examine_text

If this is set, show this on examine to the examiner if they know how to use it.

deconstructor_reveal_text

Added to deconstructive analyzer say on success if set

identification_effect_flags

General flags for what we should do.

identification_flags

General flags for how we should work.

identification_method_flags

General flags for how we can be identified.

\ No newline at end of file diff --git a/datum/component/identification/syndicate.html b/datum/component/identification/syndicate.html new file mode 100644 index 000000000000..05663dff99a3 --- /dev/null +++ b/datum/component/identification/syndicate.html @@ -0,0 +1,2 @@ +/datum/component/identification/syndicate - SPLURT Station 13
SPLURT Station 13 - Modules - Types

syndicate

Identification component subtype - Syndicate

+

Checks if the user is a traitor.

\ No newline at end of file diff --git a/datum/component/interaction_menu_granter.html b/datum/component/interaction_menu_granter.html new file mode 100644 index 000000000000..4e9659d1f7b2 --- /dev/null +++ b/datum/component/interaction_menu_granter.html @@ -0,0 +1 @@ +/datum/component/interaction_menu_granter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

interaction_menu_granter

The menu itself, only var is target which is the mob you are interacting with

Procs

on_target_deletedSuch a shame
open_menuThe one interacting is clicker, the interacted is clicked.

Proc Details

on_target_deleted

Such a shame

open_menu

The one interacting is clicker, the interacted is clicked.

\ No newline at end of file diff --git a/datum/component/killerqueen.html b/datum/component/killerqueen.html new file mode 100644 index 000000000000..e145f91b5d01 --- /dev/null +++ b/datum/component/killerqueen.html @@ -0,0 +1,3 @@ +/datum/component/killerqueen - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

killerqueen

KILLER QUEEN

+

Simple contact bomb component +Blows up the first person to touch it.

Vars

devdev explosion radius
ex_strengthstrength of explosion on the touch-er. 0 to disable. usually only used if the normal explosion is disabled (this is the default).
examine_messageexamine message
explodeddid we explode
failurecallback to invoke with (parent) when deleting without an explosion
flameflame explosion radius
heavyheavy explosion radius
lightlight explosion radius
living_onlyonly triggered by living mobs
pre_explodecallback to invoke with (parent, victim) before standard detonation - useful for losing a reference to this component or implementing custom behavior. return FALSE to prevent explosion.

Var Details

dev

dev explosion radius

ex_strength

strength of explosion on the touch-er. 0 to disable. usually only used if the normal explosion is disabled (this is the default).

examine_message

examine message

exploded

did we explode

failure

callback to invoke with (parent) when deleting without an explosion

flame

flame explosion radius

heavy

heavy explosion radius

light

light explosion radius

living_only

only triggered by living mobs

pre_explode

callback to invoke with (parent, victim) before standard detonation - useful for losing a reference to this component or implementing custom behavior. return FALSE to prevent explosion.

\ No newline at end of file diff --git a/datum/component/knockback.html b/datum/component/knockback.html new file mode 100644 index 000000000000..82674cdc99e0 --- /dev/null +++ b/datum/component/knockback.html @@ -0,0 +1,7 @@ +/datum/component/knockback - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

knockback

Vars

throw_anchoredwhether this can throw anchored targets (tables, etc)
throw_distancedistance the atom will be thrown
throw_gentlewhether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Procs

do_knockbackThrow a target in a direction
hostile_attackingtargettriggered after a hostile simplemob attacks something
item_afterattacktriggered after an item attacks something
projectile_hittriggered after a projectile hits something

Var Details

throw_anchored

whether this can throw anchored targets (tables, etc)

throw_distance

distance the atom will be thrown

throw_gentle

whether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Proc Details

do_knockback

Throw a target in a direction

+

Arguments:

+

hostile_attackingtarget

triggered after a hostile simplemob attacks something

item_afterattack

triggered after an item attacks something

projectile_hit

triggered after a projectile hits something

\ No newline at end of file diff --git a/datum/component/label.html b/datum/component/label.html new file mode 100644 index 000000000000..d5f825c39170 --- /dev/null +++ b/datum/component/label.html @@ -0,0 +1,24 @@ +/datum/component/label - SPLURT Station 13
SPLURT 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

ExamineThis proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.
InheritComponentThis proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.
OnAttackbyThis proc will trigger when any object is used to attack the parent.
apply_labelApplies a label to the name of the parent in the format of: "parent_name (label)"
remove_labelRemoves the label from the parent's name

Var Details

label_name

The name of the label the player is applying to the parent.

Proc Details

Examine

This proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.

+

Arguments:

+

InheritComponent

This proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.

OnAttackby

This proc will trigger when any object is used to attack the parent.

+

If the attacking object is not a hand labeler, it will return. +If the attacking object is a hand labeler it will restore the name of the parent to what it was before this component was added to it, and the component will be deleted.

+

Arguments:

+

apply_label

Applies a label to the name of the parent in the format of: "parent_name (label)"

remove_label

Removes the label from the parent's name

\ No newline at end of file diff --git a/datum/component/material_container.html b/datum/component/material_container.html new file mode 100644 index 000000000000..40ecdfe6d9e0 --- /dev/null +++ b/datum/component/material_container.html @@ -0,0 +1,11 @@ +/datum/component/material_container - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

material_container

Vars

after_insertA callback invoked after materials are inserted into this container
allowed_materialsThe list of materials that this material container can accept
last_inserted_idThe last main material that was inserted into this container
materialsMap of material ref -> amount
max_amountThe maximum amount of materials this material container can contain
precise_insertionWhether or not this material container allows specific amounts from sheets to be inserted
preconditionA callback invoked before materials are inserted into this container
total_amountThe total amount of materials this material container contains

Procs

InitializeSets up the proper signals and fills the list of materials with the appropriate references.
amount2sheetTurns a material amount into the amount of sheets it should output
can_hold_materialThe default check for whether we can add materials to this material container.
can_insert_amount_matProc for checking if there is room in the component, returning the amount or else the amount lacking.
get_categoriesReturns all the categories in a recipe.
get_item_material_amountreturns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account
get_material_amountReturns the amount of a specific material in this container.
has_enough_of_categoryReturns TRUE if you have enough of a specified material category (Which could be multiple materials)
has_enough_of_materialReturns TRUE if you have enough of the specified material.
has_materialsChecks if its possible to afford a certain amount of materials. Takes a dictionary of materials.
has_spaceProc that returns TRUE if the container has space
insert_amount_matFor inserting an amount of material
insert_itemProc specifically for inserting items, returns the amount of materials entered.
insert_item_materialsInserts the relevant materials from an item into this material container.
on_attackbyProc that allows players to fill the parent with mats
retrieve_allProc to get all the materials and dump them as sheets
retrieve_sheetsFor spawning mineral sheets at a specific location. Used by machines to output sheets.
sheet2amountTurns an amount of sheets into the amount of material amount it should output
transer_amt_toProc for transfering materials to another container.
use_amount_matUses an amount of a specific material, effectively removing it.
use_materialsFor consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200)
user_insertProc used for when player inserts materials

Var Details

after_insert

A callback invoked after materials are inserted into this container

allowed_materials

The list of materials that this material container can accept

last_inserted_id

The last main material that was inserted into this container

materials

Map of material ref -> amount

max_amount

The maximum amount of materials this material container can contain

precise_insertion

Whether or not this material container allows specific amounts from sheets to be inserted

precondition

A callback invoked before materials are inserted into this container

total_amount

The total amount of materials this material container contains

Proc Details

Initialize

Sets up the proper signals and fills the list of materials with the appropriate references.

amount2sheet

Turns a material amount into the amount of sheets it should output

can_hold_material

The default check for whether we can add materials to this material container.

+

Arguments:

+

can_insert_amount_mat

Proc for checking if there is room in the component, returning the amount or else the amount lacking.

get_categories

Returns all the categories in a recipe.

get_item_material_amount

returns the amount of material relevant to this container; if this container does not support glass, any glass in 'I' will not be taken into account

get_material_amount

Returns the amount of a specific material in this container.

has_enough_of_category

Returns TRUE if you have enough of a specified material category (Which could be multiple materials)

has_enough_of_material

Returns TRUE if you have enough of the specified material.

has_materials

Checks if its possible to afford a certain amount of materials. Takes a dictionary of materials.

has_space

Proc that returns TRUE if the container has space

insert_amount_mat

For inserting an amount of material

insert_item

Proc specifically for inserting items, returns the amount of materials entered.

insert_item_materials

Inserts the relevant materials from an item into this material container.

+

Arguments:

+

on_attackby

Proc that allows players to fill the parent with mats

retrieve_all

Proc to get all the materials and dump them as sheets

retrieve_sheets

For spawning mineral sheets at a specific location. Used by machines to output sheets.

sheet2amount

Turns an amount of sheets into the amount of material amount it should output

transer_amt_to

Proc for transfering materials to another container.

use_amount_mat

Uses an amount of a specific material, effectively removing it.

use_materials

For consuming a dictionary of materials. mats is the map of materials to use and the corresponding amounts, example: list(M/datum/material/glass =100, datum/material/iron=200)

user_insert

Proc used for when player inserts materials

\ No newline at end of file diff --git a/datum/component/mood.html b/datum/component/mood.html new file mode 100644 index 000000000000..208ee25537e3 --- /dev/null +++ b/datum/component/mood.html @@ -0,0 +1 @@ +/datum/component/mood - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mood

Procs

direct_sanity_drainCauses direct drain of someone's sanity, call it with a numerical value corresponding how badly you want to hurt their sanity
on_reviveCalled when parent is revived.
update_moodCalled after moodevent/s have been added/removed.

Proc Details

direct_sanity_drain

Causes direct drain of someone's sanity, call it with a numerical value corresponding how badly you want to hurt their sanity

on_revive

Called when parent is revived.

update_mood

Called after moodevent/s have been added/removed.

\ No newline at end of file diff --git a/datum/component/multiple_lives.html b/datum/component/multiple_lives.html new file mode 100644 index 000000000000..a7f52e9cef1a --- /dev/null +++ b/datum/component/multiple_lives.html @@ -0,0 +1,2 @@ +/datum/component/multiple_lives - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

multiple_lives

A simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.

Vars

lives_leftThe number of respawns the living mob has left.

Var Details

lives_left

The number of respawns the living mob has left.

\ No newline at end of file diff --git a/datum/component/nanites.html b/datum/component/nanites.html new file mode 100644 index 000000000000..d1185dcaa75e --- /dev/null +++ b/datum/component/nanites.html @@ -0,0 +1,12 @@ +/datum/component/nanites - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

nanites

Vars

can_be_deletedAllow deletion
emp_desync_modEMP severity div for cloudsync reset chance
emp_flat_deletion_lowerEMP flat deletion lower
emp_flat_deletion_upperEMP flat deletion upper
emp_percent_deletion_lowerEMP percent deletion lower
emp_percent_deletion_upperEMP percent deletion upper
emp_severity_modEMP severity multiplier, capping to 0 to 100
minor_shock_deletion_lowerminor shock deletion lower
minor_shock_deletion_upperminor shock deletion upper
permanent_programsPermanent programs - can never be deleted. does not count towards max_programs.
qdel_self_on_depletionDelete ourselves when we're depleted.
requires_cloud_syncWhether or not we can survive no cloud syncing without errors
shock_flat_deletion_lowerShock flat deletion lower
shock_flat_deletion_upperShock flat deletion upper
shock_percent_deletion_lowerShock percent deletion lower
shock_percent_deletion_upperShock percent deletion upper
start_timeSeparate list of protocol programs, to avoid looping through the whole programs list when checking for conflicts
stealthTimestamp to when the nanites were first inserted in the host

Procs

add_permanent_programAdds permanent programs
add_programAdds a nanite program, replacing existing unique programs of the same type. A source program can be specified to copy its programming onto the new one.
adjust_nanitesModifies the current nanite volume, then checks if the nanites are depleted or exceeding the maximum amount
check_console_lockingChecks if we can block out console modification
check_host_lockoutChecks if we can lock out host internal conscious modification
check_viral_preventionChecks if we can block out viral replica
cloud_syncSyncs the nanites to their assigned cloud copy, if it is available. If it is not, there is a small chance of a software error instead.
delete_nanitesUsed to rid ourselves +Deletes nanites!
nanites_depletedCalled when nanites are depleted. +Deletes ourselves by default.
reject_excess_nanites
set_nanite_barUpdates the nanite volume bar visible in diagnostic HUDs
syncSyncs the nanite component to another, making it so programs are the same with the same programming (except activation status)

Var Details

can_be_deleted

Allow deletion

emp_desync_mod

EMP severity div for cloudsync reset chance

emp_flat_deletion_lower

EMP flat deletion lower

emp_flat_deletion_upper

EMP flat deletion upper

emp_percent_deletion_lower

EMP percent deletion lower

emp_percent_deletion_upper

EMP percent deletion upper

emp_severity_mod

EMP severity multiplier, capping to 0 to 100

minor_shock_deletion_lower

minor shock deletion lower

minor_shock_deletion_upper

minor shock deletion upper

permanent_programs

Permanent programs - can never be deleted. does not count towards max_programs.

qdel_self_on_depletion

Delete ourselves when we're depleted.

requires_cloud_sync

Whether or not we can survive no cloud syncing without errors

shock_flat_deletion_lower

Shock flat deletion lower

shock_flat_deletion_upper

Shock flat deletion upper

shock_percent_deletion_lower

Shock percent deletion lower

shock_percent_deletion_upper

Shock percent deletion upper

start_time

Separate list of protocol programs, to avoid looping through the whole programs list when checking for conflicts

stealth

Timestamp to when the nanites were first inserted in the host

Proc Details

add_permanent_program

Adds permanent programs

+

WARNING: Has no sanity checks. Make sure you know what you are doing! (make sure programs do not conflict)

add_program

Adds a nanite program, replacing existing unique programs of the same type. A source program can be specified to copy its programming onto the new one.

adjust_nanites

Modifies the current nanite volume, then checks if the nanites are depleted or exceeding the maximum amount

check_console_locking

Checks if we can block out console modification

check_host_lockout

Checks if we can lock out host internal conscious modification

check_viral_prevention

Checks if we can block out viral replica

cloud_sync

Syncs the nanites to their assigned cloud copy, if it is available. If it is not, there is a small chance of a software error instead.

delete_nanites

Used to rid ourselves +Deletes nanites!

nanites_depleted

Called when nanites are depleted. +Deletes ourselves by default.

reject_excess_nanites

Handles how nanites leave the host's body if they find out that they're currently exceeding the maximum supported amount
+
+

IC explanation: +Normally nanites simply discard excess volume by slowing replication or 'sweating' it out in imperceptible amounts, +but if there is a large excess volume, likely due to a programming change that leaves them unable to support their current volume, +the nanites attempt to leave the host as fast as necessary to prevent nanite poisoning. This can range from minor oozing to nanites +rapidly bursting out from every possible pathway, causing temporary inconvenience to the host.

set_nanite_bar

Updates the nanite volume bar visible in diagnostic HUDs

sync

Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status)

\ No newline at end of file diff --git a/datum/component/omen.html b/datum/component/omen.html new file mode 100644 index 000000000000..09b9f7b9aadc --- /dev/null +++ b/datum/component/omen.html @@ -0,0 +1,6 @@ +/datum/component/omen - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

omen

omen.dm: For when you want someone to have a really bad day

+

When you attach an omen component to someone, they start running the risk of all sorts of bad environmental injuries, like nearby vending machines randomly falling on you, +or hitting your head really hard when you slip and fall, or... well, for now those two are all I have. More will come.

+

Omens are removed once the victim is either maimed by one of the possible injuries, or if they receive a blessing (read: bashing with a bible) from the chaplain.

Vars

vesselWhatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Procs

check_accidentcheck_accident() is called each step we take
check_blessHijack the mood system to see if we get the blessing mood event to cancel the omen
check_slipIf we get knocked down, see if we have a really bad slip and bash our head hard

Var Details

vessel

Whatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Proc Details

check_accident

check_accident() is called each step we take

+

While we're walking around, roll to see if there's any environmental hazards (currently only vending machines) on one of the adjacent tiles we can trigger. +We do the prob() at the beginning to A. add some tension for /when/ it will strike, and B. (more importantly) ameliorate the fact that we're checking up to 5 turfs's contents each time

check_bless

Hijack the mood system to see if we get the blessing mood event to cancel the omen

check_slip

If we get knocked down, see if we have a really bad slip and bash our head hard

\ No newline at end of file diff --git a/datum/component/pellet_cloud.html b/datum/component/pellet_cloud.html new file mode 100644 index 000000000000..7c7db278d90e --- /dev/null +++ b/datum/component/pellet_cloud.html @@ -0,0 +1,8 @@ +/datum/component/pellet_cloud - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

pellet_cloud

Vars

bodiesFor grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs
hitshow many pellets impacted something
num_pelletsHow many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise
pellet_deltaFor grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it
pelletsThe list of pellets we're responsible for tracking, once these are all accounted for, we finalize.
projectile_typeWhat's the projectile path of the shrapnel we're shooting?
purple_heartsFor grenades, tracking people who die covering a grenade for achievement purposes, see [/datum/component/pellet_cloud/proc/handle_martyrs()]
queued_deleteIf the parent tried deleting and we're not done yet, we send it to nullspace then delete it after
radiusFor grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate
shooterfor if we're an ammo casing being fired
targets_hitAn associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages
terminatedhow many pellets ranged out without hitting anything
wound_info_by_partAnother associated list for hit bodyparts on carbons so we can track how much wounding potential we have for each bodypart

Procs

create_blast_pelletscreate_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.
create_casing_pelletscreate_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)
finalizeAll of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.
grenade_armedLook alive, we're armed! Now we start watching to see if anyone's covering us
grenade_droppedSomeone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off
grenade_movedOur grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile
grenade_uncrossedSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
handle_martyrshandle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel
nullspace_parentOur grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here
on_target_qdelSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
pellet_hitOne of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)
pellet_rangeOne of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)
pewMinor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component

Var Details

bodies

For grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs

hits

how many pellets impacted something

num_pellets

How many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise

pellet_delta

For grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it

pellets

The list of pellets we're responsible for tracking, once these are all accounted for, we finalize.

projectile_type

What's the projectile path of the shrapnel we're shooting?

purple_hearts

For grenades, tracking people who die covering a grenade for achievement purposes, see [/datum/component/pellet_cloud/proc/handle_martyrs()]

queued_delete

If the parent tried deleting and we're not done yet, we send it to nullspace then delete it after

radius

For grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate

shooter

for if we're an ammo casing being fired

targets_hit

An associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages

terminated

how many pellets ranged out without hitting anything

wound_info_by_part

Another associated list for hit bodyparts on carbons so we can track how much wounding potential we have for each bodypart

Proc Details

create_blast_pellets

create_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.

+

Note that grenades have extra handling for someone throwing themselves/being thrown on top of it, while landmines do not (obviously, it's a landmine!). See [/datum/component/pellet_cloud/proc/handle_martyrs()]

create_casing_pellets

create_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)

+

Honestly this is mostly just a rehash of [/obj/item/ammo_casing/proc/fire_casing()] for pellet counts > 1, except this lets us tamper with the pellets and hook onto them for tracking purposes. +The arguments really don't matter, this proc is triggered by COMSIG_PELLET_CLOUD_INIT which is only for this really, it's just a big mess of the state vars we need for doing the stuff over here.

finalize

All of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.

grenade_armed

Look alive, we're armed! Now we start watching to see if anyone's covering us

grenade_dropped

Someone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off

grenade_moved

Our grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile

grenade_uncrossed

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

handle_martyrs

handle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel

+

Between the time the grenade is armed and the actual detonation, we set var/list/bodies to the list of mobs currently on the new tile, as if the grenade landed on top of them, tracking if any of them move off the tile and removing them from the "under" list +Once the grenade detonates, handle_martyrs() is called and gets all the new mobs on the tile, and add the ones not in var/list/bodies to var/list/martyrs +We then iterate through the martyrs and reduce the shrapnel magnitude for each mob on top of it, shredding each of them with some of the shrapnel they helped absorb. This can snuff out all of the shrapnel if there's enough bodies

+

Note we track anyone who's alive and client'd when they get shredded in var/list/purple_hearts, for achievement checking later

nullspace_parent

Our grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here

on_target_qdel

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

pellet_hit

One of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)

pellet_range

One of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)

pew

Minor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component

\ No newline at end of file diff --git a/datum/component/personal_crafting.html b/datum/component/personal_crafting.html new file mode 100644 index 000000000000..d391040c8448 --- /dev/null +++ b/datum/component/personal_crafting.html @@ -0,0 +1,4 @@ +/datum/component/personal_crafting - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

personal_crafting

Procs

check_contentsCheck that the contents of the recipe meet the requirements.

Proc Details

check_contents

Check that the contents of the recipe meet the requirements.

+

user: The /mob that initated the crafting. +R: The /datum/crafting_recipe being attempted. +contents: List of items to search for R's reqs.

\ No newline at end of file diff --git a/datum/component/plumbing.html b/datum/component/plumbing.html new file mode 100644 index 000000000000..7d3aa8432c65 --- /dev/null +++ b/datum/component/plumbing.html @@ -0,0 +1,3 @@ +/datum/component/plumbing - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

plumbing

Vars

activeFALSE to pretty much just not exist in the plumbing world so we can be moved, TRUE to go plumbo mode
demand_connectsdirection in wich we act as a demander
ducterlaysWe can't just cut all of the parents' overlays, so we'll track them here
ductsIndex with "1" = /datum/ductnet/theductpointingnorth etc. "1" being the num2text from NORTH define
reagentsshortcut to our parents' reagent holder
supply_connectsdirections in wich we act as a supplier
turn_connectsif TRUE connects will spin with the parent object visually and codually, so you can have it work in any direction. FALSE if you want it to be static
use_overlaysTRUE if we wanna add proper pipe outless under our parent object. this is pretty good if i may so so myself

Procs

can_addCan we be added to the ductnet?
can_givereturns TRUE when they can give the specified amount and reagent. called by process request
create_overlaysWe create our luxurious piping overlays/underlays, to indicate where we do what. only called once if use_overlays = TRUE in Initialize()
disablewe stop acting like a plumbing thing and disconnect if we are, so we can safely be moved and stuff
enablesettle wherever we are, and start behaving like a piece of plumbing
get_original_directionGive the direction of a pipe, and it'll return wich direction it originally was when it's object pointed SOUTH
process_requestcheck who can give us what we want, and how many each of them will give us
send_requestcalled from in process(). only calls process_request(), but can be overwritten for children with special behaviour
toggle_activeToggle our machinery on or off. This is called by a hook from default_unfasten_wrench with anchored as only param, so we dont have to copypaste this on every object that can move
transfer_tothis is where the reagent is actually transferred and is thus the finish point of our process()
update_dirWe update our connects only when we settle down by taking our current and original direction to find our new connects +If someone wants it to fucking spin while connected to something go actually knock yourself out

Var Details

active

FALSE to pretty much just not exist in the plumbing world so we can be moved, TRUE to go plumbo mode

demand_connects

direction in wich we act as a demander

ducterlays

We can't just cut all of the parents' overlays, so we'll track them here

ducts

Index with "1" = /datum/ductnet/theductpointingnorth etc. "1" being the num2text from NORTH define

reagents

shortcut to our parents' reagent holder

supply_connects

directions in wich we act as a supplier

turn_connects

if TRUE connects will spin with the parent object visually and codually, so you can have it work in any direction. FALSE if you want it to be static

use_overlays

TRUE if we wanna add proper pipe outless under our parent object. this is pretty good if i may so so myself

Proc Details

can_add

Can we be added to the ductnet?

can_give

returns TRUE when they can give the specified amount and reagent. called by process request

create_overlays

We create our luxurious piping overlays/underlays, to indicate where we do what. only called once if use_overlays = TRUE in Initialize()

disable

we stop acting like a plumbing thing and disconnect if we are, so we can safely be moved and stuff

enable

settle wherever we are, and start behaving like a piece of plumbing

get_original_direction

Give the direction of a pipe, and it'll return wich direction it originally was when it's object pointed SOUTH

process_request

check who can give us what we want, and how many each of them will give us

send_request

called from in process(). only calls process_request(), but can be overwritten for children with special behaviour

toggle_active

Toggle our machinery on or off. This is called by a hook from default_unfasten_wrench with anchored as only param, so we dont have to copypaste this on every object that can move

transfer_to

this is where the reagent is actually transferred and is thus the finish point of our process()

update_dir

We update our connects only when we settle down by taking our current and original direction to find our new connects +If someone wants it to fucking spin while connected to something go actually knock yourself out

\ No newline at end of file diff --git a/datum/component/plumbing/acclimator.html b/datum/component/plumbing/acclimator.html new file mode 100644 index 000000000000..ab8638e0423a --- /dev/null +++ b/datum/component/plumbing/acclimator.html @@ -0,0 +1 @@ +/datum/component/plumbing/acclimator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

acclimator

Procs

processWe're overriding process and not send_request, because all process does is do the requests, so we might aswell cut out the middle man and save some code from running

Proc Details

process

We're overriding process and not send_request, because all process does is do the requests, so we might aswell cut out the middle man and save some code from running

\ No newline at end of file diff --git a/datum/component/plumbing/filter.html b/datum/component/plumbing/filter.html new file mode 100644 index 000000000000..9a33c37df5c5 --- /dev/null +++ b/datum/component/plumbing/filter.html @@ -0,0 +1 @@ +/datum/component/plumbing/filter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

filter

The magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter

Procs

can_give_in_directionWe check if the direction and reagent are valid to give. Needed for filters since different outputs have different behaviours

Proc Details

can_give_in_direction

We check if the direction and reagent are valid to give. Needed for filters since different outputs have different behaviours

\ No newline at end of file diff --git a/datum/component/pregnancy.html b/datum/component/pregnancy.html new file mode 100644 index 000000000000..fc40ab8bd39c --- /dev/null +++ b/datum/component/pregnancy.html @@ -0,0 +1 @@ +/datum/component/pregnancy - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

pregnancy

Vars

baby_typetype of baby the mother will plop out - needs to be subtype of /mob/living
ovipositionthis boolean is for identifying whether this preg is in the egg state or not
pregnancy_breast_growthbreast growth
pregnancy_inflationthis boolean is for saving whether or not we should inflate the belly if appropriate
revealedwhether the pregnancy is revealed or not, scanners will reveal this no matter what

Var Details

baby_type

type of baby the mother will plop out - needs to be subtype of /mob/living

oviposition

this boolean is for identifying whether this preg is in the egg state or not

pregnancy_breast_growth

breast growth

pregnancy_inflation

this boolean is for saving whether or not we should inflate the belly if appropriate

revealed

whether the pregnancy is revealed or not, scanners will reveal this no matter what

\ No newline at end of file diff --git a/datum/component/pricetag.html b/datum/component/pricetag.html new file mode 100644 index 000000000000..cceaaa5d9d1b --- /dev/null +++ b/datum/component/pricetag.html @@ -0,0 +1 @@ +/datum/component/pricetag - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

pricetag

Vars

default_profit_ratioPayee gets 100% of the value if no ratio has been set.
payeesList of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.

Var Details

default_profit_ratio

Payee gets 100% of the value if no ratio has been set.

payees

List of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.

\ No newline at end of file diff --git a/datum/component/squeak.html b/datum/component/squeak.html new file mode 100644 index 000000000000..60864ce9fa4f --- /dev/null +++ b/datum/component/squeak.html @@ -0,0 +1 @@ +/datum/component/squeak - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

squeak

Vars

cross_squeak_delay_chancechance we'll be stopped from squeaking by cooldown when something crossing us squeaks
sound_extra_rangeextra-range for this component's sound
sound_falloff_distancewhen sounds start falling off for the squeak
sound_falloff_exponentsound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.

Var Details

cross_squeak_delay_chance

chance we'll be stopped from squeaking by cooldown when something crossing us squeaks

sound_extra_range

extra-range for this component's sound

sound_falloff_distance

when sounds start falling off for the squeak

sound_falloff_exponent

sound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.

\ No newline at end of file diff --git a/datum/component/storage.html b/datum/component/storage.html new file mode 100644 index 000000000000..6c52b31eeeed --- /dev/null +++ b/datum/component/storage.html @@ -0,0 +1,5 @@ +/datum/component/storage - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

storage

Vars

max_combined_w_classMax combined w_class. Applies to STORAGE_LIMIT_COMBINED_W_CLASS
max_itemsMax items we can hold. Applies to STORAGE_LIMIT_MAX_ITEMS
max_volumeMax volume we can hold. Applies to STORAGE_LIMIT_VOLUME. Auto scaled on New() if unset.
max_w_classMax w_class we can hold. Applies to STORAGE_LIMIT_COMBINED_W_CLASS and STORAGE_LIMIT_VOLUME
storage_flagsStorage flags, including what kinds of limiters we use for how many items we can hold
ui_by_mobUi objects by person. mob = list(objects)

Procs

_process_numerical_displayGenerates a list of numbered_display datums for the numerical display system.
check_on_foundCheck if we should trigger on_found() +If this returns TRUE, it means an on_found() returned TRUE and immediately broke the chain. +In most contexts, this should mean to stop.
get_max_volumeGets our max volume
get_ui_boxesGets our ui_boxes, making it if it doesn't exist.
get_ui_closeGets our ui_close, making it if it doesn't exist.
get_ui_continuousGets our ui_continuous, making it if it doesn't exist.
get_ui_leftGets our ui_left, making it if it doesn't exist.
on_logoutProc triggered by signal to ensure logging out clients don't linger.
orient2hud_legacyOrients all objects in legacy mode, and returns the objects to show to the user.
orient2hud_volumetricOrients all objects in .. volumetric mode. Does not support numerical display!
ui_hideHides our UI from a mob
ui_showShows our UI to a mob.
volumetric_uiReturns TRUE if we are using volumetric UI instead of box UI
vv_edit_varVV hooked to ensure no lingering screen objects.

Var Details

max_combined_w_class

Max combined w_class. Applies to STORAGE_LIMIT_COMBINED_W_CLASS

max_items

Max items we can hold. Applies to STORAGE_LIMIT_MAX_ITEMS

max_volume

Max volume we can hold. Applies to STORAGE_LIMIT_VOLUME. Auto scaled on New() if unset.

max_w_class

Max w_class we can hold. Applies to STORAGE_LIMIT_COMBINED_W_CLASS and STORAGE_LIMIT_VOLUME

storage_flags

Storage flags, including what kinds of limiters we use for how many items we can hold

ui_by_mob

Ui objects by person. mob = list(objects)

Proc Details

_process_numerical_display

Generates a list of numbered_display datums for the numerical display system.

check_on_found

Check if we should trigger on_found() +If this returns TRUE, it means an on_found() returned TRUE and immediately broke the chain. +In most contexts, this should mean to stop.

get_max_volume

Gets our max volume

get_ui_boxes

Gets our ui_boxes, making it if it doesn't exist.

get_ui_close

Gets our ui_close, making it if it doesn't exist.

get_ui_continuous

Gets our ui_continuous, making it if it doesn't exist.

get_ui_left

Gets our ui_left, making it if it doesn't exist.

on_logout

Proc triggered by signal to ensure logging out clients don't linger.

orient2hud_legacy

Orients all objects in legacy mode, and returns the objects to show to the user.

orient2hud_volumetric

Orients all objects in .. volumetric mode. Does not support numerical display!

ui_hide

Hides our UI from a mob

ui_show

Shows our UI to a mob.

volumetric_ui

Returns TRUE if we are using volumetric UI instead of box UI

vv_edit_var

VV hooked to ensure no lingering screen objects.

\ No newline at end of file diff --git a/datum/component/storage/concrete/tcg.html b/datum/component/storage/concrete/tcg.html new file mode 100644 index 000000000000..9792053b1fb3 --- /dev/null +++ b/datum/component/storage/concrete/tcg.html @@ -0,0 +1 @@ +/datum/component/storage/concrete/tcg - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

tcg

A storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!

Procs

can_be_insertedThe deck that the card pile is using for FAIR PLAY.

Proc Details

can_be_inserted

The deck that the card pile is using for FAIR PLAY.

\ No newline at end of file diff --git a/datum/component/tackler.html b/datum/component/tackler.html new file mode 100644 index 000000000000..aae4203e8b95 --- /dev/null +++ b/datum/component/tackler.html @@ -0,0 +1,47 @@ +/datum/component/tackler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tackler

#tackle.dm

+

For when you want to throw a person at something and have fun stuff happen

+

This component is made for carbon mobs (really, humans), and allows its parent to throw themselves and perform tackles. This is done by enabling throw mode, then clicking on your +intended target with an empty hand. You will then launch toward your target. If you hit a carbon, you'll roll to see how hard you hit them. If you hit a solid non-mob, you'll +roll to see how badly you just messed yourself up. If, along your journey, you hit a table, you'll slam onto it and send up to MAX_TABLE_MESSES (8) /obj/items on the table flying, +and take a bit of extra damage and stun for each thing launched.

+

There are 2 """skill rolls""" involved here, which are handled and explained in sack() and rollTackle() (for roll 1, carbons), and splat() (for roll 2, walls and solid objects)

Vars

base_knockdownLaunching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.
min_distanceSome gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!
rangeYour max range for how far you can tackle.
skill_modA flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.
speedHow fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.
stamina_costHow much stamina it takes to launch a tackle
tackleThe throwdatum we're currently dealing with, if we need it

Procs

checkObstacleCheck to see if we hit a table, and if so, make a big mess!
checkTackleSee if we can tackle or not. If we can, leap!
registerTackleStore the thrownthing datum for later use
rollTacklerollTackle()
sacksack()
splatsplat()
splatWindowA special case for splatting for handling windows

Var Details

base_knockdown

Launching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.

min_distance

Some gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!

range

Your max range for how far you can tackle.

skill_mod

A flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.

speed

How fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.

stamina_cost

How much stamina it takes to launch a tackle

tackle

The throwdatum we're currently dealing with, if we need it

Proc Details

checkObstacle

Check to see if we hit a table, and if so, make a big mess!

checkTackle

See if we can tackle or not. If we can, leap!

registerTackle

Store the thrownthing datum for later use

rollTackle

rollTackle()

+

This handles all of the modifiers for the actual carbon-on-carbon tackling, and gets its own proc because of how many there are (with plenty more in mind!)

+

The base roll is between (-3, 3), with negative numbers favoring the target, and positive numbers favoring the tackler. The target and the tackler are both assessed for +how easy they are to knock over, with clumsiness and dwarfiness being strong maluses for each, and gigantism giving a bonus for each. These numbers and ideas +are absolutely subject to change.

+

In addition, after subtracting the defender's mod and adding the attacker's mod to the roll, the component's base (skill) mod is added as well. Some sources of tackles +are better at taking people down, like the bruiser and rocket gloves, while the dolphin gloves have a malus in exchange for better mobility.

sack

sack()

+

sack() is called when you actually smack into something, assuming we're mid-tackle. First it deals with smacking into non-carbons, in two cases:

+ +

If it's a carbon we hit, we'll call rollTackle() which rolls a die and calculates modifiers for both the tackler and target, then gives us a number. Negatives favor the target, while positives favor the tackler. +Check rollTackle() for a more thorough explanation on the modifiers at play.

+

Then, we figure out what effect we want, and we get to work! Note that with standard gripper gloves and no modifiers, the range of rolls is (-3, 3). The results are as follows, based on what we rolled:

+ +

Finally, we return a bitflag to [COMSIG_MOVABLE_IMPACT] that forces the hitpush to false so that we don't knock them away.

splat

splat()

+

This is where we handle diving into dense atoms, generally with effects ranging from bad to REALLY bad. This works as a percentile roll that is modified in two steps as detailed below. The higher +the roll, the more severe the result.

+

Mod 1: Speed +* Base tackle speed is 1, which is what normal gripper gloves use. For other sources with higher speed tackles, like dolphin and ESPECIALLY rocket gloves, we obey Newton's laws and hit things harder. +* For every unit of speed above 1, move the lower bound of the roll up by 15. Unlike Mod 2, this only serves to raise the lower bound, so it can't be directly counteracted by anything you can control.

+

Mod 2: Misc +-Flat modifiers, these take whatever you rolled and add/subtract to it, with the end result capped between the minimum from Mod 1 and 100. Note that since we can't roll higher than 100 to start with, +wearing a helmet should be enough to remove any chance of permanently paralyzing yourself and dramatically lessen knocking yourself unconscious, even with rocket gloves. Will expand on maybe +* Wearing a helmet: -6 +* Wearing armor: -6 +* Clumsy: +6

+

Effects: Below are the outcomes based off your roll, in order of increasing severity +* 1-63: Knocked down for a few seconds and a bit of brute and stamina damage +* 64-83: Knocked silly, gain some confusion as well as the above +* 84-93: Cranial trauma, get a concussion and more confusion, plus more damage +* 94-98: Knocked unconscious, significant chance to get a random mild brain trauma, as well as a fair amount of damage +* 99-100: Break your spinal cord, get paralyzed, take a bunch of damage too. Very unlucky!

splatWindow

A special case for splatting for handling windows

\ No newline at end of file diff --git a/datum/component/twitch_plays.html b/datum/component/twitch_plays.html new file mode 100644 index 000000000000..e858a6a1f7ad --- /dev/null +++ b/datum/component/twitch_plays.html @@ -0,0 +1 @@ +/datum/component/twitch_plays - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

twitch_plays

Observers voting on things through orbiting

Vars

playersObservers

Var Details

players

Observers

\ No newline at end of file diff --git a/datum/component/twitch_plays/simple_movement.html b/datum/component/twitch_plays/simple_movement.html new file mode 100644 index 000000000000..3ba567714827 --- /dev/null +++ b/datum/component/twitch_plays/simple_movement.html @@ -0,0 +1 @@ +/datum/component/twitch_plays/simple_movement - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

simple_movement

Simple movement one

Vars

allow_diagonalAllow diagonals
votesMovement votes by observer

Var Details

allow_diagonal

Allow diagonals

votes

Movement votes by observer

\ 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 000000000000..40c06da3ae3c --- /dev/null +++ b/datum/component/two_handed.html @@ -0,0 +1,25 @@ +/datum/component/two_handed - SPLURT Station 13
SPLURT 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 when unwielded
force_multiplierAre we holding the two handed item properly
force_unwieldedThe force of the item when weilded
force_wieldedThe multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded
icon_wieldedDoes it have to be held in both hands
offhand_itemThe icon that will be used when wielded
require_twohandsPlay sound on attack when wielded
sharpened_increaseReference to the offhand created for the item
unwieldsoundPlay sound when wielded
wieldsoundThe force of the item when unweilded

Procs

InitializeThe amount of increase recived from sharpening the item +Two Handed component
on_attackon_attack triggers on attack with the parent item
on_attack_selfTriggered on attack self of the item containing the component
on_dropTriggered on drop of item containing the component
on_equipTriggered on equip of the item containing the component
on_movedon_moved Triggers on item moved
on_sharpenon_sharpen Triggers on usage of a sharpening stone on the item
on_swap_handson_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy
on_update_iconon_update_icon triggers on call to update parent items icon
unwieldUnwield the two handed item
wieldWield the two handed item in both hands

Var Details

attacksound

Play sound when unwielded

force_multiplier

Are we holding the two handed item properly

force_unwielded

The force of the item when weilded

force_wielded

The multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded

icon_wielded

Does it have to be held in both hands

offhand_item

The icon that will be used when wielded

require_twohands

Play sound on attack when wielded

sharpened_increase

Reference to the offhand created for the item

unwieldsound

Play sound when wielded

wieldsound

The force of the item when unweilded

Proc Details

Initialize

The amount of increase recived from sharpening the item +Two Handed component

+

vars:

+

on_attack

on_attack triggers on attack with the parent item

on_attack_self

Triggered on attack self of the item containing the component

on_drop

Triggered on drop of item containing the component

on_equip

Triggered on equip of the item containing the component

on_moved

on_moved Triggers on item moved

on_sharpen

on_sharpen Triggers on usage of a sharpening stone on the item

on_swap_hands

on_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy

on_update_icon

on_update_icon triggers on call to update parent items icon

+

Updates the icon using icon_wielded if set

unwield

Unwield the two handed item

+

vars:

+

wield

Wield the two handed item in both hands

+

vars:

+
\ No newline at end of file diff --git a/datum/component/uplink.html b/datum/component/uplink.html new file mode 100644 index 000000000000..a5edf888324c --- /dev/null +++ b/datum/component/uplink.html @@ -0,0 +1,4 @@ +/datum/component/uplink - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

uplink

Uplinks

+

All /obj/item(s) have a hidden_uplink var. By default it's null. Give the item one with 'new(src') (it must be in it's contents). Then add 'uses.' +Use whatever conditionals you want to check that the user has an uplink, and then call interact() on their uplink. +You might also want the uplink menu to open if active. Check if the uplink is 'active' and then interact() with it.

Vars

unlock_textInstructions on how to access the uplink based on location

Var Details

unlock_text

Instructions on how to access the uplink based on location

\ No newline at end of file diff --git a/datum/component/virtual_reality.html b/datum/component/virtual_reality.html new file mode 100644 index 000000000000..8b8c4d9322fb --- /dev/null +++ b/datum/component/virtual_reality.html @@ -0,0 +1,31 @@ +/datum/component/virtual_reality - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

virtual_reality

The virtual reality turned component. +Originally created to overcome issues of mob polymorphing locking the player inside virtual reality +and allow for a more "immersive" virtual reality in a virtual reality experience. +It relies on comically complex order of logic, expect things to break if procs such as mind/transfer_to() are revamped. +In short, a barebone not so hardcoded VR framework. +If you plan to add more devices that make use of this component, remember to isolate their code outta here where possible.

Procs

PostTransferRequired for the component to be transferable from mob to mob.
action_triggerThe following procs simply acts as hooks for quit(), since components do not use callbacks anymore
connectCalled when attempting to connect a mob to a virtual reality mob. +This will return FALSE if the mob is without player or dead. TRUE otherwise
on_player_transferTakes care of moving the component from a mob to another when their mind or ckey is transferred. +The very reason this component even exists (else one would be stuck playing as a monky if monkyified)
player_hijackedCalled when someone or something else is somewhat about to replace the mastermind's mob key somehow. +And potentially lock the player in a broken virtual reality plot. Not really something to be proud of.
pre_player_transferCalled to stop the player mind from being transferred should the new mob happen to be one of our masterminds'. +Since the target's mind.current is going to be null'd in the mind transfer process, +This has to be done in a different signal proc than on_player_transfer(), by then the mastermind.current will be null.
quitTakes care of deleting itself, moving the player back to the mastermind's current and queueing the parent for deletion. +It supports nested virtual realities by recursively calling vr_in_a_vr(), which in turns calls quit(), +up to the deepest level, where the ckey will be transferred back to our mastermind's mob instead. +The above operation is skipped when session_paused is TRUE (ergo no player in control of the current mob). +vars:
switch_playerCalled when the mastermind mind is transferred to another mob. +This is pretty much just going to simply quit the session until machineries support polymorphed occupants etcetera.
vr_in_a_vrUsed for recursive virtual realities shenanigeans and should be called by the above proc.
you_only_live_onceemag_act() hook. Makes the game deadlier, killing the mastermind mob too should the parent die.

Proc Details

PostTransfer

Required for the component to be transferable from mob to mob.

action_trigger

The following procs simply acts as hooks for quit(), since components do not use callbacks anymore

connect

Called when attempting to connect a mob to a virtual reality mob. +This will return FALSE if the mob is without player or dead. TRUE otherwise

on_player_transfer

Takes care of moving the component from a mob to another when their mind or ckey is transferred. +The very reason this component even exists (else one would be stuck playing as a monky if monkyified)

player_hijacked

Called when someone or something else is somewhat about to replace the mastermind's mob key somehow. +And potentially lock the player in a broken virtual reality plot. Not really something to be proud of.

pre_player_transfer

Called to stop the player mind from being transferred should the new mob happen to be one of our masterminds'. +Since the target's mind.current is going to be null'd in the mind transfer process, +This has to be done in a different signal proc than on_player_transfer(), by then the mastermind.current will be null.

quit

Takes care of deleting itself, moving the player back to the mastermind's current and queueing the parent for deletion. +It supports nested virtual realities by recursively calling vr_in_a_vr(), which in turns calls quit(), +up to the deepest level, where the ckey will be transferred back to our mastermind's mob instead. +The above operation is skipped when session_paused is TRUE (ergo no player in control of the current mob). +vars:

+

switch_player

Called when the mastermind mind is transferred to another mob. +This is pretty much just going to simply quit the session until machineries support polymorphed occupants etcetera.

vr_in_a_vr

Used for recursive virtual realities shenanigeans and should be called by the above proc.

you_only_live_once

emag_act() hook. Makes the game deadlier, killing the mastermind mob too should the parent die.

\ No newline at end of file diff --git a/datum/computer_file/program.html b/datum/computer_file/program.html new file mode 100644 index 000000000000..8a26f56b59f5 --- /dev/null +++ b/datum/computer_file/program.html @@ -0,0 +1,31 @@ +/datum/computer_file/program - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

program

Vars

alert_ableWhether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager
alert_pendingWhether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.
alert_silencedWhether the user has muted this program's ability to send alerts.
available_on_ntnetWhether the program can be downloaded from NTNet. Set to FALSE to disable.
available_on_syndinetWhether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.
categoryCategory in the NTDownloader.
computerDevice that runs this program.
extended_descShort description of this program's function.
filedescUser-friendly name of this program.
filenameFile name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!
ntnet_statusNTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
program_iconFont Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.
program_icon_stateProgram-specific screen icon state
program_statePROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.
required_accessList of required accesses to run the program.
requires_ntnetSet to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
requires_ntnet_featureOptional, if above is set to 1 checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)
tgui_idName of the tgui interface
transfer_accessList of required access to download or file host the program
ui_headerExample: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!
usage_flagsBitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL

Procs

can_runCheck if the user can run program. Only humans can operate computer. Automatically called in run_program() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Arguments: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.
run_emagCalled by the device when it is emagged.
tapRuns when the device is used to attack an atom in non-combat mode.

Var Details

alert_able

Whether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager

alert_pending

Whether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.

alert_silenced

Whether the user has muted this program's ability to send alerts.

available_on_ntnet

Whether the program can be downloaded from NTNet. Set to FALSE to disable.

available_on_syndinet

Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.

category

Category in the NTDownloader.

computer

Device that runs this program.

extended_desc

Short description of this program's function.

filedesc

User-friendly name of this program.

filename

File name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!

ntnet_status

NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.

program_icon

Font Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.

program_icon_state

Program-specific screen icon state

program_state

PROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.

required_access

List of required accesses to run the program.

requires_ntnet

Set to 1 for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.

requires_ntnet_feature

Optional, if above is set to 1 checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)

tgui_id

Name of the tgui interface

transfer_access

List of required access to download or file host the program

ui_header

Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!

usage_flags

Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL

Proc Details

can_run

Check if the user can run program. Only humans can operate computer. Automatically called in run_program() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Arguments: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +transfer, if TRUE and access_to_check is null, will tell this proc to use the program's transfer_access in place of access_to_check +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.

run_emag

Called by the device when it is emagged.

+

Emagging the device allows certain programs to unlock new functions. However, the program will +need to be downloaded first, and then handle the unlock on their own in their run_emag() proc. +The device will allow an emag to be run multiple times, so the user can re-emag to run the +override again, should they download something new. The run_emag() proc should return TRUE if +the emagging affected anything, and FALSE if no change was made (already emagged, or has no +emag functions).

tap

Runs when the device is used to attack an atom in non-combat mode.

+

Simulates using the device to read or scan something. Tap is called by the computer during pre_attack +and sends us all of the related info. If we return TRUE, the computer will stop the attack process +there. What we do with the info is up to us, but we should only return TRUE if we actually perform +an action of some sort. +Arguments: +A is the atom being tapped +user is the person making the attack action +params is anything the pre_attack() proc had in the same-named variable.

\ No newline at end of file diff --git a/datum/computer_file/program/aidiag.html b/datum/computer_file/program/aidiag.html new file mode 100644 index 000000000000..8f1ba54134bb --- /dev/null +++ b/datum/computer_file/program/aidiag.html @@ -0,0 +1 @@ +/datum/computer_file/program/aidiag - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

aidiag

Vars

restoringVariable dictating if we are in the process of restoring the AI in the inserted intellicard

Var Details

restoring

Variable dictating if we are in the process of restoring the AI in the inserted intellicard

\ No newline at end of file diff --git a/datum/computer_file/program/alarm_monitor.html b/datum/computer_file/program/alarm_monitor.html new file mode 100644 index 000000000000..2e395cf3332b --- /dev/null +++ b/datum/computer_file/program/alarm_monitor.html @@ -0,0 +1 @@ +/datum/computer_file/program/alarm_monitor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

alarm_monitor

Vars

alert_controlStation alert datum for showing alerts UI
has_alertIf there is any station alert

Var Details

alert_control

Station alert datum for showing alerts UI

has_alert

If there is any station alert

\ No newline at end of file diff --git a/datum/computer_file/program/arcade.html b/datum/computer_file/program/arcade.html new file mode 100644 index 000000000000..9de8f4463686 --- /dev/null +++ b/datum/computer_file/program/arcade.html @@ -0,0 +1 @@ +/datum/computer_file/program/arcade - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

arcade

Vars

boss_idDetermines which boss image to use on the UI.
game_activeReturns TRUE if the game is being played.
heads_upShows what text is shown on the app, usually showing the log of combat actions taken by the player.
pause_stateThis disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.

Var Details

boss_id

Determines which boss image to use on the UI.

game_active

Returns TRUE if the game is being played.

heads_up

Shows what text is shown on the app, usually showing the log of combat actions taken by the player.

pause_state

This disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.

\ No newline at end of file diff --git a/datum/computer_file/program/borg_monitor.html b/datum/computer_file/program/borg_monitor.html new file mode 100644 index 000000000000..4401e9890419 --- /dev/null +++ b/datum/computer_file/program/borg_monitor.html @@ -0,0 +1 @@ +/datum/computer_file/program/borg_monitor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

borg_monitor

Vars

DL_progressreference of a borg if we're downloading a log, or null if not.
DL_sourceA list to copy a borg's IC log list into
loglistBool of if this app has already been emagged

Procs

DestroyProgress of current download, 0 to 100, -1 for no current download
checkIDGets the ID's name, if one is inserted into the device. This is a seperate proc solely to be overridden by the syndicate version of the app.
evaluate_borgThis proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.

Var Details

DL_progress

reference of a borg if we're downloading a log, or null if not.

DL_source

A list to copy a borg's IC log list into

loglist

Bool of if this app has already been emagged

Proc Details

Destroy

Progress of current download, 0 to 100, -1 for no current download

checkID

Gets the ID's name, if one is inserted into the device. This is a seperate proc solely to be overridden by the syndicate version of the app.

evaluate_borg

This proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.

\ No newline at end of file diff --git a/datum/computer_file/program/budgetorders.html b/datum/computer_file/program/budgetorders.html new file mode 100644 index 000000000000..1f65665ae8ce --- /dev/null +++ b/datum/computer_file/program/budgetorders.html @@ -0,0 +1 @@ +/datum/computer_file/program/budgetorders - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

budgetorders

Vars

blockade_warningIf you're being raided by pirates, what do you tell the crew?
can_approve_requestsCan this console approve purchase requests?
cargo_accountThe account this console processes and displays. Independent from the account the shuttle processes.
cargo_shuttleThe name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.
contrabandCan the tablet see or buy illegal stuff?
docking_awayThe docking port called when leaving the station.
docking_homeThe docking port called when returning to the station.
requestonlyAre you actually placing orders with it?
safety_warningWhat do we say when the shuttle moves with living beings on it.
self_paidIs it being bought from a personal account, or is it being done via a budget/cargo?
stationcargoIf this console can loan the cargo shuttle. Set to false to disable.

Var Details

blockade_warning

If you're being raided by pirates, what do you tell the crew?

can_approve_requests

Can this console approve purchase requests?

cargo_account

The account this console processes and displays. Independent from the account the shuttle processes.

cargo_shuttle

The name of the shuttle template being used as the cargo shuttle. 'supply' is default and contains critical code. Don't change this unless you know what you're doing.

contraband

Can the tablet see or buy illegal stuff?

docking_away

The docking port called when leaving the station.

docking_home

The docking port called when returning to the station.

requestonly

Are you actually placing orders with it?

safety_warning

What do we say when the shuttle moves with living beings on it.

self_paid

Is it being bought from a personal account, or is it being done via a budget/cargo?

stationcargo

If this console can loan the cargo shuttle. Set to false to disable.

\ No newline at end of file diff --git a/datum/computer_file/program/card_mod.html b/datum/computer_file/program/card_mod.html new file mode 100644 index 000000000000..f9d2c80667f6 --- /dev/null +++ b/datum/computer_file/program/card_mod.html @@ -0,0 +1 @@ +/datum/computer_file/program/card_mod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

card_mod

Vars

target_deptWhich departments this computer has access to. Defined as access regions. null = all departments

Var Details

target_dept

Which departments this computer has access to. Defined as access regions. null = all departments

\ No newline at end of file diff --git a/datum/computer_file/program/portrait_printer.html b/datum/computer_file/program/portrait_printer.html new file mode 100644 index 000000000000..d4434235161f --- /dev/null +++ b/datum/computer_file/program/portrait_printer.html @@ -0,0 +1,3 @@ +/datum/computer_file/program/portrait_printer - SPLURT Station 13
SPLURT Station 13 - Modules - Types

portrait_printer

portrait printer!

+

Program that lets the curator browse all of the portraits in the database +They are free to print them out as they please.

\ No newline at end of file diff --git a/datum/computer_file/program/radar.html b/datum/computer_file/program/radar.html new file mode 100644 index 000000000000..79530e57e5f0 --- /dev/null +++ b/datum/computer_file/program/radar.html @@ -0,0 +1,22 @@ +/datum/computer_file/program/radar - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

radar

Vars

arrowstyleUsed by the tgui interface, themed NT or Syndicate.
last_icon_stateUsed to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls
next_scanUsed to store when the next scan is available. Updated by the scan() proc.
objectsList of trackable entities. Updated by the scan() proc.
pointercolorUsed by the tgui interface, themed for NT or Syndicate colors.
selectedRef of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Procs

find_atomFinds the atom in the appropriate list that the selected var indicates
scanRuns a scan of all the trackable atoms.
trackUpdates tracking information of the selected target.
trackableChecks the trackability of the selected target.

Var Details

arrowstyle

Used by the tgui interface, themed NT or Syndicate.

last_icon_state

Used to keep track of the last value program_icon_state was set to, to prevent constant unnecessary update_appearance() calls

next_scan

Used to store when the next scan is available. Updated by the scan() proc.

objects

List of trackable entities. Updated by the scan() proc.

pointercolor

Used by the tgui interface, themed for NT or Syndicate colors.

selected

Ref of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Proc Details

find_atom

Finds the atom in the appropriate list that the selected var indicates

+

The selected var holds a REF, which is a string. A mob REF may be +something like "mob_209". In order to find the actual atom, we need +to search the appropriate list for the REF string. This is dependant +on the program (Lifeline uses GLOB.human_list, while Fission360 uses +GLOB.poi_list), but the result will be the same; evaluate the string and +return an atom reference.

scan

Runs a scan of all the trackable atoms.

+

Checks each entry in the GLOB of the specific trackable atoms against +the track() proc, and fill the objects list with lists containing the +atoms' names and REFs. The objects list is handed to the tgui screen +for displaying to, and being selected by, the user. A two second +sleep is used to delay the scan, both for thematical reasons as well +as to limit the load players may place on the server using these +somewhat costly loops.

track

Updates tracking information of the selected target.

+

The track() proc updates the entire set of information about the location +of the target, including whether the Ntos window should use a pinpointer +crosshair over the up/down arrows, or none in favor of a rotating arrow +for far away targets. This information is returned in the form of a list.

trackable

Checks the trackability of the selected target.

+

If the target is on the computer's Z level, or both are on station Z +levels, and the target isn't untrackable, return TRUE. +Arguments: +*arg1 is the atom being evaluated.

\ No newline at end of file diff --git a/datum/computer_file/program/robocontrol.html b/datum/computer_file/program/robocontrol.html new file mode 100644 index 000000000000..3aad772d24c1 --- /dev/null +++ b/datum/computer_file/program/robocontrol.html @@ -0,0 +1 @@ +/datum/computer_file/program/robocontrol - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

robocontrol

Vars

botcountNumber of simple robots on-station.
current_accessAccess granted by the used to summon robots.
current_userUsed to find the location of the user for the purposes of summoning robots.

Var Details

botcount

Number of simple robots on-station.

current_access

Access granted by the used to summon robots.

current_user

Used to find the location of the user for the purposes of summoning robots.

\ No newline at end of file diff --git a/datum/computer_file/program/robotact.html b/datum/computer_file/program/robotact.html new file mode 100644 index 000000000000..38043f6b5d95 --- /dev/null +++ b/datum/computer_file/program/robotact.html @@ -0,0 +1,3 @@ +/datum/computer_file/program/robotact - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

robotact

Vars

tabletA typed reference to the computer, specifying the borg tablet type

Procs

force_full_updateForces a full update of the UI, if currently open.

Var Details

tablet

A typed reference to the computer, specifying the borg tablet type

Proc Details

force_full_update

Forces a full update of the UI, if currently open.

+

Forces an update that includes refreshing ui_static_data. Called by +law changes and borg log additions.

\ No newline at end of file diff --git a/datum/computer_file/program/secureye.html b/datum/computer_file/program/secureye.html new file mode 100644 index 000000000000..e4fdbe75af5d --- /dev/null +++ b/datum/computer_file/program/secureye.html @@ -0,0 +1 @@ +/datum/computer_file/program/secureye - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

secureye

Vars

cam_plane_mastersAll the plane masters that need to be applied.
last_camera_turfThe turf where the camera was last updated.

Var Details

cam_plane_masters

All the plane masters that need to be applied.

last_camera_turf

The turf where the camera was last updated.

\ No newline at end of file diff --git a/datum/computer_file/program/signaler.html b/datum/computer_file/program/signaler.html new file mode 100644 index 000000000000..aecf06d61ba4 --- /dev/null +++ b/datum/computer_file/program/signaler.html @@ -0,0 +1 @@ +/datum/computer_file/program/signaler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

signaler

Vars

radio_connectionRadio connection datum used by signalers.
signal_codeWhat is the saved signal code?
signal_frequencyWhat is the saved signal frequency?

Var Details

radio_connection

Radio connection datum used by signalers.

signal_code

What is the saved signal code?

signal_frequency

What is the saved signal frequency?

\ No newline at end of file diff --git a/datum/computer_file/program/supermatter_monitor.html b/datum/computer_file/program/supermatter_monitor.html new file mode 100644 index 000000000000..0f4fd0e09d68 --- /dev/null +++ b/datum/computer_file/program/supermatter_monitor.html @@ -0,0 +1,14 @@ +/datum/computer_file/program/supermatter_monitor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

supermatter_monitor

Procs

clear_signalsRemoves the signal listener for Supermatter delaminations from the selected supermatter.
send_alertSends an SM delam alert to the computer.
send_start_alertSends an SM delam start alert to the computer.
set_signalsSets up the signal listener for Supermatter delaminations.

Proc Details

clear_signals

Removes the signal listener for Supermatter delaminations from the selected supermatter.

+

Pretty much does what it says.

send_alert

Sends an SM delam alert to the computer.

+

Triggered by a signal from the selected supermatter, this proc sends a notification +to the computer if the program is either closed or minimized. We do not send these +notifications to the comptuer if we're the active program, because engineers fixing +the supermatter probably don't need constant beeping to distract them.

send_start_alert

Sends an SM delam start alert to the computer.

+

Triggered by a signal from the selected supermatter at the start of a delamination, +this proc sends a notification to the computer if this program is the active one. +We do this so that people carrying a tablet with NT CIMS open but with the NTOS window +closed will still get one audio alert. This is not sent to computers with the program +minimized or closed to avoid double-notifications.

set_signals

Sets up the signal listener for Supermatter delaminations.

+

Unregisters any old listners for SM delams, and then registers one for the SM refered +to in the active variable. This proc is also used with no active SM to simply clear +the signal and exit.

\ No newline at end of file diff --git a/datum/config_entry.html b/datum/config_entry.html new file mode 100644 index 000000000000..3e3dd202a225 --- /dev/null +++ b/datum/config_entry.html @@ -0,0 +1 @@ +/datum/config_entry - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

config_entry

Vars

abstract_typeDo not instantiate if type matches this
config_entry_valueThe configured value for this entry. This shouldn't be initialized in code, instead set default
defaultRead-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to
default_protectionStores the original protection configuration, used for set_default()
deprecated_byThe config name of a configuration type that depricates this, if it exists
dupes_allowedControls if error is thrown when duplicate configuration values for this entry type are encountered
modifiedSet to TRUE if the default has been overridden by a config entry
nameRead-only, this is determined by the last portion of the derived entry type
postload_requiredRequires running OnPostload()
protectionThe /datum/config_entry type that supercedes this one
resident_fileThe file which this was loaded from, if any
vv_VASForce validate and set on VV. VAS proccall guard will run regardless.

Procs

set_defaultReturns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default.

Var Details

abstract_type

Do not instantiate if type matches this

config_entry_value

The configured value for this entry. This shouldn't be initialized in code, instead set default

default

Read-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to

default_protection

Stores the original protection configuration, used for set_default()

deprecated_by

The config name of a configuration type that depricates this, if it exists

dupes_allowed

Controls if error is thrown when duplicate configuration values for this entry type are encountered

modified

Set to TRUE if the default has been overridden by a config entry

name

Read-only, this is determined by the last portion of the derived entry type

postload_required

Requires running OnPostload()

protection

The /datum/config_entry type that supercedes this one

resident_file

The file which this was loaded from, if any

vv_VAS

Force validate and set on VV. VAS proccall guard will run regardless.

Proc Details

set_default

Returns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default.

\ No newline at end of file diff --git a/datum/config_entry/keyed_list.html b/datum/config_entry/keyed_list.html new file mode 100644 index 000000000000..4d3b0f91a8f8 --- /dev/null +++ b/datum/config_entry/keyed_list.html @@ -0,0 +1 @@ +/datum/config_entry/keyed_list - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

keyed_list

Vars

lowercase_keywhether the key names will be lowercased on ValidateAndSet or not.

Var Details

lowercase_key

whether the key names will be lowercased on ValidateAndSet or not.

\ No newline at end of file diff --git a/datum/config_entry/str_list.html b/datum/config_entry/str_list.html new file mode 100644 index 000000000000..46cb24893ecf --- /dev/null +++ b/datum/config_entry/str_list.html @@ -0,0 +1 @@ +/datum/config_entry/str_list - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

str_list

List config entry, used for configuring a list of strings

Vars

lowercasewhether the string elements will be lowercased on ValidateAndSet or not.

Var Details

lowercase

whether the string elements will be lowercased on ValidateAndSet or not.

\ No newline at end of file diff --git a/datum/config_entry/string.html b/datum/config_entry/string.html new file mode 100644 index 000000000000..6c59e29a0777 --- /dev/null +++ b/datum/config_entry/string.html @@ -0,0 +1 @@ +/datum/config_entry/string - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

string

Vars

lowercasewhether the string will be lowercased on ValidateAndSet or not.

Var Details

lowercase

whether the string will be lowercased on ValidateAndSet or not.

\ No newline at end of file diff --git a/datum/controller/configuration.html b/datum/controller/configuration.html new file mode 100644 index 000000000000..8d22bc6eaf12 --- /dev/null +++ b/datum/controller/configuration.html @@ -0,0 +1 @@ +/datum/controller/configuration - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

configuration

Procs

GetEntryDatumYour typical GET but returns a config.

Proc Details

GetEntryDatum

Your typical GET but returns a config.

\ 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 000000000000..998d906e1ad1 --- /dev/null +++ b/datum/controller/global_vars.html @@ -0,0 +1,32 @@ +/datum/controller/global_vars - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

global_vars

Vars

GPS_listGlobal GPS_list. All GPS components get saved in here for easy reference.
acid_overlayACID
adamantine_recipesOthers
admin_statetgui state: admin_state
always_statetgui state: always_state
announcer_keysGlobal list of all of our announcer keys.
areas_by_typeAn association from typepath to area instance. Only includes areas with unique set.
conscious_statetgui state: conscious_state
contained_statetgui state: contained_state
current_living_antagsAll alive antags with clients.
current_observers_listAll observers with clients that joined as observers.
deep_inventory_statetgui state: deep_inventory_state
default_statetgui state: default_state
dummySaveSave file used in icon2base64. Used for converting icons to base64.
em_block_colorA globaly cached version of EM_BLOCK_COLOR for quick access.
em_mask_matrixA globaly cached version of EM_MASK_MATRIX for quick access.
emissive_colorA globaly cached version of EMISSIVE_COLOR for quick access.
families_override_themeForces the Families theme to be the one in this variable via variable editing. Used for debugging.
focused_testsA list of every test that is currently focused. +Use the PERFORM_ALL_TESTS macro instead.
fun_statetgui state: fun_state
gateway_destinationsList of possible gateway destinations.
glide_size_multiplierCompensating for time dialation
hands_statetgui state: hands_state
human_adjacent_statetgui state: human_adjacent_state
inventory_statetgui state: inventory_state
language_menu_statetgui state: language_menu_state
living_heart_cacheHeretics --
mafia_bad_signuplist of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.
mafia_gamethe current global mafia game running.
mafia_signuplist of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in
marker_beacon_colorsMarker Beacons
megafauna_spawn_listGlobal list of megafauna spawns on cave gen
mod_themesGlobal list of all /datum/mod_theme
never_statetgui state: never_state
new_player_statetgui state: new_player_state
not_incapacitated_statetgui state: not_incapacitated_state
not_incapacitated_turf_statetgui state: not_incapacitated_turf_state
notcontained_statetgui state: notcontained_state
observer_statetgui state: observer_state
physical_obscured_statetgui state: physical_obscured_state
physical_statetgui state: physical_state
picture_log_directoryPicture logging
random_zlevels_generatedAway missions, VR, random z levels stuff.
reality_smash_trackWe want reality_smash_tracker to exist only once and be accesable from anywhere.
req_console_assistanceRequests Console
screentip_context_iconsStores the cursor hint icons for screentip context.
self_statetgui state: self_state
slavers_ransom_valuesPrice table for when trying to set slave prices automatically
subsystem_logcit logging
teleportlocsA list of teleport locations
the_gatewayStation home gateway
trait_name_mapvalue -> trait name, generated on use from trait_by_type global
typing_indicator_overlaysstate = overlay/image/object/type/whatever add_overlay will accept
ui_vorepanel_statetgui state: vorepanel_state
world_suspicious_login_logLog associated with [/proc/log_suspicious_login()] - Intended to hold all logins that failed due to suspicious circumstances such as ban detection, CID randomisation etc.
z_statetgui state: z_state

Var Details

GPS_list

Global GPS_list. All GPS components get saved in here for easy reference.

acid_overlay

ACID

adamantine_recipes

Others

admin_state

tgui state: admin_state

+

Checks that the user is an admin, end-of-story.

always_state

tgui state: always_state

+

Always grants the user UI_INTERACTIVE. Period.

announcer_keys

Global list of all of our announcer keys.

areas_by_type

An association from typepath to area instance. Only includes areas with unique set.

conscious_state

tgui state: conscious_state

+

Only checks if the user is conscious.

contained_state

tgui state: contained_state

+

Checks that the user is inside the src_object.

current_living_antags

All alive antags with clients.

current_observers_list

All observers with clients that joined as observers.

deep_inventory_state

tgui state: deep_inventory_state

+

Checks that the src_object is in the user's deep +(backpack, box, toolbox, etc) inventory.

default_state

tgui state: default_state

+

Checks a number of things -- mostly physical distance for humans +and view for robots.

dummySave

Save file used in icon2base64. Used for converting icons to base64.

em_block_color

A globaly cached version of EM_BLOCK_COLOR for quick access.

em_mask_matrix

A globaly cached version of EM_MASK_MATRIX for quick access.

emissive_color

A globaly cached version of EMISSIVE_COLOR for quick access.

families_override_theme

Forces the Families theme to be the one in this variable via variable editing. Used for debugging.

focused_tests

A list of every test that is currently focused. +Use the PERFORM_ALL_TESTS macro instead.

fun_state

tgui state: fun_state

+

Checks that the user has the fun privilige.

gateway_destinations

List of possible gateway destinations.

glide_size_multiplier

Compensating for time dialation

hands_state

tgui state: hands_state

+

Checks that the src_object is in the user's hands.

human_adjacent_state

tgui state: human_adjacent_state

+

In addition to default checks, only allows interaction for a +human adjacent user.

inventory_state

tgui state: inventory_state

+

Checks that the src_object is in the user's top-level +(hand, ear, pocket, belt, etc) inventory.

language_menu_state

tgui state: language_menu_state

living_heart_cache

Heretics --

mafia_bad_signup

list of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.

mafia_game

the current global mafia game running.

mafia_signup

list of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in

marker_beacon_colors

Marker Beacons

megafauna_spawn_list

Global list of megafauna spawns on cave gen

mod_themes

Global list of all /datum/mod_theme

never_state

tgui state: never_state

+

Always closes the UI, no matter what. See the ui_state in religious_tool.dm to see an example

new_player_state

tgui state: new_player_state

+

Checks that the user is a new_player, or if user is an admin

not_incapacitated_state

tgui state: not_incapacitated_state

+

Checks that the user isn't incapacitated

not_incapacitated_turf_state

tgui state: not_incapacitated_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf

notcontained_state

tgui state: notcontained_state

+

Checks that the user is not inside src_object, and then makes the +default checks.

observer_state

tgui state: observer_state

+

Checks that the user is an observer/ghost.

physical_obscured_state

tgui state: physical_obscured_state

+

Short-circuits the default state to only check physical distance, being in view doesn't matter

physical_state

tgui state: physical_state

+

Short-circuits the default state to only check physical distance.

picture_log_directory

Picture logging

random_zlevels_generated

Away missions, VR, random z levels stuff.

reality_smash_track

We want reality_smash_tracker to exist only once and be accesable from anywhere.

req_console_assistance

Requests Console

+

Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes

screentip_context_icons

Stores the cursor hint icons for screentip context.

self_state

tgui state: self_state

+

Only checks that the user and src_object are the same.

slavers_ransom_values

Price table for when trying to set slave prices automatically

subsystem_log

cit logging

teleportlocs

A list of teleport locations

+

Adding a wizard area teleport list because motherfucking lag -- Urist +I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game

the_gateway

Station home gateway

trait_name_map

value -> trait name, generated on use from trait_by_type global

typing_indicator_overlays

state = overlay/image/object/type/whatever add_overlay will accept

ui_vorepanel_state

tgui state: vorepanel_state

+

Only checks that the user and src_object are the same.

world_suspicious_login_log

Log associated with [/proc/log_suspicious_login()] - Intended to hold all logins that failed due to suspicious circumstances such as ban detection, CID randomisation etc.

z_state

tgui state: z_state

+

Only checks that the Z-level of the user and src_object are the same.

\ No newline at end of file diff --git a/datum/controller/master.html b/datum/controller/master.html new file mode 100644 index 000000000000..070b45c4ea6a --- /dev/null +++ b/datum/controller/master.html @@ -0,0 +1,3 @@ +/datum/controller/master - SPLURT Station 13
SPLURT 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
iterationHow many times have we ran
last_runworld.time of last fire, for tracking lag outside of the mc
last_type_processedThe type of the last subsystem to be fire()'d.
make_runtimemakes the mc main loop runtime
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_tailEnd of queue linked list (used for appending to the list)
skip_ticksOnly run ticker subsystems for the next n ticks.
sleep_deltaHow long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)
stack_end_detectorStack end detector to detect stack overflows that kill the mc's main loop
subsystemsList of subsystems to process().

Procs

laggy_byond_map_update_incomingWarns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.

Var Details

current_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

iteration

How many times have we ran

last_run

world.time of last fire, for tracking lag outside of the mc

last_type_processed

The type of the last subsystem to be fire()'d.

make_runtime

makes the mc main loop runtime

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_tail

End of queue linked list (used for appending to the list)

skip_ticks

Only run ticker subsystems for the next n ticks.

sleep_delta

How long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)

stack_end_detector

Stack end detector to detect stack overflows that kill the mc's main loop

subsystems

List of subsystems to process().

Proc Details

laggy_byond_map_update_incoming

Warns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.

\ No newline at end of file diff --git a/datum/controller/subsystem.html b/datum/controller/subsystem.html new file mode 100644 index 000000000000..77dc7aa2ff43 --- /dev/null +++ b/datum/controller/subsystem.html @@ -0,0 +1,8 @@ +/datum/controller/subsystem - SPLURT Station 13
SPLURT 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)
failure_strikesHow many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!
flagsSubsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)
init_orderOrder of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.
initializedThis var is set to TRUE after the subsystem has been initialized.
last_fireLast world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])
nameName of the subsystem - you must change this
next_fireScheduled world.time for next fire()
paused_tick_usageTracks how much of a tick the subsystem has consumed in the current run
paused_ticksTracks how many fires the subsystem has consecutively paused on in the current run
postponed_firesHow many fires have we been requested to postpone
priorityPriority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems
queue_nextNext subsystem in the queue of subsystems to run this tick
queue_prevPrevious subsystem in the queue of subsystems to run this tick
queued_priorityPriority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.
queued_timeTime the subsystem entered the queue, (for timing and priority reasons)
runlevelsBitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.
stateTracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping
tick_overrunRunning average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing
tick_usageRunning average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run
ticksTracks how many fires the subsystem takes to complete a run on average.
times_firedTracks the amount of completed runs for the subsystem
waitTime to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Procs

OnConfigLoadCalled after the config has been loaded or reloaded.
PreInitdatum/controller/subsystem/New()
postponeCauses the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)
update_nextfire

Var Details

can_fire

Set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later +use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to list that is checked every tick

cost

Running average of the amount of milliseconds it takes the subsystem to complete a run (including all resumes but not the time spent paused)

failure_strikes

How many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!

flags

Subsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)

init_order

Order of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.

initialized

This var is set to TRUE after the subsystem has been initialized.

last_fire

Last world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])

name

Name of the subsystem - you must change this

next_fire

Scheduled world.time for next fire()

paused_tick_usage

Tracks how much of a tick the subsystem has consumed in the current run

paused_ticks

Tracks how many fires the subsystem has consecutively paused on in the current run

postponed_fires

How many fires have we been requested to postpone

priority

Priority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems

queue_next

Next subsystem in the queue of subsystems to run this tick

queue_prev

Previous subsystem in the queue of subsystems to run this tick

queued_priority

Priority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.

queued_time

Time the subsystem entered the queue, (for timing and priority reasons)

runlevels

Bitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.

state

Tracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping

tick_overrun

Running average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing

tick_usage

Running average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run

ticks

Tracks how many fires the subsystem takes to complete a run on average.

times_fired

Tracks the amount of completed runs for the subsystem

wait

Time to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Proc Details

OnConfigLoad

Called after the config has been loaded or reloaded.

PreInit

datum/controller/subsystem/New()

postpone

Causes the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)

update_nextfire

\ No newline at end of file diff --git a/datum/controller/subsystem/achievements.html b/datum/controller/subsystem/achievements.html new file mode 100644 index 000000000000..adef759d2b2b --- /dev/null +++ b/datum/controller/subsystem/achievements.html @@ -0,0 +1 @@ +/datum/controller/subsystem/achievements - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

achievements

Vars

achievementsList of achievements
awardsList of all awards
scoresList of scores

Var Details

achievements

List of achievements

awards

List of all awards

scores

List of scores

\ No newline at end of file diff --git a/datum/controller/subsystem/atoms.html b/datum/controller/subsystem/atoms.html new file mode 100644 index 000000000000..63f9d4d1fb9a --- /dev/null +++ b/datum/controller/subsystem/atoms.html @@ -0,0 +1 @@ +/datum/controller/subsystem/atoms - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

atoms

Vars

queued_deletionsAtoms that will be deleted once the subsystem is initialized

Procs

InitAtomInit this specific atom
prepare_deletionPrepares an atom to be deleted once the atoms SS is initialized.

Var Details

queued_deletions

Atoms that will be deleted once the subsystem is initialized

Proc Details

InitAtom

Init this specific atom

prepare_deletion

Prepares an atom to be deleted once the atoms SS is initialized.

\ No newline at end of file diff --git a/datum/controller/subsystem/communications.html b/datum/controller/subsystem/communications.html new file mode 100644 index 000000000000..d2f277b9ff23 --- /dev/null +++ b/datum/controller/subsystem/communications.html @@ -0,0 +1,14 @@ +/datum/controller/subsystem/communications - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

communications

Procs

can_make_emergency_meetingCheck if a mob can call an emergency meeting
emergency_meetingCall an emergency meeting

Proc Details

can_make_emergency_meeting

Check if a mob can call an emergency meeting

+

Should only really happen during april fools. +Checks to see that it's been at least 5 minutes since the last emergency meeting call. +Arguments:

+

emergency_meeting

Call an emergency meeting

+

Communications subsystem wrapper for the call_emergency_meeting world proc. +Checks to make sure the proc can be called, and handles +relevant logging and timing. See that proc definition for more detail. +Arguments:

+
\ No newline at end of file diff --git a/datum/controller/subsystem/discord.html b/datum/controller/subsystem/discord.html new file mode 100644 index 000000000000..208390b4d261 --- /dev/null +++ b/datum/controller/subsystem/discord.html @@ -0,0 +1,61 @@ +/datum/controller/subsystem/discord - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

discord

Vars

common_wordsCommon words list, used to generate one time tokens
enabledIs TGS enabled (If not we won't fire because otherwise this is useless)
notify_fileThe file where notification status is saved
notify_membersPeople to save to notify file
notify_members_cacheCopy of previous list, so the SS doesnt have to fire if no new members have been added
people_to_notifyPeople to notify on roundstart
reverify_cachePeople who have tried to verify this round already

Procs

check_loginCheck if an account is linked for login
delete_nullsDelete NULL discord IDs in the database
find_discord_link_by_ckeyFind discord link entry by the passed in user ckey
find_discord_link_by_discord_idFind discord link entry by the passed in user ckey
find_discord_link_by_tokenFind discord link entry by the passed in user token
generate_one_time_tokenGenerate a timebound token for discord verification
lookup_ckeyGiven a discord id as a string, look up the ckey attached to that account, if any
lookup_idGiven a ckey, look up the discord user id attached to the user, if any

Var Details

common_words

Common words list, used to generate one time tokens

enabled

Is TGS enabled (If not we won't fire because otherwise this is useless)

notify_file

The file where notification status is saved

notify_members

People to save to notify file

notify_members_cache

Copy of previous list, so the SS doesnt have to fire if no new members have been added

people_to_notify

People to notify on roundstart

reverify_cache

People who have tried to verify this round already

Proc Details

check_login

Check if an account is linked for login

+

This will look for a valid discord link for the new player's ckey. Defaults to TRUE if the server isn't configured for discord verification

+

It better be called with ?. in case the subsystem is still Initializing

+

Arguments:

+ +

Returns TRUE or FALSE

delete_nulls

Delete NULL discord IDs in the database

+

This will look for rows where discord_id is NULL and delete them.

+

Hopefully will help fix the errors where people verify but are unable to enter the game

Find discord link entry by the passed in user ckey

+

This will look into the discord link table and return the first entry that matches the given ckey

+

Remember, multiple entries can exist

+

Arguments:

+ +

Returns a /datum/discord_link_record

Find discord link entry by the passed in user ckey

+

This will look into the discord link table and return the first entry that matches the given ckey

+

Remember, multiple entries can exist

+

Arguments:

+ +

Returns a /datum/discord_link_record

Find discord link entry by the passed in user token

+

This will look into the discord link table and return the first entry that matches the given one time token

+

Remember, multiple entries can exist, as they are only guaranteed to be unique for their validity period

+

Arguments:

+ +

Returns a /datum/discord_link_record

generate_one_time_token

Generate a timebound token for discord verification

+

This uses the common word list to generate a six word random token, this token can then be fed to a discord bot that has access +to the same database, and it can use it to link a ckey to a discord id, with minimal user effort

+

It returns the token to the calling proc, after inserting an entry into the discord_link table of the following form

+
(unique_id, ckey, null, the current time, the one time token generated)
+the null value will be filled out with the discord id by the integrated discord bot when a user verifies
+
+

Notes:

+ +

Arguments:

+ +

Returns a string representing the one time token

lookup_ckey

Given a discord id as a string, look up the ckey attached to that account, if any

+

This gets the most recent entry from the discord_link table that is associated with this discord id snowflake

+

Arguments:

+

lookup_id

Given a ckey, look up the discord user id attached to the user, if any

+

This gets the most recent entry from the discord link table that is associated with the given ckey

+

Arguments:

+
\ 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 000000000000..5baac755842b --- /dev/null +++ b/datum/controller/subsystem/economy.html @@ -0,0 +1,3 @@ +/datum/controller/subsystem/economy - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

economy

Vars

bounty_modifierThe modifier multiplied to the value of bounties paid out.
export_totalContains the message to send to newscasters about earnings, updated on price_update() +Total value of exported materials.
import_totalTotal value of imported goods.
mail_waitingNumber of mail items generated.
pack_price_modifierThe modifier multiplied to the value of cargo pack prices.

Var Details

bounty_modifier

The modifier multiplied to the value of bounties paid out.

export_total

Contains the message to send to newscasters about earnings, updated on price_update() +Total value of exported materials.

import_total

Total value of imported goods.

mail_waiting

Number of mail items generated.

pack_price_modifier

The modifier multiplied to the value of cargo pack prices.

\ 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 000000000000..42a57c1d1621 --- /dev/null +++ b/datum/controller/subsystem/input.html @@ -0,0 +1 @@ +/datum/controller/subsystem/input - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

input

Vars

all_macrosetsKEEP THIS UP TO DATE!
hotkey_mode_macrosMacro set for hotkeys
input_mode_macrosMacro set for classic.
macroset_classic_hotkeyClassic mode map focused macro set. Manually set because it needs to be clientside and go to macroset_classic_input.
macroset_classic_inputClassic mode input focused macro set. Manually set because we can't define ANY or ANY+UP for classic.
macroset_hotkeyNew hotkey mode macro set. All input goes into map, game keeps incessently setting your focus to map, we can use ANY all we want here; we don't care about the input bar, the user has to force the input bar every time they want to type.

Procs

setup_macrosetsSets up the key list for classic mode for when badmins screw up vv's.

Var Details

all_macrosets

KEEP THIS UP TO DATE!

hotkey_mode_macros

Macro set for hotkeys

input_mode_macros

Macro set for classic.

macroset_classic_hotkey

Classic mode map focused macro set. Manually set because it needs to be clientside and go to macroset_classic_input.

macroset_classic_input

Classic mode input focused macro set. Manually set because we can't define ANY or ANY+UP for classic.

macroset_hotkey

New hotkey mode macro set. All input goes into map, game keeps incessently setting your focus to map, we can use ANY all we want here; we don't care about the input bar, the user has to force the input bar every time they want to type.

Proc Details

setup_macrosets

Sets up the key list for classic mode for when badmins screw up vv's.

\ No newline at end of file diff --git a/datum/controller/subsystem/interactions.html b/datum/controller/subsystem/interactions.html new file mode 100644 index 000000000000..1b2bc85c060f --- /dev/null +++ b/datum/controller/subsystem/interactions.html @@ -0,0 +1 @@ +/datum/controller/subsystem/interactions - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

interactions

Procs

prepare_blacklisted_mobsBlacklisting!
prepare_interactionsMakes the interactions, they're also a global list because having it as a list and just hanging around there is stupid

Proc Details

prepare_blacklisted_mobs

Blacklisting!

prepare_interactions

Makes the interactions, they're also a global list because having it as a list and just hanging around there is stupid

\ No newline at end of file diff --git a/datum/controller/subsystem/job.html b/datum/controller/subsystem/job.html new file mode 100644 index 000000000000..271ea63651ae --- /dev/null +++ b/datum/controller/subsystem/job.html @@ -0,0 +1,5 @@ +/datum/controller/subsystem/job - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

job

Vars

real_job_nameStores an associative list of job name -> its "real" counterpart. Built to handle alt titles

Procs

DivideOccupations
get_valid_overflow_jobsReturns a list of jobs that we are allowed to fuck with during random events

Var Details

real_job_name

Stores an associative list of job name -> its "real" counterpart. Built to handle alt titles

Proc Details

DivideOccupations

get_valid_overflow_jobs

Returns a list of jobs that we are allowed to fuck with during random events

\ No newline at end of file diff --git a/datum/controller/subsystem/jukeboxes.html b/datum/controller/subsystem/jukeboxes.html new file mode 100644 index 000000000000..55329cc1d5ce --- /dev/null +++ b/datum/controller/subsystem/jukeboxes.html @@ -0,0 +1 @@ +/datum/controller/subsystem/jukeboxes - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

jukeboxes

Procs

init_channelsCreates audio channels for jukeboxes to use, run first to prevent init failing to fill this

Proc Details

init_channels

Creates audio channels for jukeboxes to use, run first to prevent init failing to fill this

\ 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 000000000000..51ee95b901c3 --- /dev/null +++ b/datum/controller/subsystem/mapping.html @@ -0,0 +1,3 @@ +/datum/controller/subsystem/mapping - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mapping

Vars

biomesAll possible biomes in assoc list as type || instance
obfuscation_next_idnext id for separating obfuscated ids.
obfuscation_secret"secret" key
random_generated_ids_by_originalLookup list for random generated IDs.
z_to_station_z_indexLookup for zlevel to station z. text = num.

Procs

get_obfuscated_idGenerates an obfuscated but constant id for an original id for cases where you don't want players codediving for an id. +WARNING: MAKE SURE PLAYERS ARE NOT ABLE TO ACCESS THIS. To save performance, it's just secret + an incrementing number. Very guessable if you know what the secret is.
get_station_centerPrefer not to use this one too often
get_turf_aboveAttempt to get the turf above the provided one according to Z traits
get_turf_belowAttempt to get the turf below the provided one according to Z traits
initialize_biomesInitialize all biomes, assoc as type || instance
level_has_all_traitsCheck if levels[z] has all of the specified traits
level_has_any_traitCheck if levels[z] has any of the specified traits
level_traitLook up levels[z].traits[trait]
levels_by_any_traitGet a list of all z which have any of the specified traits
levels_by_traitGet a list of all z which have the specified trait

Var Details

biomes

All possible biomes in assoc list as type || instance

obfuscation_next_id

next id for separating obfuscated ids.

obfuscation_secret

"secret" key

random_generated_ids_by_original

Lookup list for random generated IDs.

z_to_station_z_index

Lookup for zlevel to station z. text = num.

Proc Details

get_obfuscated_id

Generates an obfuscated but constant id for an original id for cases where you don't want players codediving for an id. +WARNING: MAKE SURE PLAYERS ARE NOT ABLE TO ACCESS THIS. To save performance, it's just secret + an incrementing number. Very guessable if you know what the secret is.

get_station_center

Prefer not to use this one too often

get_turf_above

Attempt to get the turf above the provided one according to Z traits

get_turf_below

Attempt to get the turf below the provided one according to Z traits

initialize_biomes

Initialize all biomes, assoc as type || instance

level_has_all_traits

Check if levels[z] has all of the specified traits

level_has_any_trait

Check if levels[z] has any of the specified traits

level_trait

Look up levels[z].traits[trait]

levels_by_any_trait

Get a list of all z which have any of the specified traits

levels_by_trait

Get a list of all z which have the specified trait

\ No newline at end of file diff --git a/datum/controller/subsystem/materials.html b/datum/controller/subsystem/materials.html new file mode 100644 index 000000000000..29bd0fb54cfd --- /dev/null +++ b/datum/controller/subsystem/materials.html @@ -0,0 +1 @@ +/datum/controller/subsystem/materials - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

materials

Vars

base_stack_recipesList of stackcrafting recipes for materials using base recipes
material_combosA cache of all material combinations that have been used
materialsDictionary of material.type || material ref
materials_by_categoryDictionary of category || list of material refs
materialtypes_by_categoryDictionary of category || list of material types, mostly used by rnd machines like autolathes.
rigid_stack_recipesList of stackcrafting recipes for materials using rigid recipes

Procs

FindOrCreateMaterialComboReturns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.
InitializeMaterialsRan on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)

Var Details

base_stack_recipes

List of stackcrafting recipes for materials using base recipes

material_combos

A cache of all material combinations that have been used

materials

Dictionary of material.type || material ref

materials_by_category

Dictionary of category || list of material refs

materialtypes_by_category

Dictionary of category || list of material types, mostly used by rnd machines like autolathes.

rigid_stack_recipes

List of stackcrafting recipes for materials using rigid recipes

Proc Details

FindOrCreateMaterialCombo

Returns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.

InitializeMaterials

Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)

\ No newline at end of file diff --git a/datum/controller/subsystem/min_spawns.html b/datum/controller/subsystem/min_spawns.html new file mode 100644 index 000000000000..5ffa0aa87f21 --- /dev/null +++ b/datum/controller/subsystem/min_spawns.html @@ -0,0 +1 @@ +/datum/controller/subsystem/min_spawns - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

min_spawns

Vars

init_orderthis hot steaming pile of garbage makes sure theres a minimum of tendrils scattered around

Var Details

init_order

this hot steaming pile of garbage makes sure theres a minimum of tendrils scattered around

\ No newline at end of file diff --git a/datum/controller/subsystem/npcpool.html b/datum/controller/subsystem/npcpool.html new file mode 100644 index 000000000000..db54139a5864 --- /dev/null +++ b/datum/controller/subsystem/npcpool.html @@ -0,0 +1 @@ +/datum/controller/subsystem/npcpool - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

npcpool

Vars

invoke_startInvoke start time
invokingcatches sleeping

Var Details

invoke_start

Invoke start time

invoking

catches sleeping

\ No newline at end of file diff --git a/datum/controller/subsystem/parallax.html b/datum/controller/subsystem/parallax.html new file mode 100644 index 000000000000..931ec820afe3 --- /dev/null +++ b/datum/controller/subsystem/parallax.html @@ -0,0 +1,5 @@ +/datum/controller/subsystem/parallax - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

parallax

Procs

get_parallax_datumGets parallax for zlevel.
get_parallax_motionGets parallax motion for a zlevel
get_parallax_typeGets parallax type for zlevel.
get_parallax_vis_contentsGets parallax added vis contents for zlevel
reset_clients_on_zresets all parallax for clients on a z
update_clients_on_zupdates all parallax for clients on a z
update_z_motionupdates motion of all clients on z

Proc Details

get_parallax_datum

Gets parallax for zlevel.

get_parallax_motion

Gets parallax motion for a zlevel

+

Returns null or list(speed, dir deg clockwise from north, windup, turnrate) +THE RETURNED LIST MUST BE A 4-TUPLE, OR PARALLAX WILL CRASH. +DO NOT SCREW WITH THIS UNLESS YOU KNOW WHAT YOU ARE DOING.

+

This will override area motion

get_parallax_type

Gets parallax type for zlevel.

get_parallax_vis_contents

Gets parallax added vis contents for zlevel

reset_clients_on_z

resets all parallax for clients on a z

update_clients_on_z

updates all parallax for clients on a z

update_z_motion

updates motion of all clients on z

\ No newline at end of file diff --git a/datum/controller/subsystem/persistence.html b/datum/controller/subsystem/persistence.html new file mode 100644 index 000000000000..74d87453ddb7 --- /dev/null +++ b/datum/controller/subsystem/persistence.html @@ -0,0 +1,4 @@ +/datum/controller/subsystem/persistence - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

persistence

Persistence for cleanable debris.

+

Stores recently played gamemodes, maps, etc.

+

Secret satchel persistence - allows storing of items in underfloor satchels that's loaded later.

+

Stores trophies in curator display cases

Vars

loaded_debristracks if we already loaded debris. Unlike everything else, this can actually be a major problem if some badmin procs it twice.
station_persistence_save_disabledMarks if persistence save should be disabled
station_was_destroyedMarks if the station got horribly destroyed

Procs

get_map_persistence_pathGets the persistence path of the current map.

Var Details

loaded_debris

tracks if we already loaded debris. Unlike everything else, this can actually be a major problem if some badmin procs it twice.

station_persistence_save_disabled

Marks if persistence save should be disabled

station_was_destroyed

Marks if the station got horribly destroyed

Proc Details

get_map_persistence_path

Gets the persistence path of the current map.

\ 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 000000000000..bec17eea0c79 --- /dev/null +++ b/datum/controller/subsystem/processing/dcs.html @@ -0,0 +1,7 @@ +/datum/controller/subsystem/processing/dcs - SPLURT Station 13
SPLURT 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

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

\ 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 000000000000..e868776aa827 --- /dev/null +++ b/datum/controller/subsystem/processing/instruments.html @@ -0,0 +1 @@ +/datum/controller/subsystem/processing/instruments - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

instruments

Vars

current_instrument_channelsCurrent number of channels allocated for instruments
instrument_dataList of all instrument data, associative id = datum
max_instrument_channelsMaximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.
musician_hearcheck_mindelayDeciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.
musician_maxlinecharsMax characters per line in songs
musician_maxlinesMax lines in songs
songsList of all song datums.
synthesizer_instrument_idsSingle cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.

Var Details

current_instrument_channels

Current number of channels allocated for instruments

instrument_data

List of all instrument data, associative id = datum

max_instrument_channels

Maximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.

musician_hearcheck_mindelay

Deciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.

musician_maxlinechars

Max characters per line in songs

musician_maxlines

Max lines in songs

songs

List of all song datums.

synthesizer_instrument_ids

Single cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.

\ 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 000000000000..27a308a3653e --- /dev/null +++ b/datum/controller/subsystem/processing/station.html @@ -0,0 +1 @@ +/datum/controller/subsystem/processing/station - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

station

Vars

announcerCurrently active announcer. Starts as a type but gets initialized after traits are selected
selectable_traits_by_typesAssoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.
station_traitsA list of currently active station traits

Procs

pick_traitsPicks traits of a specific category (e.g. bad or good) and a specified amount, then initializes them and adds them to the list of traits.
setup_traitCreates a given trait of a specific type, while also removing any blacklisted ones from the future pool.

Var Details

announcer

Currently active announcer. Starts as a type but gets initialized after traits are selected

selectable_traits_by_types

Assoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.

station_traits

A list of currently active station traits

Proc Details

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/research.html b/datum/controller/subsystem/research.html new file mode 100644 index 000000000000..a0dcd26a8e2d --- /dev/null +++ b/datum/controller/subsystem/research.html @@ -0,0 +1 @@ +/datum/controller/subsystem/research - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

research

Vars

anomaly_hard_limit_by_typeThe hard limits of cores created for each anomaly type. For faster code lookup without switch statements.
created_anomaly_typesThe global list of raw anomaly types that have been refined, for hard limits.

Var Details

anomaly_hard_limit_by_type

The hard limits of cores created for each anomaly type. For faster code lookup without switch statements.

created_anomaly_types

The global list of raw anomaly types that have been refined, for hard limits.

\ No newline at end of file diff --git a/datum/controller/subsystem/runechat.html b/datum/controller/subsystem/runechat.html new file mode 100644 index 000000000000..2efe4f11b5ad --- /dev/null +++ b/datum/controller/subsystem/runechat.html @@ -0,0 +1 @@ +/datum/controller/subsystem/runechat - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

runechat

Vars

bucket_countHow many messages are in the buckets
bucket_listList of buckets, each bucket holds every message that has to be killed that byond tick
bucket_resolutionworld.tick_lag the bucket was designed for
head_offsetworld.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
practical_offsetIndex of the first non-empty bucket
second_queueQueue used for storing messages that are scheduled for deletion too far in the future for the buckets

Var Details

bucket_count

How many messages are in the buckets

bucket_list

List of buckets, each bucket holds every message that has to be killed that byond tick

bucket_resolution

world.tick_lag the bucket was designed for

head_offset

world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets

practical_offset

Index of the first non-empty bucket

second_queue

Queue used for storing messages that are scheduled for deletion too far in the future for the buckets

\ 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 000000000000..e09935a20e03 --- /dev/null +++ b/datum/controller/subsystem/security_level.html @@ -0,0 +1,6 @@ +/datum/controller/subsystem/security_level - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

security_level

Procs

set_levelSets a new security level as our current level

Proc Details

set_level

Sets a new security level as our current level

+

This is how everything should change the security level.

+

Arguments:

+
\ 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 000000000000..cecaa55f9a8e --- /dev/null +++ b/datum/controller/subsystem/shuttle.html @@ -0,0 +1,3 @@ +/datum/controller/subsystem/shuttle - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

shuttle

Procs

canEvacCheck if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.

Proc Details

canEvac

Check if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.

\ 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 000000000000..cdb27d54fde2 --- /dev/null +++ b/datum/controller/subsystem/sounds.html @@ -0,0 +1 @@ +/datum/controller/subsystem/sounds - SPLURT Station 13
SPLURT 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. Returns an integer for channel.
reserve_sound_channel_datumlessNO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.

Var Details

channel_list

List of all channels as numbers

channel_random_low

lower iteration position - Incremented and looped to get "random" sound channels for normal sounds. The channel at this index is returned when asking for a random channel.

channel_reserve_high

higher reserve position - decremented and incremented to reserve sound channels, anything above this is reserved. The channel at this index is the highest unreserved channel.

random_channels_min

Amount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.

reserved_channels

Associative list of all reserved channels associated to their position. "[channel_number]" = index as number

using_channels

Assoc list, "[channel]" = either the datum using it or TRUE for an unsafe-reserved (datumless reservation) channel

using_channels_by_datum

Assoc list datum = list(channel1, channel2, ...) for what channels something reserved.

Proc Details

available_channels_left

How many channels we have left.

free_channel

Frees a channel and updates the datastructure. Private proc.

free_datum_channels

Frees all the channels a datum is using.

free_datumless_channels

Frees all datumless channels

free_sound_channel

Removes a channel from using list.

random_available_channel

Random available channel, returns number

random_available_channel_text

Random available channel, returns text.

reserve_channel

Reserves a channel and updates the datastructure. Private proc.

reserve_sound_channel

Reserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.

reserve_sound_channel_datumless

NO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.

\ No newline at end of file diff --git a/datum/controller/subsystem/sun.html b/datum/controller/subsystem/sun.html new file mode 100644 index 000000000000..109c0d7a5f99 --- /dev/null +++ b/datum/controller/subsystem/sun.html @@ -0,0 +1 @@ +/datum/controller/subsystem/sun - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

sun

Vars

base_rotationmultiplier against base_rotation

Procs

Initializebase rotation in degrees per fire

Var Details

base_rotation

multiplier against base_rotation

Proc Details

Initialize

base rotation in degrees per fire

\ 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 000000000000..945a74805851 --- /dev/null +++ b/datum/controller/subsystem/tgui.html @@ -0,0 +1,49 @@ +/datum/controller/subsystem/tgui - SPLURT Station 13
SPLURT 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_all_open_uispublic
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_all_open_uis

public

+

Gets all open UIs on a src object

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/ticker.html b/datum/controller/subsystem/ticker.html new file mode 100644 index 000000000000..fff67a8601d8 --- /dev/null +++ b/datum/controller/subsystem/ticker.html @@ -0,0 +1,6 @@ +/datum/controller/subsystem/ticker - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

ticker

Vars

emergency_swapIf the gamemode fails to be run too many times, we swap to a preset gamemode, this should give admins time to set their preferred one

Procs

HandleRandomHardcoreScoreHandles random hardcore point rewarding if it applies.
hardcore_random_reportGenerate a report for all players who made it out alive with a hardcore random character and prints their final score
log_roundend_reportLog the round-end report as an HTML file
market_reportGenerate a report for how much money is on station, as well as the richest crewmember on the station.

Var Details

emergency_swap

If the gamemode fails to be run too many times, we swap to a preset gamemode, this should give admins time to set their preferred one

Proc Details

HandleRandomHardcoreScore

Handles random hardcore point rewarding if it applies.

hardcore_random_report

Generate a report for all players who made it out alive with a hardcore random character and prints their final score

log_roundend_report

Log the round-end report as an HTML file

+

Composits the roundend report, and saves it in two locations. +The report is first saved along with the round's logs +Then, the report is copied to a fixed directory specifically for +housing the server's last roundend report. In this location, +the file will be overwritten at the end of each shift.

market_report

Generate a report for how much money is on station, as well as the richest crewmember on the station.

\ 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 000000000000..2f246df7888d --- /dev/null +++ b/datum/controller/subsystem/timer.html @@ -0,0 +1 @@ +/datum/controller/subsystem/timer - SPLURT Station 13
SPLURT 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_resolutionworld.tick_lag the bucket was designed for
clienttime_timersSpecial timers that run in real-time, not BYOND time; these are more expensive to run and maintain
hashesA hashlist dictionary used for storing unique timers
head_offsetworld.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
last_invoke_tickContains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed
last_invoke_warningContains the last time that a warning was issued for not invoking callbacks
practical_offsetIndex of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.
second_queueQueue used for storing timers that do not fit into the current buckets
timer_id_dictList of all active timers associated to their timer ID (for easy lookup)

Procs

get_timer_debug_stringGenerates a string with details about the timed event for debugging purposes
reset_bucketsDestroys the existing buckets and creates new buckets from the existing timed events

Var Details

bucket_auto_reset

Boolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time

bucket_count

How many timers are in the buckets

bucket_list

List of buckets, each bucket holds every timer that has to run that byond tick

bucket_resolution

world.tick_lag the bucket was designed for

clienttime_timers

Special timers that run in real-time, not BYOND time; these are more expensive to run and maintain

hashes

A hashlist dictionary used for storing unique timers

head_offset

world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets

last_invoke_tick

Contains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed

last_invoke_warning

Contains the last time that a warning was issued for not invoking callbacks

practical_offset

Index of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.

second_queue

Queue used for storing timers that do not fit into the current buckets

timer_id_dict

List of all active timers associated to their timer ID (for easy lookup)

Proc Details

get_timer_debug_string

Generates a string with details about the timed event for debugging purposes

reset_buckets

Destroys the existing buckets and creates new buckets from the existing timed events

\ 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 000000000000..f4ea47e92398 --- /dev/null +++ b/datum/controller/subsystem/vote.html @@ -0,0 +1,3 @@ +/datum/controller/subsystem/vote - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

vote

Vars

choice_statclicksList of choice = object for statclick objects for statpanel voting +statclick rework? 2: list("name"="id")

Var Details

choice_statclicks

List of choice = object for statclick objects for statpanel voting +statclick rework? 2: list("name"="id")

\ No newline at end of file diff --git a/datum/crafting_recipe.html b/datum/crafting_recipe.html new file mode 100644 index 000000000000..7b073a238611 --- /dev/null +++ b/datum/crafting_recipe.html @@ -0,0 +1,3 @@ +/datum/crafting_recipe - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

crafting_recipe

Procs

check_requirementsRun custom pre-craft checks for this recipe

Proc Details

check_requirements

Run custom pre-craft checks for this recipe

+

user: The /mob that initiated the crafting +collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path.

\ No newline at end of file diff --git a/datum/crafting_recipe/bloodsucker/blackcoffin.html b/datum/crafting_recipe/bloodsucker/blackcoffin.html new file mode 100644 index 000000000000..e47d87803172 --- /dev/null +++ b/datum/crafting_recipe/bloodsucker/blackcoffin.html @@ -0,0 +1,3 @@ +/datum/crafting_recipe/bloodsucker/blackcoffin - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

blackcoffin

Vars

timeobj/item/stack/packageWrap = 8, +obj/item/pipe = 2)

Var Details

time

obj/item/stack/packageWrap = 8, +obj/item/pipe = 2)

\ No newline at end of file diff --git a/datum/crafting_recipe/silver_stake.html b/datum/crafting_recipe/silver_stake.html new file mode 100644 index 000000000000..312b2da7c94c --- /dev/null +++ b/datum/crafting_recipe/silver_stake.html @@ -0,0 +1,3 @@ +/datum/crafting_recipe/silver_stake - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

silver_stake

Vars

timeobj/item/stack/packageWrap = 8, +obj/item/pipe = 2)

Var Details

time

obj/item/stack/packageWrap = 8, +obj/item/pipe = 2)

\ 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 000000000000..a4b5ed23188d --- /dev/null +++ b/datum/data/vending_product.html @@ -0,0 +1 @@ +/datum/data/vending_product - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

vending record datum

A datum that represents a product that is vendable

Vars

age_restrictedWhether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item
amountHow many of this product we currently have
colorableWhether the product can be recolored by the GAGS system
custom_premium_priceDoes the item have a custom premium price override
custom_priceDoes the item have a custom price override
max_amountHow many we can store at maximum
product_pathTypepath of the product that is created when this record "sells"

Var Details

age_restricted

Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item

amount

How many of this product we currently have

colorable

Whether the product can be recolored by the GAGS system

custom_premium_price

Does the item have a custom premium price override

custom_price

Does the item have a custom price override

max_amount

How many we can store at maximum

product_path

Typepath of the product that is created when this record "sells"

\ No newline at end of file diff --git a/datum/datacore.html b/datum/datacore.html new file mode 100644 index 000000000000..2237fca3d751 --- /dev/null +++ b/datum/datacore.html @@ -0,0 +1 @@ +/datum/datacore - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

datacore

Vars

lockedThis list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().

Var Details

locked

This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().

\ No newline at end of file diff --git a/datum/design.html b/datum/design.html new file mode 100644 index 000000000000..3da9c65039b4 --- /dev/null +++ b/datum/design.html @@ -0,0 +1,3 @@ +/datum/design - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

design

				Design Datums
+
+

All the data for building stuff.

Vars

min_security_levelminimum and security levels the design can be printed on. Currently only available for rnd production machinery and mechfab.

Var Details

min_security_level

minimum and security levels the design can be printed on. Currently only available for rnd production machinery and mechfab.

\ No newline at end of file diff --git a/datum/design/apc_board.html b/datum/design/apc_board.html new file mode 100644 index 000000000000..bd61325adfd6 --- /dev/null +++ b/datum/design/apc_board.html @@ -0,0 +1,2 @@ +/datum/design/apc_board - SPLURT Station 13
SPLURT Station 13 - Modules - Types

apc_board

///////Autolathe Designs /////

+

Electronics

\ No newline at end of file diff --git a/datum/design/beanbag_slug.html b/datum/design/beanbag_slug.html new file mode 100644 index 000000000000..335c2c19a484 --- /dev/null +++ b/datum/design/beanbag_slug.html @@ -0,0 +1,2 @@ +/datum/design/beanbag_slug - SPLURT Station 13
SPLURT Station 13 - Modules - Types

beanbag_slug

//////Autolathe Designs /////

+

Secgear

\ No newline at end of file diff --git a/datum/design/bucket.html b/datum/design/bucket.html new file mode 100644 index 000000000000..d0e8b4b338d9 --- /dev/null +++ b/datum/design/bucket.html @@ -0,0 +1,2 @@ +/datum/design/bucket - SPLURT Station 13
SPLURT Station 13 - Modules - Types

bucket

//////Autolathe Designs//////

+

Tools

\ No newline at end of file diff --git a/datum/design/kitchen_knife.html b/datum/design/kitchen_knife.html new file mode 100644 index 000000000000..fd1286e32159 --- /dev/null +++ b/datum/design/kitchen_knife.html @@ -0,0 +1,2 @@ +/datum/design/kitchen_knife - SPLURT Station 13
SPLURT Station 13 - Modules - Types

kitchen_knife

//////Autolathe Designs /////

+

Dinnerware

\ No newline at end of file diff --git a/datum/design/rods.html b/datum/design/rods.html new file mode 100644 index 000000000000..2c1129d6d276 --- /dev/null +++ b/datum/design/rods.html @@ -0,0 +1,2 @@ +/datum/design/rods - SPLURT Station 13
SPLURT Station 13 - Modules - Types

rods

///////Autolathe Designs/////

+

Construction

\ No newline at end of file diff --git a/datum/design/signaler.html b/datum/design/signaler.html new file mode 100644 index 000000000000..b0018f236ef9 --- /dev/null +++ b/datum/design/signaler.html @@ -0,0 +1,2 @@ +/datum/design/signaler - SPLURT Station 13
SPLURT Station 13 - Modules - Types

signaler

//////Autolathe Designs /////

+

T-Comms

\ No newline at end of file diff --git a/datum/discord_link_record.html b/datum/discord_link_record.html new file mode 100644 index 000000000000..bc2162b49d34 --- /dev/null +++ b/datum/discord_link_record.html @@ -0,0 +1,11 @@ +/datum/discord_link_record - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

discord_link_record

Represents a record from the discord link table in a nicer format

Procs

NewGenerate a discord link datum from the values

Proc Details

New

Generate a discord link datum from the values

+

This is only used by SSdiscord wrapper functions for now, so you can reference the fields +slightly easier

+

Arguments:

+
\ No newline at end of file diff --git a/datum/ductnet.html b/datum/ductnet.html new file mode 100644 index 000000000000..7557a38a2cfb --- /dev/null +++ b/datum/ductnet.html @@ -0,0 +1 @@ +/datum/ductnet - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

ductnet

We handle the unity part of plumbing. We track who is connected to who.

Procs

add_ductAdd a duct to our network
add_plumberadd a plumbing object to either demanders or suppliers
assimilatewe combine ductnets. this occurs when someone connects to seperate sets of fluid ducts
destroy_networkdestroy the network and tell all our ducts and plumbers we are gone
remove_ductRemove a duct from our network and commit suicide, because this is probably easier than to check who that duct was connected to and what part of us was lost
remove_plumberremove a plumber. we dont delete ourselves because ductnets dont persist through plumbing objects

Proc Details

add_duct

Add a duct to our network

add_plumber

add a plumbing object to either demanders or suppliers

assimilate

we combine ductnets. this occurs when someone connects to seperate sets of fluid ducts

destroy_network

destroy the network and tell all our ducts and plumbers we are gone

remove_duct

Remove a duct from our network and commit suicide, because this is probably easier than to check who that duct was connected to and what part of us was lost

remove_plumber

remove a plumber. we dont delete ourselves because ductnets dont persist through plumbing objects

\ No newline at end of file diff --git a/datum/dynamic_ruleset.html b/datum/dynamic_ruleset.html new file mode 100644 index 000000000000..41d1c98b67b1 --- /dev/null +++ b/datum/dynamic_ruleset.html @@ -0,0 +1,43 @@ +/datum/dynamic_ruleset - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

dynamic_ruleset

Vars

antag_capJudges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).
antag_datumThe antagonist datum that is assigned to the mobs mind on ruleset execution.
antag_flagPreferences flag such as ROLE_WIZARD that need to be turned on for players to be antag
antag_flag_overrideIf a role is to be considered another for the purpose of banning.
assignedList of players that were selected for this rule
base_probBase probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)
blocking_rulesIf a ruleset type which is in this list has been executed, then the ruleset will not be executed.
candidatesList of players that are being drafted for this rule
costThreat cost for this rule, this is decreased from the mode's threat when the rule is executed.
delayDelay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.
enemy_rolesIf set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
exclusive_rolesIf set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.
flagsA flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.
indice_popCalculated during acceptable(), used in scaling and team sizes.
maximum_playersThe maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.
minimum_playersThe minimum amount of players required for the rule to be considered.
minimum_required_ageThe required minimum account age for this ruleset.
modeReference to the mode, use this instead of SSticker.mode.
nameFor admin logging and round end screen.
persistentIf set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.
pop_per_requirementPop range per requirement. If zero defaults to mode's pop_per_requirement.
protected_rolesIf set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.
repeatableIf set to TRUE, dynamic mode will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)
repeatable_weight_decreaseIf set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.
required_candidatesThe rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)
required_enemiesIf enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
requirementsRequirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.
restricted_rolesIf set, rule will deny candidates from those roles always.
ruletypeFor admin logging and round end screen, do not change this unless making a new rule type.
scaled_timesHow many times a rule has scaled up upon getting picked.
scaling_costCost per level the rule scales up.
total_costUsed for the roundend report
weight0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Procs

acceptableBy default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead
clean_upRuns from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.
executeCalled on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.
get_antag_capReturns what the antag cap with the given population is.
get_weightGets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly
pre_executeCalled on game mode pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE
readyHere you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!
round_resultSet mode result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET
rule_processThis is called if persistent variable is true everytime SSTicker ticks.
scale_upWhen picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.
trim_candidatesHere you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.

Var Details

antag_cap

Judges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).

antag_datum

The antagonist datum that is assigned to the mobs mind on ruleset execution.

antag_flag

Preferences flag such as ROLE_WIZARD that need to be turned on for players to be antag

antag_flag_override

If a role is to be considered another for the purpose of banning.

assigned

List of players that were selected for this rule

base_prob

Base probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)

blocking_rules

If a ruleset type which is in this list has been executed, then the ruleset will not be executed.

candidates

List of players that are being drafted for this rule

cost

Threat cost for this rule, this is decreased from the mode's threat when the rule is executed.

delay

Delay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.

enemy_roles

If set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

exclusive_roles

If set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.

flags

A flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.

indice_pop

Calculated during acceptable(), used in scaling and team sizes.

maximum_players

The maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.

minimum_players

The minimum amount of players required for the rule to be considered.

minimum_required_age

The required minimum account age for this ruleset.

mode

Reference to the mode, use this instead of SSticker.mode.

name

For admin logging and round end screen.

persistent

If set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.

pop_per_requirement

Pop range per requirement. If zero defaults to mode's pop_per_requirement.

protected_roles

If set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.

repeatable

If set to TRUE, dynamic mode will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)

repeatable_weight_decrease

If set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.

required_candidates

The rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)

required_enemies

If enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

requirements

Requirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.

restricted_roles

If set, rule will deny candidates from those roles always.

ruletype

For admin logging and round end screen, do not change this unless making a new rule type.

scaled_times

How many times a rule has scaled up upon getting picked.

scaling_cost

Cost per level the rule scales up.

total_cost

Used for the roundend report

weight

0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Proc Details

acceptable

By default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead

clean_up

Runs from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.

execute

Called on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.

get_antag_cap

Returns what the antag cap with the given population is.

get_weight

Gets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly

pre_execute

Called on game mode pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE

ready

Here you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!

round_result

Set mode result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET

rule_process

This is called if persistent variable is true everytime SSTicker ticks.

scale_up

When picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.

trim_candidates

Here you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.

\ No newline at end of file diff --git a/datum/dynamic_ruleset/latejoin/provocateur.html b/datum/dynamic_ruleset/latejoin/provocateur.html new file mode 100644 index 000000000000..701b0e87b945 --- /dev/null +++ b/datum/dynamic_ruleset/latejoin/provocateur.html @@ -0,0 +1 @@ +/datum/dynamic_ruleset/latejoin/provocateur - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

provocateur

Vars

revs_win_threat_injectionHow much threat should be injected when the revolution wins?

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.

Var Details

revs_win_threat_injection

How much threat should be injected when the revolution wins?

Proc Details

check_eligible

Checks for revhead loss conditions and other antag datums.

\ No newline at end of file diff --git a/datum/dynamic_ruleset/midround.html b/datum/dynamic_ruleset/midround.html new file mode 100644 index 000000000000..2fddcd15b748 --- /dev/null +++ b/datum/dynamic_ruleset/midround.html @@ -0,0 +1 @@ +/datum/dynamic_ruleset/midround - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

midround

Vars

required_typeWhat mob type the ruleset is restricted to.
restrict_ghost_rolesIf the ruleset should be restricted from ghost roles.

Var Details

required_type

What mob type the ruleset is restricted to.

restrict_ghost_roles

If the ruleset should be restricted from ghost roles.

\ No newline at end of file diff --git a/datum/dynamic_ruleset/midround/autotraitor.html b/datum/dynamic_ruleset/midround/autotraitor.html new file mode 100644 index 000000000000..3d4f6943db3f --- /dev/null +++ b/datum/dynamic_ruleset/midround/autotraitor.html @@ -0,0 +1,3 @@ +/datum/dynamic_ruleset/midround/autotraitor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

autotraitor

Vars

has_failure_chanceWhether or not this instance of sleeper agent should be randomly acceptable. +If TRUE, then this has a threat level% chance to succeed.

Var Details

has_failure_chance

Whether or not this instance of sleeper agent should be randomly acceptable. +If TRUE, then this has a threat level% chance to succeed.

\ No newline at end of file diff --git a/datum/dynamic_ruleset/midround/families.html b/datum/dynamic_ruleset/midround/families.html new file mode 100644 index 000000000000..8e4bc242f92f --- /dev/null +++ b/datum/dynamic_ruleset/midround/families.html @@ -0,0 +1 @@ +/datum/dynamic_ruleset/midround/families - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

families

Vars

handlerA reference to the handler that is used to run pre_execute(), execute(), etc..

Var Details

handler

A reference to the handler that is used to run pre_execute(), execute(), etc..

\ No newline at end of file diff --git a/datum/dynamic_ruleset/midround/from_ghosts.html b/datum/dynamic_ruleset/midround/from_ghosts.html new file mode 100644 index 000000000000..7a2a2872acd7 --- /dev/null +++ b/datum/dynamic_ruleset/midround/from_ghosts.html @@ -0,0 +1,3 @@ +/datum/dynamic_ruleset/midround/from_ghosts - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

from_ghosts

Vars

makeBodyWhether the ruleset should call generate_ruleset_body or not.
required_applicantsThe rule needs this many applicants to be properly executed.

Procs

attempt_replacementFired when there are no valid candidates. Will try to roll again in a minute.
review_applicationsHere is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().
send_applicationsThis sends a poll to ghosts if they want to be a ghost spawn from a ruleset.

Var Details

makeBody

Whether the ruleset should call generate_ruleset_body or not.

required_applicants

The rule needs this many applicants to be properly executed.

Proc Details

attempt_replacement

Fired when there are no valid candidates. Will try to roll again in a minute.

review_applications

Here is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().

send_applications

This sends a poll to ghosts if they want to be a ghost spawn from a ruleset.

\ No newline at end of file diff --git a/datum/dynamic_ruleset/roundstart.html b/datum/dynamic_ruleset/roundstart.html new file mode 100644 index 000000000000..30a1de6cca10 --- /dev/null +++ b/datum/dynamic_ruleset/roundstart.html @@ -0,0 +1,3 @@ +/datum/dynamic_ruleset/roundstart - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

roundstart

Procs

readyDo your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE
trim_candidatesChecks if candidates are connected and if they are banned or don't want to be the antagonist.

Proc Details

ready

Do your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE

trim_candidates

Checks if candidates are connected and if they are banned or don't want to be the antagonist.

\ No newline at end of file diff --git a/datum/dynamic_ruleset/roundstart/families.html b/datum/dynamic_ruleset/roundstart/families.html new file mode 100644 index 000000000000..d5dab66456f0 --- /dev/null +++ b/datum/dynamic_ruleset/roundstart/families.html @@ -0,0 +1 @@ +/datum/dynamic_ruleset/roundstart/families - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

families

Vars

handlerA reference to the handler that is used to run pre_execute(), execute(), etc..

Var Details

handler

A reference to the handler that is used to run pre_execute(), execute(), etc..

\ No newline at end of file diff --git a/datum/dynamic_ruleset/roundstart/revs.html b/datum/dynamic_ruleset/roundstart/revs.html new file mode 100644 index 000000000000..bf5e1f204b66 --- /dev/null +++ b/datum/dynamic_ruleset/roundstart/revs.html @@ -0,0 +1 @@ +/datum/dynamic_ruleset/roundstart/revs - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

revs

Vars

revs_win_threat_injectionHow much threat should be injected when the revolution wins?

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.

Var Details

revs_win_threat_injection

How much threat should be injected when the revolution wins?

Proc Details

check_eligible

Checks for revhead loss conditions and other antag datums.

\ No newline at end of file diff --git a/datum/dynamic_snapshot.html b/datum/dynamic_snapshot.html new file mode 100644 index 000000000000..1e21f72660fd --- /dev/null +++ b/datum/dynamic_snapshot.html @@ -0,0 +1,2 @@ +/datum/dynamic_snapshot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

dynamic_snapshot

A "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.

Vars

alive_antagsThe number of alive antags
alive_playersThe number of alive players
dead_playersThe number of dead players
observersThe number of observers
remaining_threatThe remaining midround threat
ruleset_chosenThe rulesets chosen this snapshot
serializationThe cached serialization of this snapshot
timeThe world.time when the snapshot was taken
total_playersThe total number of players in the server

Procs

to_listConvert the snapshot to an associative list

Var Details

alive_antags

The number of alive antags

alive_players

The number of alive players

dead_players

The number of dead players

observers

The number of observers

remaining_threat

The remaining midround threat

ruleset_chosen

The rulesets chosen this snapshot

serialization

The cached serialization of this snapshot

time

The world.time when the snapshot was taken

total_players

The total number of players in the server

Proc Details

to_list

Convert the snapshot to an associative list

\ No newline at end of file diff --git a/datum/dynamic_snapshot_ruleset.html b/datum/dynamic_snapshot_ruleset.html new file mode 100644 index 000000000000..07b46d799da3 --- /dev/null +++ b/datum/dynamic_snapshot_ruleset.html @@ -0,0 +1 @@ +/datum/dynamic_snapshot_ruleset - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

dynamic_snapshot_ruleset

A ruleset chosen during a snapshot

Vars

assignedThe number of assigned antags
nameThe name of the ruleset chosen
scaledIf it is a round start ruleset, how much it was scaled by

Var Details

assigned

The number of assigned antags

name

The name of the ruleset chosen

scaled

If it is a round start ruleset, how much it was scaled by

\ No newline at end of file diff --git a/datum/eldritch_knowledge.html b/datum/eldritch_knowledge.html new file mode 100644 index 000000000000..7748395ed0e8 --- /dev/null +++ b/datum/eldritch_knowledge.html @@ -0,0 +1,13 @@ +/datum/eldritch_knowledge - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

eldritch_knowledge

#Eldritch Knowledge

+

Datum that makes eldritch cultist interesting.

+

Eldritch knowledge aren't instantiated anywhere roundstart, and are initalized and destroyed as the round goes on.

Vars

banned_knowledgeWhat knowledge is incompatible with this. This will simply make it impossible to research knowledges that are in banned_knowledge once this gets researched.
costCost of knowledge in souls
descDescription of the knowledge
gain_textWhat shows up
nameName of the knowledge
next_knowledgeNext knowledge in the research tree
required_atomsUsed with rituals, how many items this needs
result_atomsWhat do we get out of this
routeWhat path is this on defaults to "Side"
sacs_neededRequired sacrifices to unlock

Procs

cleanup_atomsUsed atom cleanup
on_deathA proc that handles the code when the mob dies
on_eldritch_bladeSickly blade act
on_finished_recipeWhat happens once the recipe is succesfully finished
on_gainWhat happens when this is assigned to an antag datum
on_lifeWhat happens every tick
on_loseWhat happens when you loose this
on_mansus_graspMansus grasp act
on_ranged_attack_eldritch_bladeSickly blade distant act
recipe_snowflake_checkSpecial check for recipes

Var Details

banned_knowledge

What knowledge is incompatible with this. This will simply make it impossible to research knowledges that are in banned_knowledge once this gets researched.

cost

Cost of knowledge in souls

desc

Description of the knowledge

gain_text

What shows up

name

Name of the knowledge

next_knowledge

Next knowledge in the research tree

required_atoms

Used with rituals, how many items this needs

result_atoms

What do we get out of this

route

What path is this on defaults to "Side"

sacs_needed

Required sacrifices to unlock

Proc Details

cleanup_atoms

Used atom cleanup

+

Overide this proc if you dont want ALL ATOMS to be destroyed. useful in many situations.

on_death

A proc that handles the code when the mob dies

+

This proc is primarily used to end any soundloops when the heretic dies

on_eldritch_blade

Sickly blade act

+

Gives addtional effects to sickly blade weapon

on_finished_recipe

What happens once the recipe is succesfully finished

+

By default this proc creates atoms from result_atoms list. Override this is you want something else to happen.

on_gain

What happens when this is assigned to an antag datum

+

This proc is called whenever a new eldritch knowledge is added to an antag datum

on_life

What happens every tick

+

This proc is called on SSprocess in eldritch cultist antag datum. SSprocess happens roughly every second

on_lose

What happens when you loose this

+

This proc is called whenever antagonist looses his antag datum, put cleanup code in here

on_mansus_grasp

Mansus grasp act

+

Gives addtional effects to mansus grasp spell

on_ranged_attack_eldritch_blade

Sickly blade distant act

+

Same as /datum/eldritch_knowledge/proc/on_eldritch_blade but works on targets that are not in proximity to you.

recipe_snowflake_check

Special check for recipes

+

If you are adding a more complex summoning or something that requires a special check that parses through all the atoms in an area override this.

\ No newline at end of file diff --git a/datum/eldritch_knowledge/final_eldritch/void_final.html b/datum/eldritch_knowledge/final_eldritch/void_final.html new file mode 100644 index 000000000000..67a9b758ac44 --- /dev/null +++ b/datum/eldritch_knowledge/final_eldritch/void_final.html @@ -0,0 +1 @@ +/datum/eldritch_knowledge/final_eldritch/void_final - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

void_final

Vars

sound_loopsoundloop for the void theme
stormReference to the ongoing voidstorm that surrounds the heretic

Var Details

sound_loop

soundloop for the void theme

storm

Reference to the ongoing voidstorm that surrounds the heretic

\ No newline at end of file diff --git a/datum/element.html b/datum/element.html new file mode 100644 index 000000000000..7e7e335b036e --- /dev/null +++ b/datum/element.html @@ -0,0 +1,5 @@ +/datum/element - SPLURT Station 13
SPLURT 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

element_flagsOption flags for element behaviour
id_arg_indexThe index of the first attach argument to consider for duplicate elements

Procs

AttachActivates the functionality defined by the element on the given target datum
DetachDeactivates the functionality defines by the element on the given datum

Var Details

element_flags

Option flags for element behaviour

id_arg_index

The index of the first attach argument to consider for duplicate elements

+

Is only used when flags contains ELEMENT_BESPOKE

+

This is infinity so you must explicitly set this

Proc Details

Attach

Activates the functionality defined by the element on the given target datum

Detach

Deactivates the functionality defines by the element on the given datum

\ No newline at end of file diff --git a/datum/element/bed_tuckable.html b/datum/element/bed_tuckable.html new file mode 100644 index 000000000000..b72b6e37889d --- /dev/null +++ b/datum/element/bed_tuckable.html @@ -0,0 +1,5 @@ +/datum/element/bed_tuckable - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

bed_tuckable

Tucking element, for things that can be tucked into bed.

Vars

rotation_degreeour rotation degree - how much the item turns when in bed (+degrees turns it more parallel)
x_offsetour pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)
y_offsetour pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Procs

tuck_into_bedTuck our object into bed.
untuckIf we rotate our object, then we need to un-rotate it when it's picked up

Var Details

rotation_degree

our rotation degree - how much the item turns when in bed (+degrees turns it more parallel)

x_offset

our pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)

y_offset

our pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Proc Details

tuck_into_bed

Tuck our object into bed.

+

tucked - the object being tucked +target_bed - the bed we're tucking them into +tucker - the guy doing the tucking

untuck

If we rotate our object, then we need to un-rotate it when it's picked up

+

tucked - the object that is tucked

\ 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 000000000000..132404f7ee43 --- /dev/null +++ b/datum/element/connect_loc.html @@ -0,0 +1,2 @@ +/datum/element/connect_loc - SPLURT Station 13
SPLURT 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/contextual_screentip_bare_hands.html b/datum/element/contextual_screentip_bare_hands.html new file mode 100644 index 000000000000..a9d59275ad78 --- /dev/null +++ b/datum/element/contextual_screentip_bare_hands.html @@ -0,0 +1,3 @@ +/datum/element/contextual_screentip_bare_hands - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

contextual_screentip_bare_hands

Apply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

Vars

lmb_textIf set, the text to show for LMB
lmb_text_combat_modeIf set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.
rmb_textIf set, the text to show for RMB
rmb_text_combat_modeIf set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.

Var Details

lmb_text

If set, the text to show for LMB

lmb_text_combat_mode

If set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.

rmb_text

If set, the text to show for RMB

rmb_text_combat_mode

If set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.

\ No newline at end of file diff --git a/datum/element/contextual_screentip_item_typechecks.html b/datum/element/contextual_screentip_item_typechecks.html new file mode 100644 index 000000000000..ae0f2cff1a9b --- /dev/null +++ b/datum/element/contextual_screentip_item_typechecks.html @@ -0,0 +1,3 @@ +/datum/element/contextual_screentip_item_typechecks - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

contextual_screentip_item_typechecks

Apply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

Vars

item_paths_to_contextsMap of item paths to contexts to usages

Var Details

item_paths_to_contexts

Map of item paths to contexts to usages

\ No newline at end of file diff --git a/datum/element/contextual_screentip_sharpness.html b/datum/element/contextual_screentip_sharpness.html new file mode 100644 index 000000000000..70b192591288 --- /dev/null +++ b/datum/element/contextual_screentip_sharpness.html @@ -0,0 +1,3 @@ +/datum/element/contextual_screentip_sharpness - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

contextual_screentip_sharpness

Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

Vars

lmb_textIf set, the text to show for LMB
rmb_textIf set, the text to show for RMB

Var Details

lmb_text

If set, the text to show for LMB

rmb_text

If set, the text to show for RMB

\ No newline at end of file diff --git a/datum/element/contextual_screentip_tools.html b/datum/element/contextual_screentip_tools.html new file mode 100644 index 000000000000..f495d8743111 --- /dev/null +++ b/datum/element/contextual_screentip_tools.html @@ -0,0 +1,3 @@ +/datum/element/contextual_screentip_tools - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

contextual_screentip_tools

Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

Vars

tool_behaviorsMap of tool behaviors to contexts to usages

Var Details

tool_behaviors

Map of tool behaviors to contexts to usages

\ No newline at end of file diff --git a/datum/element/embed.html b/datum/element/embed.html new file mode 100644 index 000000000000..a39e2b1b00b9 --- /dev/null +++ b/datum/element/embed.html @@ -0,0 +1,9 @@ +/datum/element/embed - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

embed

Vars

embed_chancewhether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Procs

checkEmbedMobChecking to see if we're gonna embed into a human
checkEmbedOtherWe need the hit_zone if we're embedding into a human, so this proc only handles if we're embedding into a turf
checkEmbedProjectilecheckEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.
detachFromWeaponIf we don't want to be embeddable anymore (deactivating an e-dagger for instance)
examinedSomeone inspected our embeddable item
severancePackageA different embed element has been attached, so we'll detach and let them handle things
tryForceEmbedArguments:

Var Details

embed_chance

whether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Proc Details

checkEmbedMob

Checking to see if we're gonna embed into a human

checkEmbedOther

We need the hit_zone if we're embedding into a human, so this proc only handles if we're embedding into a turf

checkEmbedProjectile

checkEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.

+

If we hit a valid target (carbon or closed turf), we create the shrapnel_type object and immediately call tryEmbed() on it, targeting what we impacted. That will lead +it to call tryForceEmbed() on its own embed element (it's out of our hands here, our projectile is done), where it will run through all the checks it needs to.

detachFromWeapon

If we don't want to be embeddable anymore (deactivating an e-dagger for instance)

examined

Someone inspected our embeddable item

severancePackage

A different embed element has been attached, so we'll detach and let them handle things

tryForceEmbed

Arguments:

+
\ No newline at end of file diff --git a/datum/element/firestacker.html b/datum/element/firestacker.html new file mode 100644 index 000000000000..03103f88691d --- /dev/null +++ b/datum/element/firestacker.html @@ -0,0 +1 @@ +/datum/element/firestacker - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

firestacker

Can be applied to /atom/movable subtypes to make them apply fire stacks to things they hit

Vars

amountHow many firestacks to apply per hit

Var Details

amount

How many firestacks to apply per hit

\ No newline at end of file diff --git a/datum/element/flavor_text.html b/datum/element/flavor_text.html new file mode 100644 index 000000000000..4320f442d75f --- /dev/null +++ b/datum/element/flavor_text.html @@ -0,0 +1 @@ +/datum/element/flavor_text - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

flavor_text

Vars

examine_full_viewExamine FULLY views. Overrides examine_no_preview
examine_no_previewDo not attempt to render a preview on examine. If this is on, it will display as [flavor_name]
save_keyFor preference/DNA saving/loading. Null to prevent. Prefs are only loaded from obviously if it exists in preferences.features.

Var Details

examine_full_view

Examine FULLY views. Overrides examine_no_preview

examine_no_preview

Do not attempt to render a preview on examine. If this is on, it will display as [flavor_name]

save_key

For preference/DNA saving/loading. Null to prevent. Prefs are only loaded from obviously if it exists in preferences.features.

\ No newline at end of file diff --git a/datum/element/item_scaling.html b/datum/element/item_scaling.html new file mode 100644 index 000000000000..08eee5cc739d --- /dev/null +++ b/datum/element/item_scaling.html @@ -0,0 +1,41 @@ +/datum/element/item_scaling - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

item_scaling

Element for scaling item appearances in the overworld or in inventory/storage.

+

This bespoke element allows for items to have varying sizes depending on their location. +The overworld simply refers to items being on a turf. Inventory includes HUD item slots, +and storage is anywhere a storage component is used. +Scaling should affect the item's icon and all attached overlays (such as blood decals).

Vars

overworld_scalingScaling value when the attached item is in the overworld (on a turf).
storage_scalingScaling value when the attached item is in a storage component or inventory slot.

Procs

AttachAttach proc for the item_scaling element
DetachDetach proc for the item_scaling element.
scaleScales the attached item's matrix.
scale_overworldShrinks when inworld
scale_storageEnlarges when inhand or in storage.

Var Details

overworld_scaling

Scaling value when the attached item is in the overworld (on a turf).

storage_scaling

Scaling value when the attached item is in a storage component or inventory slot.

Proc Details

Attach

Attach proc for the item_scaling element

+

The proc checks the target's type before attaching. It then initializes +the target to overworld scaling. The target should then rescale if it is placed +in inventory/storage on initialization. Relevant signals are registered to listen +for pickup/drop or storage events. Scaling values of 1 will result in items +returning to their original size. +Arguments:

+

Detach

Detach proc for the item_scaling element.

+

All registered signals are unregistered, and the attached element is removed from the target datum. +Arguments:

+

scale

Scales the attached item's matrix.

+

The proc first narrows the type of the source to (datums do not have a transform matrix). +It then creates an identity matrix, M, which is transformed by the scaling value. +The object's transform variable (matrix) is then set to the resulting value of M. +Arguments:

+

scale_overworld

Shrinks when inworld

+

Longer detailed paragraph about the proc +including any relevant detail +Arguments:

+

scale_storage

Enlarges when inhand or in storage.

+

Longer detailed paragraph about the proc +including any relevant detail +Arguments:

+
\ No newline at end of file diff --git a/datum/element/mob_holder/micro.html b/datum/element/mob_holder/micro.html new file mode 100644 index 000000000000..cc7c19b41037 --- /dev/null +++ b/datum/element/mob_holder/micro.html @@ -0,0 +1 @@ +/datum/element/mob_holder/micro - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

micro

Procs

on_requesting_context_from_itemDo not inherit from /mob_holder, interactions are different.

Proc Details

on_requesting_context_from_item

Do not inherit from /mob_holder, interactions are different.

\ No newline at end of file diff --git a/datum/element/object_reskinning.html b/datum/element/object_reskinning.html new file mode 100644 index 000000000000..b1589888c93a --- /dev/null +++ b/datum/element/object_reskinning.html @@ -0,0 +1,6 @@ +/datum/element/object_reskinning - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

object_reskinning

Procs

check_reskin_menuChecks if we are allowed to interact with a radial menu for reskins

Proc Details

check_reskin_menu

Checks if we are allowed to interact with a radial menu for reskins

+

Arguments:

+
\ No newline at end of file diff --git a/datum/element/photosynthesis.html b/datum/element/photosynthesis.html new file mode 100644 index 000000000000..543a962c2d36 --- /dev/null +++ b/datum/element/photosynthesis.html @@ -0,0 +1 @@ +/datum/element/photosynthesis - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

photosynthesis

Vars

attached_atomsList of atoms this element is attached to. Doubles as a multiplier if the same element is attached multiple times to a target multiple times.
bonus_lumthe minimum lum count over which where the target damage is adjusted.
light_brutehealhow much brute damage (or integrity, for objects) is healed (taken if positive) at maximum luminosity. (if lum_minus were 0)
light_burnhealhow much burn damage is restored/taken at maximum luminosity. Mobs only.
light_nutrition_gainhow nutrition recovery/expenses factor, not affected by bonus_lum and malus_lum. Mobs only.
light_oxyhealhow much oxy damage is restored/taken at maximum luminosity. Mobs only.
light_toxhealhow much tox damage is restored/taken at maximum luminosity. Mobs only.
lum_minusA value subtracted to the lum count, which allows targets to wilt or heal in the darkness.
malus_lumthe maximum lum count under which the target damage is inversely adjusted.

Var Details

attached_atoms

List of atoms this element is attached to. Doubles as a multiplier if the same element is attached multiple times to a target multiple times.

bonus_lum

the minimum lum count over which where the target damage is adjusted.

light_bruteheal

how much brute damage (or integrity, for objects) is healed (taken if positive) at maximum luminosity. (if lum_minus were 0)

light_burnheal

how much burn damage is restored/taken at maximum luminosity. Mobs only.

light_nutrition_gain

how nutrition recovery/expenses factor, not affected by bonus_lum and malus_lum. Mobs only.

light_oxyheal

how much oxy damage is restored/taken at maximum luminosity. Mobs only.

light_toxheal

how much tox damage is restored/taken at maximum luminosity. Mobs only.

lum_minus

A value subtracted to the lum count, which allows targets to wilt or heal in the darkness.

malus_lum

the maximum lum count under which the target damage is inversely adjusted.

\ No newline at end of file diff --git a/datum/element/scavenging.html b/datum/element/scavenging.html new file mode 100644 index 000000000000..3f3f2cc17793 --- /dev/null +++ b/datum/element/scavenging.html @@ -0,0 +1 @@ +/datum/element/scavenging - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

scavenging

Procs

scavengeThis proc has to be asynced (cough cough, do_after) in order to return the comsig values in time to stop the attack chain.

Proc Details

scavenge

This proc has to be asynced (cough cough, do_after) in order to return the comsig values in time to stop the attack chain.

\ No newline at end of file diff --git a/datum/element/series.html b/datum/element/series.html new file mode 100644 index 000000000000..d89c86a9cafb --- /dev/null +++ b/datum/element/series.html @@ -0,0 +1,3 @@ +/datum/element/series - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

series

series element!

+

bespoke element that assigns a series number to toys on examine, and shows their series name! +used for mechas and rare collectable hats, should totally be used for way more ;)

Procs

on_examinesignal called examining

Proc Details

on_examine

signal called examining

\ No newline at end of file diff --git a/datum/element/skirt_peeking.html b/datum/element/skirt_peeking.html new file mode 100644 index 000000000000..31697cb37cb9 --- /dev/null +++ b/datum/element/skirt_peeking.html @@ -0,0 +1 @@ +/datum/element/skirt_peeking - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

skirt_peeking

Procs

try_noticeAlright, they've peeked us and everything, did we notice it though?

Proc Details

try_notice

Alright, they've peeked us and everything, did we notice it though?

\ No newline at end of file diff --git a/datum/element/strippable.html b/datum/element/strippable.html new file mode 100644 index 000000000000..6a4fe77f1ff9 --- /dev/null +++ b/datum/element/strippable.html @@ -0,0 +1,5 @@ +/datum/element/strippable - SPLURT Station 13
SPLURT 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
should_strip_proc_pathA proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).
strip_menusAn existing strip menus

Var Details

items

An assoc list of keys to /datum/strippable_item

should_strip_proc_path

A proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).

strip_menus

An existing strip menus

\ No newline at end of file diff --git a/datum/element/turf_z_transparency.html b/datum/element/turf_z_transparency.html new file mode 100644 index 000000000000..8d90cd59f1b8 --- /dev/null +++ b/datum/element/turf_z_transparency.html @@ -0,0 +1 @@ +/datum/element/turf_z_transparency - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

turf_z_transparency

Procs

AttachThis proc sets up the signals to handle updating viscontents when turfs above/below update. Handle plane and layer here too so that they don't cover other obs/turfs in Dream Maker
show_bottom_levelCalled when there is no real turf below this turf
update_multizUpdates the viscontents or underlays below this tile.

Proc Details

Attach

This proc sets up the signals to handle updating viscontents when turfs above/below update. Handle plane and layer here too so that they don't cover other obs/turfs in Dream Maker

show_bottom_level

Called when there is no real turf below this turf

update_multiz

Updates the viscontents or underlays below this tile.

\ No newline at end of file diff --git a/datum/font.html b/datum/font.html new file mode 100644 index 000000000000..e178e921c721 --- /dev/null +++ b/datum/font.html @@ -0,0 +1,9 @@ +/datum/font - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

font

A font datum, it exists to define a custom font to use in a span style later.

Vars

ascentdistance above baseline (including whitespace)
average_widthaverage character width
default_characterdefault character (for undefined chars)
descentdistance below baseline
endlast character in metrics
ex_leadingexternal leading vertical space, just plain blank
font_familyThe font file we link to.
heighttotal height of a line
in_leadinginternal leading vertical space, for accent marks
max_widthmaximum character width
metricsFont features and metrics +Generated by Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +list of font size/spacing metrics
nameFont name, just so people know what to put in their span style.
overhangextra width, such as from italics, for a line
startfirst character in metrics

Procs

get_metricsGet font metrics +From Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)

Var Details

ascent

distance above baseline (including whitespace)

average_width

average character width

default_character

default character (for undefined chars)

descent

distance below baseline

end

last character in metrics

ex_leading

external leading vertical space, just plain blank

font_family

The font file we link to.

height

total height of a line

in_leading

internal leading vertical space, for accent marks

max_width

maximum character width

metrics

Font features and metrics +Generated by Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +list of font size/spacing metrics

name

Font name, just so people know what to put in their span style.

overhang

extra width, such as from italics, for a line

start

first character in metrics

Proc Details

get_metrics

Get font metrics +From Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)

\ No newline at end of file diff --git a/datum/game_mode.html b/datum/game_mode.html new file mode 100644 index 000000000000..4db34b10bafc --- /dev/null +++ b/datum/game_mode.html @@ -0,0 +1 @@ +/datum/game_mode - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

game_mode

Vars

current_playersAssociative list of current players, in order: living players, living antagonists, dead players and observers.

Procs

admin_panelMode specific admin panel.
can_startChecks to see if the game can be setup and ran with the current number of players or whatnot.
convert_roundtypeAllows rounds to basically be "rerolled" should the initial premise fall through. Also known as mulligan antags.
ghost_infoMode specific info for ghost game_info
make_antag_chanceHandles late-join antag assignments
post_setupEveryone should now be on the station and have their normal gear. This is the place to give the special roles extra things
pre_setupAttempts to select players for special roles the mode might have.
processCalled by the gameSSticker

Var Details

current_players

Associative list of current players, in order: living players, living antagonists, dead players and observers.

Proc Details

admin_panel

Mode specific admin panel.

can_start

Checks to see if the game can be setup and ran with the current number of players or whatnot.

convert_roundtype

Allows rounds to basically be "rerolled" should the initial premise fall through. Also known as mulligan antags.

ghost_info

Mode specific info for ghost game_info

make_antag_chance

Handles late-join antag assignments

post_setup

Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things

pre_setup

Attempts to select players for special roles the mode might have.

process

Called by the gameSSticker

\ 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 000000000000..8a213e09a0f6 --- /dev/null +++ b/datum/game_mode/dynamic.html @@ -0,0 +1,43 @@ +/datum/game_mode/dynamic - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

dynamic

Vars

candidatesList of candidates used on roundstart rulesets.
configurationDynamic configuration, loaded on pre_setup
current_midround_rulesetsThe last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.
current_rulesRules that are processed, rule_process is called on the rules in this list.
executed_rulesList of executed rulesets.
forced_injectionWhen TRUE GetInjectionChance returns 100.
forced_latejoin_ruleForced ruleset to be executed for the next latejoin.
high_impact_ruleset_executedIf a high impact ruleset was executed. Only one will run at a time in most circumstances.
higher_injection_chanceThe chance of injection increase when above higher_injection_chance_minimum_threat
higher_injection_chance_minimum_threatIf above this threat, increase the chance of injection
hijacked_random_event_injection_chanceThe amount to inject when a round event is hijacked
initial_round_start_budgetThe initial round start budget for logging purposes, set once at the beginning of the round.
last_midround_injection_attemptThe time when the last midround injection was attempted, whether or not it was successful
latejoin_delay_maxThe maximum time the recurring latejoin ruleset timer is allowed to be.
latejoin_delay_minThe minimum time the recurring latejoin ruleset timer is allowed to be.
latejoin_injection_cooldownWhen world.time is over this number the mode tries to inject a latejoin ruleset.
latejoin_rulesList of latejoin rules used for selecting the rules.
lower_injection_chanceThe chance of injection decrease when above lower_injection_chance_minimum_threat
lower_injection_chance_minimum_threatIf below this threat, decrease the chance of injection
mid_round_budgetSet at the beginning of the round. Spent by midrounds and latejoins.
midround_delay_maxThe maximum time the recurring midround ruleset timer is allowed to be.
midround_delay_minThe minimum time the recurring midround ruleset timer is allowed to be.
midround_injection_cooldownWhen world.time is over this number the mode tries to inject a midround ruleset.
midround_injection_timer_idThe timer ID for the cancellable midround rule injection
midround_rulesList of midround rules used for selecting the rules.
only_ruleset_executedIf a only ruleset has been executed.
peaceful_percentageHow many percent of the rounds are more peaceful.
pop_per_requirement
random_event_hijack_maximumThe maximum amount of time for antag random events to be hijacked.
random_event_hijack_minimumThe minimum amount of time for antag random events to be hijacked.
random_event_hijackedWhether or not a random event has been hijacked this midround cycle
round_start_budgetSet at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.
roundstart_pop_readyNumber of players who were ready on roundstart.
roundstart_split_curve_centreA number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.
roundstart_split_curve_widthA number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.
shown_threatThe amount of threat shown on the piece of paper. +Can differ from the actual threat amount.
snapshotsA list of recorded "snapshots" of the round, stored in the dynamic.json log
threat_curve_centreA number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.
threat_curve_widthA number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.
threat_levelThe "threat cap", threat shouldn't normally go above this and is used in ruleset calculations
threat_logRunning information about the threat. Can store text or datum entries.

Procs

admin_cancel_midroundFired when an admin cancels the current midround injection.
admin_different_midroundFired when an admin requests a different midround injection.
check_blockingChecks if a type in blocking_list is in rule_list.
configure_rulesetApply configurations to rule.
create_threatGenerate threat and increase the threat_level if it goes beyond, capped at 100
dynamic_logLog to messages and to the game
execute_midround_latejoin_ruleMainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.
execute_midround_ruleFired after admins do not cancel a midround injection.
execute_roundstart_ruleMainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.
generate_budgetsGenerates the midround and roundstart budgets
generate_threatGenerates the threat level using lorentz distribution and assigns peaceful_percentage.
get_injection_chanceGets the chance for latejoin injection, the dry_run argument is only used for forced injection.
get_midround_injection_chanceGets the chance for midround injection, the dry_run argument is only used for forced injection. +Usually defers to the latejoin injection chance.
init_rulesetsReturns a list of the provided rulesets. +Configures their variables to match config.
lorentz_to_amountTurns the value generated by lorentz distribution to number between 0 and 100. +Used for threat level and splitting the budgets.
new_snapshotCreates a new snapshot with the given rulesets chosen, and writes to the JSON output.
pick_latejoin_ruleExecutes a random latejoin ruleset from the list of drafted rules.
pick_midround_ruleExecutes a random midround ruleset from the list of drafted rules.
pick_rulesetFrom a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.
picking_roundstart_ruleInitializes the round start ruleset provided to it. Returns how much threat to spend.
picking_specific_ruleAn experimental proc to allow admins to call rules on the fly or have rules call other rules.
refund_threatRefund threat, but no more than threat_level.
remove_from_listRemoves type from the list
rigged_roundstartA simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.
setup_rulesetsInitializes the internal ruleset variables
spend_midround_budgetExpend midround threat, can't fall under 0.
spend_roundstart_budgetExpend round start threat, can't fall under 0.
update_logUpdates the log for the current snapshots.

Var Details

candidates

List of candidates used on roundstart rulesets.

configuration

Dynamic configuration, loaded on pre_setup

current_midround_rulesets

The last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.

current_rules

Rules that are processed, rule_process is called on the rules in this list.

executed_rules

List of executed rulesets.

forced_injection

When TRUE GetInjectionChance returns 100.

forced_latejoin_rule

Forced ruleset to be executed for the next latejoin.

high_impact_ruleset_executed

If a high impact ruleset was executed. Only one will run at a time in most circumstances.

higher_injection_chance

The chance of injection increase when above higher_injection_chance_minimum_threat

higher_injection_chance_minimum_threat

If above this threat, increase the chance of injection

hijacked_random_event_injection_chance

The amount to inject when a round event is hijacked

initial_round_start_budget

The initial round start budget for logging purposes, set once at the beginning of the round.

last_midround_injection_attempt

The time when the last midround injection was attempted, whether or not it was successful

latejoin_delay_max

The maximum time the recurring latejoin ruleset timer is allowed to be.

latejoin_delay_min

The minimum time the recurring latejoin ruleset timer is allowed to be.

latejoin_injection_cooldown

When world.time is over this number the mode tries to inject a latejoin ruleset.

latejoin_rules

List of latejoin rules used for selecting the rules.

lower_injection_chance

The chance of injection decrease when above lower_injection_chance_minimum_threat

lower_injection_chance_minimum_threat

If below this threat, decrease the chance of injection

mid_round_budget

Set at the beginning of the round. Spent by midrounds and latejoins.

midround_delay_max

The maximum time the recurring midround ruleset timer is allowed to be.

midround_delay_min

The minimum time the recurring midround ruleset timer is allowed to be.

midround_injection_cooldown

When world.time is over this number the mode tries to inject a midround ruleset.

midround_injection_timer_id

The timer ID for the cancellable midround rule injection

midround_rules

List of midround rules used for selecting the rules.

only_ruleset_executed

If a only ruleset has been executed.

peaceful_percentage

How many percent of the rounds are more peaceful.

pop_per_requirement

random_event_hijack_maximum

The maximum amount of time for antag random events to be hijacked.

random_event_hijack_minimum

The minimum amount of time for antag random events to be hijacked.

random_event_hijacked

Whether or not a random event has been hijacked this midround cycle

round_start_budget

Set at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.

roundstart_pop_ready

Number of players who were ready on roundstart.

roundstart_split_curve_centre

A number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.

roundstart_split_curve_width

A number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.

shown_threat

The amount of threat shown on the piece of paper. +Can differ from the actual threat amount.

snapshots

A list of recorded "snapshots" of the round, stored in the dynamic.json log

threat_curve_centre

A number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.

threat_curve_width

A number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.

threat_level

The "threat cap", threat shouldn't normally go above this and is used in ruleset calculations

threat_log

Running information about the threat. Can store text or datum entries.

Proc Details

admin_cancel_midround

Fired when an admin cancels the current midround injection.

admin_different_midround

Fired when an admin requests a different midround injection.

check_blocking

Checks if a type in blocking_list is in rule_list.

configure_ruleset

Apply configurations to rule.

create_threat

Generate threat and increase the threat_level if it goes beyond, capped at 100

dynamic_log

Log to messages and to the game

execute_midround_latejoin_rule

Mainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.

execute_midround_rule

Fired after admins do not cancel a midround injection.

execute_roundstart_rule

Mainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.

generate_budgets

Generates the midround and roundstart budgets

generate_threat

Generates the threat level using lorentz distribution and assigns peaceful_percentage.

get_injection_chance

Gets the chance for latejoin injection, the dry_run argument is only used for forced injection.

get_midround_injection_chance

Gets the chance for midround injection, the dry_run argument is only used for forced injection. +Usually defers to the latejoin injection chance.

init_rulesets

Returns a list of the provided rulesets. +Configures their variables to match config.

lorentz_to_amount

Turns the value generated by lorentz distribution to number between 0 and 100. +Used for threat level and splitting the budgets.

new_snapshot

Creates a new snapshot with the given rulesets chosen, and writes to the JSON output.

pick_latejoin_rule

Executes a random latejoin ruleset from the list of drafted rules.

pick_midround_rule

Executes a random midround ruleset from the list of drafted rules.

pick_ruleset

From a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.

picking_roundstart_rule

Initializes the round start ruleset provided to it. Returns how much threat to spend.

picking_specific_rule

An experimental proc to allow admins to call rules on the fly or have rules call other rules.

refund_threat

Refund threat, but no more than threat_level.

remove_from_list

Removes type from the list

rigged_roundstart

A simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.

setup_rulesets

Initializes the internal ruleset variables

spend_midround_budget

Expend midround threat, can't fall under 0.

spend_roundstart_budget

Expend round start threat, can't fall under 0.

update_log

Updates the log for the current snapshots.

\ No newline at end of file diff --git a/datum/game_mode/gang.html b/datum/game_mode/gang.html new file mode 100644 index 000000000000..2a6b7cfc7c92 --- /dev/null +++ b/datum/game_mode/gang.html @@ -0,0 +1 @@ +/datum/game_mode/gang - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

gang

Vars

handlerA reference to the handler that is used to run pre_setup(), post_setup(), etc..

Var Details

handler

A reference to the handler that is used to run pre_setup(), post_setup(), etc..

\ No newline at end of file diff --git a/datum/gang_handler.html b/datum/gang_handler.html new file mode 100644 index 000000000000..a91ab897bba2 --- /dev/null +++ b/datum/gang_handler.html @@ -0,0 +1,61 @@ +/datum/gang_handler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Families gamemode / dynamic ruleset handler

A special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.

+

This datum centralizes code used for the families gamemode / dynamic rulesets. Families incorporates a significant +amount of unique processing; without this datum, that could would be duplicated. To ensure the maintainability +of the families gamemode / rulesets, the code was moved to this datum. The gamemode / rulesets instance this +datum, pass it lists (lists are passed by reference; removing candidates here removes candidates in the gamemode), +and call its procs. Additionally, the families antagonist datum and families induction package also +contain vars that reference this datum, allowing for new families / family members to add themselves +to this datum's lists thereof (primarily used for point calculation). Despite this, the basic team mechanics +themselves should function regardless of this datum's instantiation, should a player have the gang or cop +antagonist datum added to them through methods external to the families gamemode / rulesets.

Vars

antag_candidatesList of all eligible starting family members / undercover cops. Set externally (passed by reference) by gamemode / ruleset; used internally. Note that dynamic uses a list of mobs to handle candidates while game_modes use lists of minds! Don't be fooled!
check_counterA counter used to minimize the overhead of computationally intensive, periodic family point gain checks. Used and set internally.
cops_arrivedWhether the space cops have arrived. Set internally; used internally, and for updating the wanted HUD.
current_themeThe current chosen gamemode theme. Decides the available Gangs, objectives, and equipment.
deaths_during_shift_at_beginningKeeps track of the amount of deaths since the calling of pre_setup_analogue() if this is a midround handler. Used to prevent a high wanted level due to a large amount of deaths during the shift prior to the activation of this handler / the midround ruleset.
end_timeThe time, in deciseconds, that the space cops will arrive at. Calculated based on wanted level and start_time. Used and set internally.
gang_balance_capThe number of family members more that a family may have over other active families. Can be set externally; used internally.
gangbangersList of all family member minds. Used internally; added to internally, and externally by /obj/item/gang_induction_package when used to induct a new family member.
gangsList of all /datum/team/gang. Used internally; added to externally by /datum/antagonist/gang when it generates a new /datum/team/gang.
gangs_to_generateThe number of families (and 1:1 corresponding undercover cops) that should be generated. Can be set externally; used internally.
midround_rulesetWhether the handler corresponds to a ruleset that does not trigger at round start. Should be set externally only if applicable; used internally.
restricted_jobsList of jobs not eligible for starting family member / undercover cop. Set externally (passed by reference) by gamemode / ruleset; used internally.
sent_announcementWhether the gamemode-announcing announcement has been sent. Used and set internally.
sent_second_announcementWhether the "5 minute warning" announcement has been sent. Used and set internally.
start_timeThe time, in deciseconds, that the datum's pre_setup() occured at. Used in end_time. Used and set internally.
undercover_copsList of all undercover cop minds. Used and set internally.
use_dynamic_timingWhether we want to use the 30 to 15 minute timer instead of the 60 to 30 minute timer, for Dynamic.
wanted_levelThe current wanted level. Set internally; used internally, and for updating the wanted HUD.

Procs

NewSets antag_candidates and restricted_jobs.
announce_gang_locationsInternal. Announces the presence of families to the entire station and sets sent_announcement to true to allow other checks to occur.
check_wanted_levelInternal. Checks if our wanted level has changed; calls update_wanted_level. Only updates wanted level post the initial announcement and until the cops show up. After that, it's locked.
on_gain_wanted_levelInternal. Updates the end_time and sends out an announcement if the wanted level has increased. Called by update_wanted_level().
on_lower_wanted_levelInternal. Updates the end_time and sends out an announcement if the wanted level has decreased. Called by update_wanted_level().
post_setup_analoguepost_setup() or execute() equivalent.
pre_setup_analoguepre_setup() or pre_execute() equivalent.
process_analogueprocess() or rule_process() equivalent.
send_in_the_fuzzInternal. Polls ghosts and sends in a team of space cops according to the wanted level, accompanied by an announcement. Will let the shuttle leave 10 minutes after sending. Freezes the wanted level.
set_round_result_analogueset_round_result() or round_result() equivalent.
update_wanted_levelInternal. Updates the icon states for everyone, and calls procs that send out announcements / change the end_time if the wanted level has changed.

Var Details

antag_candidates

List of all eligible starting family members / undercover cops. Set externally (passed by reference) by gamemode / ruleset; used internally. Note that dynamic uses a list of mobs to handle candidates while game_modes use lists of minds! Don't be fooled!

check_counter

A counter used to minimize the overhead of computationally intensive, periodic family point gain checks. Used and set internally.

cops_arrived

Whether the space cops have arrived. Set internally; used internally, and for updating the wanted HUD.

current_theme

The current chosen gamemode theme. Decides the available Gangs, objectives, and equipment.

deaths_during_shift_at_beginning

Keeps track of the amount of deaths since the calling of pre_setup_analogue() if this is a midround handler. Used to prevent a high wanted level due to a large amount of deaths during the shift prior to the activation of this handler / the midround ruleset.

end_time

The time, in deciseconds, that the space cops will arrive at. Calculated based on wanted level and start_time. Used and set internally.

gang_balance_cap

The number of family members more that a family may have over other active families. Can be set externally; used internally.

gangbangers

List of all family member minds. Used internally; added to internally, and externally by /obj/item/gang_induction_package when used to induct a new family member.

gangs

List of all /datum/team/gang. Used internally; added to externally by /datum/antagonist/gang when it generates a new /datum/team/gang.

gangs_to_generate

The number of families (and 1:1 corresponding undercover cops) that should be generated. Can be set externally; used internally.

midround_ruleset

Whether the handler corresponds to a ruleset that does not trigger at round start. Should be set externally only if applicable; used internally.

restricted_jobs

List of jobs not eligible for starting family member / undercover cop. Set externally (passed by reference) by gamemode / ruleset; used internally.

sent_announcement

Whether the gamemode-announcing announcement has been sent. Used and set internally.

sent_second_announcement

Whether the "5 minute warning" announcement has been sent. Used and set internally.

start_time

The time, in deciseconds, that the datum's pre_setup() occured at. Used in end_time. Used and set internally.

undercover_cops

List of all undercover cop minds. Used and set internally.

use_dynamic_timing

Whether we want to use the 30 to 15 minute timer instead of the 60 to 30 minute timer, for Dynamic.

wanted_level

The current wanted level. Set internally; used internally, and for updating the wanted HUD.

Proc Details

New

Sets antag_candidates and restricted_jobs.

+

Sets the antag_candidates and restricted_jobs lists to the equivalent +lists of its instantiating game_mode / dynamic_ruleset datum. As lists +are passed by reference, the variable set in this datum and the passed list +list used to set it are literally the same; changes to one affect the other. +Like all New() procs, called when the datum is first instantiated. +There's an annoying caveat here, though -- dynamic rulesets don't have +lists of minds for candidates, they have lists of mobs. Ghost mobs, before +the round has started. But we still want to preserve the structure of the candidates +list by not duplicating it and making sure to remove the candidates as we use them. +So there's a little bit of boilerplate throughout to preserve the sanctity of this reference. +Arguments:

+

announce_gang_locations

Internal. Announces the presence of families to the entire station and sets sent_announcement to true to allow other checks to occur.

check_wanted_level

Internal. Checks if our wanted level has changed; calls update_wanted_level. Only updates wanted level post the initial announcement and until the cops show up. After that, it's locked.

on_gain_wanted_level

Internal. Updates the end_time and sends out an announcement if the wanted level has increased. Called by update_wanted_level().

on_lower_wanted_level

Internal. Updates the end_time and sends out an announcement if the wanted level has decreased. Called by update_wanted_level().

post_setup_analogue

post_setup() or execute() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the post_setup() or execute() phase, after the pre_setup() / pre_execute() phase. +It is intended to take the place of the code that would normally occupy the pre_setup() +or pre_execute() proc. As such, it ensures that all prospective starting family members / +undercover cops are eligible, and picks replacements if there were ineligible cops / family members. +It then assigns gear to the finalized family members and undercover cops, adding them to its lists, +and sets the families announcement proc (that does the announcing) to trigger in five minutes. +Additionally, if given the argument TRUE, it will return FALSE if there are no eligible starting family members. +This is only to be done if the instantiating datum is a dynamic_ruleset, as these require returns +while a game_mode is not expected to return early during this phase. +Arguments:

+

pre_setup_analogue

pre_setup() or pre_execute() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the pre_setup() or pre_execute() phase, after first instantiation +and the modification of gangs_to_generate, gang_balance_cap, and midround_ruleset. +It is intended to take the place of the code that would normally occupy the pre_setup() +or pre_execute() proc, were the code localized to the game_mode or dynamic_ruleset datum respectively +as opposed to this handler. As such, it picks players to be chosen for starting familiy members +or undercover cops prior to assignment to jobs. Sets start_time, default end_time, +and the current value of deaths_during_shift, to ensure the wanted level only cares about +the deaths since this proc has been called. +Takes no arguments.

process_analogue

process() or rule_process() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done during the process() or rule_process() phase, after post_setup() or +execute() and at regular intervals thereafter. process() and rule_process() are optional +for a game_mode / dynamic_ruleset, but are important for this gamemode. It is of central +importance to the gamemode's flow, calculating wanted level updates, family point gain, +and announcing + executing the arrival of the space cops, achieved through calling internal procs. +Takes no arguments.

send_in_the_fuzz

Internal. Polls ghosts and sends in a team of space cops according to the wanted level, accompanied by an announcement. Will let the shuttle leave 10 minutes after sending. Freezes the wanted level.

set_round_result_analogue

set_round_result() or round_result() equivalent.

+

This proc is always called externally, by the instantiating game_mode / dynamic_ruleset. +This is done by the set_round_result() or round_result() procs, at roundend. +Sets the ticker subsystem to the correct result based off of the relative populations +of space cops and family members. +Takes no arguments.

update_wanted_level

Internal. Updates the icon states for everyone, and calls procs that send out announcements / change the end_time if the wanted level has changed.

\ No newline at end of file diff --git a/datum/gang_theme.html b/datum/gang_theme.html new file mode 100644 index 000000000000..ad2a300f9d8c --- /dev/null +++ b/datum/gang_theme.html @@ -0,0 +1 @@ +/datum/gang_theme - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

gang_theme

Gang themes for the Families gamemode. Used to determine the RP theme of the round, what gangs are present, and what their objectives are.

Vars

bonus_first_gangster_itemsStuff given to the starting gangster at roundstart. Assoc list, type = list(item_type)
bonus_itemsStuff given to every gangster in this theme.
descriptionThe radio announcement played after 5 minutes.
everyone_objectiveIf this isn't null, everyone gets this objective.
gang_objectivesThe objectives for the gangs. Associative list, type = "objective"
involved_gangsAll gangs in the theme, typepaths of gangs.
nameThe name of the theme.
starting_gangstersHow many gangsters should each gang start with? Recommend to keep this in the ballpark of ensuring 9-10 total gangsters spawn.

Var Details

bonus_first_gangster_items

Stuff given to the starting gangster at roundstart. Assoc list, type = list(item_type)

bonus_items

Stuff given to every gangster in this theme.

description

The radio announcement played after 5 minutes.

everyone_objective

If this isn't null, everyone gets this objective.

gang_objectives

The objectives for the gangs. Associative list, type = "objective"

involved_gangs

All gangs in the theme, typepaths of gangs.

name

The name of the theme.

starting_gangsters

How many gangsters should each gang start with? Recommend to keep this in the ballpark of ensuring 9-10 total gangsters spawn.

\ No newline at end of file diff --git a/datum/gas_mixture.html b/datum/gas_mixture.html new file mode 100644 index 000000000000..d045fd2f3fb6 --- /dev/null +++ b/datum/gas_mixture.html @@ -0,0 +1 @@ +/datum/gas_mixture - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

gas_mixture

Vars

gas_list_view_onlyNever ever set this variable, hooked into vv_get_var for view variables viewing.

Var Details

gas_list_view_only

Never ever set this variable, hooked into vv_get_var for view variables viewing.

\ No newline at end of file diff --git a/datum/gateway_destination.html b/datum/gateway_destination.html new file mode 100644 index 000000000000..44189a4457e3 --- /dev/null +++ b/datum/gateway_destination.html @@ -0,0 +1,2 @@ +/datum/gateway_destination - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

gateway_destination

Corresponds to single entry in gateway control.

+

Will NOT be added automatically to GLOB.gateway_destinations list.

Vars

enabledHow long after roundstart this destination becomes active
hiddenIf disabled, the destination won't be available

Procs

is_availableWill not show on gateway controls at all.

Var Details

enabled

How long after roundstart this destination becomes active

hidden

If disabled, the destination won't be available

Proc Details

is_available

Will not show on gateway controls at all.

\ No newline at end of file diff --git a/datum/gateway_destination/gateway.html b/datum/gateway_destination/gateway.html new file mode 100644 index 000000000000..75a401dadcb0 --- /dev/null +++ b/datum/gateway_destination/gateway.html @@ -0,0 +1 @@ +/datum/gateway_destination/gateway - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

gateway

Vars

target_gatewayThe gateway this destination points at

Var Details

target_gateway

The gateway this destination points at

\ No newline at end of file diff --git a/datum/gateway_destination/point.html b/datum/gateway_destination/point.html new file mode 100644 index 000000000000..bb357c16b3b4 --- /dev/null +++ b/datum/gateway_destination/point.html @@ -0,0 +1 @@ +/datum/gateway_destination/point - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

point

Vars

idUsed by away landmarks

Var Details

id

Used by away landmarks

\ No newline at end of file diff --git a/datum/http_request.html b/datum/http_request.html new file mode 100644 index 000000000000..7a5bb58ce66c --- /dev/null +++ b/datum/http_request.html @@ -0,0 +1 @@ +/datum/http_request - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

http_request

Vars

output_fileIf present response body will be saved to this file.

Var Details

output_file

If present response body will be saved to this file.

\ No newline at end of file diff --git a/datum/hud.html b/datum/hud.html new file mode 100644 index 000000000000..9a5bdfa6be78 --- /dev/null +++ b/datum/hud.html @@ -0,0 +1,18 @@ +/datum/hud - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

hud

Vars

extra_inventoryEquipped item screens that don't show up even if using the initial toggle
extra_shownExtra inventory slots visible?
hungerUI element for hunger
screentip_textUI for screentips that appear when you mouse over things
thirstUI element for thirst
toggle_paletteWhether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered). +The color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

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

extra_inventory

Equipped item screens that don't show up even if using the initial toggle

extra_shown

Extra inventory slots visible?

hunger

UI element for hunger

screentip_text

UI for screentips that appear when you mouse over things

thirst

UI element for thirst

toggle_palette

Whether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered). +The color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

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

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/hud/new_player.html b/datum/hud/new_player.html new file mode 100644 index 000000000000..7b29a123b87b --- /dev/null +++ b/datum/hud/new_player.html @@ -0,0 +1 @@ +/datum/hud/new_player - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

new_player

Vars

menu_hud_statusWhether the menu is currently on the client's screen or not

Var Details

menu_hud_status

Whether the menu is currently on the client's screen or not

\ No newline at end of file diff --git a/datum/instrument.html b/datum/instrument.html new file mode 100644 index 000000000000..41174d86154a --- /dev/null +++ b/datum/instrument.html @@ -0,0 +1 @@ +/datum/instrument - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

instrument

Vars

HIGHEST_KEYDon't touch this
LOWEST_KEYDon't touch this x2
abstract_typeUsed for categorization subtypes
admin_onlyOh no - For truly troll instruments.
categoryCategory
idUniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.
instrument_flagsSee __DEFINES/flags/instruments.dm
legacy_instrument_extFor legacy instruments, our file extension
legacy_instrument_pathFor legacy instruments, the path to our notes
nameName of the instrument
real_samplesWrite here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127
samplesassoc list key = /datum/instrument_key. do not fill this yourself!
songs_usingWhat songs are using us
volume_multiplierVolume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)

Var Details

HIGHEST_KEY

Don't touch this

LOWEST_KEY

Don't touch this x2

abstract_type

Used for categorization subtypes

admin_only

Oh no - For truly troll instruments.

category

Category

id

Uniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.

instrument_flags

See __DEFINES/flags/instruments.dm

legacy_instrument_ext

For legacy instruments, our file extension

legacy_instrument_path

For legacy instruments, the path to our notes

name

Name of the instrument

real_samples

Write here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127

samples

assoc list key = /datum/instrument_key. do not fill this yourself!

songs_using

What songs are using us

volume_multiplier

Volume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)

\ No newline at end of file diff --git a/datum/interaction.html b/datum/interaction.html new file mode 100644 index 000000000000..cfc450b3830c --- /dev/null +++ b/datum/interaction.html @@ -0,0 +1 @@ +/datum/interaction - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

interaction

The base of all interactions

Vars

additional_detailsRefuses to accept more than one entry for some reason, fix sometime

Procs

display_interactionDisplay the message
do_actionActually doing the action, has a few checks to see if it's valid, usually overwritten to be make things actually happen and what-not
evaluate_targetSame as evaluate_user, but for target
evaluate_userChecks if user can do an interaction, action_check is for whether you're actually doing it or not (useful for the menu and not removing the buttons)
post_interactionAfter the interaction, the base only plays the sound and only if it has one

Var Details

additional_details

Refuses to accept more than one entry for some reason, fix sometime

Proc Details

display_interaction

Display the message

do_action

Actually doing the action, has a few checks to see if it's valid, usually overwritten to be make things actually happen and what-not

evaluate_target

Same as evaluate_user, but for target

evaluate_user

Checks if user can do an interaction, action_check is for whether you're actually doing it or not (useful for the menu and not removing the buttons)

post_interaction

After the interaction, the base only plays the sound and only if it has one

\ No newline at end of file diff --git a/datum/interaction/lewd.html b/datum/interaction/lewd.html new file mode 100644 index 000000000000..f99884b1f812 --- /dev/null +++ b/datum/interaction/lewd.html @@ -0,0 +1 @@ +/datum/interaction/lewd - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

lewd

Vars

require_user_num_feetUse the number of required feet.
user_refractory_costTime before actions can be done again

Var Details

require_user_num_feet

Use the number of required feet.

user_refractory_cost

Time before actions can be done again

\ No newline at end of file diff --git a/datum/job.html b/datum/job.html new file mode 100644 index 000000000000..83257e91c222 --- /dev/null +++ b/datum/job.html @@ -0,0 +1,11 @@ +/datum/job - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

job

Vars

allow_bureaucratic_errorShould this job be allowed to be picked for the bureaucratic error event?
always_can_respawn_asCan you always join as this job even while respawning (should probably only be on for assistant)
considered_combat_roleIs this job considered a combat role for respawning? (usually sec/command)
departmentsBitfield of departments this job belongs wit
exclusive_mail_goodiesIf this job's mail goodies compete with generic goodies.
family_heirloomsList of family heirlooms this job can get with the family heirloom quirk. List of types.
mail_goodiesGoodies that can be received via the mail system. +Keep the _job definition for this empty and use /obj/item/mail to define general gifts.
random_spawns_possibleIs this job affected by weird spawns like the ones from station traits
starting_modifiersStarting skill modifiers.

Procs

after_latejoin_spawnCalled after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()
after_roundstart_spawnCalled after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()
get_default_roundstart_spawn_pointHandles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.
get_latejoin_spawn_pointFinds a valid latejoin spawn point, checking for events and special conditions.
get_mail_goodiesAn overridable getter for more dynamic goodies.
get_roundstart_spawn_pointReturns an atom where the mob should spawn in.
map_checkChecks if we should be created on a certain map
process_map_overridesProcesses map specific overrides

Var Details

allow_bureaucratic_error

Should this job be allowed to be picked for the bureaucratic error event?

always_can_respawn_as

Can you always join as this job even while respawning (should probably only be on for assistant)

considered_combat_role

Is this job considered a combat role for respawning? (usually sec/command)

departments

Bitfield of departments this job belongs wit

exclusive_mail_goodies

If this job's mail goodies compete with generic goodies.

family_heirlooms

List of family heirlooms this job can get with the family heirloom quirk. List of types.

mail_goodies

Goodies that can be received via the mail system. +Keep the _job definition for this empty and use /obj/item/mail to define general gifts.

random_spawns_possible

Is this job affected by weird spawns like the ones from station traits

starting_modifiers

Starting skill modifiers.

Proc Details

after_latejoin_spawn

Called after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()

after_roundstart_spawn

Called after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()

get_default_roundstart_spawn_point

Handles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.

get_latejoin_spawn_point

Finds a valid latejoin spawn point, checking for events and special conditions.

get_mail_goodies

An overridable getter for more dynamic goodies.

get_roundstart_spawn_point

Returns an atom where the mob should spawn in.

map_check

Checks if we should be created on a certain map

process_map_overrides

Processes map specific overrides

\ No newline at end of file diff --git a/datum/job/mining.html b/datum/job/mining.html new file mode 100644 index 000000000000..3c0c6072f003 --- /dev/null +++ b/datum/job/mining.html @@ -0,0 +1 @@ +/datum/job/mining - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mining

Vars

paycheck_departmentNot necessarily easy itself, but it can be trivial to make lot of cash on this job.

Var Details

paycheck_department

Not necessarily easy itself, but it can be trivial to make lot of cash on this job.

\ No newline at end of file diff --git a/datum/jps_node.html b/datum/jps_node.html new file mode 100644 index 000000000000..2693f9765bec --- /dev/null +++ b/datum/jps_node.html @@ -0,0 +1 @@ +/datum/jps_node - SPLURT Station 13
SPLURT 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 000000000000..5860a912b664 --- /dev/null +++ b/datum/keybinding.html @@ -0,0 +1 @@ +/datum/keybinding - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

keybinding

Vars

clientsideIs this a clientside verb trigger? If so, this should be set to the name of the verb.
specialSpecial - Needs to update special keys on update. clientside implis special.

Var Details

clientside

Is this a clientside verb trigger? If so, this should be set to the name of the verb.

special

Special - Needs to update special keys on update. clientside implis special.

\ No newline at end of file diff --git a/datum/keybinding/living.html b/datum/keybinding/living.html new file mode 100644 index 000000000000..b8551901347a --- /dev/null +++ b/datum/keybinding/living.html @@ -0,0 +1 @@ +/datum/keybinding/living - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

living

Procs

can_useTechnically you shouldn't be doing any actions if you were sleeping either but...

Proc Details

can_use

Technically you shouldn't be doing any actions if you were sleeping either but...

\ No newline at end of file diff --git a/datum/language_holder.html b/datum/language_holder.html new file mode 100644 index 000000000000..5a64d0382c5f --- /dev/null +++ b/datum/language_holder.html @@ -0,0 +1,3 @@ +/datum/language_holder - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

language_holder

Vars

blocked_languagesA list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.
language_menuHandles displaying the language menu UI.
omnitongueIf true, overrides tongue limitations.
ownerTracks the entity that owns the holder.
selected_languageCurrently spoken language
spoken_languagesA list of languages that can be spoken. Tongue organ may also set limits beyond this list.
understood_languagesUnderstood languages.

Procs

NewInitializes, and copies in the languages from the current atom if available.
add_blocked_languageAdds a single language or list of languages to the blocked language list.
can_speak_languageChecks if you can speak the language. Tongue limitations should be supplied as an argument.
copy_languagesCopies all languages from the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.
get_atomGets the atom, since we some times need to check if the tongue has limitations.
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.
grant_all_languagesGrants every language to understood and spoken, and gives omnitongue.
grant_languageGrants the supplied language.
has_languageChecks if you have the language. If spoken is true, only checks if you can speak the language.
open_language_menuOpens a language menu reading from the language holder.
remove_all_languagesRemoves every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.
remove_blocked_languageRemoves a single language or list of languages from the blocked language list.
remove_languageRemoves a single language or source, removing all sources returns the pre-removal state of the language.
update_atom_languagesEmpties out the atom specific languages and updates them according to the supplied atoms language holder.

Var Details

blocked_languages

A list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.

language_menu

Handles displaying the language menu UI.

omnitongue

If true, overrides tongue limitations.

owner

Tracks the entity that owns the holder.

selected_language

Currently spoken language

spoken_languages

A list of languages that can be spoken. Tongue organ may also set limits beyond this list.

understood_languages

Understood languages.

Proc Details

New

Initializes, and copies in the languages from the current atom if available.

add_blocked_language

Adds a single language or list of languages to the blocked language list.

can_speak_language

Checks if you can speak the language. Tongue limitations should be supplied as an argument.

copy_languages

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

get_atom

Gets the atom, since we some times need to check if the tongue has limitations.

get_random_spoken_language

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

get_random_understood_language

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

get_selected_language

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

grant_all_languages

Grants every language to understood and spoken, and gives omnitongue.

grant_language

Grants the supplied language.

has_language

Checks if you have the language. If spoken is true, only checks if you can speak the language.

open_language_menu

Opens a language menu reading from the language holder.

remove_all_languages

Removes every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.

remove_blocked_language

Removes a single language or list of languages from the blocked language list.

remove_language

Removes a single language or source, removing all sources returns the pre-removal state of the language.

update_atom_languages

Empties out the atom specific languages and updates them according to the supplied atoms language holder.

\ No newline at end of file diff --git a/datum/lift_master.html b/datum/lift_master.html new file mode 100644 index 000000000000..e710db4cbea9 --- /dev/null +++ b/datum/lift_master.html @@ -0,0 +1,15 @@ +/datum/lift_master - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

lift_master

Collect and command

Procs

Check_lift_moveCheck destination turfs
MoveLiftMoves the lift UP or DOWN, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. +Arguments: +going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. +user - Whomever made the lift movement.
MoveLiftHorizontalMoves the lift, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming.
Rebuild_lift_plaformCollect all bordered platforms
set_controlsSets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns.

Proc Details

Check_lift_move

Check destination turfs

MoveLift

Moves the lift UP or DOWN, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. +Arguments: +going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. +user - Whomever made the lift movement.

MoveLiftHorizontal

Moves the lift, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming.

Rebuild_lift_plaform

Collect all bordered platforms

set_controls

Sets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns.

\ No newline at end of file diff --git a/datum/lighting_object.html b/datum/lighting_object.html new file mode 100644 index 000000000000..c233b7fc85f0 --- /dev/null +++ b/datum/lighting_object.html @@ -0,0 +1 @@ +/datum/lighting_object - SPLURT Station 13
SPLURT 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/looping_sound.html b/datum/looping_sound.html new file mode 100644 index 000000000000..e75843db3d85 --- /dev/null +++ b/datum/looping_sound.html @@ -0,0 +1 @@ +/datum/looping_sound - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

looping_sound

Vars

end_volumeOverride for volume of end sound
start_volumeOverride for volume of start sound

Var Details

end_volume

Override for volume of end sound

start_volume

Override for volume of start sound

\ No newline at end of file diff --git a/datum/mafia_controller.html b/datum/mafia_controller.html new file mode 100644 index 000000000000..9cdad4469648 --- /dev/null +++ b/datum/mafia_controller.html @@ -0,0 +1,138 @@ +/datum/mafia_controller - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mafia_controller

The mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.

Vars

all_rolesall roles in the game, dead or alive. check their game status if you only want living or dead.
current_maptemplate picked when the game starts. used for the name and desc reading
current_setup_textReadable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")
custom_setupfor debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over
day_phase_periodtalk with others about the last night
debugused for debugging in testing (doesn't put people out of the game, some other shit i forgot, who knows just don't set this in live) honestly kinda deprecated
first_day_phase_periodfirst day has no voting, and thus is shorter
judgement_abstain_votesand these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!
judgement_lynch_periodguilty or innocent, we want a bit of time for players to process the outcome of the vote
judgement_phase_perioddefend yourself! don't get lynched! sometimes skipped if nobody votes.
landmarksspawn points for players, each one has a house
low_pop_modePrioritizes clients to have cool antag roles
map_deletermap generation tool that deletes the current map after the game finishes
max_playerMax player count
next_phase_timercurrent timer for phase
night_phase_periodmafia talk at night and pick someone to kill, some town roles use their actions, etc etc.
on_trialcurrent role on trial for the judgement phase, will die if guilty is greater than innocent
phasewhat part of the game you're playing in. day phases, night phases, judgement phases, etc.
player_outfitstarting outfit for all mafia players. it's just a grey jumpsuit.
player_role_lookupexists to speed up role retrieval, it's a dict. player_role_lookup[player ckey] will give you the role they play
required_playerRequired player count
spectatorslist of observers that should get game updates.
speed_upif enabled, the game has fallen under half pop and is sped up
town_center_landmarktown center for when people get put on trial
turnhow long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.
victory_lap_periodlike the lynch period, players need to see what the other players in the game's roles were
votesgroup voting on one person, like putting people to trial or choosing who to kill as mafia
voting_phase_periodvote someone to get put on trial

Procs

add_setup_roleHelper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.
award_roleLets the game award roles with all their checks and sanity, prevents achievements given out for debug games
basic_setupCalled when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
check_signupsFilters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.
check_trialPlayers have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.
check_victoryChecks to see if a faction (or solo antagonist) has won.
create_bodiesCalled when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key
display_votesAdds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:
end_gameCleans up the game, resetting variables back to the beginning and removing the map with the generator.
generate_random_setupReturns a semirandom setup with 12 roles. balance not guaranteed!
get_random_voterReturns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:
get_vote_countReturns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:
get_vote_winnerReturns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:
lockdownAfter the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.
lynchPlayers have voted innocent or guilty on the person on trial, and that person is now killed or returned home.
prepare_gameTriggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game
reset_votesClears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched
resolve_nightThe end of the night, and a series of signals for the order of events on a night.
send_homeTeenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:
start_dayHow every day starts.
start_gameThe game by this point is now all set up, and so we can put people in their bodies and start the first phase.
start_nightThe actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.
start_the_endThe end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point.
start_voting_phasePlayers have finished the discussion period, and now must put up someone to the chopping block.
toggle_night_curtainsShuts poddoors attached to mafia. +Arguments:
try_autostartCalled when someone signs up, and sees if there are enough people in the signup list to begin.
vote_forProc that goes off when players vote for something with their mafia panel.

Var Details

all_roles

all roles in the game, dead or alive. check their game status if you only want living or dead.

current_map

template picked when the game starts. used for the name and desc reading

current_setup_text

Readable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")

custom_setup

for debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over

day_phase_period

talk with others about the last night

debug

used for debugging in testing (doesn't put people out of the game, some other shit i forgot, who knows just don't set this in live) honestly kinda deprecated

first_day_phase_period

first day has no voting, and thus is shorter

judgement_abstain_votes

and these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!

judgement_lynch_period

guilty or innocent, we want a bit of time for players to process the outcome of the vote

judgement_phase_period

defend yourself! don't get lynched! sometimes skipped if nobody votes.

landmarks

spawn points for players, each one has a house

low_pop_mode

Prioritizes clients to have cool antag roles

map_deleter

map generation tool that deletes the current map after the game finishes

max_player

Max player count

next_phase_timer

current timer for phase

night_phase_period

mafia talk at night and pick someone to kill, some town roles use their actions, etc etc.

on_trial

current role on trial for the judgement phase, will die if guilty is greater than innocent

phase

what part of the game you're playing in. day phases, night phases, judgement phases, etc.

player_outfit

starting outfit for all mafia players. it's just a grey jumpsuit.

player_role_lookup

exists to speed up role retrieval, it's a dict. player_role_lookup[player ckey] will give you the role they play

required_player

Required player count

spectators

list of observers that should get game updates.

speed_up

if enabled, the game has fallen under half pop and is sped up

town_center_landmark

town center for when people get put on trial

turn

how long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.

victory_lap_period

like the lynch period, players need to see what the other players in the game's roles were

votes

group voting on one person, like putting people to trial or choosing who to kill as mafia

voting_phase_period

vote someone to get put on trial

Proc Details

add_setup_role

Helper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.

award_role

Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games

+

Arguments:

+

basic_setup

Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.

+

Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game. +Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list. +If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real.

check_signups

Filters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.

+

If a disconnected player gets a non-ghost mob and reconnects, they will be first put back into mafia_signup then filtered by that.

check_trial

Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.

+

What players do in this phase:

+

check_victory

Checks to see if a faction (or solo antagonist) has won.

+

Calculates in this order:

+

create_bodies

Called when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key

+

Notably:

+

display_votes

Adds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:

+

end_game

Cleans up the game, resetting variables back to the beginning and removing the map with the generator.

generate_random_setup

Returns a semirandom setup with 12 roles. balance not guaranteed!

+

please check the variables at the top of the proc to see how much of each role types it picks

get_random_voter

Returns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:

+

get_vote_count

Returns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:

+

get_vote_winner

Returns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:

+

lockdown

After the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.

lynch

Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home.

+

What players do in this phase:

+

prepare_game

Triggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

+

Does the following:

+

reset_votes

Clears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched

resolve_night

The end of the night, and a series of signals for the order of events on a night.

+

Order of events, and what they mean:

+

send_home

Teenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:

+

start_day

How every day starts.

+

What players do in this phase:

+

start_game

The game by this point is now all set up, and so we can put people in their bodies and start the first phase.

+

Does the following:

+

start_night

The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.

+

What players do in this phase:

+

start_the_end

The end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point.

+

What players do in this phase:

+

start_voting_phase

Players have finished the discussion period, and now must put up someone to the chopping block.

+

What players do in this phase:

+

toggle_night_curtains

Shuts poddoors attached to mafia. +Arguments:

+

try_autostart

Called when someone signs up, and sees if there are enough people in the signup list to begin.

+

Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup)

vote_for

Proc that goes off when players vote for something with their mafia panel.

+

If teams, it hides the tally overlay and only sends the vote messages to the team that is voting +Arguments:

+
\ No newline at end of file diff --git a/datum/mafia_role.html b/datum/mafia_role.html new file mode 100644 index 000000000000..ff87eeceeef6 --- /dev/null +++ b/datum/mafia_role.html @@ -0,0 +1,3 @@ +/datum/mafia_role - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mafia_role

Vars

actionsaction = uses
game_statusso mafia have to also kill them to have a majority
hud_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
revealed_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
revealed_outfitwhat they get equipped with when they are revealed
role_flagsrole flags (special status of roles like detection immune)
role_typehow the random setup chooses which roles get put in
special_themeset this to something cool for antagonists and their window will look different
vote_potentialhow many votes your role COULD count for, now or later. used in checking victory
vote_powerhow many votes submitted when you vote. used in voting, but not victory
winner_awardwhat the role gets when it wins a game

Procs

can_actionTests if a visitor can actually perform an action on this role. Verbose on purpose!
killTests kill immunities, if nothing prevents the kill, kills this role.

Var Details

actions

action = uses

game_status

so mafia have to also kill them to have a majority

hud_icon

icon state in the mafia dmi of the hud of the role, used in the mafia ui

revealed_icon

icon state in the mafia dmi of the hud of the role, used in the mafia ui

revealed_outfit

what they get equipped with when they are revealed

role_flags

role flags (special status of roles like detection immune)

role_type

how the random setup chooses which roles get put in

special_theme

set this to something cool for antagonists and their window will look different

vote_potential

how many votes your role COULD count for, now or later. used in checking victory

vote_power

how many votes submitted when you vote. used in voting, but not victory

winner_award

what the role gets when it wins a game

Proc Details

can_action

Tests if a visitor can actually perform an action on this role. Verbose on purpose!

+

Will return false if: Your visit is roleblocked, they have perished, or your visit was interrupted

kill

Tests kill immunities, if nothing prevents the kill, kills this role.

+

Does not count as visiting, see visit proc.

\ No newline at end of file diff --git a/datum/map_config.html b/datum/map_config.html new file mode 100644 index 000000000000..c798db3fda32 --- /dev/null +++ b/datum/map_config.html @@ -0,0 +1 @@ +/datum/map_config - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

map_config

Vars

job_access_addAdd these accesses to jobs - type = list()
job_access_overrideOverride job accesses - type = list() - overrides everything else
job_access_removeRemove these accesses from jobs - type = list()
job_blacklistJobs blacklist - if this is not empty, jobs in this aren't allowed.
job_override_spawn_positionsJob spawn position mod - type = number
job_override_total_positionsJob total position mod - type = number
job_whitelistJobs whitelist - if this is not empty, ONLY these jobs are allowed. Overrides blacklist.
orientationOrientation to load in by default.
persistence_keyPersistence key: Defaults to ckey(map_name). If set to "NO_PERSIST", this map will have NO persistence.

Procs

WriteNextMapbadmin moments. Keep up to date with LoadConfig()!

Var Details

job_access_add

Add these accesses to jobs - type = list()

job_access_override

Override job accesses - type = list() - overrides everything else

job_access_remove

Remove these accesses from jobs - type = list()

job_blacklist

Jobs blacklist - if this is not empty, jobs in this aren't allowed.

job_override_spawn_positions

Job spawn position mod - type = number

job_override_total_positions

Job total position mod - type = number

job_whitelist

Jobs whitelist - if this is not empty, ONLY these jobs are allowed. Overrides blacklist.

orientation

Orientation to load in by default.

persistence_key

Persistence key: Defaults to ckey(map_name). If set to "NO_PERSIST", this map will have NO persistence.

Proc Details

WriteNextMap

badmin moments. Keep up to date with LoadConfig()!

\ No newline at end of file diff --git a/datum/map_generator.html b/datum/map_generator.html new file mode 100644 index 000000000000..eef11ecca1e3 --- /dev/null +++ b/datum/map_generator.html @@ -0,0 +1 @@ +/datum/map_generator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

map_generator

This type is responsible for any map generation behavior that is done in areas, override this to allow for area-specific map generation. This generation is ran by areas in initialize.

Procs

generate_terrainThis proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.

Proc Details

generate_terrain

This proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.

\ No newline at end of file diff --git a/datum/map_generator/cave_generator.html b/datum/map_generator/cave_generator.html new file mode 100644 index 000000000000..536ae82428c5 --- /dev/null +++ b/datum/map_generator/cave_generator.html @@ -0,0 +1 @@ +/datum/map_generator/cave_generator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cave_generator

Vars

birth_limitHow much neighbours does a dead cell need to become alive
closed_turf_typesWeighted list of the types that spawns if the turf is closed
death_limitHow little neighbours does a alive cell need to die
feature_spawn_chanceBase chance of spawning features
feature_spawn_listWeighted list of extra features that can spawn in the area, such as geysers.
flora_spawn_chanceBase chance of spawning flora
flora_spawn_listWeighted list of flora that can spawn in the area.
initial_closed_chanceChance of cells starting closed
mob_spawn_chanceBase chance of spawning a mob
mob_spawn_listWeighted list of mobs that can spawn in the area.
open_turf_typesWeighted list of the types that spawns if the turf is open
smoothing_iterationsAmount of smoothing iterations
string_genUnique ID for this spawner

Var Details

birth_limit

How much neighbours does a dead cell need to become alive

closed_turf_types

Weighted list of the types that spawns if the turf is closed

death_limit

How little neighbours does a alive cell need to die

feature_spawn_chance

Base chance of spawning features

feature_spawn_list

Weighted list of extra features that can spawn in the area, such as geysers.

flora_spawn_chance

Base chance of spawning flora

flora_spawn_list

Weighted list of flora that can spawn in the area.

initial_closed_chance

Chance of cells starting closed

mob_spawn_chance

Base chance of spawning a mob

mob_spawn_list

Weighted list of mobs that can spawn in the area.

open_turf_types

Weighted list of the types that spawns if the turf is open

smoothing_iterations

Amount of smoothing iterations

string_gen

Unique ID for this spawner

\ No newline at end of file diff --git a/datum/map_generator/jungle_generator.html b/datum/map_generator/jungle_generator.html new file mode 100644 index 000000000000..0abd173a83ad --- /dev/null +++ b/datum/map_generator/jungle_generator.html @@ -0,0 +1 @@ +/datum/map_generator/jungle_generator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

jungle_generator

Vars

perlin_zoomUsed to select "zoom" level into the perlin noise, higher numbers result in slower transitions
possible_biomes2D list of all biomes based on heat and humidity combos.

Procs

generate_terrainSeeds the rust-g perlin noise with a random number.

Var Details

perlin_zoom

Used to select "zoom" level into the perlin noise, higher numbers result in slower transitions

possible_biomes

2D list of all biomes based on heat and humidity combos.

Proc Details

generate_terrain

Seeds the rust-g perlin noise with a random number.

\ No newline at end of file diff --git a/datum/map_report.html b/datum/map_report.html new file mode 100644 index 000000000000..b48700eec12e --- /dev/null +++ b/datum/map_report.html @@ -0,0 +1 @@ +/datum/map_report - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

map_report

An error report generated by /datum/parsed_map/proc/check_for_errors.

Vars

loadableWhether this map can be loaded safely despite the errors.

Procs

show_toShow a rendered version of this report to a client.

Var Details

loadable

Whether this map can be loaded safely despite the errors.

Proc Details

show_to

Show a rendered version of this report to a client.

\ No newline at end of file diff --git a/datum/map_template.html b/datum/map_template.html new file mode 100644 index 000000000000..019fb2bbcab5 --- /dev/null +++ b/datum/map_template.html @@ -0,0 +1,10 @@ +/datum/map_template - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

map_template

Procs

discover_offsetTakes in a type path, locates an instance of that type in the cached map, and calculates its offset from the origin of the map, returns this offset in the form list(x, y).
loadProc to trigger a load at a specific area. Calls on_map_loaded(T.z, loaded_bounds) afterwards.

Proc Details

discover_offset

Takes in a type path, locates an instance of that type in the cached map, and calculates its offset from the origin of the map, returns this offset in the form list(x, y).

load

Proc to trigger a load at a specific area. Calls on_map_loaded(T.z, loaded_bounds) afterwards.

+

@params

+
\ No newline at end of file diff --git a/datum/map_template/shuttle.html b/datum/map_template/shuttle.html new file mode 100644 index 000000000000..3abae49ac689 --- /dev/null +++ b/datum/map_template/shuttle.html @@ -0,0 +1 @@ +/datum/map_template/shuttle - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

shuttle

Vars

can_be_boughtCan the be legitimately purchased by the station? Used by hardcoded or pre-mapped shuttles like the lavaland or cargo shuttle.
credit_costHow much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.
movement_forceIf set, overrides default movement_force on shuttle

Var Details

can_be_bought

Can the be legitimately purchased by the station? Used by hardcoded or pre-mapped shuttles like the lavaland or cargo shuttle.

credit_cost

How much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.

movement_force

If set, overrides default movement_force on shuttle

\ No newline at end of file diff --git a/datum/map_template/shuttle/emergency/narnar.html b/datum/map_template/shuttle/emergency/narnar.html new file mode 100644 index 000000000000..867028bb27ae --- /dev/null +++ b/datum/map_template/shuttle/emergency/narnar.html @@ -0,0 +1 @@ +/datum/map_template/shuttle/emergency/narnar - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

narnar

Procs

prerequisites_metThe joke is the number so no defines

Proc Details

prerequisites_met

The joke is the number so no defines

\ No newline at end of file diff --git a/datum/martial_art.html b/datum/martial_art.html new file mode 100644 index 000000000000..9d95862fd665 --- /dev/null +++ b/datum/martial_art.html @@ -0,0 +1 @@ +/datum/martial_art - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

martial_art

Vars

block_parry_dataSet this variable to something not null, this'll be the preferred unarmed parry in most cases if [can_martial_parry] is TRUE. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!
can_martial_parryCan we be used to unarmed parry?

Procs

active_parry_reflex_counterCalled when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.
on_active_parryCalled when an attack is parried using this, whether or not the parry was successful.
on_projectile_hitGets called when a projectile hits the owner. Returning anything other than BULLET_ACT_HIT will stop the projectile from hitting the mob.

Var Details

block_parry_data

Set this variable to something not null, this'll be the preferred unarmed parry in most cases if [can_martial_parry] is TRUE. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!

can_martial_parry

Can we be used to unarmed parry?

Proc Details

active_parry_reflex_counter

Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.

on_active_parry

Called when an attack is parried using this, whether or not the parry was successful.

on_projectile_hit

Gets called when a projectile hits the owner. Returning anything other than BULLET_ACT_HIT will stop the projectile from hitting the mob.

\ No newline at end of file diff --git a/datum/martial_art/cqc/blueshield.html b/datum/martial_art/cqc/blueshield.html new file mode 100644 index 000000000000..2fbc88c47e77 --- /dev/null +++ b/datum/martial_art/cqc/blueshield.html @@ -0,0 +1 @@ +/datum/martial_art/cqc/blueshield - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

blueshield

Subtype of CQC. Only used for the Blueshit.

Procs

can_usePrevents use if the Blueshit is not on the bridge or the captain'soffice .

Proc Details

can_use

Prevents use if the Blueshit is not on the bridge or the captain'soffice .

\ No newline at end of file diff --git a/datum/martial_art/cqc/under_siege.html b/datum/martial_art/cqc/under_siege.html new file mode 100644 index 000000000000..31486864176c --- /dev/null +++ b/datum/martial_art/cqc/under_siege.html @@ -0,0 +1 @@ +/datum/martial_art/cqc/under_siege - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

under_siege

Subtype of CQC. Only used for the chef.

Procs

can_usePrevents use if the cook is not in the kitchen.

Proc Details

can_use

Prevents use if the cook is not in the kitchen.

\ No newline at end of file diff --git a/datum/martial_art/the_sleeping_carp.html b/datum/martial_art/the_sleeping_carp.html new file mode 100644 index 000000000000..3b8dc3312de2 --- /dev/null +++ b/datum/martial_art/the_sleeping_carp.html @@ -0,0 +1 @@ +/datum/martial_art/the_sleeping_carp - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

the_sleeping_carp

Procs

dropKickKeelhaul: Harm Grab combo, knocks people down, deals stamina damage while they're on the floor
launchKickCrashing Wave Kick: Harm Disarm combo, throws people seven tiles backwards
strongPunchGnashing Teeth: Harm Harm, high force punch on every second harm punch, has a chance to crit for near triple damage

Proc Details

dropKick

Keelhaul: Harm Grab combo, knocks people down, deals stamina damage while they're on the floor

launchKick

Crashing Wave Kick: Harm Disarm combo, throws people seven tiles backwards

strongPunch

Gnashing Teeth: Harm Harm, high force punch on every second harm punch, has a chance to crit for near triple damage

\ No newline at end of file diff --git a/datum/material.html b/datum/material.html new file mode 100644 index 000000000000..87ab5c5315df --- /dev/null +++ b/datum/material.html @@ -0,0 +1,41 @@ +/datum/material - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

material

Vars

alphaBase alpha of the material, is used for greyscale icons.
armor_modifiersArmor modifiers, multiplies an items normal armor vars by these amounts.
beauty_modifierHow beautiful is this material per unit.
cached_texture_filtera cached icon for the texture filter
categoriesBitflags that influence how SSmaterials handles this material. +Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for
colorBase color of the material, is used for greyscale. Item isn't changed in color if this is null.
descA short description of the material. Not used anywhere, yet...
idWhat the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.
integrity_modifierThis is a modifier for integrity, and resembles the strength of the material
item_sound_overrideCan be used to override the sound items make, lets add some SLOSHing.
nameWhat the material is referred to as IC.
shard_typeWhat type of shard the material will shatter to
sheet_typeThe type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets
strength_modifierThis is a modifier for force, and resembles the strength of the material
texture_layer_icon_statewhat texture icon state to overlay
turf_sound_overrideCan be used to override the stepsound a turf makes. MORE SLOOOSH
value_per_unitThis is the amount of value per 1 unit of the material

Procs

Initialize
on_accidental_mat_consumptionThis proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments
on_appliedThis proc is called when the material is added to an object.
on_applied_objThis proc is called when the material is added to an object specifically.
on_removedThis proc is called when the material is removed from an object.
on_removed_objThis proc is called when the material is removed from an object specifically.
return_composition

Var Details

alpha

Base alpha of the material, is used for greyscale icons.

armor_modifiers

Armor modifiers, multiplies an items normal armor vars by these amounts.

beauty_modifier

How beautiful is this material per unit.

cached_texture_filter

a cached icon for the texture filter

categories

Bitflags that influence how SSmaterials handles this material. +Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for

color

Base color of the material, is used for greyscale. Item isn't changed in color if this is null.

desc

A short description of the material. Not used anywhere, yet...

id

What the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.

integrity_modifier

This is a modifier for integrity, and resembles the strength of the material

item_sound_override

Can be used to override the sound items make, lets add some SLOSHing.

name

What the material is referred to as IC.

shard_type

What type of shard the material will shatter to

sheet_type

The type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets

strength_modifier

This is a modifier for force, and resembles the strength of the material

texture_layer_icon_state

what texture icon state to overlay

turf_sound_override

Can be used to override the stepsound a turf makes. MORE SLOOOSH

value_per_unit

This is the amount of value per 1 unit of the material

Proc Details

Initialize

on_accidental_mat_consumption

This proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments

+

on_applied

This proc is called when the material is added to an object.

on_applied_obj

This proc is called when the material is added to an object specifically.

on_removed

This proc is called when the material is removed from an object.

on_removed_obj

This proc is called when the material is removed from an object specifically.

return_composition

\ No newline at end of file diff --git a/datum/mind.html b/datum/mind.html new file mode 100644 index 000000000000..fcaba3d6a71a --- /dev/null +++ b/datum/mind.html @@ -0,0 +1,29 @@ +/datum/mind - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mind

Vars

ambitionsLazy list for antagonists to set goals they wish to achieve, to be shown at the round-end report.
has_ever_been_aihas this mind ever been an AI
original_characterWeakref to the character we spawned in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not
skill_holderOur skill holder.
special_statusesA lazy list of statuses to add next to this mind in the traitor panel

Procs

action_skill_modGeneric value modifier proc that uses one skill. +Args:
auto_gain_experienceAutomatic skill increase, multiplied by skill affinity if existing. +Only works if skill is numerical or levelled..
boost_skill_value_toBoosts a skill to a value if not aobve
equip_traitor
get_hijack_speedSets our can_hijack to the fastest speed our antag datums allow.
get_skill_affinityGrabs our affinity for a skill. !!This is a multiplier!!
get_skill_levelGrabs the level of a skill. Only supported by skills with tiers or levels.
get_skill_valueGrabs the value of a skill.
item_action_skills_modGeneric value modifier proc that uses several skills, intended for items. +Args:
remove_antags_for_borgingRemove the antagonists that should not persist when being borged
set_skill_valueSets the value of a skill.

Var Details

ambitions

Lazy list for antagonists to set goals they wish to achieve, to be shown at the round-end report.

has_ever_been_ai

has this mind ever been an AI

original_character

Weakref to the character we spawned in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not

skill_holder

Our skill holder.

special_statuses

A lazy list of statuses to add next to this mind in the traitor panel

Proc Details

action_skill_mod

Generic value modifier proc that uses one skill. +Args:

+

auto_gain_experience

Automatic skill increase, multiplied by skill affinity if existing. +Only works if skill is numerical or levelled..

boost_skill_value_to

Boosts a skill to a value if not aobve

equip_traitor

+

A mind proc for giving anyone an uplink. +arguments:

+

get_hijack_speed

Sets our can_hijack to the fastest speed our antag datums allow.

get_skill_affinity

Grabs our affinity for a skill. !!This is a multiplier!!

get_skill_level

Grabs the level of a skill. Only supported by skills with tiers or levels.

get_skill_value

Grabs the value of a skill.

item_action_skills_mod

Generic value modifier proc that uses several skills, intended for items. +Args:

+

remove_antags_for_borging

Remove the antagonists that should not persist when being borged

set_skill_value

Sets the value of a skill.

\ No newline at end of file diff --git a/datum/mod_theme.html b/datum/mod_theme.html new file mode 100644 index 000000000000..b1b61077f7e0 --- /dev/null +++ b/datum/mod_theme.html @@ -0,0 +1 @@ +/datum/mod_theme - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mod_theme

MODsuit theme, instanced once and then used by MODsuits to grab various statistics.

Vars

allowedAllowed items in the chestplate's suit storage.
armorArmor shared across the MOD pieces.
cell_drainHow much battery power the MOD uses by just being on
complexity_maxHow much modules can the MOD carry without malfunctioning.
default_skinDefault skin of the MOD.
descDescription added to the MOD.
extended_descExtended description on examine_more
inbuilt_modulesList of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.
max_heat_protection_temperatureMax heat protection shared across the MOD pieces.
min_cold_protection_temperatureMax cold protection shared across the MOD pieces.
module_blacklistModules blacklisted from the MOD.
nameTheme name for the MOD.
permeability_coefficientPermeability shared across the MOD pieces.
resistance_flagsResistance flags shared across the MOD pieces.
siemens_coefficientSiemens shared across the MOD pieces.
skinsList of skins with their appropriate clothing flags.
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
ui_themeTheme used by the MOD TGUI.

Var Details

allowed

Allowed items in the chestplate's suit storage.

armor

Armor shared across the MOD pieces.

cell_drain

How much battery power the MOD uses by just being on

complexity_max

How much modules can the MOD carry without malfunctioning.

default_skin

Default skin of the MOD.

desc

Description added to the MOD.

extended_desc

Extended description on examine_more

inbuilt_modules

List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.

max_heat_protection_temperature

Max heat protection shared across the MOD pieces.

min_cold_protection_temperature

Max cold protection shared across the MOD pieces.

module_blacklist

Modules blacklisted from the MOD.

name

Theme name for the MOD.

permeability_coefficient

Permeability shared across the MOD pieces.

resistance_flags

Resistance flags shared across the MOD pieces.

siemens_coefficient

Siemens shared across the MOD pieces.

skins

List of skins with their appropriate clothing flags.

slowdown_active

Slowdown of the MOD when active.

slowdown_inactive

Slowdown of the MOD when not active.

ui_theme

Theme used by the MOD TGUI.

\ No newline at end of file diff --git a/datum/mood_event.html b/datum/mood_event.html new file mode 100644 index 000000000000..35c2501eb8dd --- /dev/null +++ b/datum/mood_event.html @@ -0,0 +1 @@ +/datum/mood_event - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mood_event

Vars

mood_changeFor descriptions, use the span classes bold nicegreen, nicegreen, none, warning and boldwarning in order from great to horrible.

Var Details

mood_change

For descriptions, use the span classes bold nicegreen, nicegreen, none, warning and boldwarning in order from great to horrible.

\ No newline at end of file diff --git a/datum/movespeed_modifier.html b/datum/movespeed_modifier.html new file mode 100644 index 000000000000..ee0a97655554 --- /dev/null +++ b/datum/movespeed_modifier.html @@ -0,0 +1 @@ +/datum/movespeed_modifier - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

movespeed_modifier

Vars

absolute_max_tiles_per_secondAbsolute max tiles we can boost to
blacklisted_movetypesMovetypes this never applies to
complex_calculationNext two variables depend on this: Should we do advanced calculations?
conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
max_tiles_per_second_boostMax tiles per second we can boost
movetypesMovetypes this applies to
multiplicative_slowdownMultiplicative slowdown
priorityDetermines order. Lower priorities are applied first.
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

Procs

apply_multiplicativeReturns new multiplicative movespeed after modification.

Var Details

absolute_max_tiles_per_second

Absolute max tiles we can boost to

blacklisted_movetypes

Movetypes this never applies to

complex_calculation

Next two variables depend on this: Should we do advanced calculations?

conflicts_with

Other modification datums this conflicts with.

id

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

max_tiles_per_second_boost

Max tiles per second we can boost

movetypes

Movetypes this applies to

multiplicative_slowdown

Multiplicative slowdown

priority

Determines order. Lower priorities are applied first.

variable

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

Proc Details

apply_multiplicative

Returns new multiplicative movespeed after modification.

\ No newline at end of file diff --git a/datum/movespeed_modifier/sprinting.html b/datum/movespeed_modifier/sprinting.html new file mode 100644 index 000000000000..2316a2e4d015 --- /dev/null +++ b/datum/movespeed_modifier/sprinting.html @@ -0,0 +1 @@ +/datum/movespeed_modifier/sprinting - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

sprinting

Procs

apply_multiplicativefor speed reasons this is sorta copypasty.

Proc Details

apply_multiplicative

for speed reasons this is sorta copypasty.

\ No newline at end of file diff --git a/datum/mutation/human/hulk.html b/datum/mutation/human/hulk.html new file mode 100644 index 000000000000..cee501c28bde --- /dev/null +++ b/datum/mutation/human/hulk.html @@ -0,0 +1,6 @@ +/datum/mutation/human/hulk - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

hulk

Procs

break_an_armChecks damage of a hulk's arm and applies bone wounds as necessary.

Proc Details

break_an_arm

Checks damage of a hulk's arm and applies bone wounds as necessary.

+

Called by specific atoms being attacked, such as walls. If an atom +does not call this proc, than punching that atom will not cause +arm breaking (even if the atom deals recoil damage to hulks). +Arguments: +arg1 is the arm to evaluate damage of and possibly break.

\ No newline at end of file diff --git a/datum/nanite_program.html b/datum/nanite_program.html new file mode 100644 index 000000000000..a51e03c25717 --- /dev/null +++ b/datum/nanite_program.html @@ -0,0 +1,3 @@ +/datum/nanite_program - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

nanite_program

Vars

corruptableCorruptable - able to have code/configuration changed
error_flickingerror flicking - able to be randomly toggled by errors
extra_settingsDon't ever override this or I will come to your house and stand menacingly behind a bush
immutableimmutable - cannot be overwritten by other programs

Procs

copy_extra_settings_toCopy of the list instead of direct reference for obvious reasons
get_extra_setting_valueYou probably shouldn't be overriding this one, but I'm not a cop.
get_extra_settings_frontendUsed for getting information about the extra settings to the frontend
is_permanentChecks if we're a permanent program
register_extra_settingsRegister extra settings by overriding this. +extra_settings[name] = new typepath() for each extra setting
self_destructAttempts to destroy ourselves
set_extra_settingYou can override this if you need to have special behavior after setting certain settings.

Var Details

corruptable

Corruptable - able to have code/configuration changed

error_flicking

error flicking - able to be randomly toggled by errors

extra_settings

Don't ever override this or I will come to your house and stand menacingly behind a bush

immutable

immutable - cannot be overwritten by other programs

Proc Details

copy_extra_settings_to

Copy of the list instead of direct reference for obvious reasons

get_extra_setting_value

You probably shouldn't be overriding this one, but I'm not a cop.

get_extra_settings_frontend

Used for getting information about the extra settings to the frontend

is_permanent

Checks if we're a permanent program

register_extra_settings

Register extra settings by overriding this. +extra_settings[name] = new typepath() for each extra setting

self_destruct

Attempts to destroy ourselves

set_extra_setting

You can override this if you need to have special behavior after setting certain settings.

\ No newline at end of file diff --git a/datum/ntnet_conversation.html b/datum/ntnet_conversation.html new file mode 100644 index 000000000000..9aa290881381 --- /dev/null +++ b/datum/ntnet_conversation.html @@ -0,0 +1 @@ +/datum/ntnet_conversation - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ntnet_conversation

Vars

active_clientschat clients who are active or minimized
muted_clientsclients muted by operator
offline_clientschat clients who have exited out of the program.

Var Details

active_clients

chat clients who are active or minimized

muted_clients

clients muted by operator

offline_clients

chat clients who have exited out of the program.

\ No newline at end of file diff --git a/datum/objective/door_jack.html b/datum/objective/door_jack.html new file mode 100644 index 000000000000..3f4aa0aeed5b --- /dev/null +++ b/datum/objective/door_jack.html @@ -0,0 +1 @@ +/datum/objective/door_jack - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

door_jack

Vars

doors_requiredHow many doors that need to be opened using the gloves to pass the objective

Var Details

doors_required

How many doors that need to be opened using the gloves to pass the objective

\ No newline at end of file diff --git a/datum/objective/hijack.html b/datum/objective/hijack.html new file mode 100644 index 000000000000..5a598644b8d0 --- /dev/null +++ b/datum/objective/hijack.html @@ -0,0 +1 @@ +/datum/objective/hijack - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

hijack

Vars

hijack_speed_overrideOverrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.

Var Details

hijack_speed_override

Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.

\ No newline at end of file diff --git a/datum/outfit.html b/datum/outfit.html new file mode 100644 index 000000000000..03048214659a --- /dev/null +++ b/datum/outfit.html @@ -0,0 +1,34 @@ +/datum/outfit - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Outfit datums

This is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.

+

You can also specify an outfit datum on a job to have it auto equipped to the mob on join

+

/mob/living/carbon/human/proc/equipOutfit(outfit) is the mob level proc to equip an outfit +and you pass it the relevant datum outfit

+

outfits can also be saved as json blobs downloadable by a client and then can be uploaded +by that user to recreate the outfit, this is used by admins to allow for custom event outfits +that can be restored at a later date

Vars

accessoryAny clothing accessory item
backType path of item to go in back slot
backpack_contentslist of items that should go in the backpack of the user
beltType path of item to go in belt slot
boxInternals box. Will be inserted at the start of backpack_contents
chameleon_extrasextra types for chameleon outfit changes, mostly guns
earsType path of item to go in ears slot
ears_extraSlot for the opposite ear.
glassesType path of item to go in the glasses slot
glovesType path of item to go in gloves slot
headType path of item to go in head slot
idType path of item to go in the idcard slot
implantsAny implants the mob should start implanted with
internals_slotID of the slot containing a gas tank
l_handType path of item to go in the right hand
l_pocketType path of item for left pocket slot
maskType path of item to go in mask slot
nameName of the outfit (shows up in the equip admin verb)
neckType path of item to go in neck slot
r_pocketType path of item for right pocket slot
shirtSlot for the undershirt (which is quite a foreign concept to me) or bras
shoesType path of item to go in shoes slot
socksSlot for socks, yes, the thing that usually goes before your shoes
suitType path of item to go in suit slot
suit_storeType path of item to go in suit storage slot
toggle_helmetShould the toggle helmet proc be called on the helmet during equip
underwearSlot for underwear like boxers and panties
uniformType path of item to go in uniform slot
wristsSlot for the part of your arms that isn't quite hands yet.

Procs

apply_fingerprintsApply a fingerprint from the passed in human to all items in the outfit
copy_fromCopy most vars from another outfit to this one
equipEquips all defined types and paths to the mob passed in
get_chameleon_disguise_infoReturn a list of all the types that are required to disguise as this outfit type
get_json_dataReturn a json list of this outfit
load_fromCreate an outfit datum from a list of json data
post_equipCalled after the equip proc has finished
pre_equipCalled at the start of the equip proc
save_to_filePrompt the passed in mob client to download this outfit as a json blob

Var Details

accessory

Any clothing accessory item

back

Type path of item to go in back slot

backpack_contents

list of items that should go in the backpack of the user

+

Format of this list should be: list(path=count,otherpath=count)

belt

Type path of item to go in belt slot

box

Internals box. Will be inserted at the start of backpack_contents

chameleon_extras

extra types for chameleon outfit changes, mostly guns

+

Format of this list is (typepath, typepath, typepath)

+

These are all added and returns in the list for get_chamelon_diguise_info proc

ears

Type path of item to go in ears slot

ears_extra

Slot for the opposite ear.

glasses

Type path of item to go in the glasses slot

gloves

Type path of item to go in gloves slot

head

Type path of item to go in head slot

id

Type path of item to go in the idcard slot

implants

Any implants the mob should start implanted with

+

Format of this list is (typepath, typepath, typepath)

internals_slot

ID of the slot containing a gas tank

l_hand

Type path of item to go in the right hand

l_pocket

Type path of item for left pocket slot

mask

Type path of item to go in mask slot

name

Name of the outfit (shows up in the equip admin verb)

neck

Type path of item to go in neck slot

r_pocket

Type path of item for right pocket slot

shirt

Slot for the undershirt (which is quite a foreign concept to me) or bras

shoes

Type path of item to go in shoes slot

socks

Slot for socks, yes, the thing that usually goes before your shoes

suit

Type path of item to go in suit slot

suit_store

Type path of item to go in suit storage slot

+

(make sure it's valid for that suit)

toggle_helmet

Should the toggle helmet proc be called on the helmet during equip

underwear

Slot for underwear like boxers and panties

uniform

Type path of item to go in uniform slot

wrists

Slot for the part of your arms that isn't quite hands yet.

Proc Details

apply_fingerprints

Apply a fingerprint from the passed in human to all items in the outfit

+

Used for forensics setup when the mob is first equipped at roundstart +essentially calls add_fingerprint to every defined item on the human

copy_from

Copy most vars from another outfit to this one

equip

Equips all defined types and paths to the mob passed in

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

get_chameleon_disguise_info

Return a list of all the types that are required to disguise as this outfit type

get_json_data

Return a json list of this outfit

load_from

Create an outfit datum from a list of json data

post_equip

Called after the equip proc has finished

+

All items are on the mob at this point, use this proc to toggle internals +fiddle with id bindings and accesses etc

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

pre_equip

Called at the start of the equip proc

+

Override to change the value of the slots depending on client prefs, species and +other such sources of change

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

save_to_file

Prompt the passed in mob client to download this outfit as a json blob

\ No newline at end of file diff --git a/datum/parallax.html b/datum/parallax.html new file mode 100644 index 000000000000..7d080b23554d --- /dev/null +++ b/datum/parallax.html @@ -0,0 +1 @@ +/datum/parallax - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

parallax

Holds parallax information.

Vars

layersParallax layers
objectsList of parallax objects - these are cloned to a parallax holder using Clone on each.

Procs

GetObjectsGets a new version of the objects inside - used when applying to a holder.

Var Details

layers

Parallax layers

objects

List of parallax objects - these are cloned to a parallax holder using Clone on each.

Proc Details

GetObjects

Gets a new version of the objects inside - used when applying to a holder.

\ No newline at end of file diff --git a/datum/parallax_holder.html b/datum/parallax_holder.html new file mode 100644 index 000000000000..68559b762b34 --- /dev/null +++ b/datum/parallax_holder.html @@ -0,0 +1,15 @@ +/datum/parallax_holder - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Parallax holders

Holds all the information about a client's parallax

+

Not on mob because parallax is area based, not mob based.

+

How parallax works:

+

Vars

cached_eyeEye we were last anchored to - used to detect eye changes
forced_eyeforce this eye as the "real" eye - useful for secondary maps
lastlast turf loc
last_arealast area - for parallax scrolling/loop animations
layersall layers
ownerClient that owns us
parallaxThe parallax object we're currently rendering
planemaster_overrideoverride planemaster we manipulate for turning and other effects
scroll_speedcurrent scroll speed in DS per scroll
scroll_turncurrent scroll turn - applied after angle. if angle is 0 (picture moving north) and turn is 90, it would be like if you turned your viewport 90 deg clockwise.
scrollingcurrently scrolling?
secondary_mapare we not on the main map? if so, put map id here
visvis contents
vis_holderHolder object for vis

Procs

AnimationRuns a modifier to parallax as an animation.
EyeGets the eye we should be centered on
GetPlaneMasterGets the base parallax planemaster for things like turning
HardResetAnimationsfully resets animation state
StopScrollingSmoothly stops the animation, turning to a certain angle as needed.
SyncSyncs us to our parallax objects. Does NOT check if we should have those objects, that's Reset()'s job.
UpdateMotionUpdates motion if needed

Var Details

cached_eye

Eye we were last anchored to - used to detect eye changes

forced_eye

force this eye as the "real" eye - useful for secondary maps

last

last turf loc

last_area

last area - for parallax scrolling/loop animations

layers

all layers

owner

Client that owns us

parallax

The parallax object we're currently rendering

planemaster_override

override planemaster we manipulate for turning and other effects

scroll_speed

current scroll speed in DS per scroll

scroll_turn

current scroll turn - applied after angle. if angle is 0 (picture moving north) and turn is 90, it would be like if you turned your viewport 90 deg clockwise.

scrolling

currently scrolling?

secondary_map

are we not on the main map? if so, put map id here

vis

vis contents

vis_holder

Holder object for vis

Proc Details

Animation

Runs a modifier to parallax as an animation.

+

@params +speed - ds per loop +turn - angle clockwise from north to turn the motion to +windup - ds to spend on windups. 0 for immediate. +turn_speed - ds to spend on turning. 0 for immediate.

Eye

Gets the eye we should be centered on

GetPlaneMaster

Gets the base parallax planemaster for things like turning

HardResetAnimations

fully resets animation state

StopScrolling

Smoothly stops the animation, turning to a certain angle as needed.

Sync

Syncs us to our parallax objects. Does NOT check if we should have those objects, that's Reset()'s job.

+

Doesn't move/update positions/screen locs either.

+

Also ensures movedirs are correct for the eye's pos.

UpdateMotion

Updates motion if needed

\ No newline at end of file diff --git a/datum/parsed_map.html b/datum/parsed_map.html new file mode 100644 index 000000000000..be2bbbaa35e9 --- /dev/null +++ b/datum/parsed_map.html @@ -0,0 +1,8 @@ +/datum/parsed_map - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

parsed_map

Vars

boundsOffset bounds. Same as parsed_bounds until load().
parsed_boundsUnoffset bounds. Null on parse failure.

Procs

NewParse a map, possibly cropping it. +Do not use the crop function unless strictly necessary. +WARNING: Crop function crops based on the tiles you'd see in the map editor. If you're planning to load it in in a different orientation later, you better have done the math. +It's recommended that you do not crop using this at all.
check_for_errorsCheck a parsed but not yet loaded map for errors.
loadLoad the parsed map into the world. See /proc/load_map for arguments.

Var Details

bounds

Offset bounds. Same as parsed_bounds until load().

parsed_bounds

Unoffset bounds. Null on parse failure.

Proc Details

New

Parse a map, possibly cropping it. +Do not use the crop function unless strictly necessary. +WARNING: Crop function crops based on the tiles you'd see in the map editor. If you're planning to load it in in a different orientation later, you better have done the math. +It's recommended that you do not crop using this at all.

check_for_errors

Check a parsed but not yet loaded map for errors.

+

Returns a /datum/map_report if there are errors or FALSE otherwise.

load

Load the parsed map into the world. See /proc/load_map for arguments.

\ No newline at end of file diff --git a/datum/pathfind.html b/datum/pathfind.html new file mode 100644 index 000000000000..608403c0704a --- /dev/null +++ b/datum/pathfind.html @@ -0,0 +1,21 @@ +/datum/pathfind - SPLURT Station 13
SPLURT 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
callerThe thing that we're actually trying to path for
endThe turf we're trying to path to (note that this won't track a moving target)
idAn ID card representing what access we have and what doors we can open. Its location relative to the pathing atom is irrelevant
max_distanceI don't know what this does vs , but they limit how far we can search before giving up on a path
mintargetdistHow far away we have to get to the end target before we can call it quits
openThe open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)
pathThe list we compile at the end if successful to pass back
simulated_onlySpace is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles
sourcesAn assoc list that serves as the closed list & tracks what turfs came from where. Key is the turf, and the value is what turf it came from
startThe turf where we started at

Procs

diag_scan_specFor performing diagonal scans from a given starting turf.
lateral_scan_specFor performing lateral scans from a given starting turf.
searchsearch() is the proc you call to kick off and handle the actual pathfinding, and kills the pathfind datum instance when it's done.
unwind_pathCalled when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by datum/pathfind/proc/search

Var Details

avoid

A specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through

caller

The thing that we're actually trying to path for

end

The turf we're trying to path to (note that this won't track a moving target)

id

An ID card representing what access we have and what doors we can open. Its location relative to the pathing atom is irrelevant

max_distance

I don't know what this does vs , but they limit how far we can search before giving up on a path

mintargetdist

How far away we have to get to the end target before we can call it quits

open

The open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)

path

The list we compile at the end if successful to pass back

simulated_only

Space is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles

sources

An assoc list that serves as the closed list & tracks what turfs came from where. Key is the turf, and the value is what turf it came from

start

The turf where we started at

Proc Details

diag_scan_spec

For performing diagonal scans from a given starting turf.

+

Unlike lateral scans, these only are called from the main search loop, so we don't need to worry about returning anything, +though we do need to handle the return values of our lateral subscans of course.

+

Arguments:

+

lateral_scan_spec

For performing lateral scans from a given starting turf.

+

These scans are called from both the main search loop, as well as subscans for diagonal scans, and they treat finding interesting turfs slightly differently. +If we're doing a normal lateral scan, we already have a parent node supplied, so we just create the new node and immediately insert it into the heap, ezpz. +If we're part of a subscan, we still need for the diagonal scan to generate a parent node, so we return a node datum with just the turf and let the diag scan +proc handle transferring the values and inserting them into the heap.

+

Arguments:

+

search

search() is the proc you call to kick off and handle the actual pathfinding, and kills the pathfind datum instance when it's done.

+

If a valid path was found, it's returned as a list. If invalid or cross-z-level params are entered, or if there's no valid path found, we +return null, which /proc/get_path_to translates to an empty list (notable for simple bots, who need empty lists)

unwind_path

Called when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by datum/pathfind/proc/search

\ No newline at end of file diff --git a/datum/physiology.html b/datum/physiology.html new file mode 100644 index 000000000000..a008fc72d41a --- /dev/null +++ b/datum/physiology.html @@ -0,0 +1 @@ +/datum/physiology - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

physiology

Vars

footstep_typefootstep type override for both shoeless and not footstep sounds.

Var Details

footstep_type

footstep type override for both shoeless and not footstep sounds.

\ No newline at end of file diff --git a/datum/plant_gene.html b/datum/plant_gene.html new file mode 100644 index 000000000000..6aaae43df4ae --- /dev/null +++ b/datum/plant_gene.html @@ -0,0 +1 @@ +/datum/plant_gene - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

plant_gene

Procs

get_nameThese flags tells the genemodder if we want the gene to be extractable, only removable or neither.

Proc Details

get_name

These flags tells the genemodder if we want the gene to be extractable, only removable or neither.

\ No newline at end of file diff --git a/datum/plant_gene/trait.html b/datum/plant_gene/trait.html new file mode 100644 index 000000000000..8d8fa47c16bd --- /dev/null +++ b/datum/plant_gene/trait.html @@ -0,0 +1 @@ +/datum/plant_gene/trait - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

trait

Procs

on_growThis proc triggers when the tray processes and a roll is sucessful, the success chance scales with production.

Proc Details

on_grow

This proc triggers when the tray processes and a roll is sucessful, the success chance scales with production.

\ No newline at end of file diff --git a/datum/plant_gene/trait/cell_charge.html b/datum/plant_gene/trait/cell_charge.html new file mode 100644 index 000000000000..91929b00e888 --- /dev/null +++ b/datum/plant_gene/trait/cell_charge.html @@ -0,0 +1 @@ +/datum/plant_gene/trait/cell_charge - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

cell_charge

Procs

on_slipSome extra modifiers to already existing traits

Proc Details

on_slip

Some extra modifiers to already existing traits

\ No newline at end of file diff --git a/datum/plant_gene/trait/eyes.html b/datum/plant_gene/trait/eyes.html new file mode 100644 index 000000000000..226ab7dbd3ed --- /dev/null +++ b/datum/plant_gene/trait/eyes.html @@ -0,0 +1 @@ +/datum/plant_gene/trait/eyes - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

eyes

Vars

googlyOur googly eyes appearance.

Var Details

googly

Our googly eyes appearance.

\ No newline at end of file diff --git a/datum/plant_gene/trait/slip.html b/datum/plant_gene/trait/slip.html new file mode 100644 index 000000000000..caed4b886542 --- /dev/null +++ b/datum/plant_gene/trait/slip.html @@ -0,0 +1 @@ +/datum/plant_gene/trait/slip - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

slip

Procs

handle_slipmoved from core code

Proc Details

handle_slip

moved from core code

\ No newline at end of file diff --git a/datum/powernet.html b/datum/powernet.html new file mode 100644 index 000000000000..52f82d04f27f --- /dev/null +++ b/datum/powernet.html @@ -0,0 +1 @@ +/datum/powernet - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

powernet

Procs

add_cable... delete it
add_machine... delete it

Proc Details

add_cable

... delete it

add_machine

... delete it

\ No newline at end of file diff --git a/datum/preferences.html b/datum/preferences.html new file mode 100644 index 000000000000..76327721accc --- /dev/null +++ b/datum/preferences.html @@ -0,0 +1 @@ +/datum/preferences - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

preferences

Vars

arousal_multiplierA separate arousal multiplier that the user has control of (although we could just tap into lust or replace it.)
auto_fit_viewportShould we automatically fit the viewport?
broadcast_login_logoutIf we want to broadcast deadchat connect/disconnect messages
characters_joined_asCharacters they have joined the round under - Lazylist of names
chat_on_mapRunechat preference. If true, certain messages will be displayed on the map, not ust on the chat area. Boolean.
deadminA separate variable for deadmin toggles, only deals with those.
dnr_triggereddid they DNR? used to prevent respawns.
favorite_interactionsMy favorites! they show up in their own tab inside the ui.
favorite_outfitsWhat outfit typepaths we've favorited in the SelectEquipment menu
fertilityCan john spaceman get gregnant if all conditions are right? (has a womb and is not on contraceptives)
gear_pointsloadout stuff
hardcore_survival_scoreThis var stores the amount of points the owner will get for making it out alive.
heartedSomeone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)
hearted_untilIf we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed
key_bindingsCustom Keybindings
last_idLast CID the person was seen on
last_ipLast IP the person was seen on
log_clicksDo we log their clicks to disk?
long_strip_menuStrip menu style
max_chat_lengthLimit preference on the size of the message. Requires chat_on_map to have effect.
medical_recordsMedical record note section
moaning_multiplierChance of moaning during an interaction
modless_key_bindingsList with a key string associated to a list of keybindings. Unlike key_bindings, this one operates on raw key, allowing for binding a key that triggers regardless of if a modifier is depressed as long as the raw key is sent.
mutedFlags for admin mutes
persistent_scarsIf we have persistent scars enabled
pixel_sizeWhat size should pixels be displayed as? 0 is strech to fit
playtime_reward_cloakThe playtime_reward_cloak variable can be set to TRUE from the prefs menu only once the user has gained over 5K playtime hours. If true, it allows the user to get a cool looking roundstart cloak.
pregnancy_breast_growthSelf explanitory
pregnancy_inflationDoes john spaceman look like a gluttonous slob if he pregent?
respawn_did_cryodid they cryo on their last ghost?
respawn_restrictions_activeAre we currently subject to respawn restrictions? Usually set by us using the "respawn" verb, but can be lifted by admins.
respawn_time_of_deathtime of death we consider for respawns
scaling_methodWhat scaling method should we use?
scars_indexWhich of the 5 persistent scar slots we randomly roll to load for this round, if enabled. Actually rolled in [/datum/preferences/proc/load_character(slot)]
scars_listWe have 5 slots for persistent scars, if enabled we pick a random one to load (empty by default) and scars at the end of the shift if we survived as our original person
security_recordsSecurity record note section
see_chat_non_mobWhether non-mob messages will be displayed, such as machine vendor announcements. Requires chat_on_map to have effect. Boolean.
see_rc_emotesWhether emotes will be displayed on runechat. Requires chat_on_map to have effect. Boolean.
slots_joined_asSlots they have joined the round under - Lazylist of numbers
use_arousal_multiplierEnable the 'arousal_multiplier' to be applied to lust amount
use_moaning_multiplierEnable the 'moaning_multiplier' to be used as a % chance of moaning instead of default calculation.
virilityDoes john spaceman's cum actually impregnate people?
widescreenprefShould we be in the widescreen mode set by the config?

Procs

force_reset_keybindingsResets the client's keybindings. Asks them for which
force_reset_keybindings_directDoes the actual reset

Var Details

arousal_multiplier

A separate arousal multiplier that the user has control of (although we could just tap into lust or replace it.)

auto_fit_viewport

Should we automatically fit the viewport?

broadcast_login_logout

If we want to broadcast deadchat connect/disconnect messages

characters_joined_as

Characters they have joined the round under - Lazylist of names

chat_on_map

Runechat preference. If true, certain messages will be displayed on the map, not ust on the chat area. Boolean.

deadmin

A separate variable for deadmin toggles, only deals with those.

dnr_triggered

did they DNR? used to prevent respawns.

favorite_interactions

My favorites! they show up in their own tab inside the ui.

favorite_outfits

What outfit typepaths we've favorited in the SelectEquipment menu

fertility

Can john spaceman get gregnant if all conditions are right? (has a womb and is not on contraceptives)

gear_points

loadout stuff

hardcore_survival_score

This var stores the amount of points the owner will get for making it out alive.

hearted

Someone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)

hearted_until

If we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed

key_bindings

Custom Keybindings

last_id

Last CID the person was seen on

last_ip

Last IP the person was seen on

log_clicks

Do we log their clicks to disk?

long_strip_menu

Strip menu style

max_chat_length

Limit preference on the size of the message. Requires chat_on_map to have effect.

medical_records

Medical record note section

moaning_multiplier

Chance of moaning during an interaction

modless_key_bindings

List with a key string associated to a list of keybindings. Unlike key_bindings, this one operates on raw key, allowing for binding a key that triggers regardless of if a modifier is depressed as long as the raw key is sent.

muted

Flags for admin mutes

persistent_scars

If we have persistent scars enabled

pixel_size

What size should pixels be displayed as? 0 is strech to fit

playtime_reward_cloak

The playtime_reward_cloak variable can be set to TRUE from the prefs menu only once the user has gained over 5K playtime hours. If true, it allows the user to get a cool looking roundstart cloak.

pregnancy_breast_growth

Self explanitory

pregnancy_inflation

Does john spaceman look like a gluttonous slob if he pregent?

respawn_did_cryo

did they cryo on their last ghost?

respawn_restrictions_active

Are we currently subject to respawn restrictions? Usually set by us using the "respawn" verb, but can be lifted by admins.

respawn_time_of_death

time of death we consider for respawns

scaling_method

What scaling method should we use?

scars_index

Which of the 5 persistent scar slots we randomly roll to load for this round, if enabled. Actually rolled in [/datum/preferences/proc/load_character(slot)]

scars_list

We have 5 slots for persistent scars, if enabled we pick a random one to load (empty by default) and scars at the end of the shift if we survived as our original person

security_records

Security record note section

see_chat_non_mob

Whether non-mob messages will be displayed, such as machine vendor announcements. Requires chat_on_map to have effect. Boolean.

see_rc_emotes

Whether emotes will be displayed on runechat. Requires chat_on_map to have effect. Boolean.

slots_joined_as

Slots they have joined the round under - Lazylist of numbers

use_arousal_multiplier

Enable the 'arousal_multiplier' to be applied to lust amount

use_moaning_multiplier

Enable the 'moaning_multiplier' to be used as a % chance of moaning instead of default calculation.

virility

Does john spaceman's cum actually impregnate people?

widescreenpref

Should we be in the widescreen mode set by the config?

Proc Details

force_reset_keybindings

Resets the client's keybindings. Asks them for which

force_reset_keybindings_direct

Does the actual reset

\ No newline at end of file diff --git a/datum/progressbar.html b/datum/progressbar.html new file mode 100644 index 000000000000..f6d301f0c563 --- /dev/null +++ b/datum/progressbar.html @@ -0,0 +1 @@ +/datum/progressbar - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

progressbar

Vars

barThe progress bar visual element.
bar_locThe target where this progress bar is applied and where it is shown.
goalEffectively the number of steps the progress bar will need to do before reaching completion.
last_progressControl check to see if the progress was interrupted before reaching its goal.
listindexVariable to ensure smooth visual stacking on multiple progress bars.
userThe mob whose client sees the progress bar.
user_clientThe client seeing the progress bar.

Procs

add_prog_bar_image_to_clientAdds a smoothly-appearing progress bar image to the player's screen.
clean_user_clientRemoves the progress bar image from the user_client and nulls the variable, if it exists.
end_progressCalled on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.
on_user_deleteCalled right before the user's Destroy()
on_user_loginCalled by user's Login(), it transfers the progress bar image to the new client.
updateUpdates the progress bar image visually.

Var Details

bar

The progress bar visual element.

bar_loc

The target where this progress bar is applied and where it is shown.

goal

Effectively the number of steps the progress bar will need to do before reaching completion.

last_progress

Control check to see if the progress was interrupted before reaching its goal.

listindex

Variable to ensure smooth visual stacking on multiple progress bars.

user

The mob whose client sees the progress bar.

user_client

The client seeing the progress bar.

Proc Details

add_prog_bar_image_to_client

Adds a smoothly-appearing progress bar image to the player's screen.

clean_user_client

Removes the progress bar image from the user_client and nulls the variable, if it exists.

end_progress

Called on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.

on_user_delete

Called right before the user's Destroy()

on_user_login

Called by user's Login(), it transfers the progress bar image to the new client.

update

Updates the progress bar image visually.

\ No newline at end of file diff --git a/datum/qdel_item.html b/datum/qdel_item.html new file mode 100644 index 000000000000..a190567f99aa --- /dev/null +++ b/datum/qdel_item.html @@ -0,0 +1 @@ +/datum/qdel_item - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

qdel_item

Qdel Item: Holds statistics on each type that passes thru qdel

Vars

destroy_timeTotal amount of milliseconds spent processing this type's Destroy()
failuresTimes it was queued for soft deletion but failed to soft delete.
hard_delete_maxHighest time spent hard_deleting this in ms.
hard_delete_timeTotal amount of milliseconds spent hard deleting this type.
hard_deletesDifferent from failures because it also includes QDEL_HINT_HARDDEL deletions
hard_deletes_over_thresholdNumber of times hard deletes took longer than the configured threshold
nameHolds the type as a string for this type
no_hintNumber of times it's not even bother to give a qdel hint
no_respect_forceNumber of times it's not respected force=TRUE
qdel_flagsFlags related to this type's trip thru qdel.
qdelsTotal number of times it's passed thru qdel.
slept_destroyNumber of times it's slept in its destroy

Var Details

destroy_time

Total amount of milliseconds spent processing this type's Destroy()

failures

Times it was queued for soft deletion but failed to soft delete.

hard_delete_max

Highest time spent hard_deleting this in ms.

hard_delete_time

Total amount of milliseconds spent hard deleting this type.

hard_deletes

Different from failures because it also includes QDEL_HINT_HARDDEL deletions

hard_deletes_over_threshold

Number of times hard deletes took longer than the configured threshold

name

Holds the type as a string for this type

no_hint

Number of times it's not even bother to give a qdel hint

no_respect_force

Number of times it's not respected force=TRUE

qdel_flags

Flags related to this type's trip thru qdel.

qdels

Total number of times it's passed thru qdel.

slept_destroy

Number of times it's slept in its destroy

\ No newline at end of file diff --git a/datum/quirk.html b/datum/quirk.html new file mode 100644 index 000000000000..3277e8bd1c06 --- /dev/null +++ b/datum/quirk.html @@ -0,0 +1,5 @@ +/datum/quirk - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

quirk

Vars

antag_removal_textText will be given to the quirk holder if they get an antag that has it blacklisted.
descThe description of the quirk
gain_textText displayed when this quirk is assigned to a mob (and not transferred)
lose_textText displayed when this quirk is removed from a mob (and not transferred)
mail_goodiesA lazylist of items people can receive from mail who have this quirk enabled +The base weight for the each quirk's mail goodies list to be selected is 5 +then the item selected is determined by pick(selected_quirk.mail_goodies)
medical_record_textThis text will appear on medical records for the trait.
mob_traitif applicable, apply and remove this mob trait
nameThe name of the quirk
on_spawn_immediateshould we immediately call on_spawn or add a timer to trigger
quirk_holderReference to the mob currently tied to this quirk datum. Quirks are not singletons.
valueWhat the quirk is worth in preferences, zero = neutral / free

Var Details

antag_removal_text

Text will be given to the quirk holder if they get an antag that has it blacklisted.

desc

The description of the quirk

gain_text

Text displayed when this quirk is assigned to a mob (and not transferred)

lose_text

Text displayed when this quirk is removed from a mob (and not transferred)

mail_goodies

A lazylist of items people can receive from mail who have this quirk enabled +The base weight for the each quirk's mail goodies list to be selected is 5 +then the item selected is determined by pick(selected_quirk.mail_goodies)

medical_record_text

This text will appear on medical records for the trait.

mob_trait

if applicable, apply and remove this mob trait

name

The name of the quirk

on_spawn_immediate

should we immediately call on_spawn or add a timer to trigger

quirk_holder

Reference to the mob currently tied to this quirk datum. Quirks are not singletons.

value

What the quirk is worth in preferences, zero = neutral / free

\ No newline at end of file diff --git a/datum/quirk/longtimer.html b/datum/quirk/longtimer.html new file mode 100644 index 000000000000..87ef7ee56d7d --- /dev/null +++ b/datum/quirk/longtimer.html @@ -0,0 +1 @@ +/datum/quirk/longtimer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

longtimer

Vars

max_scarsthe maximum amount of scars we can generate
min_scarsthe minimum amount of scars we can generate

Var Details

max_scars

the maximum amount of scars we can generate

min_scars

the minimum amount of scars we can generate

\ No newline at end of file diff --git a/datum/quirk/nyctophobia.html b/datum/quirk/nyctophobia.html new file mode 100644 index 000000000000..16643a83ba91 --- /dev/null +++ b/datum/quirk/nyctophobia.html @@ -0,0 +1 @@ +/datum/quirk/nyctophobia - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

nyctophobia

Procs

on_holder_movedCalled when the quirk holder moves. Updates the quirk holder's mood.

Proc Details

on_holder_moved

Called when the quirk holder moves. Updates the quirk holder's mood.

\ No newline at end of file diff --git a/datum/reagent.html b/datum/reagent.html new file mode 100644 index 000000000000..b1f852f2f1b4 --- /dev/null +++ b/datum/reagent.html @@ -0,0 +1,5 @@ +/datum/reagent - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

reagent

Procs

on_hydroponics_applyNew, standardized method for chemicals to affect hydroponics trays. +Defined on a per-chem level as opposed to by the tray. +Can affect plant's health, stats, or cause the plant to react in certain ways.

Proc Details

on_hydroponics_apply

New, standardized method for chemicals to affect hydroponics trays. +Defined on a per-chem level as opposed to by the tray. +Can affect plant's health, stats, or cause the plant to react in certain ways.

\ No newline at end of file diff --git a/datum/reagent/determination.html b/datum/reagent/determination.html new file mode 100644 index 000000000000..7044ed1f6ee0 --- /dev/null +++ b/datum/reagent/determination.html @@ -0,0 +1 @@ +/datum/reagent/determination - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

determination

Vars

significantWhether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound

Var Details

significant

Whether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound

\ No newline at end of file diff --git a/datum/reagent/lube.html b/datum/reagent/lube.html new file mode 100644 index 000000000000..08395a1f97f0 --- /dev/null +++ b/datum/reagent/lube.html @@ -0,0 +1 @@ +/datum/reagent/lube - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

lube

Procs

reaction_turfWhat kind of slipperiness gets added to turfs.

Proc Details

reaction_turf

What kind of slipperiness gets added to turfs.

\ No newline at end of file diff --git a/datum/reagent/medicine/coagulant.html b/datum/reagent/medicine/coagulant.html new file mode 100644 index 000000000000..705e19fa02c3 --- /dev/null +++ b/datum/reagent/medicine/coagulant.html @@ -0,0 +1 @@ +/datum/reagent/medicine/coagulant - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

coagulant

Vars

clot_coeff_per_woundIf we have multiple bleeding wounds, we count the number of bleeding wounds, then multiply the clot rate by this^(n) before applying it to each cut, so more cuts = less clotting per cut (though still more total clotting)
clot_rateHow much base clotting we do per bleeding wound, multiplied by the below number for each bleeding wound

Var Details

clot_coeff_per_wound

If we have multiple bleeding wounds, we count the number of bleeding wounds, then multiply the clot rate by this^(n) before applying it to each cut, so more cuts = less clotting per cut (though still more total clotting)

clot_rate

How much base clotting we do per bleeding wound, multiplied by the below number for each bleeding wound

\ No newline at end of file diff --git a/datum/reagent/metalgen.html b/datum/reagent/metalgen.html new file mode 100644 index 000000000000..2244f09f0ea6 --- /dev/null +++ b/datum/reagent/metalgen.html @@ -0,0 +1 @@ +/datum/reagent/metalgen - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

metalgen

Procs

metal_morphturn an object into a special material

Proc Details

metal_morph

turn an object into a special material

\ No newline at end of file diff --git a/datum/reagent/water.html b/datum/reagent/water.html new file mode 100644 index 000000000000..367941beeddc --- /dev/null +++ b/datum/reagent/water.html @@ -0,0 +1 @@ +/datum/reagent/water - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

water

Procs

on_hydroponics_applyFor weird backwards situations where water manages to get added to trays nutrients, as opposed to being snowflaked away like usual.

Proc Details

on_hydroponics_apply

For weird backwards situations where water manages to get added to trays nutrients, as opposed to being snowflaked away like usual.

\ No newline at end of file diff --git a/datum/reagents.html b/datum/reagents.html new file mode 100644 index 000000000000..85c69a2907e5 --- /dev/null +++ b/datum/reagents.html @@ -0,0 +1,9 @@ +/datum/reagents - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

reagents

Procs

end_metabolizationSignals that metabolization has stopped, triggering the end of trait-based effects
metabolizeTriggers metabolizing for all the reagents in this holder

Proc Details

end_metabolization

Signals that metabolization has stopped, triggering the end of trait-based effects

metabolize

Triggers metabolizing for all the reagents in this holder

+

Arguments:

+
\ 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 000000000000..9212e0ff54e5 --- /dev/null +++ b/datum/reality_smash_tracker.html @@ -0,0 +1,9 @@ +/datum/reality_smash_tracker - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

reality_smash_tracker

#Reality smash tracker

+

Stupid fucking list holder, DONT create new ones, it will break the game, this is automnatically created whenever eldritch cultists are created.

+

Tracks relevant data, generates relevant data, useful tool

Vars

smasheslist of tracked reality smashes
targetsList of mobs with ability to see the smashes

Procs

AddMindAdds a mind to the list of people that can see the reality smashes
GenerateGenerates a set amount of reality smashes based on the N value
RandomSpawnSmashCIT CHANGE
RemoveMindRemoves a mind from the list of people that can see the reality smashes
ReworkNetworkAutomatically fixes the target and smash network

Var Details

smashes

list of tracked reality smashes

targets

List of mobs with ability to see the smashes

Proc Details

AddMind

Adds a mind to the list of people that can see the reality smashes

+

Use this whenever you want to add someone to the list

Generate

Generates a set amount of reality smashes based on the N value

+

Automatically creates more reality smashes

RandomSpawnSmash

CIT CHANGE

+

Creates a singular reality smash +Credit to slimelust

RemoveMind

Removes a mind from the list of people that can see the reality smashes

+

Use this whenever you want to remove someone from the list

ReworkNetwork

Automatically fixes the target and smash network

+

Fixes any bugs that are caused by late Generate() or exchanging clients

\ No newline at end of file diff --git a/datum/round_event.html b/datum/round_event.html new file mode 100644 index 000000000000..033b19e6bfec --- /dev/null +++ b/datum/round_event.html @@ -0,0 +1,11 @@ +/datum/round_event - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

round_event

Vars

activeForHow long the event has existed. You don't need to change this.
announce_chanceProbability of announcing, used in prob(), 0 to 100, default 100. Called in process, and for a second time in the ion storm event.
announce_whenWhen in the lifetime to call announce(). If you don't want it to announce use announce_chance, below. +This is in seconds - so 1 = ~2 seconds in.
current_playersAmount of of alive, non-AFK human players on server at the time of event start
end_whenWhen in the lifetime the event should end. +This is in seconds - so 1 = ~2 seconds in.
fakeableCan be faked by fake news event.
start_whenWhen in the lifetime to call start(). +This is in seconds - so 1 = ~2 seconds in.

Procs

announce_to_ghostsCalled after something followable has been spawned by an event +Provides ghosts a follow link to an atom if possible +Only called once.

Var Details

activeFor

How long the event has existed. You don't need to change this.

announce_chance

Probability of announcing, used in prob(), 0 to 100, default 100. Called in process, and for a second time in the ion storm event.

announce_when

When in the lifetime to call announce(). If you don't want it to announce use announce_chance, below. +This is in seconds - so 1 = ~2 seconds in.

current_players

Amount of of alive, non-AFK human players on server at the time of event start

end_when

When in the lifetime the event should end. +This is in seconds - so 1 = ~2 seconds in.

fakeable

Can be faked by fake news event.

start_when

When in the lifetime to call start(). +This is in seconds - so 1 = ~2 seconds in.

Proc Details

announce_to_ghosts

Called after something followable has been spawned by an event +Provides ghosts a follow link to an atom if possible +Only called once.

\ No newline at end of file diff --git a/datum/round_event/ghost_role/sentience.html b/datum/round_event/ghost_role/sentience.html new file mode 100644 index 000000000000..c4b51c2d81a6 --- /dev/null +++ b/datum/round_event/ghost_role/sentience.html @@ -0,0 +1 @@ +/datum/round_event/ghost_role/sentience - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

sentience

Vars

blacklisted_biotypesBlacklisted mob_biotypes - Hey can we like, not have player controlled megafauna?

Var Details

blacklisted_biotypes

Blacklisted mob_biotypes - Hey can we like, not have player controlled megafauna?

\ No newline at end of file diff --git a/datum/round_event/stray_cargo.html b/datum/round_event/stray_cargo.html new file mode 100644 index 000000000000..b67933edc32d --- /dev/null +++ b/datum/round_event/stray_cargo.html @@ -0,0 +1,3 @@ +/datum/round_event/stray_cargo - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

stray_cargo

Spawns a cargo pod containing a random cargo supply pack on a random area of the station

Vars

possible_pack_typesRandomly picked area
stray_spawnable_supply_packsList of possible supply packs dropped in the pod, if empty picks from the cargo list

Procs

announceList of default spawnable supply packs, filtered from the cargo list
find_event_areaPicks an area that wouldn't risk critical damage if hit by a pod explosion
make_podHandles the creation of the pod, in case it needs to be modified beforehand
setupTries to find a valid area, throws an error if none are found +Also randomizes the start timer
startSpawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area

Var Details

possible_pack_types

Randomly picked area

stray_spawnable_supply_packs

List of possible supply packs dropped in the pod, if empty picks from the cargo list

Proc Details

announce

List of default spawnable supply packs, filtered from the cargo list

find_event_area

Picks an area that wouldn't risk critical damage if hit by a pod explosion

make_pod

Handles the creation of the pod, in case it needs to be modified beforehand

setup

Tries to find a valid area, throws an error if none are found +Also randomizes the start timer

start

Spawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area

\ No newline at end of file diff --git a/datum/round_event/stray_cargo/syndicate.html b/datum/round_event/stray_cargo/syndicate.html new file mode 100644 index 000000000000..3f6304c85048 --- /dev/null +++ b/datum/round_event/stray_cargo/syndicate.html @@ -0,0 +1 @@ +/datum/round_event/stray_cargo/syndicate - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

syndicate

Procs

make_podApply the syndicate pod skin

Proc Details

make_pod

Apply the syndicate pod skin

\ No newline at end of file diff --git a/datum/round_event_control.html b/datum/round_event_control.html new file mode 100644 index 000000000000..cacce6fadb7b --- /dev/null +++ b/datum/round_event_control.html @@ -0,0 +1 @@ +/datum/round_event_control - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

round_event_control

Vars

dynamic_should_hijackWhether or not dynamic should hijack this event

Var Details

dynamic_should_hijack

Whether or not dynamic should hijack this event

\ No newline at end of file diff --git a/datum/rust_spread.html b/datum/rust_spread.html new file mode 100644 index 000000000000..ecf7a6998e6f --- /dev/null +++ b/datum/rust_spread.html @@ -0,0 +1,4 @@ +/datum/rust_spread - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

rust_spread

#Rust spread datum

+

Simple datum that automatically spreads rust around it

+

Simple implementation of automatically growing entity

Procs

compile_turfsCompile turfs

Proc Details

compile_turfs

Compile turfs

+

Recreates all edge_turfs as well as normal turfs.

\ No newline at end of file diff --git a/datum/scar.html b/datum/scar.html new file mode 100644 index 000000000000..dea216c9ed74 --- /dev/null +++ b/datum/scar.html @@ -0,0 +1,10 @@ +/datum/scar - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

scar

scars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars +look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"

+

Arguments:

Vars

applicable_zonesWhat zones this scar can be applied to
coverableWhether this scar can actually be covered up by clothing
fakeScars from the longtimer quirk are "fake" and won't be saved with persistent scarring, since it makes you spawn with a lot by default
visibilityHow many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check

Procs

formatUsed to format a scar to safe in preferences for persistent scars
format_amputatedUsed to format a scar to safe in preferences for persistent scars
generategenerate() is used to actually fill out the info for a scar, according to the limb and wound it is provided.
get_examine_descriptionWhat will show up in examine_more() if this scar is visible
is_visibleWhether a scar can currently be seen by the viewer
lazy_attachUsed when we finalize a scar from a healing cut
loadUsed to "load" a persistent scar

Var Details

applicable_zones

What zones this scar can be applied to

coverable

Whether this scar can actually be covered up by clothing

fake

Scars from the longtimer quirk are "fake" and won't be saved with persistent scarring, since it makes you spawn with a lot by default

visibility

How many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check

Proc Details

format

Used to format a scar to safe in preferences for persistent scars

format_amputated

Used to format a scar to safe in preferences for persistent scars

generate

generate() is used to actually fill out the info for a scar, according to the limb and wound it is provided.

+

After creating a scar, call this on it while targeting the scarred bodypart with a given wound to apply the scar.

+

Arguments:

+

get_examine_description

What will show up in examine_more() if this scar is visible

is_visible

Whether a scar can currently be seen by the viewer

lazy_attach

Used when we finalize a scar from a healing cut

load

Used to "load" a persistent scar

\ No newline at end of file diff --git a/datum/select_equipment.html b/datum/select_equipment.html new file mode 100644 index 000000000000..be0357307476 --- /dev/null +++ b/datum/select_equipment.html @@ -0,0 +1,26 @@ +/datum/select_equipment - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

select_equipment

Procs

outfit_entryPacks up data about an outfit as an assoc list to send to the UI as an outfit entry.

Proc Details

outfit_entry

Packs up data about an outfit as an assoc list to send to the UI as an outfit entry.

+

Args:

+ +

Returns (list) An outfit entry

\ No newline at end of file diff --git a/datum/signal/subspace.html b/datum/signal/subspace.html new file mode 100644 index 000000000000..c6cda0af6b96 --- /dev/null +++ b/datum/signal/subspace.html @@ -0,0 +1,36 @@ +/datum/signal/subspace - SPLURT Station 13
SPLURT Station 13 - Modules - Types

subspace

Here is the big, bad function that broadcasts a message given the appropriate +parameters.

+

@param M: +Reference to the mob/speaker, stored in signal.data["mob"]

+

@param vmask: +Boolean value if the mob is "hiding" its identity via voice mask, stored in +signal.data["vmask"]

+

@param vmessage: +If specified, will display this as the message; such as "chimpering" +for monkeys if the mob is not understood. Stored in signal.data["vmessage"].

+

@param radio: +Reference to the radio broadcasting the message, stored in signal.data["radio"]

+

@param message: +The actual string message to display to mobs who understood mob M. Stored in +signal.data["message"]

+

@param name: +The name to display when a mob receives the message. signal.data["name"]

+

@param job: +The name job to display for the AI when it receives the message. signal.data["job"]

+

@param realname: +The "real" name associated with the mob. signal.data["realname"]

+

@param vname: +If specified, will use this name when mob M is not understood. signal.data["vname"]

+

@param data: +If specified: +1 -- Will only broadcast to intercoms +2 -- Will only broadcast to intercoms and station-bounced radios +3 -- Broadcast to syndicate frequency +4 -- AI can't track down this person. Useful for imitation broadcasts where you can't find the actual mob

+

@param compression: +If 0, the signal is audible +If nonzero, the signal may be partially inaudible or just complete gibberish.

+

@param level: +The list of Z levels that the sending radio is broadcasting to. Having 0 in the list broadcasts on all levels

+

@param freq +The frequency of the signal

\ No newline at end of file diff --git a/datum/skill.html b/datum/skill.html new file mode 100644 index 000000000000..e093797cbbac --- /dev/null +++ b/datum/skill.html @@ -0,0 +1,3 @@ +/datum/skill - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

skill

Skill datums

Vars

abstract_typeAbstract type
base_multiplierBase multiplier used in skill competency operations.
competency_multiplierValue added to the base multiplier depending on overall competency compared to maximum value/level.
competency_thresholdsskill threshold used in generic skill competency operations.
descOur description
item_skill_gain_multiExperience gain multiplier gained from using items.
max_levelsList of max levels. Only used in level skills, but present here for helper macros.
nameOur name
name_colorColor of the name as shown in the html readout
progression_typeOur progression type. These are mostly used to skip typechecks overhead, don't go around messing with these.
skill_gain_quantisationSkill gain quantisation
skill_traitsA list of ways this skill can affect or be affected through actions and skill modifiers.
ui_categoryIndex of this skill in the UI

Procs

get_skill_dataGet a list of data used in the skill panel menu.
is_value_greaterChecks if a value is greater
sanitize_valueEnsures what someone's setting as a value for this skill is valid.
set_skill_valueSets the new value of this skill in the holder skills list. +As well as possible feedback messages or secondary effects on value change, that's on you.

Var Details

abstract_type

Abstract type

base_multiplier

Base multiplier used in skill competency operations.

competency_multiplier

Value added to the base multiplier depending on overall competency compared to maximum value/level.

competency_thresholds

skill threshold used in generic skill competency operations.

desc

Our description

item_skill_gain_multi

Experience gain multiplier gained from using items.

max_levels

List of max levels. Only used in level skills, but present here for helper macros.

name

Our name

name_color

Color of the name as shown in the html readout

progression_type

Our progression type. These are mostly used to skip typechecks overhead, don't go around messing with these.

skill_gain_quantisation

Skill gain quantisation

skill_traits

A list of ways this skill can affect or be affected through actions and skill modifiers.

ui_category

Index of this skill in the UI

Proc Details

get_skill_data

Get a list of data used in the skill panel menu.

is_value_greater

Checks if a value is greater

sanitize_value

Ensures what someone's setting as a value for this skill is valid.

set_skill_value

Sets the new value of this skill in the holder skills list. +As well as possible feedback messages or secondary effects on value change, that's on you.

\ No newline at end of file diff --git a/datum/skill/enum.html b/datum/skill/enum.html new file mode 100644 index 000000000000..d77f7022de8f --- /dev/null +++ b/datum/skill/enum.html @@ -0,0 +1 @@ +/datum/skill/enum - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

enum

Vars

valid_valuesValid values for the skill

Var Details

valid_values

Valid values for the skill

\ No newline at end of file diff --git a/datum/skill/level.html b/datum/skill/level.html new file mode 100644 index 000000000000..d2614689a795 --- /dev/null +++ b/datum/skill/level.html @@ -0,0 +1 @@ +/datum/skill/level - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

level

Classing r p g styled skills, tiered by lvl, and current/nextlvl experience.

Procs

get_skill_level_valueGets the base value required to reach a level specified by the 'num' arg.

Proc Details

get_skill_level_value

Gets the base value required to reach a level specified by the 'num' arg.

\ No newline at end of file diff --git a/datum/skill/numerical.html b/datum/skill/numerical.html new file mode 100644 index 000000000000..dac615bcf0eb --- /dev/null +++ b/datum/skill/numerical.html @@ -0,0 +1 @@ +/datum/skill/numerical - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

numerical

Vars

max_valueMax value of this skill
min_valueMin value of this skill

Var Details

max_value

Max value of this skill

min_value

Min value of this skill

\ No newline at end of file diff --git a/datum/skill_holder.html b/datum/skill_holder.html new file mode 100644 index 000000000000..fd4774e66f59 --- /dev/null +++ b/datum/skill_holder.html @@ -0,0 +1,4 @@ +/datum/skill_holder - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

skill_holder

Skill holder datums +All procs are tied to the mind, since they are always expected to have a skill holder anyway.

Vars

all_current_skill_modifiersList of all current skill modifiers, so we don't add the same ones twice.
need_static_data_updateFor UI updates.
original_valuesList of original values stored at the time a modifier with the MODIFIER_SKILL_ORIGIN_DIFF enabled was added.
ownerThe mind datum this skill is associated with, only used for the check_skills UI
see_skill_modsWhether modifiers and final skill values or only base values are displayed.
selected_categoryThe current selected skill category.
skill_affinitiesSame as [skills] but affinities, which are multiplied to increase amount when gaining skills.
skill_levelsLet's say we want to get a specific skill "level" without looping through a proc everytime. +Only supported by skills with tiers or levels.
skill_value_modscurrent skill modifiers lists, per value, affinity, level.
skillsOur list of skills and values. Lazylist. Associative. Keys are datum typepaths to the skill.

Var Details

all_current_skill_modifiers

List of all current skill modifiers, so we don't add the same ones twice.

need_static_data_update

For UI updates.

original_values

List of original values stored at the time a modifier with the MODIFIER_SKILL_ORIGIN_DIFF enabled was added.

owner

The mind datum this skill is associated with, only used for the check_skills UI

see_skill_mods

Whether modifiers and final skill values or only base values are displayed.

selected_category

The current selected skill category.

skill_affinities

Same as [skills] but affinities, which are multiplied to increase amount when gaining skills.

skill_levels

Let's say we want to get a specific skill "level" without looping through a proc everytime. +Only supported by skills with tiers or levels.

skill_value_mods

current skill modifiers lists, per value, affinity, level.

skills

Our list of skills and values. Lazylist. Associative. Keys are datum typepaths to the skill.

\ No newline at end of file diff --git a/datum/skill_modifier.html b/datum/skill_modifier.html new file mode 100644 index 000000000000..96b73ae453db --- /dev/null +++ b/datum/skill_modifier.html @@ -0,0 +1,2 @@ +/datum/skill_modifier - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

skill_modifier

Base skill modifier datum, used to modify a player skills without directly touching their values, levels and affinity +and cause lots of edge cases. These are fairly simple overall... make a subtype though, don't use this one.

Vars

affinity_modskill affinity modifier, can be a multiplier or addendum, depending on the modifier_flags.
identifierThe identifier key this skill modifier is associated with.
level_modskill level modifier, see above.
modifier_flagsflags for this skill modifier.
nameName and description of the skill modifier, used in the UI
priorityPriority of this skill modifier compared to other ones.
target_skillstarget skills, can be a specific skill typepath or a list of skill traits.
target_skills_keythe GLOB.potential_skills_per_mod key generated on runtime. You shouldn't be var-editing it.
value_modskill value modifier, see above.

Procs

on_mind_transferBody bound modifier signal procs.

Var Details

affinity_mod

skill affinity modifier, can be a multiplier or addendum, depending on the modifier_flags.

identifier

The identifier key this skill modifier is associated with.

level_mod

skill level modifier, see above.

modifier_flags

flags for this skill modifier.

name

Name and description of the skill modifier, used in the UI

priority

Priority of this skill modifier compared to other ones.

target_skills

target skills, can be a specific skill typepath or a list of skill traits.

target_skills_key

the GLOB.potential_skills_per_mod key generated on runtime. You shouldn't be var-editing it.

value_mod

skill value modifier, see above.

Proc Details

on_mind_transfer

Body bound modifier signal procs.

\ No newline at end of file diff --git a/datum/slaver_gear.html b/datum/slaver_gear.html new file mode 100644 index 000000000000..b12ded01c375 --- /dev/null +++ b/datum/slaver_gear.html @@ -0,0 +1 @@ +/datum/slaver_gear - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

slaver_gear

Vars

build_pathBuild path of the gear itself
categoryCategory of the gear
costCredit cost of the gear
descriptionDescription of the gear
nameName of the gear

Var Details

build_path

Build path of the gear itself

category

Category of the gear

cost

Credit cost of the gear

description

Description of the gear

name

Name of the gear

\ No newline at end of file diff --git a/datum/smite.html b/datum/smite.html new file mode 100644 index 000000000000..833dedd5c60b --- /dev/null +++ b/datum/smite.html @@ -0,0 +1,5 @@ +/datum/smite - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

smite

A smite, used by admins to punish players, or for their own amusement

Vars

nameThe name of the smite, shown in the menu
should_logShould this smite write to logs?

Procs

configureCalled once after either choosing the option to smite a player, or when selected in smite build mode. +Use this to prompt the user configuration options. +Return FALSE if the smite should not be used.
effectThe effect of the smite, make sure to call this in your own smites

Var Details

name

The name of the smite, shown in the menu

should_log

Should this smite write to logs?

Proc Details

configure

Called once after either choosing the option to smite a player, or when selected in smite build mode. +Use this to prompt the user configuration options. +Return FALSE if the smite should not be used.

effect

The effect of the smite, make sure to call this in your own smites

\ No newline at end of file diff --git a/datum/smite/berforate.html b/datum/smite/berforate.html new file mode 100644 index 000000000000..ccf15c116b44 --- /dev/null +++ b/datum/smite/berforate.html @@ -0,0 +1 @@ +/datum/smite/berforate - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

berforate

Fires an absurd amount of bullets at the target

Vars

hatredDetermines how fucked the target is

Var Details

hatred

Determines how fucked the target is

\ No newline at end of file diff --git a/datum/smite/supply_pod_quick.html b/datum/smite/supply_pod_quick.html new file mode 100644 index 000000000000..186c16cc8060 --- /dev/null +++ b/datum/smite/supply_pod_quick.html @@ -0,0 +1 @@ +/datum/smite/supply_pod_quick - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

supply_pod_quick

Quickly throws a supply pod at the target, optionally with an item

Vars

target_pathWhat is sent down with the pod

Var Details

target_path

What is sent down with the pod

\ No newline at end of file diff --git a/datum/song.html b/datum/song.html new file mode 100644 index 000000000000..613beba2931b --- /dev/null +++ b/datum/song.html @@ -0,0 +1,28 @@ +/datum/song - SPLURT Station 13
SPLURT 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.
play_chordPlays a chord.
playkey_legacyProc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.
playkey_synthPlays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.
pop_channelPops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.
process_decayDecays our channels and updates their volumes to mobs who can hear us.
process_songProcesses our song.
sanitize_tempoSanitizes tempo to a value that makes sense and fits the current world.tick_lag.
set_bpmSets our tempo from a beats-per-minute, sanitizing it to a valid number first.
set_dropoff_volumeSetter for setting how low the volume has to get before a note is considered "dead" and dropped
set_exponential_drop_rateSetter for setting exponential falloff factor.
set_instrumentSets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.
set_linear_falloff_durationSetter for setting linear falloff duration.
set_volumeSetter for setting output volume.
should_stop_playingChecks if we should halt playback.
start_playingAttempts to start playing our song.
stop_playingStops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.
tempodiv_to_delayConverts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.
terminate_all_soundsStops all sounds we are "responsible" for. Only works in synthesized mode.
terminate_sound_mobStops all sounds we are responsible for in a given person. Only works in synthesized mode.
updateDialogUpdates the window for our users. Override down the line.
update_sustainUpdates our cached linear/exponential falloff stuff, saving calculations down the line.

Var Details

allowed_instrument_ids

What instruments our built in picker can use. The picker won't show unless this is longer than one.

cached_exponential_dropoff

Do not directly set, use update_sustain()

cached_legacy_dir

Cached legacy dir for legacy instruments

cached_legacy_ext

Cached legacy ext for legacy instruments

cached_linear_dropoff

/////// DO NOT DIRECTLY SET THESE! +Do not directly set, use update_sustain()

cached_samples

Cached list of samples, referenced directly from the instrument for synthesized instruments

channels_idle

List of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments.

channels_playing

Channel as text = current volume percentage but it's 0 to 100 instead of 0 to 1.

compiled_chords

Playing variables +Build by compile_chords() +Must be rebuilt on instrument switch. +Compilation happens when we start playing and is cleared after we finish playing. +Format: list of chord lists, with chordlists having (key1, key2, key3, tempodiv)

current_chord

Current chord we're on.

debug_mode

If this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop)

delay_by

Amount of delay to wait before playing the next chord

editing

Are we currently editing?

elapsed_delay

Current section of a long chord we're on, so we don't need to make a billion chords, one for every unit ticklag.

full_sustain_held_note

Should we not decay our last played note?

hearing_mobs

The list of mobs that can hear us

help

Is the help screen open?

instrument_range

How far we can be heard

last_channel_played

Last channel to play. text.

last_hearcheck

Last world.time we checked for who can hear us

legacy

Are we operating in legacy mode (so if the instrument is a legacy instrument)

lines

Our song lines

max_repeats

Maximum times we can repeat

max_sound_channels

Max sound channels to occupy

max_volume

Max volume

min_volume

Min volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs.

name

Name of the song

note_shift

////////// !!FUN!! - Only works in synthesized mode! ///////////////// +Note numbers to shift.

octave_min

DO NOT TOUCH THESE

parent

The atom we're attached to/playing from

playing

Are we currently playing?

repeat

Repeats left

sustain_dropoff_volume

When a note is considered dead if it is below this in volume

sustain_exponential_dropoff

Exponential sustain dropoff rate per decisecond

sustain_linear_duration

Total duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF

sustain_mode

The kind of sustain we're using

tempo

delay between notes in deciseconds

user_playing

Person playing us

using_instrument

///////// Cached instrument variables ///////////// +Instrument we are currently using

using_sound_channels

Current channels, so we can save a length() call.

volume

Our volume

Proc Details

compile_chords

Compiles chords.

compile_legacy

Compiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

compile_synthesized

Compiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

do_hearcheck

Checks and stores which mobs can hear us. Terminates sounds for mobs that leave our range.

get_bpm

Gets our beats per minute based on our tempo.

play_chord

Plays a chord.

playkey_legacy

Proc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.

+

Arguments:

+

playkey_synth

Plays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.

pop_channel

Pops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.

process_decay

Decays our channels and updates their volumes to mobs who can hear us.

+

Arguments:

+

process_song

Processes our song.

sanitize_tempo

Sanitizes tempo to a value that makes sense and fits the current world.tick_lag.

set_bpm

Sets our tempo from a beats-per-minute, sanitizing it to a valid number first.

set_dropoff_volume

Setter for setting how low the volume has to get before a note is considered "dead" and dropped

set_exponential_drop_rate

Setter for setting exponential falloff factor.

set_instrument

Sets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.

set_linear_falloff_duration

Setter for setting linear falloff duration.

set_volume

Setter for setting output volume.

should_stop_playing

Checks if we should halt playback.

start_playing

Attempts to start playing our song.

stop_playing

Stops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.

tempodiv_to_delay

Converts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.

terminate_all_sounds

Stops all sounds we are "responsible" for. Only works in synthesized mode.

terminate_sound_mob

Stops all sounds we are responsible for in a given person. Only works in synthesized mode.

updateDialog

Updates the window for our users. Override down the line.

update_sustain

Updates our cached linear/exponential falloff stuff, saving calculations down the line.

\ No newline at end of file diff --git a/datum/sortInstance.html b/datum/sortInstance.html new file mode 100644 index 000000000000..202c0d615718 --- /dev/null +++ b/datum/sortInstance.html @@ -0,0 +1,11 @@ +/datum/sortInstance - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

sortInstance

Procs

gallopRightLike gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

Proc Details

gallopRight

Like gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

+

@param key the key whose insertion point to search for +@param a the array in which to search +@param base the index of the first element in the range +@param len the length of the range; must be > 0 +@param hint the index at which to begin the search, 0 <= hint < n. +The closer hint is to the result, the faster this method will run. +@param c the comparator used to order the range, and to search +@return the int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k]

\ No newline at end of file diff --git a/datum/species.html b/datum/species.html new file mode 100644 index 000000000000..8d98d0ea5167 --- /dev/null +++ b/datum/species.html @@ -0,0 +1,48 @@ +/datum/species - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

species datum

Datum that handles different species in the game.

+

This datum handles species in the game, such as lizardpeople, mothmen, zombies, skeletons, etc. +It is used in carbon humans to determine various things about them, like their food preferences, if they have biological genders, their damage resistances, and more.

Vars

armorPercentage modifier for overall defense of the race, or less defense, if it's negative.
ass_imageFor custom overrides for species ass images
attack_typeType of damage attack does. Ethereals attack with burn damage for example.
attack_verbPunch-specific attack verb.
breathidWhat gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]
brutemodmultiplier for brute damage
burnmodmultiplier for burn damage
cold_offsetmoves their safe minimum temp by this value.
coldmodmultiplier for damage from cold temperature
damage_overlay_typeWhat kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay.
disliked_foodBitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.
exotic_bloodIf your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.
exotic_blood_blend_modeWhich blend mode should this species blood use?
exotic_blood_colorAssume human as the default blood colour, override this default by species subtypes
exotic_bloodtypeIf your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.
family_heirloomsList of family heirlooms this species can get with the family heirloom quirk. List of types.
fixed_mut_colorTo use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.
flyThe actual flying ability given to flying species
flying_speciesIs this species a flying species? Used as an easy check for some things
grab_soundSpecial sound for grabbing
grad_colorThe gradient color used to color the gradient.
grad_styleThe gradient style used for the mob's hair.
hair_alphaThe alpha used by the hair. 255 is completely solid, 0 is invisible.
hair_colorThis allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor
heatmodmultiplier for damage from hot temperature
hot_offsetmoves their safe maximum temp by this value.
idIf the game needs to manually check your race to do something not included in a proc here, it will use this.
inert_mutationSpecial mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
inherent_biotypesList of biotypes the mob belongs to. Used by diseases.
inherent_traitsGeneric traits tied to having the species.
liked_foodBitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.
meatWhat the species drops when gibbed by a gibber machine.
mutant_bodypartsVisible CURRENT bodyparts that are unique to a species. +DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK +SHIT UP! Changes to this list for non-species specific bodyparts (ie +cat ears and tails) should be assigned at organ level if possible. +Assoc values are defaults for given bodyparts, also modified by aforementioned organs. +They also allow for faster '[]' list access versus 'in'. Other than that, they are useless right now. +Layer hiding is handled by [/datum/species/proc/handle_mutant_bodyparts] below.
mutant_brainReplaces default brain with a different organ
mutant_heartReplaces default heart with a different organ
mutant_organsInternal organs that are unique to this race, like a tail.
mutantappendixReplaces default appendix with a different organ.
mutantearsReplaces default ears with a different organ
mutanteyesReplaces default lungs with a different organ +Replaces default eyes with a different organ
mutanthandsForces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research.
mutantliverReplaces default liver with a different organ
mutantstomachReplaces default stomach with a different organ
mutanttailCIT SPECIFIC Mutant tail
mutanttongueReplaces default tongue with a different organ
nameThis is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize.
no_equipInventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.
nojumpsuitAllows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.
offset_featuresClothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.
outfit_important_for_lifeA path to an outfit that is important for species life e.g. plasmaman outfit
payday_modifiermultiplier for money paid at payday
punchdamagehighHighest possible punch damage this species can give.
punchdamagelowLowest possible punch damage this species can give. If this is set to 0, punches will always miss.
punchstunthresholdDamage at which punches from this race will stun
say_modAffects the speech message, for example: Motharula flutters, "My speech message is flutters!"
sexesWhether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows
siemens_coeffBase electrocution coefficient. Basically a multiplier for damage from electrocutions.
skinned_typeWhat skin the species drops when gibbed by a gibber machine.
special_step_soundsSounds to override barefeet walking
species_language_holderWhat languages this species can understand and say. Use a language holder datum in this var.
species_traitsSpecies-only traits. Can be found in code/__DEFINES/DNA.dm
speedmodMultiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.
stunmodmultiplier for stun durations
toxic_foodBitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.
typing_indicator_stateOur default override for typing indicator state
use_skintonesDoes the species use skintones or not? As of now only used by humans.
wings_iconCurrent wings icon

Procs

check_roundstart_eligibleChecks if a species is eligible to be picked at roundstart.
copy_properties_fromCopies some vars and properties over that should be kept when creating a copy of this species.
get_biological_stateThe human species version of /mob/living/carbon/proc/get_biological_state. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds
handle_digestionLIFE
on_species_gainProc called when a carbon becomes this species.
random_nameGenerates a random name for a carbon.
regenerate_organsCorrects organs in a carbon, removing ones it doesn't need and adding ones it does.

Var Details

armor

Percentage modifier for overall defense of the race, or less defense, if it's negative.

ass_image

For custom overrides for species ass images

attack_type

Type of damage attack does. Ethereals attack with burn damage for example.

attack_verb

Punch-specific attack verb.

breathid

What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]

brutemod

multiplier for brute damage

burnmod

multiplier for burn damage

cold_offset

moves their safe minimum temp by this value.

coldmod

multiplier for damage from cold temperature

damage_overlay_type

What kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay.

disliked_food

Bitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.

exotic_blood

If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.

exotic_blood_blend_mode

Which blend mode should this species blood use?

exotic_blood_color

Assume human as the default blood colour, override this default by species subtypes

exotic_bloodtype

If your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.

family_heirlooms

List of family heirlooms this species can get with the family heirloom quirk. List of types.

fixed_mut_color

To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.

fly

The actual flying ability given to flying species

flying_species

Is this species a flying species? Used as an easy check for some things

grab_sound

Special sound for grabbing

grad_color

The gradient color used to color the gradient.

grad_style

The gradient style used for the mob's hair.

hair_alpha

The alpha used by the hair. 255 is completely solid, 0 is invisible.

hair_color

This allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor

heatmod

multiplier for damage from hot temperature

hot_offset

moves their safe maximum temp by this value.

id

If the game needs to manually check your race to do something not included in a proc here, it will use this.

inert_mutation

Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache

inherent_biotypes

List of biotypes the mob belongs to. Used by diseases.

inherent_traits

Generic traits tied to having the species.

liked_food

Bitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.

meat

What the species drops when gibbed by a gibber machine.

mutant_bodyparts

Visible CURRENT bodyparts that are unique to a species. +DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK +SHIT UP! Changes to this list for non-species specific bodyparts (ie +cat ears and tails) should be assigned at organ level if possible. +Assoc values are defaults for given bodyparts, also modified by aforementioned organs. +They also allow for faster '[]' list access versus 'in'. Other than that, they are useless right now. +Layer hiding is handled by [/datum/species/proc/handle_mutant_bodyparts] below.

mutant_brain

Replaces default brain with a different organ

mutant_heart

Replaces default heart with a different organ

mutant_organs

Internal organs that are unique to this race, like a tail.

mutantappendix

Replaces default appendix with a different organ.

mutantears

Replaces default ears with a different organ

mutanteyes

Replaces default lungs with a different organ +Replaces default eyes with a different organ

mutanthands

Forces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research.

mutantliver

Replaces default liver with a different organ

mutantstomach

Replaces default stomach with a different organ

mutanttail

CIT SPECIFIC Mutant tail

mutanttongue

Replaces default tongue with a different organ

name

This is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize.

no_equip

Inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.

nojumpsuit

Allows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.

offset_features

Clothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.

outfit_important_for_life

A path to an outfit that is important for species life e.g. plasmaman outfit

payday_modifier

multiplier for money paid at payday

punchdamagehigh

Highest possible punch damage this species can give.

punchdamagelow

Lowest possible punch damage this species can give. If this is set to 0, punches will always miss.

punchstunthreshold

Damage at which punches from this race will stun

say_mod

Affects the speech message, for example: Motharula flutters, "My speech message is flutters!"

sexes

Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows

siemens_coeff

Base electrocution coefficient. Basically a multiplier for damage from electrocutions.

skinned_type

What skin the species drops when gibbed by a gibber machine.

special_step_sounds

Sounds to override barefeet walking

species_language_holder

What languages this species can understand and say. Use a language holder datum in this var.

species_traits

Species-only traits. Can be found in code/__DEFINES/DNA.dm

speedmod

Multiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.

stunmod

multiplier for stun durations

toxic_food

Bitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.

typing_indicator_state

Our default override for typing indicator state

use_skintones

Does the species use skintones or not? As of now only used by humans.

wings_icon

Current wings icon

Proc Details

check_roundstart_eligible

Checks if a species is eligible to be picked at roundstart.

+

Checks the config to see if this species is allowed to be picked in the character setup menu. +Used by /proc/generate_selectable_species.

copy_properties_from

Copies some vars and properties over that should be kept when creating a copy of this species.

+

Used by slimepeople to copy themselves, and by the DNA datum to hardset DNA to a species +Arguments:

+

get_biological_state

The human species version of /mob/living/carbon/proc/get_biological_state. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds

handle_digestion

LIFE

on_species_gain

Proc called when a carbon becomes this species.

+

This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. +Produces a [COMSIG_SPECIES_GAIN] signal. +Arguments:

+

random_name

Generates a random name for a carbon.

+

This generates a random unique name based on a human's species and gender. +Arguments:

+

regenerate_organs

Corrects organs in a carbon, removing ones it doesn't need and adding ones it does.

+

Takes all organ slots, removes organs a species should not have, adds organs a species should have. +can use replace_current to refresh all organs, creating an entirely new set.

+

Arguments:

+
\ No newline at end of file diff --git a/datum/sprite_accessory/snouts/mam_snouts.html b/datum/sprite_accessory/snouts/mam_snouts.html new file mode 100644 index 000000000000..cd60849e4f90 --- /dev/null +++ b/datum/sprite_accessory/snouts/mam_snouts.html @@ -0,0 +1,102 @@ +/datum/sprite_accessory/snouts/mam_snouts - SPLURT Station 13
SPLURT Station 13 - Modules - Types

mam_snouts

************ Lizard compatable snoots *********** +/datum/sprite_accessory/snouts/bird +name = "Beak" +icon_state = "bird" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/bigbeak +name = "Big Beak" +icon_state = "bigbeak" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/bug +name = "Bug" +icon_state = "bug" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +extra2 = TRUE +extra2_color_src = MUTCOLORS3

+

/datum/sprite_accessory/snouts/elephant +name = "Elephant" +icon_state = "elephant" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED +extra = TRUE +extra_color_src = MUTCOLORS3

+

/datum/sprite_accessory/snouts/lcanid +name = "Mammal, Long" +icon_state = "lcanid" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/lcanidalt +name = "Mammal, Long ALT" +icon_state = "lcanidalt" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/scanid +name = "Mammal, Short" +icon_state = "scanid" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/scanidalt +name = "Mammal, Short ALT" +icon_state = "scanidalt" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/wolf +name = "Mammal, Thick" +icon_state = "wolf" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/wolfalt +name = "Mammal, Thick ALT" +icon_state = "wolfalt" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/redpanda +name = "WahCoon" +icon_state = "wah" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/rhino +name = "Horn" +icon_state = "rhino" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED +extra = TRUE +extra = MUTCOLORS3

+

/datum/sprite_accessory/snouts/rodent +name = "Rodent" +icon_state = "rodent" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/husky +name = "Husky" +icon_state = "husky" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/otie +name = "Otie" +icon_state = "otie" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/pede +name = "Scolipede" +icon_state = "pede" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/sergal +name = "Sergal" +icon_state = "sergal" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

/datum/sprite_accessory/snouts/shark +name = "Shark" +icon_state = "shark" +color_src = MATRIXED +icon = 'modular_citadel/icons/mob/mam_snouts.dmi'

+

/datum/sprite_accessory/snouts/toucan +name = "Toucan" +icon_state = "toucan" +icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +color_src = MATRIXED

+

Mammal Snouts

\ No newline at end of file diff --git a/datum/sprite_accessory/tails_animated/lizard.html b/datum/sprite_accessory/tails_animated/lizard.html new file mode 100644 index 000000000000..23cee0381de2 --- /dev/null +++ b/datum/sprite_accessory/tails_animated/lizard.html @@ -0,0 +1 @@ +/datum/sprite_accessory/tails_animated/lizard - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

lizard

Procs

is_not_visibleLizard Tails

Proc Details

is_not_visible

Lizard Tails

\ No newline at end of file diff --git a/datum/stack_canary.html b/datum/stack_canary.html new file mode 100644 index 000000000000..b1b08c91197d --- /dev/null +++ b/datum/stack_canary.html @@ -0,0 +1 @@ +/datum/stack_canary - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

stack_canary

Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.

Procs

use_variableempty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

Proc Details

use_variable

empty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

\ No newline at end of file diff --git a/datum/stack_end_detector.html b/datum/stack_end_detector.html new file mode 100644 index 000000000000..f190e683b1a6 --- /dev/null +++ b/datum/stack_end_detector.html @@ -0,0 +1,6 @@ +/datum/stack_end_detector - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

stack_end_detector

Stack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.

Procs

checkReturns true if the stack is still going. Calling before the canary has been primed also returns true
prime_canary

Proc Details

check

Returns true if the stack is still going. Calling before the canary has been primed also returns true

prime_canary

\ No newline at end of file diff --git a/datum/stack_recipe.html b/datum/stack_recipe.html new file mode 100644 index 000000000000..eb81cda58a95 --- /dev/null +++ b/datum/stack_recipe.html @@ -0,0 +1 @@ +/datum/stack_recipe - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

stack_recipe

Vars

applies_matsIf TRUE, the created atom will gain custom mat datums
max_res_amountMax amount of resulting atoms made
on_floorIf the atom requires a floor below
one_per_turfIf only one of the resulting atom is allowed per turf
placement_checksBitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT)
req_amountAmount of stack required to make
res_amountAmount of resulting atoms made
result_typeWhat atom the recipe makes, typepath
timeHow long it takes to make
titleThe title of the recipe
trait_boosterWhat trait, if any, boosts the construction speed of this item
trait_modifierHow much the trait above, if supplied, boosts the construct speed of this item

Var Details

applies_mats

If TRUE, the created atom will gain custom mat datums

max_res_amount

Max amount of resulting atoms made

on_floor

If the atom requires a floor below

one_per_turf

If only one of the resulting atom is allowed per turf

placement_checks

Bitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT)

req_amount

Amount of stack required to make

res_amount

Amount of resulting atoms made

result_type

What atom the recipe makes, typepath

time

How long it takes to make

title

The title of the recipe

trait_booster

What trait, if any, boosts the construction speed of this item

trait_modifier

How much the trait above, if supplied, boosts the construct speed of this item

\ No newline at end of file diff --git a/datum/station_alert.html b/datum/station_alert.html new file mode 100644 index 000000000000..ab86b7060324 --- /dev/null +++ b/datum/station_alert.html @@ -0,0 +1 @@ +/datum/station_alert - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

station_alert

Vars

alarm_typesList of all alarm types we are listening to
camera_viewIf UI will also show and allow jumping to cameras connected to each alert area
holderHolder of the datum
listenerListens for alarms, provides the alarms list for our UI
titleTitle of our UI

Var Details

alarm_types

List of all alarm types we are listening to

camera_view

If UI will also show and allow jumping to cameras connected to each alert area

holder

Holder of the datum

listener

Listens for alarms, provides the alarms list for our UI

title

Title of our UI

\ No newline at end of file diff --git a/datum/station_trait.html b/datum/station_trait.html new file mode 100644 index 000000000000..d2b47e15ebd5 --- /dev/null +++ b/datum/station_trait.html @@ -0,0 +1 @@ +/datum/station_trait - SPLURT Station 13
SPLURT 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
forceWhether this trait is always enabled; generally used for debugging
nameName of the trait
report_messageWhat message to show in the centcom report?
show_in_reportDoes this trait show in the centcom report?
trait_flagsExtra flags for station traits such as it being abstract
trait_processesWhether or not this trait uses process()
trait_to_giveWhat code-trait does this station trait give? gives none if null
trait_typeThe type of this trait. Used to classify how this trait influences the station
weightChance relative to other traits of its type to be picked

Procs

get_reporttype of info the centcom report has on this trait, if any.
on_round_startProc ran when round starts. Use this for roundstart effects.
revertWill attempt to revert the station trait, used by admins.

Var Details

blacklist

What traits are incompatible with this one?

can_revert

Whether or not this trait can be reverted by an admin

force

Whether this trait is always enabled; generally used for debugging

name

Name of the trait

report_message

What message to show in the centcom report?

show_in_report

Does this trait show in the centcom report?

trait_flags

Extra flags for station traits such as it being abstract

trait_processes

Whether or not this trait uses process()

trait_to_give

What code-trait does this station trait give? gives none if null

trait_type

The type of this trait. Used to classify how this trait influences the station

weight

Chance relative to other traits of its type to be picked

Proc Details

get_report

type of info the centcom report has on this trait, if any.

on_round_start

Proc ran when round starts. Use this for roundstart effects.

revert

Will attempt to revert the station trait, used by admins.

\ No newline at end of file diff --git a/datum/station_trait/ian_adventure.html b/datum/station_trait/ian_adventure.html new file mode 100644 index 000000000000..c2375caedf7e --- /dev/null +++ b/datum/station_trait/ian_adventure.html @@ -0,0 +1 @@ +/datum/station_trait/ian_adventure - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

ian_adventure

Procs

do_corgi_respawnMoves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

Proc Details

do_corgi_respawn

Moves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

\ 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 000000000000..c1c4d69922b1 --- /dev/null +++ b/datum/station_trait/random_event_weight_modifier.html @@ -0,0 +1 @@ +/datum/station_trait/random_event_weight_modifier - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

random_event_weight_modifier

Vars

event_control_pathThe path to the round_event_control that we modify.
max_occurrences_modifierFlat modifier added to the amount of max occurances the random event can have.
weight_multiplierMultiplier applied to the weight of the event.

Var Details

event_control_path

The path to the round_event_control that we modify.

max_occurrences_modifier

Flat modifier added to the amount of max occurances the random event can have.

weight_multiplier

Multiplier applied to the weight of the event.

\ No newline at end of file diff --git a/datum/status_effect.html b/datum/status_effect.html new file mode 100644 index 000000000000..e562acb98fd7 --- /dev/null +++ b/datum/status_effect.html @@ -0,0 +1 @@ +/datum/status_effect - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

status_effect

Vars

blocks_sprintIf this is TRUE, the user will have sprint forcefully disabled while this is active.
status_typeHow many of the effect can be on one mob, and what happens when you try to add another
tickdo we tick()?

Procs

action_cooldown_modMultiplied to clickdelays
before_removeCalled before being removed; returning FALSE will cancel removal

Var Details

blocks_sprint

If this is TRUE, the user will have sprint forcefully disabled while this is active.

status_type

How many of the effect can be on one mob, and what happens when you try to add another

tick

do we tick()?

Proc Details

action_cooldown_mod

Multiplied to clickdelays

before_remove

Called before being removed; returning FALSE will cancel removal

\ 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 000000000000..33cd1a3a79ce --- /dev/null +++ b/datum/status_effect/cloudstruck.html @@ -0,0 +1 @@ +/datum/status_effect/cloudstruck - SPLURT Station 13
SPLURT 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/eldritch.html b/datum/status_effect/eldritch.html new file mode 100644 index 000000000000..dbfec485b151 --- /dev/null +++ b/datum/status_effect/eldritch.html @@ -0,0 +1,2 @@ +/datum/status_effect/eldritch - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

eldritch

Vars

effect_spritepath for the underlay
marked_underlayunderlay used to indicate that someone is marked

Procs

on_effectWhat happens when this mark gets popped

Var Details

effect_sprite

path for the underlay

marked_underlay

underlay used to indicate that someone is marked

Proc Details

on_effect

What happens when this mark gets popped

+

Adds actual functionality to each mark

\ 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 000000000000..3cfdb671f08a --- /dev/null +++ b/datum/status_effect/eldritch/ash.html @@ -0,0 +1 @@ +/datum/status_effect/eldritch/ash - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ash

Vars

repetitionsDictates how much damage and stamina loss this mark will cause.

Var Details

repetitions

Dictates how much damage and stamina loss this mark will cause.

\ 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 000000000000..807e44f27a77 --- /dev/null +++ b/datum/status_effect/grouped.html @@ -0,0 +1 @@ +/datum/status_effect/grouped - SPLURT Station 13
SPLURT 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/ice_block_talisman.html b/datum/status_effect/ice_block_talisman.html new file mode 100644 index 000000000000..762061b8fe65 --- /dev/null +++ b/datum/status_effect/ice_block_talisman.html @@ -0,0 +1 @@ +/datum/status_effect/ice_block_talisman - SPLURT Station 13
SPLURT 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/limp.html b/datum/status_effect/limp.html new file mode 100644 index 000000000000..c2fa12b5ef9a --- /dev/null +++ b/datum/status_effect/limp.html @@ -0,0 +1 @@ +/datum/status_effect/limp - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

limp

Vars

leftThe left leg of the limping person
next_legWhich leg we're limping with next
rightThe right leg of the limping person
slowdown_leftHow many deciseconds we limp for on the left leg
slowdown_rightHow many deciseconds we limp for on the right leg

Var Details

left

The left leg of the limping person

next_leg

Which leg we're limping with next

right

The right leg of the limping person

slowdown_left

How many deciseconds we limp for on the left leg

slowdown_right

How many deciseconds we limp for on the right leg

\ No newline at end of file diff --git a/datum/status_effect/offering.html b/datum/status_effect/offering.html new file mode 100644 index 000000000000..e3ee2e8e2a13 --- /dev/null +++ b/datum/status_effect/offering.html @@ -0,0 +1 @@ +/datum/status_effect/offering - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

offering

Vars

give_alert_typeThe type of alert given to people when offered, in case you need to override some behavior (like for high-fives)
offered_itemThe actual item being offered
possible_takersThe people who were offered this item at the start

Procs

check_owner_in_rangeThe offerer moved, see if anyone is out of range now
check_taker_in_rangeOne of our possible takers moved, see if they left us hanging
dropped_itemWe lost the item, give it up
register_candidateHook up the specified carbon mob to be offered the item in question, give them the alert and signals and all
remove_candidateRemove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker

Var Details

give_alert_type

The type of alert given to people when offered, in case you need to override some behavior (like for high-fives)

offered_item

The actual item being offered

possible_takers

The people who were offered this item at the start

Proc Details

check_owner_in_range

The offerer moved, see if anyone is out of range now

check_taker_in_range

One of our possible takers moved, see if they left us hanging

dropped_item

We lost the item, give it up

register_candidate

Hook up the specified carbon mob to be offered the item in question, give them the alert and signals and all

remove_candidate

Remove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker

\ No newline at end of file diff --git a/datum/status_effect/wound.html b/datum/status_effect/wound.html new file mode 100644 index 000000000000..9ec3b7a06ab0 --- /dev/null +++ b/datum/status_effect/wound.html @@ -0,0 +1 @@ +/datum/status_effect/wound - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

wound

Procs

check_removecheck if the wound getting removed is the wound we're tied to

Proc Details

check_remove

check if the wound getting removed is the wound we're tied to

\ No newline at end of file diff --git a/datum/strip_menu.html b/datum/strip_menu.html new file mode 100644 index 000000000000..eb2b52765ba1 --- /dev/null +++ b/datum/strip_menu.html @@ -0,0 +1 @@ +/datum/strip_menu - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

strip_menu

A representation of the stripping UI

Vars

interactionsA lazy list of user mobs to a list of strip menu keys that they're interacting with
ownerThe owner who has the element /datum/element/strippable
strippableThe strippable element itself

Var Details

interactions

A lazy list of user mobs to a list of strip menu keys that they're interacting with

owner

The owner who has the element /datum/element/strippable

strippable

The strippable element itself

\ No newline at end of file diff --git a/datum/strippable_item.html b/datum/strippable_item.html new file mode 100644 index 000000000000..49fd886c8d1d --- /dev/null +++ b/datum/strippable_item.html @@ -0,0 +1,23 @@ +/datum/strippable_item - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

strippable_item

A representation of an item that can be stripped down

Vars

keyThe STRIPPABLE_ITEM_* key
warn_dangerous_clothingShould we warn about dangerous clothing?

Procs

alternate_actionPerforms an alternative action on this strippable_item. +has_alternate_action needs to be TRUE.
finish_equipThe proc that places the item on the source. This should not yield.
finish_unequipThe proc that unequips the item from the source. This should not yield.
get_alternate_actionReturns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.
get_itemGets the item from the given source.
get_obscuringReturns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.
should_showReturns whether or not this item should show.
start_equipStart the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
start_unequipStart the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
try_equipTries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.
try_unequipTries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.

Var Details

key

The STRIPPABLE_ITEM_* key

warn_dangerous_clothing

Should we warn about dangerous clothing?

Proc Details

alternate_action

Performs an alternative action on this strippable_item. +has_alternate_action needs to be TRUE.

finish_equip

The proc that places the item on the source. This should not yield.

finish_unequip

The proc that unequips the item from the source. This should not yield.

get_alternate_action

Returns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.

get_item

Gets the item from the given source.

get_obscuring

Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.

should_show

Returns whether or not this item should show.

start_equip

Start the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

start_unequip

Start the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

try_equip

Tries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.

try_unequip

Tries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.

\ 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 000000000000..9e687a01ec9e --- /dev/null +++ b/datum/strippable_item/hand.html @@ -0,0 +1 @@ +/datum/strippable_item/hand - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

hand

A strippable item for a hand

Vars

hand_indexWhich hand?

Var Details

hand_index

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 000000000000..2a5c505367da --- /dev/null +++ b/datum/strippable_item/mob_item_slot.html @@ -0,0 +1 @@ +/datum/strippable_item/mob_item_slot - SPLURT Station 13
SPLURT 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 000000000000..c0451acff302 --- /dev/null +++ b/datum/strippable_item/mob_item_slot/pocket.html @@ -0,0 +1 @@ +/datum/strippable_item/mob_item_slot/pocket - SPLURT Station 13
SPLURT 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/summon_weapon.html b/datum/summon_weapon.html new file mode 100644 index 000000000000..fa5b90a43a12 --- /dev/null +++ b/datum/summon_weapon.html @@ -0,0 +1,16 @@ +/datum/summon_weapon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

summon_weapon

A singular summoned object

+

How summon weapons work:

+

Reset() - makes it go back to its master. +Target() - locks onto a target for a duration

+

The biggest challenge is synchronizing animations. +Variables keep track of when things tick, but, +animations are client-timed, and not server-timed

+

Animations: +The weapon can only track its "intended" angle and dist +"Current" pixel x/y are always calculated relative to a target from the current orbiting atom the physical effect is on +There's 3 animations, +MoveTo(location, angle, dist, rotation) +Orbit(location) +Rotate(degrees)

+

And an non-animation that just snaps it to a location, +HardReset(location)

Vars

anglecurrent angle from victim - clockwise from 0. null if not attacking.
angle_varyrand dist to rotate during reattack phase
animation_lockanimation locked until
animation_timeridanimation lock timer
appearancemutable_appearance to use, will skip making from icon/icon state if so
atomthe actual effect
attack_damageattack damage
attack_lengthattack length in deciseconds - this is the attack animation speed in total
attack_soundattack sound
attack_speedattack delay in deciseconds - this is time spent between attacks
attack_typeattack damtype
attack_verbattack verb
distcurrent distance from victim - pixels
hosthost
iconicon file
icon_stateicon state
namename
orbit_distorbit distance from victim - pixels
orbit_dist_varyorbit distance variation from victim
reset_speedreset animation duration
reset_timeridreset timerid
rotationcurrent rotation - angles clockwise from north
statecurrent state
victimcurrently locked attack target

Procs

MoveTorelative to defaults to current location
Rotaterotation defaults to facing towards locked atom

Var Details

angle

current angle from victim - clockwise from 0. null if not attacking.

angle_vary

rand dist to rotate during reattack phase

animation_lock

animation locked until

animation_timerid

animation lock timer

appearance

mutable_appearance to use, will skip making from icon/icon state if so

atom

the actual effect

attack_damage

attack damage

attack_length

attack length in deciseconds - this is the attack animation speed in total

attack_sound

attack sound

attack_speed

attack delay in deciseconds - this is time spent between attacks

attack_type

attack damtype

attack_verb

attack verb

dist

current distance from victim - pixels

host

host

icon

icon file

icon_state

icon state

name

name

orbit_dist

orbit distance from victim - pixels

orbit_dist_vary

orbit distance variation from victim

reset_speed

reset animation duration

reset_timerid

reset timerid

rotation

current rotation - angles clockwise from north

state

current state

victim

currently locked attack target

Proc Details

MoveTo

relative to defaults to current location

Rotate

rotation defaults to facing towards locked atom

\ No newline at end of file diff --git a/datum/summon_weapon_host.html b/datum/summon_weapon_host.html new file mode 100644 index 000000000000..d6b3b18efd78 --- /dev/null +++ b/datum/summon_weapon_host.html @@ -0,0 +1 @@ +/datum/summon_weapon_host - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

summon_weapon_host

Serves as the master datum for summon weapons

Vars

activesuppressed?
attackingactive projectiles - refreshing a projectile reorders the list, so if they all have the same stack durations, you can trust the list to have last-refreshed at [1]
controlledactual projectiles
idleidle projectiles
mastermaster atom
rangerange
stack_timedefault stack time
weapon_typeprojectile type

Var Details

active

suppressed?

attacking

active projectiles - refreshing a projectile reorders the list, so if they all have the same stack durations, you can trust the list to have last-refreshed at [1]

controlled

actual projectiles

idle

idle projectiles

master

master atom

range

range

stack_time

default stack time

weapon_type

projectile type

\ No newline at end of file diff --git a/datum/supply_pack/misc/syndicate.html b/datum/supply_pack/misc/syndicate.html new file mode 100644 index 000000000000..e604a3c27e99 --- /dev/null +++ b/datum/supply_pack/misc/syndicate.html @@ -0,0 +1 @@ +/datum/supply_pack/misc/syndicate - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

syndicate

Special supply crate that generates random syndicate gear up to a determined TC value

Vars

containsCannot be ordered via cargo
uplink_flagsTotal TC worth of contained uplink items

Procs

fillSyndicate Packs

Var Details

contains

Cannot be ordered via cargo

Total TC worth of contained uplink items

Proc Details

fill

Syndicate Packs

\ No newline at end of file diff --git a/datum/team/gang.html b/datum/team/gang.html new file mode 100644 index 000000000000..d3536577080a --- /dev/null +++ b/datum/team/gang.html @@ -0,0 +1 @@ +/datum/team/gang - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

gang

Vars

acceptable_clothesThe list of clothes that are acceptable to show allegiance to this family.
current_themeThe current theme. Used to pull important stuff such as spawning equipment and objectives.
free_clothesThe list of clothes that are given to family members upon induction into the family.
gang_idThe abbreviation of this family.
my_gang_datumThe specific, occupied family member antagonist datum that is used to reach the handler / check objectives, and from which the above properties (sans points) are inherited.

Procs

rename_gangsterAllow gangs to have custom naming schemes for their gangsters.

Var Details

acceptable_clothes

The list of clothes that are acceptable to show allegiance to this family.

current_theme

The current theme. Used to pull important stuff such as spawning equipment and objectives.

free_clothes

The list of clothes that are given to family members upon induction into the family.

gang_id

The abbreviation of this family.

my_gang_datum

The specific, occupied family member antagonist datum that is used to reach the handler / check objectives, and from which the above properties (sans points) are inherited.

Proc Details

rename_gangster

Allow gangs to have custom naming schemes for their gangsters.

\ No newline at end of file diff --git a/datum/team/revolution.html b/datum/team/revolution.html new file mode 100644 index 000000000000..52a00f3a7d6c --- /dev/null +++ b/datum/team/revolution.html @@ -0,0 +1,5 @@ +/datum/team/revolution - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

revolution

Procs

check_heads_victoryChecks if heads have won
check_rev_victoryChecks if revs have won
process_victoryUpdates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called. +If revs_win_injection_amount is passed, then that amount of threat will be added if the revs win.
round_resultMutates the ticker to report that the revs have won

Proc Details

check_heads_victory

Checks if heads have won

check_rev_victory

Checks if revs have won

process_victory

Updates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called. +If revs_win_injection_amount is passed, then that amount of threat will be added if the revs win.

round_result

Mutates the ticker to report that the revs have won

\ No newline at end of file diff --git a/datum/tgs_api/v5.html b/datum/tgs_api/v5.html new file mode 100644 index 000000000000..4b087c3b06f2 --- /dev/null +++ b/datum/tgs_api/v5.html @@ -0,0 +1 @@ +/datum/tgs_api/v5 - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

v5

Vars

intercepted_message_queueList of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call
offline_message_queueList of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call

Var Details

intercepted_message_queue

List of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call

offline_message_queue

List of chat messages list()s that attempted to be sent during a topic call. To be bundled in the result of the call

\ 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 000000000000..cf3b5f25a1cf --- /dev/null +++ b/datum/tgs_chat_channel.html @@ -0,0 +1 @@ +/datum/tgs_chat_channel - SPLURT Station 13
SPLURT 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_supported[TRUE]/[FALSE] if the channel supports embeds.
friendly_nameUser friendly name of the channel.
idTGS internal channel ID.
is_admin_channel[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.
is_private_channel[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.

Var Details

connection_name

Name of the chat connection. This is the IRC server address or the Discord guild.

custom_tag

Tag string associated with the channel in TGS.

embeds_supported

[TRUE]/[FALSE] if the channel supports embeds.

friendly_name

User friendly name of the channel.

id

TGS internal channel ID.

is_admin_channel

[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.

is_private_channel

[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.

\ 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 000000000000..60b9e62ec37b --- /dev/null +++ b/datum/tgs_chat_command.html @@ -0,0 +1,7 @@ +/datum/tgs_chat_command - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tgs_chat_command

User definable chat command. This abstract version MUST be overridden to be used.

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. +MUST be implemented

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. +MUST be implemented

+
\ No newline at end of file diff --git a/datum/tgs_chat_embed/field.html b/datum/tgs_chat_embed/field.html new file mode 100644 index 000000000000..5f2913048ac4 --- /dev/null +++ b/datum/tgs_chat_embed/field.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/field - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

field

See https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details.

Vars

nameMust be set in New().
valueMust be set in New().

Procs

NewCreate a /datum/tgs_chat_embed/field.

Var Details

name

Must be set in New().

value

Must be set in New().

Proc Details

New

Create a /datum/tgs_chat_embed/field.

\ 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 000000000000..9e6e1d216dcd --- /dev/null +++ b/datum/tgs_chat_embed/footer.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/footer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

footer

See https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details.

Vars

textMust be set in New().

Procs

NewCreate a /datum/tgs_chat_embed/footer.

Var Details

text

Must be set in New().

Proc Details

New

Create a /datum/tgs_chat_embed/footer.

\ 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 000000000000..7e2ccc1c15e8 --- /dev/null +++ b/datum/tgs_chat_embed/media.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/media - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

media

Common datum for similar Discord embed medias.

Vars

urlMust be set in New().

Procs

NewCreate a /datum/tgs_chat_embed.

Var Details

url

Must be set in New().

Proc Details

New

Create a /datum/tgs_chat_embed.

\ No newline at end of file diff --git a/datum/tgs_chat_embed/provider/author.html b/datum/tgs_chat_embed/provider/author.html new file mode 100644 index 000000000000..1e84c3d0bb22 --- /dev/null +++ b/datum/tgs_chat_embed/provider/author.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/provider/author - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

author

See https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New().

Procs

NewCreate a /datum/tgs_chat_embed/footer.

Proc Details

New

Create a /datum/tgs_chat_embed/footer.

\ 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 000000000000..69f7e5762f2e --- /dev/null +++ b/datum/tgs_chat_embed/structure.html @@ -0,0 +1 @@ +/datum/tgs_chat_embed/structure - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

structure

User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details.

Vars

colourColour must be #AARRGGBB or #RRGGBB hex string.
imageSee https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details.
thumbnailSee https://discord.com/developers/docs/resources/message#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/message#embed-object-embed-video-structure for details.

Var Details

colour

Colour must be #AARRGGBB or #RRGGBB hex string.

image

See https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details.

thumbnail

See https://discord.com/developers/docs/resources/message#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/message#embed-object-embed-video-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 000000000000..e7c7e6e238b5 --- /dev/null +++ b/datum/tgs_chat_user.html @@ -0,0 +1 @@ +/datum/tgs_chat_user - SPLURT Station 13
SPLURT 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 000000000000..6f3d88f5725f --- /dev/null +++ b/datum/tgs_event_handler.html @@ -0,0 +1,2 @@ +/datum/tgs_event_handler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tgs_event_handler

User definable handler for TGS events This abstract version SHOULD be overridden to be used.

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_http_handler.html b/datum/tgs_http_handler.html new file mode 100644 index 000000000000..a369f4882312 --- /dev/null +++ b/datum/tgs_http_handler.html @@ -0,0 +1,8 @@ +/datum/tgs_http_handler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

tgs_http_handler

User definable handler for HTTP calls. This abstract version MUST be overridden to be used.

Procs

PerformGetUser definable callback for executing HTTP GET requests. +MUST perform BYOND sleeps while the request is in flight. +MUST return a /datum/tgs_http_result. +SHOULD log its own errors

Proc Details

PerformGet

User definable callback for executing HTTP GET requests. +MUST perform BYOND sleeps while the request is in flight. +MUST return a /datum/tgs_http_result. +SHOULD log its own errors

+

url - The full URL to execute the GET request for including query parameters.

\ No newline at end of file diff --git a/datum/tgs_http_result.html b/datum/tgs_http_result.html new file mode 100644 index 000000000000..807e606f4211 --- /dev/null +++ b/datum/tgs_http_result.html @@ -0,0 +1,5 @@ +/datum/tgs_http_result - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tgs_http_result

Result of a /datum/tgs_http_handler call. MUST NOT be overridden.

Vars

response_textHTTP response as text
successBoolean request success flag. Set for any 2XX response code.

Procs

NewCreate a /datum/tgs_http_result.

Var Details

response_text

HTTP response as text

success

Boolean request success flag. Set for any 2XX response code.

Proc Details

New

Create a /datum/tgs_http_result.

+
\ 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 000000000000..ae932e517882 --- /dev/null +++ b/datum/tgs_message_content.html @@ -0,0 +1,4 @@ +/datum/tgs_message_content - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tgs_message_content

User definable chat message. MUST NOT be overridden.

Vars

embedThe /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.
textThe string content of the message. Must be provided in New().

Procs

NewCreate a /datum/tgs_message_content.

Var Details

embed

The /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.

text

The string content of the message. Must be provided in New().

Proc Details

New

Create a /datum/tgs_message_content.

+
\ 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 000000000000..c62679ab7ea5 --- /dev/null +++ b/datum/tgs_revision_information.html @@ -0,0 +1 @@ +/datum/tgs_revision_information - SPLURT Station 13
SPLURT 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 000000000000..acba2d910b83 --- /dev/null +++ b/datum/tgs_revision_information/test_merge.html @@ -0,0 +1 @@ +/datum/tgs_revision_information/test_merge - SPLURT Station 13
SPLURT 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 000000000000..15e1fa524f85 --- /dev/null +++ b/datum/tgs_version.html @@ -0,0 +1 @@ +/datum/tgs_version - SPLURT Station 13
SPLURT 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 000000000000..bc13baadd516 --- /dev/null +++ b/datum/tgui.html @@ -0,0 +1,32 @@ +/datum/tgui - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tgui

tgui datum (represents a UI).

Vars

autoupdateUpdate the UI every MC tick.
childrenChildren of this UI
closingStops further updates when close() was called.
initializedIf the UI has been initialized yet.
interfaceThe interface (template) to be used for this UI.
needs_updateIf the window should update
opened_atTime of opening the window.
parent_uiThe Parent UI
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

autoupdate

Update the UI every MC tick.

children

Children of this UI

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.

needs_update

If the window should update

opened_at

Time of opening the window.

parent_ui

The Parent UI

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

+

return bool - TRUE if a new pooled window is opened, FALSE in all other situations including if a new pooled window didn't open because one already exists.

process

private

+

Run an update cycle for this UI. Called internally by SStgui +every second or so.

process_status

private

+

Updates the status, and returns TRUE if status has changed.

send_asset

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - true if an asset was actually sent

send_full_update

public

+

Send a full update to the client (includes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

send_update

public

+

Send a partial update to the client (excludes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

set_autoupdate

public

+

Enable/disable auto-updating of the UI.

+

required value bool Enable/disable auto-updating.

set_state

public

+

Replace current ui.state with a new one.

+

required state datum/ui_state/state Next state

\ No newline at end of file diff --git a/datum/tgui_alert.html b/datum/tgui_alert.html new file mode 100644 index 000000000000..db015bcc12ae --- /dev/null +++ b/datum/tgui_alert.html @@ -0,0 +1,4 @@ +/datum/tgui_alert - SPLURT Station 13
SPLURT 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_modal was closed by the user.
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_modal was created, for displaying timeout progress.
timeoutThe lifespan of the tgui_modal, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_modal's prompt before returning. Returns early if +the window was closed by the user.

Var Details

autofocus

The bool that controls if this modal should grab window focus

buttons

The list of buttons (responses) provided on the TGUI window

choice

The button that the user has pressed, null if no selection has been made

closed

Boolean field describing if the tgui_modal was closed by the user.

message

The textual body of the TGUI window

start_time

The time at which the tgui_modal was created, for displaying timeout progress.

timeout

The lifespan of the tgui_modal, after which the window will close and delete itself.

title

The title of the TGUI window

Proc Details

wait

Waits for a user's response to the tgui_modal's prompt before returning. Returns early if +the window was closed by the user.

\ No newline at end of file diff --git a/datum/tgui_alert/async.html b/datum/tgui_alert/async.html new file mode 100644 index 000000000000..2925b5285829 --- /dev/null +++ b/datum/tgui_alert/async.html @@ -0,0 +1 @@ +/datum/tgui_alert/async - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

async tgui_modal

An asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.

Vars

callbackThe callback to be invoked by the tgui_modal upon having a choice made.

Var Details

callback

The callback to be invoked by the tgui_modal upon having a choice made.

\ 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 000000000000..901b2ef21f90 --- /dev/null +++ b/datum/tgui_input_number.html @@ -0,0 +1,4 @@ +/datum/tgui_input_number - SPLURT Station 13
SPLURT 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.
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.
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.

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.

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_number/async.html b/datum/tgui_input_number/async.html new file mode 100644 index 000000000000..da4bfd5a8b74 --- /dev/null +++ b/datum/tgui_input_number/async.html @@ -0,0 +1 @@ +/datum/tgui_input_number/async - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

async tgui_text_input

An asynchronous version of tgui_text_input to be used with callbacks instead of waiting on user responses.

Vars

callbackThe callback to be invoked by the tgui_text_input upon having a choice made.

Procs

set_entrydatum/tgui_input_number/async/tgui_close(mob/user)

Var Details

callback

The callback to be invoked by the tgui_text_input upon having a choice made.

Proc Details

set_entry

datum/tgui_input_number/async/tgui_close(mob/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 000000000000..cb75951f4885 --- /dev/null +++ b/datum/tgui_input_text.html @@ -0,0 +1,5 @@ +/datum/tgui_input_text - SPLURT Station 13
SPLURT 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.
encodeWhether the input should be stripped using html_encode
entryThe entry that the user has return_typed in.
max_lengthThe maximum length for text entry
messageThe prompt's body, if any, of the TGUI window.
multilineMultiline input for larger input boxes.
start_timeThe time at which the text input was created, for displaying timeout progress.
timeoutThe lifespan of the text input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_text_input's prompt before returning. Returns early if +the window was closed by the user.

Var Details

closed

Boolean field describing if the tgui_input_text was closed by the user.

default

The default (or current) value, shown as a default.

encode

Whether the input should be stripped using html_encode

entry

The entry that the user has return_typed in.

max_length

The maximum length for text entry

message

The prompt's body, if any, of the TGUI window.

multiline

Multiline input for larger input boxes.

start_time

The time at which the text input was created, for displaying timeout progress.

timeout

The lifespan of the text input, after which the window will close and delete itself.

title

The title of the TGUI window

Proc Details

wait

Waits for a user's response to the tgui_text_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_input_text/async.html b/datum/tgui_input_text/async.html new file mode 100644 index 000000000000..cf22c608a64d --- /dev/null +++ b/datum/tgui_input_text/async.html @@ -0,0 +1 @@ +/datum/tgui_input_text/async - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

async tgui_text_input

An asynchronous version of tgui_text_input to be used with callbacks instead of waiting on user responses.

Vars

callbackThe callback to be invoked by the tgui_text_input upon having a choice made.

Procs

set_entrydatum/tgui_input_text/async/tgui_close(mob/user)

Var Details

callback

The callback to be invoked by the tgui_text_input upon having a choice made.

Proc Details

set_entry

datum/tgui_input_text/async/tgui_close(mob/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 000000000000..fd37d6c1f6d2 --- /dev/null +++ b/datum/tgui_list_input.html @@ -0,0 +1,4 @@ +/datum/tgui_list_input - SPLURT Station 13
SPLURT 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 item to be selected
itemsThe list of items (responses) provided on the TGUI window
items_mapItems (strings specifically) mapped to the actual value (e.g. a mob or a verb)
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_list_input was created, for displaying timeout progress.
timeoutThe lifespan of the tgui_list_input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.

Var Details

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 item to be selected

items

The list of items (responses) provided on the TGUI window

items_map

Items (strings specifically) mapped to the actual value (e.g. a mob or a verb)

message

The textual body of the TGUI window

start_time

The time at which the tgui_list_input was created, for displaying timeout progress.

timeout

The lifespan of the tgui_list_input, after which the window will close and delete itself.

title

The title of the TGUI window

Proc Details

wait

Waits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.

\ No newline at end of file diff --git a/datum/tgui_list_input/async.html b/datum/tgui_list_input/async.html new file mode 100644 index 000000000000..d20dfa1a0b1e --- /dev/null +++ b/datum/tgui_list_input/async.html @@ -0,0 +1 @@ +/datum/tgui_list_input/async - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

async tgui_list_input

An asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.

Vars

callbackThe callback to be invoked by the tgui_list_input upon having a choice made.

Procs

set_choicedatum/tgui_list_input/async/tgui_close(mob/user)

Var Details

callback

The callback to be invoked by the tgui_list_input upon having a choice made.

Proc Details

set_choice

datum/tgui_list_input/async/tgui_close(mob/user)

\ No newline at end of file diff --git a/datum/tgui_panel.html b/datum/tgui_panel.html new file mode 100644 index 000000000000..5a3d01794c6a --- /dev/null +++ b/datum/tgui_panel.html @@ -0,0 +1,20 @@ +/datum/tgui_panel - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tgui_panel

tgui_panel datum +Hosts tgchat and other nice features.

Vars

telemetry_analyzed_atTime of telemetry analysis completion
telemetry_connectionsList of previous client connections
telemetry_requested_atTime of telemetry request

Procs

analyze_telemetryprivate
initializepublic
is_readypublic
on_initialize_timed_outprivate
on_messageprivate
play_musicpublic
request_telemetryprivate
send_roundrestartpublic
stop_musicpublic

Var Details

telemetry_analyzed_at

Time of telemetry analysis completion

telemetry_connections

List of previous client connections

telemetry_requested_at

Time of telemetry request

Proc Details

analyze_telemetry

private

+

Analyzes a telemetry packet.

+

Is currently only useful for detecting ban evasion attempts.

initialize

public

+

Initializes tgui panel.

is_ready

public

+

TRUE if panel is initialized and ready to receive messages.

on_initialize_timed_out

private

+

Called when initialization has timed out.

on_message

private

+

Callback for handling incoming tgui messages.

play_music

public

+

Sends music data to the browser.

+

Optional settings:

+ +

required url string Must be an https URL. +optional extra_data list Optional settings.

request_telemetry

private

+

Requests some telemetry from the client.

send_roundrestart

public

+

Sends a round restart notification.

stop_music

public

+

Stops playing music through the browser.

\ No newline at end of file diff --git a/datum/tgui_window.html b/datum/tgui_window.html new file mode 100644 index 000000000000..73698c7f2e63 --- /dev/null +++ b/datum/tgui_window.html @@ -0,0 +1,39 @@ +/datum/tgui_window - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

tgui_window

Procs

Newpublic
acquire_lockpublic
can_be_suspendedpublic
closepublic
flush_message_queueprivate
initializepublic
is_readypublic
on_messageprivate
release_lockpublic
send_assetpublic
send_messagepublic
send_raw_messagepublic
subscribepublic
unsubscribepublic

Proc Details

New

public

+

Create a new tgui window.

+

required client /client +required id string A unique window identifier.

acquire_lock

public

+

Acquire the window lock. Pool will not be able to provide this window +to other UIs for the duration of the lock.

+

Can be given an optional tgui datum, which will be automatically +subscribed to incoming messages via the on_message proc.

+

optional ui /datum/tgui

can_be_suspended

public

+

Checks if the window can be sanely suspended.

+

return bool

close

public

+

Close the UI.

+

optional can_be_suspended bool

flush_message_queue

private

+

Sends queued messages if the queue wasn't empty.

initialize

public

+

Initializes the window with a fresh page. Puts window into the "loading" +state. You can begin sending messages right after initializing. Messages +will be put into the queue until the window finishes loading.

+

optional inline_assets list List of assets to inline into the html. +optional inline_html string Custom HTML to inject. +optional fancy bool If TRUE, will hide the window titlebar.

is_ready

public

+

Checks if the window is ready to receive data.

+

return bool

on_message

private

+

Callback for handling incoming tgui messages.

release_lock

public

+

Release the window lock.

send_asset

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - TRUE if any assets had to be sent to the client

send_message

public

+

Sends a message to tgui window.

+

required type string Message type +required payload list Message payload +optional force bool Send regardless of the ready status.

send_raw_message

public

+

Sends a raw payload to tgui window.

+

required message string JSON+urlencoded blob to send. +optional force bool Send regardless of the ready status.

subscribe

public

+

Subscribes the datum to consume window messages on a specified proc.

+

Note, that this supports only one subscriber, because code for that +is simpler and therefore faster. If necessary, this can be rewritten +to support multiple subscribers.

unsubscribe

public

+

Unsubscribes the datum. Do not forget to call this when cleaning up.

\ No newline at end of file diff --git a/datum/thrownthing.html b/datum/thrownthing.html new file mode 100644 index 000000000000..f54dc1d0d6b8 --- /dev/null +++ b/datum/thrownthing.html @@ -0,0 +1 @@ +/datum/thrownthing - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

thrownthing

Vars

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.
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
gentleIf the throw is gentle, then the thrownthing is harmless on impact.
init_dirThe initial direction of the thrower of the thrownthing for building the trajectory of the throw.
initial_targetWeakref to 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)
speedThe speed of the projectile thrownthing being thrown.
start_timeThe start_time obtained via world.time for the purposes of tiles moved/tick.
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.
throwerIf a mob is the one who has thrown the object, then it's moved here.
thrownthingDefines the atom that has been thrown (Objects and Mobs, mostly.)

Procs

on_thrownthing_qdelDefines the datum behavior on the thrownthing's qdeletion event.

Var Details

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.

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

gentle

If the throw is gentle, then the thrownthing is harmless on impact.

init_dir

The initial direction of the thrower of the thrownthing for building the trajectory of the throw.

initial_target

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

speed

The speed of the projectile thrownthing being thrown.

start_time

The start_time obtained via world.time for the purposes of tiles moved/tick.

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

If a mob is the one who has thrown the object, then it's moved here.

thrownthing

Defines the atom that has been thrown (Objects and Mobs, mostly.)

Proc Details

on_thrownthing_qdel

Defines the datum behavior on the thrownthing's qdeletion event.

\ No newline at end of file diff --git a/datum/timedevent.html b/datum/timedevent.html new file mode 100644 index 000000000000..217a79100310 --- /dev/null +++ b/datum/timedevent.html @@ -0,0 +1,9 @@ +/datum/timedevent - SPLURT Station 13
SPLURT 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

callBackThe callback to invoke after the timer completes
flagsFlags associated with the timer, see _DEFINES/subsystems.dm
hashUnique hash generated when TIMER_UNIQUE flag is present
idID used for timers when the TIMER_STOPPABLE flag is present
nameAn informative name generated for the timer as its representation in strings, useful for debugging
nextNext timed event in the bucket
prevPrevious timed event in the bucket
sourceThe source of the timedevent, whatever called addtimer
spentTime at which the timer was invoked or destroyed
timeToRunThe time at which the callback should be invoked at
waitThe length of the timer

Procs

bucketEjectRemoves this timed event from any relevant buckets, or the secondary queue
bucketJoinAttempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.
getcallingtypeReturns a string of the type of the callback for this timer

Var Details

callBack

The callback to invoke after the timer completes

flags

Flags associated with the timer, see _DEFINES/subsystems.dm

hash

Unique hash generated when TIMER_UNIQUE flag is present

id

ID used for timers when the TIMER_STOPPABLE flag is present

name

An informative name generated for the timer as its representation in strings, useful for debugging

next

Next timed event in the bucket

prev

Previous timed event in the bucket

source

The source of the timedevent, whatever called addtimer

spent

Time at which the timer was invoked or destroyed

timeToRun

The time at which the callback should be invoked at

wait

The length of the timer

Proc Details

bucketEject

Removes this timed event from any relevant buckets, or the secondary queue

bucketJoin

Attempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.

+

Secondary queueing of timed events will occur when the timespan covered by the existing +buckets is exceeded by the time at which this timed event is scheduled to be invoked. +If the timed event is tracking client time, it will be added to a special bucket.

getcallingtype

Returns a string of the type of the callback for this timer

\ No newline at end of file diff --git a/datum/traitor_class.html b/datum/traitor_class.html new file mode 100644 index 000000000000..da78f34e303a --- /dev/null +++ b/datum/traitor_class.html @@ -0,0 +1 @@ +/datum/traitor_class - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

traitor_class

Vars

min_playersMinimum players for this to randomly roll via get_random_traitor_kind().
tgui_themeSpecific tgui theme for the player's antag info panel.

Var Details

min_players

Minimum players for this to randomly roll via get_random_traitor_kind().

tgui_theme

Specific tgui theme for the player's antag info panel.

\ No newline at end of file diff --git a/datum/ui_state.html b/datum/ui_state.html new file mode 100644 index 000000000000..b3ca80321d7b --- /dev/null +++ b/datum/ui_state.html @@ -0,0 +1,6 @@ +/datum/ui_state - SPLURT Station 13
SPLURT 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/unit_test.html b/datum/unit_test.html new file mode 100644 index 000000000000..e71242ca6247 --- /dev/null +++ b/datum/unit_test.html @@ -0,0 +1,3 @@ +/datum/unit_test - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

unit_test

Vars

priorityThe priority of the test, the larger it is the later it fires
run_loc_floor_bottom_leftThe bottom left floor turf of the testing zone
run_loc_floor_top_rightThe top right floor turf of the testing zone

Procs

allocateAllocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over
log_for_testLogs a test message. Will use GitHub action syntax found at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions

Var Details

priority

The priority of the test, the larger it is the later it fires

run_loc_floor_bottom_left

The bottom left floor turf of the testing zone

run_loc_floor_top_right

The top right floor turf of the testing zone

Proc Details

allocate

Allocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over

log_for_test

Logs a test message. Will use GitHub action syntax found at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions

\ No newline at end of file diff --git a/datum/unit_test/binary_insert.html b/datum/unit_test/binary_insert.html new file mode 100644 index 000000000000..78d200258cb5 --- /dev/null +++ b/datum/unit_test/binary_insert.html @@ -0,0 +1 @@ +/datum/unit_test/binary_insert - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

binary_insert

Procs

RunA test to ensure the sanity of BINARY_INSERT

Proc Details

Run

A test to ensure the sanity of BINARY_INSERT

\ No newline at end of file diff --git a/datum/unit_test/container_resist.html b/datum/unit_test/container_resist.html new file mode 100644 index 000000000000..e56ea32a5bce --- /dev/null +++ b/datum/unit_test/container_resist.html @@ -0,0 +1 @@ +/datum/unit_test/container_resist - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

container_resist

Procs

RunTest that you can resist out of a container

Proc Details

Run

Test that you can resist out of a container

\ No newline at end of file diff --git a/datum/unit_test/interactions.html b/datum/unit_test/interactions.html new file mode 100644 index 000000000000..ef111a1d0d2d --- /dev/null +++ b/datum/unit_test/interactions.html @@ -0,0 +1 @@ +/datum/unit_test/interactions - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

interactions

Procs

RunSANDSTORM TESTS

Proc Details

Run

SANDSTORM TESTS

\ No newline at end of file diff --git a/datum/unit_test/machine_disassembly.html b/datum/unit_test/machine_disassembly.html new file mode 100644 index 000000000000..7e2a0c032ffe --- /dev/null +++ b/datum/unit_test/machine_disassembly.html @@ -0,0 +1 @@ +/datum/unit_test/machine_disassembly - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

machine_disassembly

Procs

RunEnsures that when disassembling a machine, all the parts are given back

Proc Details

Run

Ensures that when disassembling a machine, all the parts are given back

\ No newline at end of file diff --git a/datum/unit_test/stop_drop_and_roll.html b/datum/unit_test/stop_drop_and_roll.html new file mode 100644 index 000000000000..c1ff345ef66b --- /dev/null +++ b/datum/unit_test/stop_drop_and_roll.html @@ -0,0 +1 @@ +/datum/unit_test/stop_drop_and_roll - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

stop_drop_and_roll

Procs

RunTest that stop, drop, and roll lowers fire stacks

Proc Details

Run

Test that stop, drop, and roll lowers fire stacks

\ No newline at end of file diff --git a/datum/unit_test/test_human_base.html b/datum/unit_test/test_human_base.html new file mode 100644 index 000000000000..e1bbc98d6985 --- /dev/null +++ b/datum/unit_test/test_human_base.html @@ -0,0 +1 @@ +/datum/unit_test/test_human_base - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

test_human_base

Procs

RunThis test is used to make sure a flesh-and-bone base human can suffer all the types of wounds, and that suffering more severe wounds removes and replaces the lesser wound. Also tests that [/mob/living/carbon/proc/fully_heal] removes all wounds

Proc Details

Run

This test is used to make sure a flesh-and-bone base human can suffer all the types of wounds, and that suffering more severe wounds removes and replaces the lesser wound. Also tests that [/mob/living/carbon/proc/fully_heal] removes all wounds

\ No newline at end of file diff --git a/datum/unit_test/test_human_bone.html b/datum/unit_test/test_human_bone.html new file mode 100644 index 000000000000..810104753c3f --- /dev/null +++ b/datum/unit_test/test_human_bone.html @@ -0,0 +1 @@ +/datum/unit_test/test_human_bone - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

test_human_bone

Procs

RunThis test is used for making sure species with bones but no flesh (skeletons, plasmamen) can only suffer BONE_WOUNDS, and nothing tagged with FLESH_WOUND (it's possible to require both)

Proc Details

Run

This test is used for making sure species with bones but no flesh (skeletons, plasmamen) can only suffer BONE_WOUNDS, and nothing tagged with FLESH_WOUND (it's possible to require both)

\ No newline at end of file diff --git a/datum/uplink_item.html b/datum/uplink_item.html new file mode 100644 index 000000000000..b3c7ab8aaa5d --- /dev/null +++ b/datum/uplink_item.html @@ -0,0 +1,4 @@ +/datum/uplink_item - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

uplink_item

Uplink Items

+

Items that can be spawned from an uplink. Can be limited by gamemode.

Vars

purchasable_fromA bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].

Var Details

purchasable_from

A bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].

\ No newline at end of file diff --git a/datum/wave_explosion.html b/datum/wave_explosion.html new file mode 100644 index 000000000000..590381b253d5 --- /dev/null +++ b/datum/wave_explosion.html @@ -0,0 +1,3 @@ +/datum/wave_explosion - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

wave_explosion

New force-blastwave explosion system

Vars

block_resistanceblock = block / this, if 0 any block is absolute
cycleWhat cycle are we on?
cycle_speedTime to wait between cycles
cycle_startWhen we started the current cycle
edgesThe "edges" + dirs that need to be processed this cycle. turf = dir flags
exploded_lastThe last ring that's been exploded. Any turfs in this will completely ignore the current cycle. Turf = TRUE
finishedAre we currently finished?
fire_probabilityFire probability per tile
flash_rangeFlash range
hard_obstacle_modHard obstcales get this mod INSTEAD of object damage mod
idOur unique nuumerical ID
indexCurrent index for list
mob_damage_modMob damage mod
mob_deafen_modMob deafen mod
mob_gib_modMob gib mod
next_idNext unique numerical ID
object_damage_modObject damage mod
power_considered_deadExplosion power at which point to consider to be a dead expansion
power_falloff_constantBase explosion power falloff subtract (applied second)
power_falloff_factorBase explosion power falloff multiplier (applied first)
power_initialExplosion power we were initially at
powersThe powers of the current turf edges. turf = power
runningAre we currently running?
silentAre we silent/do we make the screenshake/sounds?
sourceWhat atom we originated from, if any
start_timeworld.time we started at
wall_destroy_modWall destruction mod
window_shatter_modWindow shatter mod. Overrides both [hard_obstcale_mod] and [object_damage_mod]

Procs

tickCalled by SSexplosions to propagate this. +Return TRUE if postponed

Var Details

block_resistance

block = block / this, if 0 any block is absolute

cycle

What cycle are we on?

cycle_speed

Time to wait between cycles

cycle_start

When we started the current cycle

edges

The "edges" + dirs that need to be processed this cycle. turf = dir flags

exploded_last

The last ring that's been exploded. Any turfs in this will completely ignore the current cycle. Turf = TRUE

finished

Are we currently finished?

fire_probability

Fire probability per tile

flash_range

Flash range

hard_obstacle_mod

Hard obstcales get this mod INSTEAD of object damage mod

id

Our unique nuumerical ID

index

Current index for list

mob_damage_mod

Mob damage mod

mob_deafen_mod

Mob deafen mod

mob_gib_mod

Mob gib mod

next_id

Next unique numerical ID

object_damage_mod

Object damage mod

power_considered_dead

Explosion power at which point to consider to be a dead expansion

power_falloff_constant

Base explosion power falloff subtract (applied second)

power_falloff_factor

Base explosion power falloff multiplier (applied first)

power_initial

Explosion power we were initially at

powers

The powers of the current turf edges. turf = power

running

Are we currently running?

silent

Are we silent/do we make the screenshake/sounds?

source

What atom we originated from, if any

start_time

world.time we started at

wall_destroy_mod

Wall destruction mod

window_shatter_mod

Window shatter mod. Overrides both [hard_obstcale_mod] and [object_damage_mod]

Proc Details

tick

Called by SSexplosions to propagate this. +Return TRUE if postponed

\ No newline at end of file diff --git a/datum/weather.html b/datum/weather.html new file mode 100644 index 000000000000..d3371936f4d8 --- /dev/null +++ b/datum/weather.html @@ -0,0 +1,12 @@ +/datum/weather - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

weather

Causes weather to occur on a z level in certain area types

+

The effects of weather occur across an entire z-level. For instance, lavaland has periodic ash storms that scorch most unprotected creatures. +Weather always occurs on different z levels at different times, regardless of weather type. +Can have custom durations, targets, and can automatically protect indoor areas.

Vars

aestheticIf the weather has no purpose but aesthetics.
area_typeTypes of area to affect
barometer_predictableWhether a barometer can predict when the weather will happen
descdescription of weather
end_durationIn deciseconds, how long the "wind-down" graphic will appear before vanishing entirely
end_messageDisplayed once the weather is over
end_overlayArea overlay while weather is ending
end_soundSound that plays while weather is ending
immunity_typeUsed by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.
impacted_areasAreas to be affected by the weather, calculated when the weather begins
impacted_z_levelsThe list of z-levels that this weather is actively affecting
namename of weather
next_hit_timeFor barometers to know when the next storm will hit
overlay_layerSince it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
overlay_planePlane for the overlay
perpetualThis causes the weather to only end if forced to
probabilityWeight amongst other eligible weather. if zero, will never happen randomly.
protect_indoorsTRUE value protects areas with outdoors marked as false, regardless of area type
protected_areasAreas that are protected and excluded from the affected areas.
stageThe stage of the weather, from 1-4
target_traitThe z-level trait to affect when run randomly or when not overridden.
telegraph_durationIn deciseconds, how long from the beginning of the telegraph until the weather begins
telegraph_messageThe message displayed in chat to foreshadow the weather's beginning
telegraph_overlayThe overlay applied to all tiles on the z-level
telegraph_soundThe sound file played to everyone on an affected z-level
weather_colorColor to apply to the area while weather is occuring
weather_durationIn deciseconds, how long the weather lasts once it begins
weather_duration_lowerSee above - this is the lowest possible duration
weather_duration_upperSee above - this is the highest possible duration
weather_messageDisplayed in chat once the weather begins in earnest
weather_overlayArea overlay while the weather is occuring
weather_soundLooping sound while weather is occuring

Procs

can_weather_actReturns TRUE if the living mob can be affected by the weather
endFully ends the weather
startStarts the actual weather and effects from it
telegraphTelegraphs the beginning of the weather on the impacted z levels
update_areasUpdates the overlays on impacted areas
weather_actAffects the mob with whatever the weather does
wind_downWeather enters the winding down phase, stops effects

Var Details

aesthetic

If the weather has no purpose but aesthetics.

area_type

Types of area to affect

barometer_predictable

Whether a barometer can predict when the weather will happen

desc

description of weather

end_duration

In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely

end_message

Displayed once the weather is over

end_overlay

Area overlay while weather is ending

end_sound

Sound that plays while weather is ending

immunity_type

Used by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.

impacted_areas

Areas to be affected by the weather, calculated when the weather begins

impacted_z_levels

The list of z-levels that this weather is actively affecting

name

name of weather

next_hit_time

For barometers to know when the next storm will hit

overlay_layer

Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.

overlay_plane

Plane for the overlay

perpetual

This causes the weather to only end if forced to

probability

Weight amongst other eligible weather. if zero, will never happen randomly.

protect_indoors

TRUE value protects areas with outdoors marked as false, regardless of area type

protected_areas

Areas that are protected and excluded from the affected areas.

stage

The stage of the weather, from 1-4

target_trait

The z-level trait to affect when run randomly or when not overridden.

telegraph_duration

In deciseconds, how long from the beginning of the telegraph until the weather begins

telegraph_message

The message displayed in chat to foreshadow the weather's beginning

telegraph_overlay

The overlay applied to all tiles on the z-level

telegraph_sound

The sound file played to everyone on an affected z-level

weather_color

Color to apply to the area while weather is occuring

weather_duration

In deciseconds, how long the weather lasts once it begins

weather_duration_lower

See above - this is the lowest possible duration

weather_duration_upper

See above - this is the highest possible duration

weather_message

Displayed in chat once the weather begins in earnest

weather_overlay

Area overlay while the weather is occuring

weather_sound

Looping sound while weather is occuring

Proc Details

can_weather_act

Returns TRUE if the living mob can be affected by the weather

end

Fully ends the weather

+

Effects no longer occur and area overlays are removed +Removes weather from processing completely

start

Starts the actual weather and effects from it

+

Updates area overlays and sends sounds and messages to mobs to notify them +Begins dealing effects from weather to mobs in the area

telegraph

Telegraphs the beginning of the weather on the impacted z levels

+

Sends sounds and details to mobs in the area +Calculates duration and hit areas, and makes a callback for the actual weather to start

update_areas

Updates the overlays on impacted areas

weather_act

Affects the mob with whatever the weather does

wind_down

Weather enters the winding down phase, stops effects

+

Updates areas to be in the winding down phase +Sends sounds and messages to mobs to notify them

\ No newline at end of file diff --git a/datum/wires.html b/datum/wires.html new file mode 100644 index 000000000000..cdaa80b39591 --- /dev/null +++ b/datum/wires.html @@ -0,0 +1 @@ +/datum/wires - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

wires

Procs

emp_pulseCalled from [/atom/proc/emp_act]

Proc Details

emp_pulse

Called from [/atom/proc/emp_act]

\ No newline at end of file diff --git a/datum/wound.html b/datum/wound.html new file mode 100644 index 000000000000..054aac4598aa --- /dev/null +++ b/datum/wound.html @@ -0,0 +1,26 @@ +/datum/wound - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

wound

Vars

a_or_fromneeded for "your arm has a compound fracture" vs "your arm has some third degree burns"
already_scarredIf we've already tried scarring while removing (remove_wound can be called twice in a del chain, let's be nice to our code yeah?) TODO: make this cleaner
attached_surgeryIf we're operating on this wound and it gets healed, we'll nix the surgery too
base_treat_timeHow long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery
blood_flowHow much we're contributing to this limb's bleed_rate
cryo_progressif you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * 25 power
damage_mulitplier_penaltyIncoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).
descThe description shown on the scanners
disablingIf having this wound makes currently makes the parent bodypart unusable
examine_descWhat the limb looks like on a cursory examine
from_smiteIf we forced this wound through badmin smite, we won't count it towards the round totals
interaction_efficiency_penaltyUsing this limb in a do_after interaction will multiply the length by this duration (arms)
limbThe bodypart we're parented to
limp_slowdownIf set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg
nameWhat it's named
occur_textThe visible message when this happens
processesIf we need to process each life tick
scar_keywordWhat kind of scars this wound will create description wise once healed
severityEither WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)
sound_effectThis sound will be played upon the wound being applied
status_effect_typeWhat status effect we assign on application
threshold_minimumThe minimum we need to roll on /obj/item/bodypart/proc/check_wounding to begin suffering this wound, see check_wounding_mods() for more
threshold_penaltyHow much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage
treat_textThe basic treatment suggested by health analyzers
treatable_bySpecific items such as bandages or sutures that can try directly treating this wound
treatable_by_grabbedSpecific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher
treatable_toolTools with the specified tool flag will also be able to try directly treating this wound
viable_zonesWhat body zones can we affect
victimWho owns the body part that we're wounding
wound_flagsWhat flags apply to this wound
wound_typeThe list of wounds it belongs in, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN

Procs

apply_woundapply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.
check_grab_treatmentsReturn TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat
crushCalled when we're crushed in an airlock or firedoor, for one of the improvised joint dislocation fixes
drag_bleed_amountUsed when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood
get_examine_descriptionget_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.
handle_processIf var/processing is TRUE, this is run on each life tick
on_stasisCalled when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them
on_synthfleshWhen synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future
on_xadoneCalled from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh
receive_damageWhen our parent bodypart is hurt
remove_woundRemove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim
replace_woundreplace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)
second_windAdditional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand
still_existsFor use in do_after callback checks
treatSomeone is using something that might be used for treating the wound on this limb
try_handlingLike try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example.
try_treatingtry_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.
wound_injuryThe immediate negative effects faced as a result of the wound

Var Details

a_or_from

needed for "your arm has a compound fracture" vs "your arm has some third degree burns"

already_scarred

If we've already tried scarring while removing (remove_wound can be called twice in a del chain, let's be nice to our code yeah?) TODO: make this cleaner

attached_surgery

If we're operating on this wound and it gets healed, we'll nix the surgery too

base_treat_time

How long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery

blood_flow

How much we're contributing to this limb's bleed_rate

cryo_progress

if you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * 25 power

damage_mulitplier_penalty

Incoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).

desc

The description shown on the scanners

disabling

If having this wound makes currently makes the parent bodypart unusable

examine_desc

What the limb looks like on a cursory examine

from_smite

If we forced this wound through badmin smite, we won't count it towards the round totals

interaction_efficiency_penalty

Using this limb in a do_after interaction will multiply the length by this duration (arms)

limb

The bodypart we're parented to

limp_slowdown

If set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg

name

What it's named

occur_text

The visible message when this happens

processes

If we need to process each life tick

scar_keyword

What kind of scars this wound will create description wise once healed

severity

Either WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)

sound_effect

This sound will be played upon the wound being applied

status_effect_type

What status effect we assign on application

threshold_minimum

The minimum we need to roll on /obj/item/bodypart/proc/check_wounding to begin suffering this wound, see check_wounding_mods() for more

threshold_penalty

How much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage

treat_text

The basic treatment suggested by health analyzers

treatable_by

Specific items such as bandages or sutures that can try directly treating this wound

treatable_by_grabbed

Specific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher

treatable_tool

Tools with the specified tool flag will also be able to try directly treating this wound

viable_zones

What body zones can we affect

victim

Who owns the body part that we're wounding

wound_flags

What flags apply to this wound

wound_type

The list of wounds it belongs in, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN

Proc Details

apply_wound

apply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.

+

Arguments:

+

check_grab_treatments

Return TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat

crush

Called when we're crushed in an airlock or firedoor, for one of the improvised joint dislocation fixes

drag_bleed_amount

Used when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood

get_examine_description

get_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.

+

Return the full string line you want to show, note that we're already dealing with the 'warning' span at this point, and that \n is already appended for you in the place this is called from

+

Arguments:

+

handle_process

If var/processing is TRUE, this is run on each life tick

on_stasis

Called when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them

on_synthflesh

When synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future

on_xadone

Called from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh

receive_damage

When our parent bodypart is hurt

remove_wound

Remove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim

replace_wound

replace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)

+

This proc actually instantiates the new wound based off the specific type path passed, then returns the new instantiated wound datum.

+

Arguments:

+

second_wind

Additional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand

still_exists

For use in do_after callback checks

treat

Someone is using something that might be used for treating the wound on this limb

try_handling

Like try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example.

try_treating

try_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.

+

This proc leads into /datum/wound/proc/treat and probably shouldn't be added onto in children types. You can specify what items or tools you want to be intercepted +with var/list/treatable_by and var/treatable_tool, then if an item fulfills one of those requirements and our wound claims it first, it goes over to treat() and treat_self().

+

Arguments:

+

wound_injury

The immediate negative effects faced as a result of the wound

\ No newline at end of file diff --git a/datum/wound/blunt.html b/datum/wound/blunt.html new file mode 100644 index 000000000000..4955f6128f77 --- /dev/null +++ b/datum/wound/blunt.html @@ -0,0 +1 @@ +/datum/wound/blunt - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

blunt

Vars

active_traumaIf we suffer severe head booboos, we can get brain traumas tied to them
brain_trauma_groupWhat brain trauma group, if any, we can draw from for head wounds
gelledHave we been bone gel'd?
internal_bleeding_chanceIf this is a chest wound and this is set, we have this chance to cough up blood when hit in the chest
next_trauma_cycleIf we deal brain traumas, when is the next one due?
regen_points_currentOur current counter for gel + surgical tape regeneration
regen_points_neededIf we did the gel + surgical tape healing method for fractures, how many regen points we need
tapedHave we been taped?
trauma_cycle_cooldownHow long do we wait +/- 20% for the next trauma?

Procs

attack_with_hurt_handIf we're a human who's punching something with a broken arm, we might hurt ourselves doing so
gelif someone is using bone gel on our wound
tapeif someone is using surgical tape on our wound

Var Details

active_trauma

If we suffer severe head booboos, we can get brain traumas tied to them

brain_trauma_group

What brain trauma group, if any, we can draw from for head wounds

gelled

Have we been bone gel'd?

internal_bleeding_chance

If this is a chest wound and this is set, we have this chance to cough up blood when hit in the chest

next_trauma_cycle

If we deal brain traumas, when is the next one due?

regen_points_current

Our current counter for gel + surgical tape regeneration

regen_points_needed

If we did the gel + surgical tape healing method for fractures, how many regen points we need

taped

Have we been taped?

trauma_cycle_cooldown

How long do we wait +/- 20% for the next trauma?

Proc Details

attack_with_hurt_hand

If we're a human who's punching something with a broken arm, we might hurt ourselves doing so

gel

if someone is using bone gel on our wound

tape

if someone is using surgical tape on our wound

\ No newline at end of file diff --git a/datum/wound/blunt/moderate.html b/datum/wound/blunt/moderate.html new file mode 100644 index 000000000000..4f09566c7efe --- /dev/null +++ b/datum/wound/blunt/moderate.html @@ -0,0 +1 @@ +/datum/wound/blunt/moderate - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

moderate

Procs

chiropracticeIf someone is snapping our dislocated joint back into place by hand with an aggro grab and help intent
malpracticeIf someone is snapping our dislocated joint into a fracture by hand with an aggro grab and harm or disarm intent

Proc Details

chiropractice

If someone is snapping our dislocated joint back into place by hand with an aggro grab and help intent

malpractice

If someone is snapping our dislocated joint into a fracture by hand with an aggro grab and harm or disarm intent

\ No newline at end of file diff --git a/datum/wound/burn.html b/datum/wound/burn.html new file mode 100644 index 000000000000..265293bc2a72 --- /dev/null +++ b/datum/wound/burn.html @@ -0,0 +1 @@ +/datum/wound/burn - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

burn

Vars

flesh_damageHow much damage to our flesh we currently have. Once both this and infestation reach 0, the wound is considered healed
flesh_healingOur current counter for how much flesh regeneration we have stacked from regenerative mesh/synthflesh/whatever, decrements each tick and lowers flesh_damage
infestationOur current level of infection
infestation_rateHow quickly infection breeds on this burn if we don't have disinfectant
sanitizationOur current level of sanitization/anti-infection, from disinfectants/alcohol/UV lights. While positive, totally pauses and slowly reverses infestation effects each tick
strikes_to_lose_limbOnce we reach infestation beyond WOUND_INFESTATION_SEPSIS, we get this many warnings before the limb is completely paralyzed (you'd have to ignore a really bad burn for a really long time for this to happen)

Procs

meshif someone is using mesh on our burns
ointmentif someone is using ointment on our burns
uvParamedic UV penlights

Var Details

flesh_damage

How much damage to our flesh we currently have. Once both this and infestation reach 0, the wound is considered healed

flesh_healing

Our current counter for how much flesh regeneration we have stacked from regenerative mesh/synthflesh/whatever, decrements each tick and lowers flesh_damage

infestation

Our current level of infection

infestation_rate

How quickly infection breeds on this burn if we don't have disinfectant

sanitization

Our current level of sanitization/anti-infection, from disinfectants/alcohol/UV lights. While positive, totally pauses and slowly reverses infestation effects each tick

strikes_to_lose_limb

Once we reach infestation beyond WOUND_INFESTATION_SEPSIS, we get this many warnings before the limb is completely paralyzed (you'd have to ignore a really bad burn for a really long time for this to happen)

Proc Details

mesh

if someone is using mesh on our burns

ointment

if someone is using ointment on our burns

uv

Paramedic UV penlights

\ No newline at end of file diff --git a/datum/wound/loss.html b/datum/wound/loss.html new file mode 100644 index 000000000000..c7c730825fe5 --- /dev/null +++ b/datum/wound/loss.html @@ -0,0 +1 @@ +/datum/wound/loss - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

loss

Procs

apply_dismemberOur special proc for our special dismembering, the wounding type only matters for what text we have

Proc Details

apply_dismember

Our special proc for our special dismembering, the wounding type only matters for what text we have

\ No newline at end of file diff --git a/datum/wound/pierce.html b/datum/wound/pierce.html new file mode 100644 index 000000000000..bb089488bda6 --- /dev/null +++ b/datum/wound/pierce.html @@ -0,0 +1 @@ +/datum/wound/pierce - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

pierce

Vars

gauzed_clot_rateIf gauzed, what percent of the internal bleeding actually clots of the total absorption rate
initial_flowHow much blood we start losing when this wound is first applied
internal_bleeding_chanceWhen hit on this bodypart, we have this chance of losing some blood + the incoming damage
internal_bleeding_coefficientIf we let off blood when hit, the max blood lost is this * the incoming damage

Procs

sutureIf someone is using a suture to close this cut
tool_cauterizeIf someone is using either a cautery tool or something with heat to cauterize this pierce

Var Details

gauzed_clot_rate

If gauzed, what percent of the internal bleeding actually clots of the total absorption rate

initial_flow

How much blood we start losing when this wound is first applied

internal_bleeding_chance

When hit on this bodypart, we have this chance of losing some blood + the incoming damage

internal_bleeding_coefficient

If we let off blood when hit, the max blood lost is this * the incoming damage

Proc Details

suture

If someone is using a suture to close this cut

tool_cauterize

If someone is using either a cautery tool or something with heat to cauterize this pierce

\ No newline at end of file diff --git a/datum/wound/slash.html b/datum/wound/slash.html new file mode 100644 index 000000000000..98ce3aa9e797 --- /dev/null +++ b/datum/wound/slash.html @@ -0,0 +1 @@ +/datum/wound/slash - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

slash

Vars

clot_rateHow fast our blood flow will naturally decrease per tick, not only do larger cuts bleed more faster, they clot slower
demotes_toOnce the blood flow drops below minimum_flow, we demote it to this type of wound. If there's none, we're all better
highest_flowThe maximum flow we've had so far
highest_scarA bad system I'm using to track the worst scar we earned (since we can demote, we want the biggest our wound has been, not what it was when it was cured (probably moderate))
initial_flowHow much blood we start losing when this wound is first applied
max_per_typeHow much staunching per type (cautery, suturing, bandaging) you can have before that type is no longer effective for this cut NOT IMPLEMENTED
minimum_flowWhen we have less than this amount of flow, either from treatment or clotting, we demote to a lower cut or are healed of the wound

Procs

las_cauterizeIf someone's putting a laser gun up to our cut to cauterize it
lick_woundsif a felinid is licking this cut to reduce bleeding
sutureIf someone is using a suture to close this cut
tool_cauterizeIf someone is using either a cautery tool or something with heat to cauterize this cut

Var Details

clot_rate

How fast our blood flow will naturally decrease per tick, not only do larger cuts bleed more faster, they clot slower

demotes_to

Once the blood flow drops below minimum_flow, we demote it to this type of wound. If there's none, we're all better

highest_flow

The maximum flow we've had so far

highest_scar

A bad system I'm using to track the worst scar we earned (since we can demote, we want the biggest our wound has been, not what it was when it was cured (probably moderate))

initial_flow

How much blood we start losing when this wound is first applied

max_per_type

How much staunching per type (cautery, suturing, bandaging) you can have before that type is no longer effective for this cut NOT IMPLEMENTED

minimum_flow

When we have less than this amount of flow, either from treatment or clotting, we demote to a lower cut or are healed of the wound

Proc Details

las_cauterize

If someone's putting a laser gun up to our cut to cauterize it

lick_wounds

if a felinid is licking this cut to reduce bleeding

suture

If someone is using a suture to close this cut

tool_cauterize

If someone is using either a cautery tool or something with heat to cauterize this cut

\ No newline at end of file diff --git a/dmdoc.css b/dmdoc.css new file mode 100644 index 000000000000..367f005d2a85 --- /dev/null +++ b/dmdoc.css @@ -0,0 +1,112 @@ +body { + margin: auto; + background: #f4f4f4; + color: #333333; + font-size: 16px; + line-height: 1.3; + max-width: 73%; + overflow-y: scroll; + font-family: Arial, Helvetica, sans-serif; +} +pre, code { + background: white; + tab-size: 4; + -moz-tab-size: 4; +} +pre { + padding: 8px; + white-space: pre-wrap; +} +code { + font-family: Consolas, "DejaVu Sans Mono", "Courier New", Courier, monospace; +} +a { + color: #333333; +} +article { + margin: 2.5% auto; +} +header, footer { + margin: 2.5% -6px; + border: 1px solid #444444; + border-radius: 5px; + padding: 5px; +} +h1 aside, h2 aside, h3 aside, h4 aside, h5 aside { + display: inline; + font-weight: normal; + font-size: smaller; +} +aside.declaration, aside.parent { + display: inline-block; + position: relative; + text-align: right; + width: 100px; + margin-right: -100px; + right: 105px; +} +aside.declaration { + font-style: italic; +} +table.summary tr:first-child > td > :first-child { + margin-top: 0; +} +table.summary tr:last-child > td > :last-child { + margin-bottom: 0; +} +table.summary th, table.summary td { + text-align: left; + vertical-align: top; + padding-left: 0; + padding-right: 1em; +} +table.summary th { + padding-left: 1em; + padding-bottom: 4px; + text-indent: -1em; +} +.no-substance { + color: #888888; +} +:target { + background-color: white; + border-radius: 5px; + padding-left: 3px; + padding-right: 3px; + margin-left: -3px; + margin-right: 3px; +} +img[src="git.png"] { + opacity: 0.8; +} +.expander { + cursor: pointer; + display: inline-block; + position: relative; + text-align: right; + width: 50px; + margin-right: -50px; + right: 53px; +} + +@media (prefers-color-scheme: dark) { + body { + background-color: #151520; + color: #e0e0e0; + } + a { + color: #e0e0e0; + } + header, footer { + border-color: #d0d0d0; + } + .no-substance { + color: #bbbbbb; + } + pre, code, :target { + background-color: #252530; + } + img[src="git.png"] { + filter: invert(1); + } +} diff --git a/dmdoc.js b/dmdoc.js new file mode 100644 index 000000000000..6bf31f7e9441 --- /dev/null +++ b/dmdoc.js @@ -0,0 +1,58 @@ +// ---------------------------------------------------------------------------- +// Index page tree browsing + +document.addEventListener("DOMContentLoaded", function() { + var items = document.getElementsByClassName("index-tree"); + var nodes = []; + + for (var i = 0; i < items.length; ++i) { + var node = items[i]; + var parent = node.parentElement; + if (!parent || parent.tagName.toLowerCase() != "li") { + continue; + } + node.hidden = true; + parent.style.listStyle = "none"; + var expander = document.createElement("span"); + expander.className = "expander"; + expander.textContent = "\u2795"; + expander.addEventListener("click", function(node) { + return function(event) { + if (event.target.tagName.toLowerCase() == "a") { + return; + } + event.preventDefault(); + event.stopPropagation(true); + node.hidden = !node.hidden; + this.textContent = node.hidden ? "\u2795" : "\u2796"; + }; + }(node)); + + if (node.parentElement.parentElement.classList.contains("modules")) { + node.hidden = false; + expander.textContent = "\u2796"; + } + + parent.insertBefore(expander, parent.firstChild); + nodes.push({ node, expander }); + } + + if (nodes.length) { + var toggle = document.createElement("a"); + toggle.href = "#"; + toggle.appendChild(document.createTextNode("Toggle All")); + toggle.addEventListener("click", function(event) { + event.preventDefault(); + + var hidden = !nodes[1].node.hidden; + for (var i = 0; i < nodes.length; ++i) { + nodes[i].node.hidden = hidden; + nodes[i].expander.textContent = hidden ? "\u2795" : "\u2796"; + } + }); + + var header = document.getElementsByTagName("header")[0]; + header.appendChild(document.createTextNode(" \u2014 ")); + header.appendChild(toggle); + } +}); diff --git a/git.png b/git.png new file mode 100644 index 000000000000..c190e8538b5c Binary files /dev/null and b/git.png differ diff --git a/global.html b/global.html new file mode 100644 index 000000000000..f287841b6d2d --- /dev/null +++ b/global.html @@ -0,0 +1,509 @@ +(global) - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

/(global)

Vars

FailsafeFailsafe
MasterStonedMC
SSdiscord
SSrunechat
SStguitgui subsystem
SStimer

Procs

CreateBansDEBUG
GetJobNameGets the job title, if the job name is an alt title, locates the original title using a prebuilt cache
HeapPathWeightCompareTODO: Macro this to reduce proc overhead
WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
___TraitAddDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
___TraitRemoveDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
_addtimerCreate a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.
_turf_in_offsetLocating turfs
actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
add_keybindingAdds an instanced keybinding to the global tracker
add_verbhandles adding verbs and updating the stat panel browser
announce_arrivalSend a message in common radio when a player arrives
block_calculate_resultant_damageConsiders a block return_list and calculates damage to use from that.
callHook@file hooks.dm +Implements hooks, a simple way to run code on pre-defined events.
call_emergency_meetingSummon the crew for an emergency meeting
callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
check_admin_pingsChecks a given message to see if any of the words contain an active admin's ckey with an @ before it
color_matrix_contrast_percentExxagerates or removes brightness
color_matrix_hsvBuilds a color matrix that transforms the hue, saturation, and value, all in one operation.
color_matrix_rotationMoves all colors angle degrees around the color wheel while maintaining intensity of the color and not affecting whites +TODO: Need a version that only affects one color (ie shift red to blue but leave greens and blues alone)
color_matrix_saturation_percentExxagerates or removes colors
create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.
create_strippable_listCreates an assoc list of keys to /datum/strippable_item
cultslurMakes you talk like you got cult stunned, which is slurring but with some dark messages
cut_relative_directionTakes a screen_loc string and cut out any directions like NORTH or SOUTH
dd_file2listReading files
dd_hasprefixPrefix checking
dd_hassuffixSuffix checking
dd_replacetextReplacing text
dd_text2listTurning text into lists
debug_variableGet displayed variable in VV variable list
default_ui_stateThe sane defaults for a UI such as a computer or a machine.
delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
deltimerDelete a timer
diff_appearancesTakes two appearances as args, prints out, logs, and returns a text representation of their differences +Including suboverlays
emissive_appearanceProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.
end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
english_list_assocEnglish_list but associative supporting. Higher overhead. +@depricated
find_recordReturns datum/data/record
finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
format_frequencyFormat frequency by moving the decimal.
generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
generate_selectable_speciesGenerates species available to choose in character setup at roundstart
get_allowed_instrument_idsGet all non admin_only instruments.
get_atom_on_turfReturns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.
get_base_areaReturns the base area the target is located in if there is one. +Alternatively, returns the area as is.
get_bbox_of_atomsGet a bounding box of a list of atoms.
get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_path_toThis file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.
get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
get_sub_areasReturns either null, or a list containing every sub area associated with our base area. +If include_base is TRUE, the base area will also be added to the return list.
get_sub_areas_contentsSimple proc that returns a sum of all contents from every sub area, +Think of the above but for all contents, not just turfs, and without target z.
get_sub_areas_turfsProc used for purposes similar to get_areas_turfs(), but aimed to include associated areas. +Only accepts area instances and paths for the first arg, no text strings. +Returns a list of all turfs found in the sub areas (including the base's if include_base is TRUE) +and located in a z level matching target_z, or anywhere if target_z is 0
get_thirstDon't blame me if they have negative thirst, admeme.
get_valid_screen_locationReturns a valid location to place a screen object without overflowing the viewport
get_vog_specialget special role multiplier for voice of god. No double dipping.
getleftblocksDNA HELPER-PROCS
give_admin_popupTries to give the target an admin popup. +If it fails, will send the error to the passed admin.
hull_shielding_get_tiles_around_areaHELPER FILE FOR SHIELDING +Gets hull exterior adjacent tiles of a certain area +Area method. +EXPENSIVE. +If the area itself is already considered exterior, it'll find all tiles inside it that's next to an interior area.
hull_shielding_get_tiles_in_zGets hull adjacent exterior tiles of an entire zlevel +EXPENSIVE. +Gets the tiles in the exterior area touching to a non-exterior area
icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
immerse_player"Immerse", or how I made the entire playerbase quit the game.
init_keybindingsCreates and sorts all the keybinding datums
is_energy_reflectable_projectile//// MISC HELPERS //////// +Is this atom reflectable with ""standardized"" reflection methods like you know eshields and deswords and similar
is_guest_keyReturns whether or not a player is a guest using their ckey as an input
isemptylist@depricated
json_deserialize_datumConvert a list of json to datum
json_serialize_datumConvert a datum into a json blob
lightningboltthis is the actual bolt effect and damage, made into its own proc because it is used elsewhere
listgetindex@depricated
load_mapShortcut function to parse a map and apply it to the world.
log_combatLog a combat message in the attack log
log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
log_tguiAppends a tgui-related log entry. All arguments are optional.
log_woundlog_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over
make_datum_references_listsInitial Building
md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
md5filepathReturns the md5 of a file at a given path.
message_centcomUsed by communications consoles to message CentCom
message_syndicateUsed by communications consoles to message the Syndicate
message_to_htmlMessage-related procs
movespeed_data_null_checkChecks if a move speed modifier is valid and not missing any data
nuke_requestUsed by communications consoles to request the nuclear launch codes
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
overlays2textConverts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get
parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
pick_n_takePick a random element from the list and remove it from the list.
podspawnOne proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)
process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
qdelShould be treated as a replacement for the 'del' keyword.
realize_appearance_queueTakes a list of appearnces, makes them mutable so they can be properly vv'd and inspected
recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
recursive_organ_check
release_gas_toReleases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure. +a global proc due to rustmos
remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
return_unused_frequencyreturns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
rgb_construct_color_matrixAssembles a color matrix, defaulting to identity
rgba_construct_color_matrixAssembles a color matrix, defaulting to identity
rustg_get_versionGets the version of rust_g
rustg_redis_disconnect_rqDisconnects from a previously connected redis server
rustg_unix_timestampReturns the timestamp as a string
safepick@depricated
sanitize_css_class_nameRemoves all non-alphanumerics from the text, keep in mind this can lead to id conflicts
sanitize_frequencyEnsure the frequency is within bounds of what it should be sending/receiving at
sanitize_hexcolorSanitizes a hexadecimal color. Always outputs lowercase.
sanitize_ooccolorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
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
seedifyFinds and extracts seeds from an object
send2adminchatSends a message to TGS admin chat channels.
send2chatSends a message to TGS chat channels.
send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
single_path_typecache_immutableMakes a typecache of a single typecache
slurMakes you speak like you're drunk
starsConvert random parts of a passed in message to stars
start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
stripped_multiline_input_or_reflectstripped_multiline_input but reflects to the user instead if it's too big and returns null.
stutterAdds stuttering to the message passed in
tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
tgui_TopicMiddleware for /client/Topic.
tgui_alertCreates a TGUI alert window and returns the user's response.
tgui_alert_asyncCreates an asynchronous TGUI alert window with an associated callback.
tgui_input_listCreates a TGUI input list window and returns the user's response.
tgui_input_list_asyncCreates an asynchronous TGUI input list window with an associated callback.
tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
tgui_input_number_asyncCreates an asynchronous TGUI input num window with an associated callback.
tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
tgui_input_text_asyncCreates an asynchronous TGUI input text window with an associated callback.
timeleftGet the remaining deciseconds on a timer
to_chatSends the message to the recipient (target).
to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
transform_matrix_constructconstructs a transform matrix, defaulting to identity
typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list
ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
ui_status_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
ui_status_user_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
unformat_frequencyOpposite of format, returns as a number
url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
valid_window_locationChecks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.
velvetspeechFermiChem
view_to_pixelsTakes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)
voice_of_godVOICE OF GOD
wave_explosionCreates a wave explosion at a certain place
woundscanDisplays wounds with extended information on their status vs medscanners
zone2body_parts_coveredFor finding out what body parts a body zone covers, the inverse of the below basically

Var Details

Failsafe

Failsafe

+

Pretty much pokes the MC to make sure it's still alive.

Master

StonedMC

+

Designed to properly split up a given tick among subsystems +Note: if you read parts of this code and think "why is it doing it that way" +Odds are, there is a reason

SSdiscord

Discord Subsystem

+

This subsystem handles some integrations with discord

+

NOTES:

+ +

HOW NOTIFYING WORKS

ROUNDSTART:

+
    +
  1. The file is loaded and the discord IDs are extracted
  2. +
  3. A ping is sent to the discord with the IDs of people who wished to be notified
  4. +
  5. The file is emptied
  6. +
+

MIDROUND:

+
    +
  1. Someone usees the notify verb, it adds their discord ID to the list.
  2. +
  3. On fire, it will write that to the disk, as long as conditions above are correct
  4. +
+

END ROUND:

+
    +
  1. The file is force-saved, incase it hasn't fired at end round
  2. +
+

This is an absolute clusterfuck, but its my clusterfuck -aa07

SSrunechat

Runechat Subsystem

+

Maintains a timer-like system to handle destruction of runechat messages. Much of this code is modeled +after or adapted from the timer subsystem.

+

Note that this has the same structure for storing and queueing messages as the timer subsystem does +for handling timers: the bucket_list is a list of chatmessage datums, each of which are the head +of a circularly linked list. Any given index in bucket_list could be null, representing an empty bucket.

SStgui

tgui subsystem

+

Contains all tgui state and subsystem code.

SStimer

Timer Subsystem

+

Handles creation, callbacks, and destruction of timed events.

+

It is important to understand the buckets used in the timer subsystem are just a series of circular doubly-linked +lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a circular list, which has prev +and next references for the respective elements in that bucket's circular list.

Proc Details

CreateBans

DEBUG

GetJobName

Gets the job title, if the job name is an alt title, locates the original title using a prebuilt cache

HeapPathWeightCompare

TODO: Macro this to reduce proc overhead

WrapAdminProcCall

Wrapper for proccalls where the datum is flagged as vareditted

___TraitAdd

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

___TraitRemove

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

_addtimer

Create a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.

+

Arguments:

+

_turf_in_offset

Locating turfs

actionspeed_data_null_check

Checks if a action speed modifier is valid and not missing any data

add_keybinding

Adds an instanced keybinding to the global tracker

add_verb

handles adding verbs and updating the stat panel browser

+

pass the verb type path to this instead of adding it directly to verbs so the statpanel can update +Arguments:

+

announce_arrival

Send a message in common radio when a player arrives

block_calculate_resultant_damage

Considers a block return_list and calculates damage to use from that.

callHook

@file hooks.dm +Implements hooks, a simple way to run code on pre-defined events.

+ +

Calls a hook, executing every piece of code that's attached to it. +@param hook Identifier of the hook to call. +@returns 1 if all hooked code runs successfully, 0 otherwise.

call_emergency_meeting

Summon the crew for an emergency meeting

+

Teleports the crew to a specified area, and tells everyone (via an announcement) who called the meeting. Should only be used during april fools! +Arguments:

+

callback_select

Runs a list of callbacks asyncronously, returning only when all have finished

+

Callbacks can be repeated, to call it multiple times

+

Arguments:

+

check_admin_pings

Checks a given message to see if any of the words contain an active admin's ckey with an @ before it

+

Returns nothing if no pings are found, otherwise returns an associative list with ckey -> client +Also modifies msg to underline the pings, then stores them in the key ADMINSAY_PING_UNDERLINE_NAME_INDEX for returning

+

Arguments:

+

color_matrix_contrast_percent

Exxagerates or removes brightness

color_matrix_hsv

Builds a color matrix that transforms the hue, saturation, and value, all in one operation.

color_matrix_rotation

Moves all colors angle degrees around the color wheel while maintaining intensity of the color and not affecting whites +TODO: Need a version that only affects one color (ie shift red to blue but leave greens and blues alone)

color_matrix_saturation_percent

Exxagerates or removes colors

create_mafia_game

Creates the global datum for playing mafia games, destroys the last if that's required and returns the new.

create_strippable_list

Creates an assoc list of keys to /datum/strippable_item

cultslur

Makes you talk like you got cult stunned, which is slurring but with some dark messages

cut_relative_direction

Takes a screen_loc string and cut out any directions like NORTH or SOUTH

dd_file2list

Reading files

dd_hasprefix

Prefix checking

dd_hassuffix

Suffix checking

dd_replacetext

Replacing text

dd_text2list

Turning text into lists

debug_variable

Get displayed variable in VV variable list

default_ui_state

The sane defaults for a UI such as a computer or a machine.

delete_all_SS_and_recreate_master

Delete all existing SS to basically start over

deltimer

Delete a timer

+

Arguments:

+

diff_appearances

Takes two appearances as args, prints out, logs, and returns a text representation of their differences +Including suboverlays

emissive_appearance

Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.

end_cooldown

Callback called by a timer to end an associative-list-indexed cooldown.

+

Arguments:

+ +

This sends a signal reporting the cooldown end.

english_list_assoc

English_list but associative supporting. Higher overhead. +@depricated

find_record

Returns datum/data/record

finish_unequip_mob

A utility function for /datum/strippable_items to finish unequipping an item from a mob.

firing_squad

firing_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense

+

Hilariously, if you drag someone away mid smite, the bullets will still chase after them from the original spot, possibly hitting other people. Too funny to fix imo

+

Arguments:

+

format_frequency

Format frequency by moving the decimal.

generate_asset_name

Generate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)

generate_bitfields

Turns /datum/bitfield subtypes into a list for use in debugging

generate_selectable_species

Generates species available to choose in character setup at roundstart

+

This proc generates which species are available to pick from in character setup. +If there are no available roundstart species, defaults to human.

get_allowed_instrument_ids

Get all non admin_only instruments.

get_atom_on_turf

Returns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.

+

Arguments

+

get_base_area

Returns the base area the target is located in if there is one. +Alternatively, returns the area as is.

get_bbox_of_atoms

Get a bounding box of a list of atoms.

+

Arguments:

+ +

Returns: list(x1, y1, x2, y2)

get_cached_actionspeed_modifier

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_cached_movespeed_modifier

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_path_to

This file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal.

+

This is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing". +If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing.

+

Arguments:

+

get_ranged_target_turf_direct

Get ranged target turf, but with direct targets as opposed to directions

+

Starts at atom A and gets the exact angle between A and target +Moves from A with that angle, Range amount of times, until it stops, bound to map size +Arguments:

+

get_sub_areas

Returns either null, or a list containing every sub area associated with our base area. +If include_base is TRUE, the base area will also be added to the return list.

get_sub_areas_contents

Simple proc that returns a sum of all contents from every sub area, +Think of the above but for all contents, not just turfs, and without target z.

get_sub_areas_turfs

Proc used for purposes similar to get_areas_turfs(), but aimed to include associated areas. +Only accepts area instances and paths for the first arg, no text strings. +Returns a list of all turfs found in the sub areas (including the base's if include_base is TRUE) +and located in a z level matching target_z, or anywhere if target_z is 0

get_thirst

Don't blame me if they have negative thirst, admeme.

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_vog_special

get special role multiplier for voice of god. No double dipping.

getleftblocks

DNA HELPER-PROCS

give_admin_popup

Tries to give the target an admin popup. +If it fails, will send the error to the passed admin.

hull_shielding_get_tiles_around_area

HELPER FILE FOR SHIELDING +Gets hull exterior adjacent tiles of a certain area +Area method. +EXPENSIVE. +If the area itself is already considered exterior, it'll find all tiles inside it that's next to an interior area.

hull_shielding_get_tiles_in_z

Gets hull adjacent exterior tiles of an entire zlevel +EXPENSIVE. +Gets the tiles in the exterior area touching to a non-exterior area

icon2base64

Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)

immerse_player

"Immerse", or how I made the entire playerbase quit the game.

init_keybindings

Creates and sorts all the keybinding datums

is_energy_reflectable_projectile

//// MISC HELPERS //////// +Is this atom reflectable with ""standardized"" reflection methods like you know eshields and deswords and similar

is_guest_key

Returns whether or not a player is a guest using their ckey as an input

isemptylist

@depricated

json_deserialize_datum

Convert a list of json to datum

json_serialize_datum

Convert a datum into a json blob

lightningbolt

this is the actual bolt effect and damage, made into its own proc because it is used elsewhere

listgetindex

@depricated

load_map

Shortcut function to parse a map and apply it to the world.

+

log_combat

Log a combat message in the attack log

+

Arguments:

+

log_suspicious_login

Writes to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.

+

Mirrors this log entry to log_access when access_log_mirror is TRUE, so this proc +doesn't need to be used alongside log_access and can replace it where appropriate.

log_tgui

Appends a tgui-related log entry. All arguments are optional.

log_wound

log_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over

+

Note that this has no info on the attack that dealt the wound: information about where damage came from isn't passed to the bodypart's damaged proc. When in doubt, check the attack log for attacks at that same time +TODO later: Add logging for healed wounds, though that will require some rewriting of healing code to prevent admin heals from spamming the logs. Not high priority

+

Arguments:

+

make_datum_references_lists

Initial Building

md5asfile

Save file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.

md5filepath

Returns the md5 of a file at a given path.

message_centcom

Used by communications consoles to message CentCom

message_syndicate

Used by communications consoles to message the Syndicate

message_to_html

Message-related procs

+

Message format (/list):

+ +

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

movespeed_data_null_check

Checks if a move speed modifier is valid and not missing any data

nuke_request

Used by communications consoles to request the nuclear launch codes

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

overlays2text

Converts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get

parse_caught_click_modifiers

Returns a turf based on text inputs, original turf and viewing client

pick_n_take

Pick a random element from the list and remove it from the list.

podspawn

One proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)

+

Arguments:

+

process_teleport_locs

Generate a list of turfs you can teleport to from the areas list

+

Includes areas if they're not a shuttle or not not teleport or have no contents

+

The chosen turf is the first item in the areas contents that is a station level

+

The returned list of turfs is sorted by name

qdel

Should be treated as a replacement for the 'del' keyword.

+

Datums passed to this will be given a chance to clean up references to allow the GC to collect them.

realize_appearance_queue

Takes a list of appearnces, makes them mutable so they can be properly vv'd and inspected

recover_all_SS_and_recreate_master

Recreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars

recursive_organ_check

release_gas_to

Releases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure. +a global proc due to rustmos

remove_image_from_client

Removes an image from a client's .images. Useful as a callback.

remove_verb

handles removing verb and sending it to browser to update, use this for removing verbs

+

pass the verb type path to this instead of removing it from verbs so the statpanel can update +Arguments:

+

reset_cooldown

Proc used by stoppable timers to end a cooldown before the time has ran out.

+

Arguments:

+ +

This sends a signal reporting the cooldown end, passing the time left as an argument.

return_unused_frequency

returns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE

rgb_construct_color_matrix

Assembles a color matrix, defaulting to identity

rgba_construct_color_matrix

Assembles a color matrix, defaulting to identity

rustg_get_version

Gets the version of rust_g

rustg_redis_disconnect_rq

Disconnects from a previously connected redis server

rustg_unix_timestamp

Returns the timestamp as a string

safepick

@depricated

sanitize_css_class_name

Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts

sanitize_frequency

Ensure the frequency is within bounds of what it should be sending/receiving at

sanitize_hexcolor

Sanitizes a hexadecimal color. Always outputs lowercase.

+

@params

+

sanitize_ooccolor

Makes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY

scramble_message_replace_chars

Slightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!

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

seedify

Finds and extracts seeds from an object

+

Checks if the object is such that creates a seed when extracted. Used by seed +extractors or posably anything that would create seeds in some way. The seeds +are dropped either at the extractor, if it exists, or where the original object +was and it qdel's the object

+

Arguments:

+

send2adminchat

Sends a message to TGS admin chat channels.

+

category - The category of the mssage. +message - The message to send.

send2chat

Sends a message to TGS chat channels.

+

message - The message to send. +channel_tag - Required. If "", the message with be sent to all connected (Game-type for TGS3) channels. Otherwise, it will be sent to TGS4 channels with that tag (Delimited by ','s). +admin_only - Determines if this communication can only be sent to admin only channels.

send2otherserver

Sends a message to a set of cross-communications-enabled servers using world topic calls

+

Arguments:

+

setup_mod_themes

Global proc that sets up all MOD themes as singletons in a list and returns it.

single_path_typecache_immutable

Makes a typecache of a single typecache

+

Obviously in BYOND we don't have the efficiency around here to have proper enforcement so +If you use this you better know what you're doing. The list you get back is globally cached and if it's modified, you might break multiple things.

slur

Makes you speak like you're drunk

stars

Convert random parts of a passed in message to stars

+ +

This proc is dangerously laggy, avoid it or die

start_unequip_mob

A utility function for /datum/strippable_items to start unequipping an item from a mob.

stripped_multiline_input_or_reflect

stripped_multiline_input but reflects to the user instead if it's too big and returns null.

stutter

Adds stuttering to the message passed in

tgalert

DEPRECATED: USE tgui_alert(...) INSTEAD

+

Designed as a drop in replacement for alert(); functions the same. (outside of needing User specified) +Arguments:

+

tgui_Topic

Middleware for /client/Topic.

+

return bool If TRUE, prevents propagation of the topic call.

tgui_alert

Creates a TGUI alert window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+

tgui_alert_async

Creates an asynchronous TGUI alert window with an associated callback.

+

This proc should be used to create alerts that invoke a callback with the user's chosen option. +Arguments:

+

tgui_input_list

Creates a TGUI input list window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+

tgui_input_list_async

Creates an asynchronous TGUI input list window with an associated callback.

+

This proc should be used to create inputs that invoke a callback with the user's chosen option. +Arguments:

+

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_number_async

Creates an asynchronous TGUI input num window with an associated callback.

+

This proc should be used to create inputs that invoke a callback with the user's chosen option. +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:

+

tgui_input_text_async

Creates an asynchronous TGUI input text window with an associated callback.

+

This proc should be used to create inputs that invoke a callback with the user's chosen option. +Arguments:

+

timeleft

Get the remaining deciseconds on a timer

+

Arguments:

+

to_chat

Sends the message to the recipient (target).

+

Recommended way to write to_chat calls:

+
to_chat(client,
+    type = MESSAGE_TYPE_INFO,
+    html = "You have found <strong>[object]</strong>")
+

to_chat_immediate

Circumvents the message queue and sends the message +to the recipient (target) as soon as possible.

transform_matrix_construct

constructs a transform matrix, defaulting to identity

typecacheof

Like typesof() or subtypesof(), but returns a typecache instead of a list

ui_status_only_living

Returns a UI status such that the dead will be able to watch, but not interact.

ui_status_silicon_has_access

Returns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.

ui_status_user_has_free_hands

Returns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.

ui_status_user_is_abled

Returns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.

ui_status_user_is_adjacent

Returns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.

ui_status_user_is_advanced_tool_user

Returns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.

ui_status_user_is_conscious_and_lying_down

Returns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.

ui_status_user_strictly_adjacent

Return UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.

unformat_frequency

Opposite of format, returns as a number

url2htmlloader

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

valid_window_location

Checks whether the target turf is in a valid state to accept a directional window +or other directional pseudo-dense object such as railings.

+

Returns FALSE if the target turf cannot accept a directional window or railing. +Returns TRUE otherwise.

+

Arguments:

+

velvetspeech

FermiChem

view_to_pixels

Takes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)

voice_of_god

VOICE OF GOD

wave_explosion

Creates a wave explosion at a certain place

woundscan

Displays wounds with extended information on their status vs medscanners

zone2body_parts_covered

For finding out what body parts a body zone covers, the inverse of the below basically

\ No newline at end of file diff --git a/image.html b/image.html new file mode 100644 index 000000000000..e4bec9a967d1 --- /dev/null +++ b/image.html @@ -0,0 +1,5 @@ +/image - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

image

Vars

realized_overlaysList of overlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the overlays list
realized_underlaysList of underlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the underlays list

Procs

debug_variable_valueMakes nice short vv names for images
get_vv_link_refReturns the ref string to use when displaying this image in the vv menu of something else
realize_overlaysTakes the image's existing overlays, and makes them mutable so they can be properly vv'd in the realized_overlays list
vv_get_headerShows a header name on top when you investigate an appearance/image

Var Details

realized_overlays

List of overlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the overlays list

realized_underlays

List of underlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the underlays list

Proc Details

debug_variable_value

Makes nice short vv names for images

Returns the ref string to use when displaying this image in the vv menu of something else

realize_overlays

Takes the image's existing overlays, and makes them mutable so they can be properly vv'd in the realized_overlays list

vv_get_header

Shows a header name on top when you investigate an appearance/image

\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000000..3f1fcdfe14b9 --- /dev/null +++ b/index.html @@ -0,0 +1,229 @@ +Index - SPLURT Station 13 + +
SPLURT Station 13 - Modules - Types

SPLURT Station 13

Modules

Types

\ No newline at end of file diff --git a/interface/fonts/fonts_datum.html b/interface/fonts/fonts_datum.html new file mode 100644 index 000000000000..944be8b5eb27 --- /dev/null +++ b/interface/fonts/fonts_datum.html @@ -0,0 +1 @@ +interface/fonts/fonts_datum.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

interface/fonts/fonts_datum.dm

/datum/fontA font datum, it exists to define a custom font to use in a span style later.
\ No newline at end of file diff --git a/interface/fonts/grand_9k.html b/interface/fonts/grand_9k.html new file mode 100644 index 000000000000..6d86047ec29f --- /dev/null +++ b/interface/fonts/grand_9k.html @@ -0,0 +1,5 @@ +interface/fonts/grand_9k.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

interface/fonts/grand_9k.dm

/datum/font/grand9kFor clean results on map, use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 6pt = 8px, 12pt = 16px etc. +Base font
/datum/font/grand9k/size_6ptFor icon overlays +Grand9K 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
\ No newline at end of file diff --git a/interface/fonts/license.html b/interface/fonts/license.html new file mode 100644 index 000000000000..1d6dc10aea8c --- /dev/null +++ b/interface/fonts/license.html @@ -0,0 +1,14 @@ +interface/fonts/license.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

interface/fonts/license.txt

Grand9K Pixel created by Jayvee Enaguas. Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0)
+(https://creativecommons.org/licenses/by/4.0/) (https://www.dafont.com/grand9k-pixel.font)
+
+Pixellari created by Zacchary Dempsey-Plante. Website indicates free for commercial use.
+(https://www.dafont.com/pixellari.font?fpp=200)
+
+Spess Font created by MTandi (discord) for /tg/station.
+
+Tiny Unicode created by Jakob Riedle/DuffsDevice. Website indicates free for commercial use.
+(https://fontmeme.com/fonts/tiny-unicode-font/)
+
+VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use.
+(https://www.dafont.com/font-comment.php?file=vcr_osd_mono)
+
\ No newline at end of file diff --git a/interface/fonts/pixellari.html b/interface/fonts/pixellari.html new file mode 100644 index 000000000000..bcb4dd6c3d01 --- /dev/null +++ b/interface/fonts/pixellari.html @@ -0,0 +1,5 @@ +interface/fonts/pixellari.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

interface/fonts/pixellari.dm

/datum/font/pixellariFor clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
/datum/font/pixellari/size_12ptFor icon overlays +Pixellari 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
\ No newline at end of file diff --git a/interface/fonts/spess_font.html b/interface/fonts/spess_font.html new file mode 100644 index 000000000000..44f00616705e --- /dev/null +++ b/interface/fonts/spess_font.html @@ -0,0 +1,5 @@ +interface/fonts/spess_font.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

interface/fonts/spess_font.dm

/datum/font/spessfontFor clean results on map, use only sizing pt, multiples of 6: 6t 12pt 18pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
/datum/font/spessfont/size_6ptFor icon overlays +Spess Font 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
\ No newline at end of file diff --git a/interface/fonts/tiny_unicode.html b/interface/fonts/tiny_unicode.html new file mode 100644 index 000000000000..9ae793b054e0 --- /dev/null +++ b/interface/fonts/tiny_unicode.html @@ -0,0 +1,5 @@ +interface/fonts/tiny_unicode.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

interface/fonts/tiny_unicode.dm

/datum/font/tiny_unicodeFor clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
/datum/font/tiny_unicode/size_12ptFor icon overlays +TinyUnicode 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
\ No newline at end of file diff --git a/mob.html b/mob.html new file mode 100644 index 000000000000..190d58181bb8 --- /dev/null +++ b/mob.html @@ -0,0 +1,121 @@ +/mob - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mob

CLICKDELAY HANDLING SYSTEM +How this works is mobs can never do actions until their next_action is at or below world.time, but things can specify extra cooldown +to check for either from the time of last_action or from the end of next_action.

+

Clickdelay should always be checked via [CheckActionCooldown()], never manually!

Vars

LAssailantThe last mob/living/carbon to push/drag/grab this mob (mostly used by slimes friend recognition)
ability_actionsability = action button instance.
ability_propertiesability = list(data). see __DEFINES/mobs/innate_abilities.dm
action_cooldown_adjustSimple modification variable added to amount on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified via addition.
action_cooldown_modSimple modification variable multiplied to next action modifier on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified using multipliers.
actionspeed_mod_immunitiesList of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)
actionspeed_modificationList of action speed modifiers applying to this mob
cached_multiplicative_actions_slowdownThe calculated mob action speed slowdown based on the modifiers list
cached_multiplicative_slowdownThe calculated mob speed slowdown based on the modifiers list
deathsoundThe sound made on death
do_aftersFor storing what do_after's someone has, in case we want to restrict them to only one of a certain do_after at a time
examine_cursor_iconCursor icon used when holding shift over things
focusWhat receives our keyboard input. src by default.
fullscreensFullscreen objects
innate_abilitiesAbility system based on action buttons. Can be ported to base /mob or /mob/living later if needed, easily - the procs are currently on living/carbon/human/innate_abilities.dm +datum traits-style lazylist of abilities
is_shiftedWhether the mob is pixel shifted or not
last_actionGeneric clickdelay variable. Marks down the last world.time we did something that should cause or impact generic clickdelay. This should be directly set or set using [DelayNextAction()]. This should only be checked using [CheckActionCooldown()].
last_action_immediateThe difference between the above and this is this is set immediately before even the pre-attack begins to ensure clickdelay is respected. +Then, it is flushed or discarded using [FlushLastAttack()] or [DiscardLastAttack()] respectively.
mob_transformingWhether or not the mob is currently being transformed into another mob or into another state of being. This will prevent it from moving or doing realistically anything. +Don't you DARE use this for a cheap way to ensure someone is stunned in your code.
mock_clientA mock client, provided by tests and friends
movespeed_mod_immunitiesList of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)
movespeed_modificationList of movement speed modifiers applying to this mob
next_actionGeneric clickdelay variable. Next world.time we should be able to do something that respects generic clickdelay. This should be set using [DelayNextAction()] This should only be checked using [CheckActionCooldown()].
next_action_immediateDitto
next_resistMinimum world time for another resist. This should only be checked using [CheckResistCooldown()].
passthroughableTakes the four cardinal direction defines. Any atoms moving into this atom's tile will be allowed to from the added directions.
resist_cooldownHow long we should wait before allowing another resist. This should only be manually modified using multipliers.
shiftingIf we are in the shifting setting.
sound_environment_overrideOverride for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)
tgui_open_uisglobal
typing_indicator_currentCurrent state of our typing indicator. Used for cut overlay, DO NOT RUNTIME ASSIGN OTHER THAN FROM SHOW/CLEAR. Used to absolutely ensure we do not get stuck overlays.
typing_indicator_enabled////TYPING INDICATORS/////// +Set to true if we want to show typing indicators.
typing_indicator_stateDefault icon_state of our typing indicator. Currently only supports paths (because anything else is, as of time of typing this, unnecesary.
typing_indicator_timeridThe timer that will remove our indicator for early aborts (like when an user finishes their message)
unarmed_attack_speedDefault clickdelay for an UnarmedAttack() that successfully passes. Respects action_cooldown_mod.

Procs

CheckActionCooldownChecks if we can do another action. +Returns TRUE if we can and FALSE if we cannot.
CheckResistCooldownChecks if we can resist again.
CommonClickOnCommon mob click code
DelayNextActionApplies a delay to next_action before we can do our next action.
DiscardCurrentActionDiscards last_action and next_action
DizzySet the dizzyness of a mob to a passed in amount
EstimatedNextActionTimeGet estimated time of next attack.
FlushCurrentActionFlushes last_action and next_action
GetActionCooldownAdjustGets action_cooldown_adjust
GetActionCooldownModGets action_cooldown_mod.
JitterSet the jitter of a mob
MarkResistTimeMark the last resist as now.
SetNextActionSets our next action to. The difference is DelayNextAction cannot reduce next_action under any circumstances while this can.
add_actionspeed_modifierAdd a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_movespeed_modifierAdd a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_to_alive_mob_listAdds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.
add_to_current_dead_playersAdds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.
add_to_current_living_antagsAdds the cliented mob reference to the list of living antag player-mobs.
add_to_current_living_playersAdds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.
add_to_dead_mob_listAdds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
add_to_mob_listAdds the mob reference to the list and directory of all mobs. Called on Initialize().
add_to_player_listAdds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().
adjust_blindnessAdjust a mobs blindness by an amount
adjust_blurrinessAdjust the current blurriness of the mobs vision by amount
adjust_bodytemperatureAdjust the body temperature of a mob, with min/max settings
adjust_disgustAdjust the disgust level of a mob
adjust_drugginessAdjust the drugginess of a mob
adjust_nutritionAdjust the nutrition of a mob
adjust_thirstAdjust the thirst of a mob
attempt_resist_grabProc to resist a grab. moving_resist is TRUE if this began by someone attempting to move. Return FALSE if still grabbed/failed to break out. Use this instead of resist_grab() directly.
audible_messageShow a message to all mobs in earshot of this one
blind_eyesSets a mob's blindness to an amount if it was not above it already, similar to how status effects work
blur_eyesMake the mobs vision blurry
check_obscured_slotsChecks for slots that are currently obscured by other garments.
clear_fullscreenWipes a fullscreen of a certain category
clear_typing_indicatorRemoves typing indicator.
create_chat_messageCreates a message overlay at a defined location for a given speaker
display_typing_indicatorDisplays typing indicator. +@param timeout_override - Sets how long until this will disappear on its own without the user finishing their message or logging out. Defaults to src.typing_indicator_timeout +@param state_override - Sets the state that we will fetch. Defaults to src.get_typing_indicator_icon_state() +@param force - shows even if src.typing_indcator_enabled is FALSE.
dispose_renderingdestroys screen rendering. call on mob del
dropItemToGroundUsed to drop an item (if it exists) to the ground.
equipped_speed_modsGets the combined speed modification of all worn items +Except base mob type doesnt really wear items
examinateExamine a mob
generate_typing_indicatorGenerates the mutable appearance for typing indicator. Should prevent stuck overlays.
get_ability_propertyGets an ability property
get_actionspeed_modifiersGet the action speed modifiers list of the mob
get_active_handGet the bodypart for whatever hand we have active, Only relevant for carbons
get_config_multiplicative_speedGet the global config movespeed of a mob by type
get_indicator_overlayFetches the typing indicator we'll use from GLOB.typing_indicator_overlays
get_movespeed_modifier_datumGets the movespeed modifier datum of a modifier on a mob. Returns null if not found. +DANGER: IT IS UP TO THE PERSON USING THIS TO MAKE SURE THE MODIFIER IS NOT MODIFIED IF IT HAPPENS TO BE GLOBAL/CACHED.
get_movespeed_modifiersGet the move speed modifiers list of the mob
get_num_held_itemsFind number of held items, multihand compatible
get_proc_holdersGets all relevant proc holders for the browser statpenl
get_spells_for_statpanelConvert a list of spells into a displyable list for the statpanel
get_status_tab_itemsAdds this list to the output to the stat browser
get_top_level_mobSUBTLE COMMAND
get_typing_indicator_icon_stateGets the state we will use for typing indicators. Defaults to src.typing_indicator_state
grant_ability_from_sourceGrants an ability from a source
handle_eye_contacthandle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last second within 5 tiles, we make eye contact!
has_actionspeed_modifierIs there a actionspeed modifier for this mob
has_movespeed_modifierIs there a movespeed modifier for this mob
hide_fullscreensRemoves fullscreens from client but not the mob
init_renderinginitializes screen rendering. call on mob new
initialize_actionspeedAdds a default action speed
interact_withAttempts to open the tgui menu
list_interaction_attributes
onShuttleMoveMob move procs
overlay_fullscreenAdds a fullscreen overlay
pointedPoint at an atom
reload_fullscreenEnsures all fullscreens are on client.
reload_renderingloads screen rendering. call on mob login
remove_ability_from_sourceRemoves an ability from a source
remove_actionspeed_modifierRemove a action speed modifier from a mob, whether static or variable.
remove_from_alive_mob_listRemoves the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.
remove_from_current_dead_playersRemoves the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.
remove_from_current_living_antagsRemoves the mob reference from the list of living antag player-mobs.
remove_from_current_living_playersRemoves the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.
remove_from_dead_mob_listRemvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
remove_from_mob_listRemoves the mob reference from the list and directory of all mobs. Called on Destroy().
remove_from_player_listRemoves the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().
remove_movespeed_modifierRemove a move speed modifier from a mob, whether static or variable.
setGrabStateUpdates the grab state of the mob and updates movespeed
set_ability_propertySets an ability property
set_blindnessForce set the blindness of a mob to some level
set_blurrinessSet the mobs blurriness of vision to an amount
set_disgustSet the disgust level of a mob
set_dizzinessFOrce set the dizzyness of a mob
set_drugginessSet the drugginess of a mob
set_nutritionForce set the mob nutrition
set_speciesDNA MOB-PROCS
set_statUsed to wrap stat setting to trigger on-stat-change functionality. +Must be used instead of directly setting a mob's stat var, +so that the signal is sent properly.
shared_ui_interactionpublic
shuttleRotateMob rotate procs
total_multiplicative_slowdownCalculate the total slowdown of all movespeed modifiers
update_action_buttonsThis proc handles adding all of the mob's actions to their screen
update_actionspeedGo through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_blindnessproc that adds and removes blindness overlays when necessary
update_config_movespeedSet or update the global movespeed config on a mob
update_movespeedGo through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
visible_messageAdds the functionality to self_message.
vv_edit_varHandles the special case of editing the movement var
wipe_fullscreensWipes all fullscreens

Var Details

LAssailant

The last mob/living/carbon to push/drag/grab this mob (mostly used by slimes friend recognition)

ability_actions

ability = action button instance.

ability_properties

ability = list(data). see __DEFINES/mobs/innate_abilities.dm

action_cooldown_adjust

Simple modification variable added to amount on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified via addition.

action_cooldown_mod

Simple modification variable multiplied to next action modifier on adjust and on checking time since last action using [CheckActionCooldown()]. +This should only be manually modified using multipliers.

actionspeed_mod_immunities

List of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)

actionspeed_modification

List of action speed modifiers applying to this mob

cached_multiplicative_actions_slowdown

The calculated mob action speed slowdown based on the modifiers list

cached_multiplicative_slowdown

The calculated mob speed slowdown based on the modifiers list

deathsound

The sound made on death

+

leave null for no sound. used for *deathgasp

do_afters

For storing what do_after's someone has, in case we want to restrict them to only one of a certain do_after at a time

examine_cursor_icon

Cursor icon used when holding shift over things

focus

What receives our keyboard input. src by default.

fullscreens

Fullscreen objects

innate_abilities

Ability system based on action buttons. Can be ported to base /mob or /mob/living later if needed, easily - the procs are currently on living/carbon/human/innate_abilities.dm +datum traits-style lazylist of abilities

is_shifted

Whether the mob is pixel shifted or not

last_action

Generic clickdelay variable. Marks down the last world.time we did something that should cause or impact generic clickdelay. This should be directly set or set using [DelayNextAction()]. This should only be checked using [CheckActionCooldown()].

last_action_immediate

The difference between the above and this is this is set immediately before even the pre-attack begins to ensure clickdelay is respected. +Then, it is flushed or discarded using [FlushLastAttack()] or [DiscardLastAttack()] respectively.

mob_transforming

Whether or not the mob is currently being transformed into another mob or into another state of being. This will prevent it from moving or doing realistically anything. +Don't you DARE use this for a cheap way to ensure someone is stunned in your code.

mock_client

A mock client, provided by tests and friends

movespeed_mod_immunities

List of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)

movespeed_modification

List of movement speed modifiers applying to this mob

next_action

Generic clickdelay variable. Next world.time we should be able to do something that respects generic clickdelay. This should be set using [DelayNextAction()] This should only be checked using [CheckActionCooldown()].

next_action_immediate

Ditto

next_resist

Minimum world time for another resist. This should only be checked using [CheckResistCooldown()].

passthroughable

Takes the four cardinal direction defines. Any atoms moving into this atom's tile will be allowed to from the added directions.

resist_cooldown

How long we should wait before allowing another resist. This should only be manually modified using multipliers.

shifting

If we are in the shifting setting.

sound_environment_override

Override for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)

tgui_open_uis

global

+

Tracks open UIs for a user.

typing_indicator_current

Current state of our typing indicator. Used for cut overlay, DO NOT RUNTIME ASSIGN OTHER THAN FROM SHOW/CLEAR. Used to absolutely ensure we do not get stuck overlays.

typing_indicator_enabled

////TYPING INDICATORS/////// +Set to true if we want to show typing indicators.

typing_indicator_state

Default icon_state of our typing indicator. Currently only supports paths (because anything else is, as of time of typing this, unnecesary.

typing_indicator_timerid

The timer that will remove our indicator for early aborts (like when an user finishes their message)

unarmed_attack_speed

Default clickdelay for an UnarmedAttack() that successfully passes. Respects action_cooldown_mod.

Proc Details

CheckActionCooldown

Checks if we can do another action. +Returns TRUE if we can and FALSE if we cannot.

+

@params

+

CheckResistCooldown

Checks if we can resist again.

CommonClickOn

Common mob click code

DelayNextAction

Applies a delay to next_action before we can do our next action.

+

@params

+

DiscardCurrentAction

Discards last_action and next_action

Dizzy

Set the dizzyness of a mob to a passed in amount

+

Except if dizziness is already higher in which case it does nothing

EstimatedNextActionTime

Get estimated time of next attack.

FlushCurrentAction

Flushes last_action and next_action

GetActionCooldownAdjust

Gets action_cooldown_adjust

GetActionCooldownMod

Gets action_cooldown_mod.

Jitter

Set the jitter of a mob

MarkResistTime

Mark the last resist as now.

+

@params

+

SetNextAction

Sets our next action to. The difference is DelayNextAction cannot reduce next_action under any circumstances while this can.

add_actionspeed_modifier

Add a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_movespeed_modifier

Add a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_to_alive_mob_list

Adds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.

add_to_current_dead_players

Adds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.

add_to_current_living_antags

Adds the cliented mob reference to the list of living antag player-mobs.

add_to_current_living_players

Adds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.

add_to_dead_mob_list

Adds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

add_to_mob_list

Adds the mob reference to the list and directory of all mobs. Called on Initialize().

add_to_player_list

Adds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().

adjust_blindness

Adjust a mobs blindness by an amount

+

Will apply the blind alerts if needed

adjust_blurriness

Adjust the current blurriness of the mobs vision by amount

adjust_bodytemperature

Adjust the body temperature of a mob, with min/max settings

adjust_disgust

Adjust the disgust level of a mob

adjust_drugginess

Adjust the drugginess of a mob

adjust_nutrition

Adjust the nutrition of a mob

adjust_thirst

Adjust the thirst of a mob

attempt_resist_grab

Proc to resist a grab. moving_resist is TRUE if this began by someone attempting to move. Return FALSE if still grabbed/failed to break out. Use this instead of resist_grab() directly.

audible_message

Show a message to all mobs in earshot of this one

+

This would be for audible actions by the src mob

+

vars:

+

blind_eyes

Sets a mob's blindness to an amount if it was not above it already, similar to how status effects work

blur_eyes

Make the mobs vision blurry

check_obscured_slots

Checks for slots that are currently obscured by other garments.

clear_fullscreen

Wipes a fullscreen of a certain category

+

Second argument is for animation delay.

clear_typing_indicator

Removes typing indicator.

create_chat_message

Creates a message overlay at a defined location for a given speaker

+

Arguments:

+

display_typing_indicator

Displays typing indicator. +@param timeout_override - Sets how long until this will disappear on its own without the user finishing their message or logging out. Defaults to src.typing_indicator_timeout +@param state_override - Sets the state that we will fetch. Defaults to src.get_typing_indicator_icon_state() +@param force - shows even if src.typing_indcator_enabled is FALSE.

dispose_rendering

destroys screen rendering. call on mob del

dropItemToGround

Used to drop an item (if it exists) to the ground.

+

equipped_speed_mods

Gets the combined speed modification of all worn items +Except base mob type doesnt really wear items

examinate

Examine a mob

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/examine()

generate_typing_indicator

Generates the mutable appearance for typing indicator. Should prevent stuck overlays.

get_ability_property

Gets an ability property

get_actionspeed_modifiers

Get the action speed modifiers list of the mob

get_active_hand

Get the bodypart for whatever hand we have active, Only relevant for carbons

get_config_multiplicative_speed

Get the global config movespeed of a mob by type

get_indicator_overlay

Fetches the typing indicator we'll use from GLOB.typing_indicator_overlays

get_movespeed_modifier_datum

Gets the movespeed modifier datum of a modifier on a mob. Returns null if not found. +DANGER: IT IS UP TO THE PERSON USING THIS TO MAKE SURE THE MODIFIER IS NOT MODIFIED IF IT HAPPENS TO BE GLOBAL/CACHED.

get_movespeed_modifiers

Get the move speed modifiers list of the mob

get_num_held_items

Find number of held items, multihand compatible

get_proc_holders

Gets all relevant proc holders for the browser statpenl

get_spells_for_statpanel

Convert a list of spells into a displyable list for the statpanel

+

Shows charge and other important info

get_status_tab_items

Adds this list to the output to the stat browser

get_top_level_mob

SUBTLE COMMAND

get_typing_indicator_icon_state

Gets the state we will use for typing indicators. Defaults to src.typing_indicator_state

grant_ability_from_source

Grants an ability from a source

handle_eye_contact

handle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last second within 5 tiles, we make eye contact!

+

Note that if either party has their face obscured, the other won't get the notice about the eye contact +Also note that examine_more() doesn't proc this or extend the timer, just because it's simpler this way and doesn't lose much. +The nice part about relying on examining is that we don't bother checking visibility, because we already know they were both visible to each other within the last second, and the one who triggers it is currently seeing them

has_actionspeed_modifier

Is there a actionspeed modifier for this mob

has_movespeed_modifier

Is there a movespeed modifier for this mob

hide_fullscreens

Removes fullscreens from client but not the mob

init_rendering

initializes screen rendering. call on mob new

initialize_actionspeed

Adds a default action speed

interact_with

Attempts to open the tgui menu

list_interaction_attributes

# Interactions code by HONKERTRON feat TestUnit
+
+

onShuttleMove

Mob move procs

overlay_fullscreen

Adds a fullscreen overlay

+

@params

+

pointed

Point at an atom

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/pointed()

+

note: ghosts can point, this is intended

+

visible_message will handle invisibility properly

+

overridden here and in /mob/dead/observer for different point span classes and sanity checks

reload_fullscreen

Ensures all fullscreens are on client.

reload_rendering

loads screen rendering. call on mob login

remove_ability_from_source

Removes an ability from a source

remove_actionspeed_modifier

Remove a action speed modifier from a mob, whether static or variable.

remove_from_alive_mob_list

Removes the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.

remove_from_current_dead_players

Removes the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.

remove_from_current_living_antags

Removes the mob reference from the list of living antag player-mobs.

remove_from_current_living_players

Removes the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.

remove_from_dead_mob_list

Remvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

remove_from_mob_list

Removes the mob reference from the list and directory of all mobs. Called on Destroy().

remove_from_player_list

Removes the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().

remove_movespeed_modifier

Remove a move speed modifier from a mob, whether static or variable.

setGrabState

Updates the grab state of the mob and updates movespeed

set_ability_property

Sets an ability property

set_blindness

Force set the blindness of a mob to some level

set_blurriness

Set the mobs blurriness of vision to an amount

set_disgust

Set the disgust level of a mob

set_dizziness

FOrce set the dizzyness of a mob

set_drugginess

Set the drugginess of a mob

set_nutrition

Force set the mob nutrition

set_species

DNA MOB-PROCS

set_stat

Used to wrap stat setting to trigger on-stat-change functionality. +Must be used instead of directly setting a mob's stat var, +so that the signal is sent properly.

shared_ui_interaction

public

+

Standard interaction/sanity checks. Different mob types may have overrides.

+

return UI_state The state of the UI.

shuttleRotate

Mob rotate procs

total_multiplicative_slowdown

Calculate the total slowdown of all movespeed modifiers

update_action_buttons

This proc handles adding all of the mob's actions to their screen

+

If you just need to update existing buttons, use [/mob/proc/update_mob_action_buttons]!

+

Arguments:

+

update_actionspeed

Go through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_blindness

proc that adds and removes blindness overlays when necessary

update_config_movespeed

Set or update the global movespeed config on a mob

update_movespeed

Go through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

visible_message

Adds the functionality to self_message.

vv_edit_var

Handles the special case of editing the movement var

wipe_fullscreens

Wipes all fullscreens

\ No newline at end of file diff --git a/mob/dead/new_player.html b/mob/dead/new_player.html new file mode 100644 index 000000000000..985b5dac2a61 --- /dev/null +++ b/mob/dead/new_player.html @@ -0,0 +1 @@ +/mob/dead/new_player - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

new_player

Vars

age_gate_resultIs there a result we want to read from the age gate
ineligible_for_rolesUsed to make sure someone doesn't get spammed with messages if they're ineligible for roles
new_characterFor instant transfer once the round is set up
reset_hud_cooldownCooldown for the Reset Lobby Menu HUD verb
spawningReferenced when you want to delete the new_player later on in the code.

Procs

reset_menu_hudResets the Lobby Menu HUD, recreating and reassigning it to the new player
respawn_latejoin_checkChecks if we can latejoin on the currently selected slot, taking into account respawn status.
vote_on_irv_pollProcesses vote form data and saves results to the database for an IRV type poll.
vote_on_multi_pollProcesses vote form data and saves results to the database for a multiple choice type poll.

Var Details

age_gate_result

Is there a result we want to read from the age gate

ineligible_for_roles

Used to make sure someone doesn't get spammed with messages if they're ineligible for roles

new_character

For instant transfer once the round is set up

reset_hud_cooldown

Cooldown for the Reset Lobby Menu HUD verb

spawning

Referenced when you want to delete the new_player later on in the code.

Proc Details

reset_menu_hud

Resets the Lobby Menu HUD, recreating and reassigning it to the new player

respawn_latejoin_check

Checks if we can latejoin on the currently selected slot, taking into account respawn status.

vote_on_irv_poll

Processes vote form data and saves results to the database for an IRV type poll.

vote_on_multi_poll

Processes vote form data and saves results to the database for a multiple choice type poll.

\ No newline at end of file diff --git a/mob/dead/observer.html b/mob/dead/observer.html new file mode 100644 index 000000000000..d6b583097831 --- /dev/null +++ b/mob/dead/observer.html @@ -0,0 +1,2 @@ +/mob/dead/observer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

observer

Procs

do_respawnHandles respawning
respawnAttempts to respawn.
time_left_to_respawnGets time left until we can respawn. Returns 0 if we can respawn now.
transfer_to_lobbyActual proc that removes us and puts us back on lobby

Proc Details

do_respawn

Handles respawning

respawn

Attempts to respawn.

time_left_to_respawn

Gets time left until we can respawn. Returns 0 if we can respawn now.

transfer_to_lobby

Actual proc that removes us and puts us back on lobby

+

Returns the new mob.

\ No newline at end of file diff --git a/mob/living.html b/mob/living.html new file mode 100644 index 000000000000..8bf33c988237 --- /dev/null +++ b/mob/living.html @@ -0,0 +1,67 @@ +/mob/living - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

living

Mob Living

Vars

active_block_itemThe item the user is actively blocking with if any.
active_parry_itemThe itme the user is currently parrying with, if any.
block_parry_dataOur block_parry_data for unarmed blocks/parries. Currently only used for parrying, as unarmed block isn't implemented yet. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!
buckle_message_cooldownNext world.time when we can get the "you can't move while buckled to [thing]" message.
combat_flags/ CITADEL STATION COMBAT //// +See __DEFINES/combat.dm
combatmessagecooldownNext world.time when we will show a visible message on entering combat mode voluntarily again.
default_block_parry_dataDefault
last_autoparryLast autoparry
navigate_cooldownCooldown of the navigate() verb.
next_preyloopNext time vore sounds get played for the prey, do not change manually as it is intended to be set automatically
parry_end_time_lastworld.time of last parry end
parry_start_timeworld.time of parry action start
parry_visual_effectCurrent parry effect.
parryingWhether or not the user is in the middle of an active parry. Set to UNARMED_PARRY, [ITEM_PARRY], [MARTIAL_PARRY] if parrying.
pugilist_block_parry_dataIf we're a pugilist
stamina_bufferOur stamina buffer
stamina_buffer_last_useLast time we used stamina buffer
stamina_buffer_regen_lastLast time stamina buffer regen was done
stamina_buffer_regen_modStamina buffer regen modifier
successful_parriesSuccessful parries within the current parry cycle. It's a list of efficiency percentages.
successful_parry_counterattacksCurrent parry counterattacks. Makes sure we can only counterattack someone once per parry.
vore_organsList of vore containers inside a mob
vore_selectedDefault to no vore capability.
vore_smellWhat the character smells like
vore_tasteWhat the character tastes like

Procs

BiologicalLifeHandles biological life processes like chemical metabolism, breathing, etc +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.
HealAllImmobilityUpToMakes sure all 5 of the non-knockout immobilizing status effects are lower or equal to amount.
IsDazedDAZED
IsFrozenFROZEN
IsImmobilizedIMMOBILIZED
IsKnockdownKNOCKDOWN
IsParalyzedPARALYZED
IsSleepingSLEEPING
IsStaggeredSTAGGERED
IsStunSTUN
IsUnconsciousUNCONSCIOUS
LifeCalled by SSmobs at an interval of 2 seconds. +Splits off into PhysicalLife() and BiologicalLife(). Override those instead of this.
PhysicalLifeHandles physical life processes like being on fire. Don't ask why this is considered "Life". +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.
RechargeStaminaBufferBoosts our stamina buffer by this much.
ShoveOffBalanceOFF BALANCE/SHOVIES
UpdateStaminaBufferUpdates our stamina buffer amount.
UseStaminaBufferAttempts to use an amount of stamina from our stamina buffer. +Does not use anything if we don't have enough.
active_block_effect_endVisual effect cleanup for starting a directional block
active_block_effect_startVisual effect setup for starting a directional block
active_parry_reflex_counterCalled when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.
add_movespeed_mod_immunitiesIgnores specific slowdowns. Accepts a list of slowdowns.
add_quirkDISABILITIES
add_stun_absorptionSTUN ABSORPTION
apply_damageApplies damage to this mob
attempt_auto_parryAttempts to automatically parry an attacker.
bleedDragAmountReturns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail]
can_move_under_livingwhether or not we can slide under another living mob. defaults to if we're not dense. CanPass should check "overriding circumstances" like buckled mobs/having PASSMOB flag, etc.
change_genderGender Change
check_orgasmActs properly if the given genital has orgasm modifiers
check_unarmed_parry_activation_specialCheck if we can unarmed parry
cure_blindTRAIT PROCS
determine_parry_methodMassive snowflake proc for getting something to parry with.
do_facefartU N H O L Y
do_resistThe actual proc for resisting. Return TRUE to give CLICK_CD_RESIST clickdelay.
do_run_block
electrocute_actAs the name suggests, this should be called to apply electric shocks.
end_parry_sequenceCalled via timer when the parry sequence ends.
find_active_block_itemGets the first item we can that can block, but if that fails, default to active held item.COMSIG_ENABLE_COMBAT_MODE
find_backup_parry_itemTries to find a backup parry item. +Does not look at active held item.
find_nearest_stair_or_ladderFinds nearest ladder or staircase either up or down.
get_blocking_itemsGets an unsortedlist of objects to run block checks on. List must have associative values for priorities!
get_equipped_itemsUsed to return a list of equipped items on a mob; does not include held items (use get_all_gear)
get_fluid_modReturns the fluid modifier if the genital has one.
get_parry_dataGets the datum/block_parry_data we're going to use to parry.
get_parry_stageGets the stage of our parry sequence we're currently in.
get_parry_timeGets the current decisecond "frame" of an active parry.
handle_block_parryCalled every life tick to handle blocking/parrying effects.
handle_parry_ending_effectsHandles ending effects for parrying.
handle_parry_starting_effectsHandles starting effects for parrying.
handle_post_sexHandles the sex, if cumming returns true.
hasparasitesparasite tracking/finding procs
hud_set_nanite_indicatorDiagnostic HUDs!
ignore_slowdownIgnores all slowdowns that lack the IGNORE_NOSLOW flag.
initiate_parry_sequenceInitiates a parrying sequence.
is_barefootAre we wearing something that covers our shoes?
is_bottomlessAre we wearing something that covers our groin?
is_toplessAre we wearing something that covers our chest?
keybind_parryCalled from keybindings.
keybind_start_active_blockingProc called by keybindings to start active blocking.
keybind_stop_active_blockingProc called by keybindings to stop active blocking.
keybind_toggle_active_blockingProc called by keybindings to toggle active blocking.
remove_movespeed_mod_immunitiesUnignores specific slowdowns. Accepts a list of slowdowns.
resistResist verb for attempting to get out of whatever is restraining your motion. Gives you resist clickdelay if do_resist() returns true.
run_parrysame return values as normal blocking, called with absolute highest priority in the block "chain".
run_parry_countereffectsRun counterattack if any
shared_living_ui_distancepublic
subtleVERB CODE
subtlerVERB CODE 2
subtler_tableVERB CODE 3
toggle_admin_freezeToggle admin frozen
toggle_admin_sleepToggle admin sleeping
transfer_blood_toBLOOD TRANSFERS
unignore_slowdownUnignores all slowdowns that lack the IGNORE_NOSLOW flag.
update_sizeReturns false on failure

Var Details

active_block_item

The item the user is actively blocking with if any.

active_parry_item

The itme the user is currently parrying with, if any.

block_parry_data

Our block_parry_data for unarmed blocks/parries. Currently only used for parrying, as unarmed block isn't implemented yet. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!

buckle_message_cooldown

Next world.time when we can get the "you can't move while buckled to [thing]" message.

combat_flags

/ CITADEL STATION COMBAT //// +See __DEFINES/combat.dm

combatmessagecooldown

Next world.time when we will show a visible message on entering combat mode voluntarily again.

default_block_parry_data

Default

last_autoparry

Last autoparry

navigate_cooldown

Cooldown of the navigate() verb.

next_preyloop

Next time vore sounds get played for the prey, do not change manually as it is intended to be set automatically

parry_end_time_last

world.time of last parry end

parry_start_time

world.time of parry action start

parry_visual_effect

Current parry effect.

parrying

Whether or not the user is in the middle of an active parry. Set to UNARMED_PARRY, [ITEM_PARRY], [MARTIAL_PARRY] if parrying.

pugilist_block_parry_data

If we're a pugilist

stamina_buffer

Our stamina buffer

stamina_buffer_last_use

Last time we used stamina buffer

stamina_buffer_regen_last

Last time stamina buffer regen was done

stamina_buffer_regen_mod

Stamina buffer regen modifier

successful_parries

Successful parries within the current parry cycle. It's a list of efficiency percentages.

successful_parry_counterattacks

Current parry counterattacks. Makes sure we can only counterattack someone once per parry.

vore_organs

List of vore containers inside a mob

vore_selected

Default to no vore capability.

vore_smell

What the character smells like

vore_taste

What the character tastes like

Proc Details

BiologicalLife

Handles biological life processes like chemical metabolism, breathing, etc +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.

HealAllImmobilityUpTo

Makes sure all 5 of the non-knockout immobilizing status effects are lower or equal to amount.

IsDazed

DAZED

IsFrozen

FROZEN

IsImmobilized

IMMOBILIZED

IsKnockdown

KNOCKDOWN

IsParalyzed

PARALYZED

IsSleeping

SLEEPING

IsStaggered

STAGGERED

IsStun

STUN

IsUnconscious

UNCONSCIOUS

Life

Called by SSmobs at an interval of 2 seconds. +Splits off into PhysicalLife() and BiologicalLife(). Override those instead of this.

PhysicalLife

Handles physical life processes like being on fire. Don't ask why this is considered "Life". +Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.

RechargeStaminaBuffer

Boosts our stamina buffer by this much.

ShoveOffBalance

OFF BALANCE/SHOVIES

UpdateStaminaBuffer

Updates our stamina buffer amount.

UseStaminaBuffer

Attempts to use an amount of stamina from our stamina buffer. +Does not use anything if we don't have enough.

+

Returns TRUE or FALSE based on if we have it.

active_block_effect_end

Visual effect cleanup for starting a directional block

active_block_effect_start

Visual effect setup for starting a directional block

active_parry_reflex_counter

Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.

add_movespeed_mod_immunities

Ignores specific slowdowns. Accepts a list of slowdowns.

add_quirk

DISABILITIES

add_stun_absorption

STUN ABSORPTION

apply_damage

Applies damage to this mob

+

Sends [COMSIG_MOB_APPLY_DAMAGE]

+

Arguuments:

+ +

Returns TRUE if damage applied

attempt_auto_parry

Attempts to automatically parry an attacker.

bleedDragAmount

Returns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail]

can_move_under_living

whether or not we can slide under another living mob. defaults to if we're not dense. CanPass should check "overriding circumstances" like buckled mobs/having PASSMOB flag, etc.

change_gender

Gender Change

check_orgasm

Acts properly if the given genital has orgasm modifiers

+

Arguments:

+

check_unarmed_parry_activation_special

Check if we can unarmed parry

cure_blind

TRAIT PROCS

determine_parry_method

Massive snowflake proc for getting something to parry with.

+

@return list of [method, data, tool], where method is the parry method define, data is the block_parry_data var that must be run through return_block_parry_data, and tool is the concept/object/martial art/etc used.

do_facefart

U N H O L Y

do_resist

The actual proc for resisting. Return TRUE to give CLICK_CD_RESIST clickdelay.

do_run_block

electrocute_act

As the name suggests, this should be called to apply electric shocks.

end_parry_sequence

Called via timer when the parry sequence ends.

find_active_block_item

Gets the first item we can that can block, but if that fails, default to active held item.COMSIG_ENABLE_COMBAT_MODE

find_backup_parry_item

Tries to find a backup parry item. +Does not look at active held item.

find_nearest_stair_or_ladder

Finds nearest ladder or staircase either up or down.

+

Arguments:

+

get_blocking_items

Gets an unsortedlist of objects to run block checks on. List must have associative values for priorities!

get_equipped_items

Used to return a list of equipped items on a mob; does not include held items (use get_all_gear)

+

Argument(s):

+

get_fluid_mod

Returns the fluid modifier if the genital has one.

+

Arguments:

+

get_parry_data

Gets the datum/block_parry_data we're going to use to parry.

get_parry_stage

Gets the stage of our parry sequence we're currently in.

get_parry_time

Gets the current decisecond "frame" of an active parry.

handle_block_parry

Called every life tick to handle blocking/parrying effects.

handle_parry_ending_effects

Handles ending effects for parrying.

handle_parry_starting_effects

Handles starting effects for parrying.

handle_post_sex

Handles the sex, if cumming returns true.

hasparasites

parasite tracking/finding procs

hud_set_nanite_indicator

Diagnostic HUDs!

ignore_slowdown

Ignores all slowdowns that lack the IGNORE_NOSLOW flag.

initiate_parry_sequence

Initiates a parrying sequence.

is_barefoot

Are we wearing something that covers our shoes?

is_bottomless

Are we wearing something that covers our groin?

is_topless

Are we wearing something that covers our chest?

keybind_parry

Called from keybindings.

keybind_start_active_blocking

Proc called by keybindings to start active blocking.

keybind_stop_active_blocking

Proc called by keybindings to stop active blocking.

keybind_toggle_active_blocking

Proc called by keybindings to toggle active blocking.

remove_movespeed_mod_immunities

Unignores specific slowdowns. Accepts a list of slowdowns.

resist

Resist verb for attempting to get out of whatever is restraining your motion. Gives you resist clickdelay if do_resist() returns true.

run_parry

same return values as normal blocking, called with absolute highest priority in the block "chain".

run_parry_countereffects

Run counterattack if any

shared_living_ui_distance

public

+

Distance versus interaction check.

+

required src_object atom/movable The object which owns the UI.

+

return UI_state The state of the UI.

subtle

VERB CODE

subtler

VERB CODE 2

subtler_table

VERB CODE 3

toggle_admin_freeze

Toggle admin frozen

toggle_admin_sleep

Toggle admin sleeping

transfer_blood_to

BLOOD TRANSFERS

unignore_slowdown

Unignores all slowdowns that lack the IGNORE_NOSLOW flag.

update_size

Returns false on failure

\ No newline at end of file diff --git a/mob/living/brain.html b/mob/living/brain.html new file mode 100644 index 000000000000..e8509ad0bc17 --- /dev/null +++ b/mob/living/brain.html @@ -0,0 +1 @@ +/mob/living/brain - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

brain

Procs

blind_eyesEYE_BLIND
blur_eyesEYE_BLURRY

Proc Details

blind_eyes

EYE_BLIND

blur_eyes

EYE_BLURRY

\ No newline at end of file diff --git a/mob/living/carbon.html b/mob/living/carbon.html new file mode 100644 index 000000000000..af08884101f0 --- /dev/null +++ b/mob/living/carbon.html @@ -0,0 +1,50 @@ +/mob/living/carbon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

carbon

Vars

all_scarsAll of the scars a carbon has afflicted throughout their limbs
all_woundsAll of the wounds a carbon has afflicted throughout their limbs
cold_protectionProtection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection
heat_protectionProtection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection
transformation_timerTimer id of any transformation

Procs

adjustOrganLoss
check_self_for_injuriesCheck ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel
check_stimulationReturns a lust value depending if the genital has a lust modifier.
check_virusMedical HUD! Basic mode needs suit sensors on.
doSprintLossTilesSprint buffer
electrocute_actAdds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.
generate_fake_scarsgenerate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake)
genital_menuAttempts to open the tgui menu
getOrganLoss
get_biological_stateget_biological_state is a helper used to see what kind of wounds we roll for. By default we just assume carbons (read:monkeys) are flesh and bone, but humans rely on their species datums
get_traumasTRAUMAS
get_wounded_bodypartsReturns a list of bodyparts with wounds (in case someone has a wound on an otherwise fully healed limb)
giveProc called when offering an item to another player
humanizeHumanize
immortalityFor the Wishgranter
remove_all_embedded_objectsRemove all embedded objects from all limbs on the carbon mob
remove_embedded_objectRemove a specific embedded item from the carbon mob
secondary_shockCalled slightly after electrocute act to reduce jittering and apply a secondary stun.
setOrganLoss
takeProc called when the player clicks the give alert
take_overall_damagedamage MANY bodyparts, in random order

Var Details

all_scars

All of the scars a carbon has afflicted throughout their limbs

all_wounds

All of the wounds a carbon has afflicted throughout their limbs

cold_protection

Protection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection

heat_protection

Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection

transformation_timer

Timer id of any transformation

Proc Details

adjustOrganLoss

check_self_for_injuries

Check ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel

check_stimulation

Returns a lust value depending if the genital has a lust modifier.

+

Arguments:

+

check_virus

Medical HUD! Basic mode needs suit sensors on.

doSprintLossTiles

Sprint buffer

electrocute_act

Adds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.

generate_fake_scars

generate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake)

+

If you want a specific wound scar, pass that wound type as the second arg, otherwise you can pass a list like WOUND_LIST_SLASH to generate a random cut scar.

+

Arguments:

+

genital_menu

Attempts to open the tgui menu

getOrganLoss

get_biological_state

get_biological_state is a helper used to see what kind of wounds we roll for. By default we just assume carbons (read:monkeys) are flesh and bone, but humans rely on their species datums

+

go look at the species def for more info /datum/species/proc/get_biological_state

get_traumas

TRAUMAS

get_wounded_bodyparts

Returns a list of bodyparts with wounds (in case someone has a wound on an otherwise fully healed limb)

give

Proc called when offering an item to another player

+

This handles creating an alert and adding an overlay to it

humanize

Humanize

immortality

For the Wishgranter

remove_all_embedded_objects

Remove all embedded objects from all limbs on the carbon mob

remove_embedded_object

Remove a specific embedded item from the carbon mob

secondary_shock

Called slightly after electrocute act to reduce jittering and apply a secondary stun.

setOrganLoss

take

Proc called when the player clicks the give alert

+

Handles checking if the player taking the item has open slots and is in range of the offerer +Also deals with the actual transferring of the item to the players hands +Arguments:

+

take_overall_damage

damage MANY bodyparts, in random order

\ 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 000000000000..774f6899fab6 --- /dev/null +++ b/mob/living/carbon/alien.html @@ -0,0 +1,3 @@ +/mob/living/carbon/alien - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

alien

Vars

can_ventcrawlWhether they can ventcrawl; this is set individually for 'humanoid' and 'royal' types +'royal' types (Praetorian, Queen) cannot ventcrawl
meleeKnockdownPowerHow much power they have for DefaultCombatKnockdown when attacking humans
meleeSlashHumanPowerHow much brute damage without armor piercing they do against mobs in melee
meleeSlashSAPowerHow much brute damage they do to simple animals

Procs

toggle_genderHandles modular code for Xenomorph features

Var Details

can_ventcrawl

Whether they can ventcrawl; this is set individually for 'humanoid' and 'royal' types +'royal' types (Praetorian, Queen) cannot ventcrawl

meleeKnockdownPower

How much power they have for DefaultCombatKnockdown when attacking humans

meleeSlashHumanPower

How much brute damage without armor piercing they do against mobs in melee

meleeSlashSAPower

How much brute damage they do to simple animals

Proc Details

toggle_gender

Handles modular code for Xenomorph features

\ 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 000000000000..2f8befe7af5a --- /dev/null +++ b/mob/living/carbon/human.html @@ -0,0 +1,15 @@ +/mob/living/carbon/human - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

human

Vars

afk_theftsWhen an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds
combat_flagsEnable stamina combat
grad_colorColour used for the hair gradient.
grad_styleStyle used for the hair gradient.
insanelycomfyThis player has been standing still for very long and are probably roleplaying. They won't use up nutrition/thirst until they start moving again.

Procs

clean_lipsA wrapper for mob/living/carbon/human/proc/update_lips that tells us if there were lip styles to change
clothingonpartGet all the clothing on a specific body part
copy_clothing_prefscopies over clothing preferences like underwear to another human
electrocute_actCalculates the siemens coeff based on clothing and species, can also restart hearts.
format_scarsFor use formatting all of the scars this human has for saving for persistent scarring
get_equipped_itemsUsed to return a list of equipped items on a human mob; does not include held items (use get_all_gear)
handle_fireFIRE CODE
load_scarTakes a single scar from the persistent scar loader and recreates it from the saved data
sec_hud_set_IDSecurity HUDs! Basic mode shows only the job.
set_antag_target_indicatorMob's target prefs
socks_hiddenProc to check if socks are hidden.
something_horribleDNA HELPER-PROCS
spec_trait_examine_font
undershirt_hiddenProc to check if undershirt is hidden.
underwear_hiddenProc to check if underwear is hidden.
update_lipsUsed to update the makeup on a human and apply/remove lipstick traits, then store/unstore them on the head object in case it gets severed

Var Details

afk_thefts

When an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds

combat_flags

Enable stamina combat

grad_color

Colour used for the hair gradient.

grad_style

Style used for the hair gradient.

insanelycomfy

This player has been standing still for very long and are probably roleplaying. They won't use up nutrition/thirst until they start moving again.

Proc Details

clean_lips

A wrapper for mob/living/carbon/human/proc/update_lips that tells us if there were lip styles to change

clothingonpart

Get all the clothing on a specific body part

copy_clothing_prefs

copies over clothing preferences like underwear to another human

electrocute_act

Calculates the siemens coeff based on clothing and species, can also restart hearts.

format_scars

For use formatting all of the scars this human has for saving for persistent scarring

get_equipped_items

Used to return a list of equipped items on a human mob; does not include held items (use get_all_gear)

+

Argument(s):

+

handle_fire

FIRE CODE

load_scar

Takes a single scar from the persistent scar loader and recreates it from the saved data

sec_hud_set_ID

Security HUDs! Basic mode shows only the job.

set_antag_target_indicator

Mob's target prefs

socks_hidden

Proc to check if socks are hidden.

something_horrible

DNA HELPER-PROCS

spec_trait_examine_font

spec_trait_examine_font()

+

This gets a humanoid's special examine font, which is used to color their species name during examine / health analyzing. +The first of these that applies is returned. +Returns:

+

undershirt_hidden

Proc to check if undershirt is hidden.

underwear_hidden

Proc to check if underwear is hidden.

update_lips

Used to update the makeup on a human and apply/remove lipstick traits, then store/unstore them on the head object in case it gets severed

\ No newline at end of file diff --git a/mob/living/silicon.html b/mob/living/silicon.html new file mode 100644 index 000000000000..05fcdd3a1c3a --- /dev/null +++ b/mob/living/silicon.html @@ -0,0 +1,3 @@ +/mob/living/silicon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

silicon

Vars

emaggedWhether we have been emagged

Procs

get_ui_accessReturns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.

Var Details

emagged

Whether we have been emagged

Proc Details

get_ui_access

Returns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.

\ 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 000000000000..aec8f8dd6279 --- /dev/null +++ b/mob/living/silicon/ai.html @@ -0,0 +1 @@ +/mob/living/silicon/ai - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ai

Vars

ai_announcementAnnouncement UI
alert_controlStation alert datum for showing alerts UI
announcement_helpLists possible spoken words for announcements
is_anchoredwhether AI is anchored or not, used for checks
lastlocremember AI's last location
openedwhether its cover is opened, so you can wirecut it for deconstruction
posibrain_insidewhether its mmi is a posibrain or regular mmi when going ai mob to ai core structure

Var Details

ai_announcement

Announcement UI

alert_control

Station alert datum for showing alerts UI

announcement_help

Lists possible spoken words for announcements

is_anchored

whether AI is anchored or not, used for checks

lastloc

remember AI's last location

opened

whether its cover is opened, so you can wirecut it for deconstruction

posibrain_inside

whether its mmi is a posibrain or regular mmi when going ai mob to ai core structure

\ 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 000000000000..7c148deec99d --- /dev/null +++ b/mob/living/silicon/robot.html @@ -0,0 +1,88 @@ +/mob/living/silicon/robot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

robot

Vars

alert_controlStation alert datum for showing alerts UI
can_ride_typecacheWhat types of mobs are allowed to ride/buckle to this mob
disabled_modulesFor checking which modules are disabled or not.
identRandom serial number generated for each cyborg upon its initialization
lampButtonLamp button reference
lamp_colorSet lamp color
lamp_doomSet to true if a doomsday event is locking our lamp to on and RED
lamp_enabledIf the lamp is turned on
lamp_functionalIf the lamp isn't broken.
lamp_intensityLamp brightness. Starts at 3, but can be 1 - 5.
modularInterfaceThe reference to the built-in tablet that borgs carry.
openedIf this is a path, this gets created as an object in Initialize.
previous_healththe last health before updating - to check net change in health
vtec_disabledvtec shorted out

Procs

ExitedChecking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.
activatedChecks if the item is currently in a slot.
add_to_upgradesMoves the upgrade inside the robot and registers relevant signals.
apply_upgradeCalled when a mob uses an upgrade on an open borg. Checks to make sure the upgrade can be applied
break_all_cyborg_slotsBreaks all of a cyborg's slots.
break_cyborg_slotBreaks the slot number, changing the icon.
cycle_modulesCycles through the list of enabled modules, deselecting the current one and selecting the next one.
deploy_initdeploy_init: Deploys AI unit into AI shell
deselect_moduleDeselects the module in the slot module_num. +Arguments
dump_into_mmiDumps the current occupant of the cyborg into an MMI at the passed location +Returns the borg's MMI on success
equip_module_to_slotIs passed an item and a module slot. Equips the item to that borg slot.
get_active_held_itemReturns the thing in our active hand (whatever is in our active module-slot, in this case)
get_selected_moduleReturns the slot number of the selected module, or zero if no modules are selected.
is_invalid_module_numberChecks if the provided module number is a valid number.
logeventRecords an IC event log entry in the cyborg's internal tablet.
make_shellmake_shell: Makes an AI shell out of a cyborg unit
observer_screen_updateUpdates the observers's screens with cyborg itemss. +Arguments
on_upgrade_deletedCalled when an applied upgrade is deleted.
remove_from_upgradesCalled when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.
repair_all_cyborg_slotsRepairs all slots. Unbroken slots are unaffected.
repair_cyborg_slotRepairs the slot number, updating the icon.
revert_shellrevert_shell: Reverts AI shell back into a normal cyborg unit
select_moduleSelects the module in the slot module_num. +Arguments
smash_headlampHandles headlamp smashing
toggle_genderAllows "cyborg" players to change gender at will - Modularised here
toggle_headlampHandles headlamp toggling, disabling, and color setting.
toggle_moduleToggles selection of the module in the slot module_num. +Arguments
uneq_activeUnequips the active held item, if there is one.
uneq_allUnequips all held items.
unequip_module_from_slotUnequips item item_module from slot module_num. Deletes it if delete_after = TRUE.
update_iconsthis is bad code

Var Details

alert_control

Station alert datum for showing alerts UI

can_ride_typecache

What types of mobs are allowed to ride/buckle to this mob

disabled_modules

For checking which modules are disabled or not.

ident

Random serial number generated for each cyborg upon its initialization

lampButton

Lamp button reference

lamp_color

Set lamp color

lamp_doom

Set to true if a doomsday event is locking our lamp to on and RED

lamp_enabled

If the lamp is turned on

lamp_functional

If the lamp isn't broken.

lamp_intensity

Lamp brightness. Starts at 3, but can be 1 - 5.

modularInterface

The reference to the built-in tablet that borgs carry.

opened

If this is a path, this gets created as an object in Initialize.

previous_health

the last health before updating - to check net change in health

vtec_disabled

vtec shorted out

Proc Details

Exited

Checking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.

activated

Checks if the item is currently in a slot.

+

If the item is found in a slot, this returns TRUE. Otherwise, it returns FALSE +Modified to accept items inside of grippers, used for code\modules\tgui\states\hands.dm:27 +Arguments

+

add_to_upgrades

Moves the upgrade inside the robot and registers relevant signals.

apply_upgrade

Called when a mob uses an upgrade on an open borg. Checks to make sure the upgrade can be applied

break_all_cyborg_slots

Breaks all of a cyborg's slots.

break_cyborg_slot

Breaks the slot number, changing the icon.

+

Arguments

+

cycle_modules

Cycles through the list of enabled modules, deselecting the current one and selecting the next one.

deploy_init

deploy_init: Deploys AI unit into AI shell

+

Arguments:

+

deselect_module

Deselects the module in the slot module_num. +Arguments

+

dump_into_mmi

Dumps the current occupant of the cyborg into an MMI at the passed location +Returns the borg's MMI on success

equip_module_to_slot

Is passed an item and a module slot. Equips the item to that borg slot.

+

Arguments

+

get_active_held_item

Returns the thing in our active hand (whatever is in our active module-slot, in this case)

+

Arguments

+

get_selected_module

Returns the slot number of the selected module, or zero if no modules are selected.

is_invalid_module_number

Checks if the provided module number is a valid number.

+

If the number is between 1 and 3 (if check_all_slots is true) or between 1 and the number of disabled +modules (if check_all_slots is false), then it returns FALSE. Otherwise, it returns TRUE. +Arguments

+

logevent

Records an IC event log entry in the cyborg's internal tablet.

+

Creates an entry in the borglog list of the cyborg's internal tablet, listing the current +in-game time followed by the message given. These logs can be seen by the cyborg in their +BorgUI tablet app. By design, logging fails if the cyborg is dead.

+

Arguments: +arg1: a string containing the message to log.

make_shell

make_shell: Makes an AI shell out of a cyborg unit

+

Arguments:

+

observer_screen_update

Updates the observers's screens with cyborg itemss. +Arguments

+

on_upgrade_deleted

Called when an applied upgrade is deleted.

remove_from_upgrades

Called when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.

repair_all_cyborg_slots

Repairs all slots. Unbroken slots are unaffected.

repair_cyborg_slot

Repairs the slot number, updating the icon.

+

Arguments

+

revert_shell

revert_shell: Reverts AI shell back into a normal cyborg unit

select_module

Selects the module in the slot module_num. +Arguments

+

smash_headlamp

Handles headlamp smashing

+

When called (such as by the shadowperson lighteater's attack), this proc will break the borg's headlamp +and then call toggle_headlamp to disable the light. It also plays a sound effect of glass breaking, and +tells the borg what happened to its chat. Broken lights can be repaired by using a flashlight on the borg.

toggle_gender

Allows "cyborg" players to change gender at will - Modularised here

toggle_headlamp

Handles headlamp toggling, disabling, and color setting.

+

The initial if statment is a bit long, but the gist of it is that should the lamp be on AND the update_color +arg be true, we should simply change the color of the lamp but not disable it. Otherwise, should the turn_off +arg be true, the lamp already be enabled, any of the normal reasons the lamp would turn off happen, or the +update_color arg be passed with the lamp not on, we should set the lamp off. The update_color arg is only +ever true when this proc is called from the borg tablet, when the color selection feature is used.

+

Arguments:

+

toggle_module

Toggles selection of the module in the slot module_num. +Arguments

+

uneq_active

Unequips the active held item, if there is one.

+

Will always consider dropping gripper contents first.

uneq_all

Unequips all held items.

unequip_module_from_slot

Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE.

+

Arguments

+

update_icons

this is bad code

\ 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 000000000000..f5d742371889 --- /dev/null +++ b/mob/living/simple_animal.html @@ -0,0 +1,3 @@ +/mob/living/simple_animal - SPLURT Station 13
SPLURT 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), AI_Z_OFF (Temporarily off due to nonpresence of players).
access_cardInnate access uses an internal ID card.
animal_speciesSorry, no spider+corgi buttbabies.
armour_penetrationHow much armour they ignore, as a flat reduction from the targets armour value.
atmos_requirementsAtmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage
attack_verb_continuousAttacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attacked_soundPlayed when someone punches the creature.
blood_volumeHow much blud it has for bloodsucking
buffedIn the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to TRUE, so we have something to check against.
can_have_aionce we have become sentient, we can never go back.
childtypeHot simple_animal baby making vars.
damage_coeff1 for full damage , 0 for none , -1 for 1:1 heal from that source.
death_soundThe sound played on death.
del_on_deathcauses mob to be deleted on death, useful for mobs that spawn lootable corpses.
dextrousIf the creature has, and can use, hands.
emote_hearHearable emotes
emote_seeUnlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps.
environment_smashSet to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.
footstep_typeWhat kind of footstep this mob should have. Null if it shouldn't have any.
force_thresholdMinimum force required to deal any damage.
friendly_verb_continuousAttacking, but without damage, verb in present continuous tense.
friendly_verb_simpleAttacking, but without damage, verb in present simple tense.
gold_core_spawnableIf the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.
healableHealable by medical stacks? Defaults to yes.
icon_deadicon when the animal is dead. Don't use animated icons for this.
icon_gibWe only try to show a gibbing animation if this exists.
lootlist of things spawned at mob's loc when it dies.
melee_damage_lowerLETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly.
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
minbodytempTemperature effect.
my_zI don't want to confuse this with client registered_z.
obj_damageHow much damage this simple animal does to objects, if any.
response_disarm_continuousDisarm-intent verb in present continuous tense.
response_disarm_simpleDisarm-intent verb in present simple tense.
response_harm_continuousHarm-intent verb in present continuous tense.
response_harm_simpleHarm-intent verb in present simple tense.
response_help_continuousWhen someone interacts with the simple animal. +Help-intent verb in present continuous tense.
response_help_simpleHelp-intent verb in present simple tense.
sentience_typeSentience type, for slime potions.
shouldwakeupconvenience var for forcibly waking up an idling AI on next check.
speak_emoteEmotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.
speedLETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.
stop_automated_movementUse this to temporarely stop random movement or to if you write special movement code for animals.
stop_automated_movement_when_pulledWhen set to 1 this stops the animal from moving when someone is pulling it.
tameDomestication.
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above.
wanderDoes the mob wander around when idle?
weather_immunitiesList of weather immunity traits that are then added on Initialize(), see traits.dm.

Var Details

AIStatus

The Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players).

access_card

Innate access uses an internal ID card.

animal_species

Sorry, no spider+corgi buttbabies.

armour_penetration

How much armour they ignore, as a flat reduction from the targets armour value.

atmos_requirements

Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage

attack_verb_continuous

Attacking verb in present continuous tense.

attack_verb_simple

Attacking verb in present simple tense.

attacked_sound

Played when someone punches the creature.

blood_volume

How much blud it has for bloodsucking

buffed

In the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to TRUE, so we have something to check against.

can_have_ai

once we have become sentient, we can never go back.

childtype

Hot simple_animal baby making vars.

damage_coeff

1 for full damage , 0 for none , -1 for 1:1 heal from that source.

death_sound

The sound played on death.

del_on_death

causes mob to be deleted on death, useful for mobs that spawn lootable corpses.

dextrous

If the creature has, and can use, hands.

emote_hear

Hearable emotes

emote_see

Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps.

environment_smash

Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.

footstep_type

What kind of footstep this mob should have. Null if it shouldn't have any.

force_threshold

Minimum force required to deal any damage.

friendly_verb_continuous

Attacking, but without damage, verb in present continuous tense.

friendly_verb_simple

Attacking, but without damage, verb in present simple tense.

gold_core_spawnable

If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.

healable

Healable by medical stacks? Defaults to yes.

icon_dead

icon when the animal is dead. Don't use animated icons for this.

icon_gib

We only try to show a gibbing animation if this exists.

loot

list of things spawned at mob's loc when it dies.

melee_damage_lower

LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly.

melee_damage_type

Damage type of a simple mob's melee attack, should it do damage.

minbodytemp

Temperature effect.

my_z

I don't want to confuse this with client registered_z.

obj_damage

How much damage this simple animal does to objects, if any.

response_disarm_continuous

Disarm-intent verb in present continuous tense.

response_disarm_simple

Disarm-intent verb in present simple tense.

response_harm_continuous

Harm-intent verb in present continuous tense.

response_harm_simple

Harm-intent verb in present simple tense.

response_help_continuous

When someone interacts with the simple animal. +Help-intent verb in present continuous tense.

response_help_simple

Help-intent verb in present simple tense.

sentience_type

Sentience type, for slime potions.

shouldwakeup

convenience var for forcibly waking up an idling AI on next check.

speak_emote

Emotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.

speed

LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.

stop_automated_movement

Use this to temporarely stop random movement or to if you write special movement code for animals.

stop_automated_movement_when_pulled

When set to 1 this stops the animal from moving when someone is pulling it.

tame

Domestication.

unsuitable_atmos_damage

This damage is taken when atmos doesn't fit all the requirements above.

wander

Does the mob wander around when idle?

weather_immunities

List of weather immunity traits that are then added on Initialize(), see traits.dm.

\ 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 000000000000..424dc05ffb41 --- /dev/null +++ b/mob/living/simple_animal/bot.html @@ -0,0 +1 @@ +/mob/living/simple_animal/bot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

bot

Procs

get_mode_uiReturns a status string about the bot's current status, if it's moving, manually controlled, or idle.

Proc Details

get_mode_ui

Returns a status string about the bot's current status, if it's moving, manually controlled, or idle.

\ 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 000000000000..5e0a558604cd --- /dev/null +++ b/mob/living/simple_animal/bot/floorbot.html @@ -0,0 +1 @@ +/mob/living/simple_animal/bot/floorbot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

floorbot

Procs

check_bot_workingChecks a given turf to see if another floorbot is there, working as well.

Proc Details

check_bot_working

Checks a given turf to see if another floorbot is there, working as well.

\ No newline at end of file diff --git a/mob/living/simple_animal/drone.html b/mob/living/simple_animal/drone.html new file mode 100644 index 000000000000..7eda4c9b433a --- /dev/null +++ b/mob/living/simple_animal/drone.html @@ -0,0 +1 @@ +/mob/living/simple_animal/drone - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

drone

Vars

listenerAlarm listener datum, handes caring about alarm events and such

Var Details

listener

Alarm listener datum, handes caring about alarm events and such

\ 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 000000000000..428d124c46d1 --- /dev/null +++ b/mob/living/simple_animal/hostile.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

hostile

Vars

charge_cooldownDeclares a cooldown for potential charges right off the bat.
charge_distanceIn a charge, how many tiles will the charger travel?
charge_frequencyHow often can the charging mob actually charge? Effects the cooldown between charges.
charge_stateTracks if the target is actively charging.
chargerWhen a target is found, will the mob attempt to charge at it's target?
knockdown_timeIf the mob is charging, how long will it stun it's target on success, and itself on failure?

Procs

AICanContinueAI Status
ListTargetsHOSTILE MOB TARGETTING AND AGGRESSION
charge_endProc that handles a charge attack after it's concluded.
deathEND HOSTILE MOB TARGETTING AND AGGRESSION
enter_chargeProc that handles a charge attack windup for a mob.
handle_charge_targetProc that throws the mob at the target after the windup.
throw_impactProc that handles the charge impact of the charging mob.

Var Details

charge_cooldown

Declares a cooldown for potential charges right off the bat.

charge_distance

In a charge, how many tiles will the charger travel?

charge_frequency

How often can the charging mob actually charge? Effects the cooldown between charges.

charge_state

Tracks if the target is actively charging.

charger

When a target is found, will the mob attempt to charge at it's target?

knockdown_time

If the mob is charging, how long will it stun it's target on success, and itself on failure?

Proc Details

AICanContinue

AI Status

ListTargets

HOSTILE MOB TARGETTING AND AGGRESSION

charge_end

Proc that handles a charge attack after it's concluded.

death

END HOSTILE MOB TARGETTING AND AGGRESSION

enter_charge

Proc that handles a charge attack windup for a mob.

handle_charge_target

Proc that throws the mob at the target after the windup.

throw_impact

Proc that handles the charge impact of the charging mob.

\ 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 000000000000..e8d0534d914d --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/broodmother - SPLURT Station 13
SPLURT 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/drakeling.html b/mob/living/simple_animal/hostile/asteroid/elite/drakeling.html new file mode 100644 index 000000000000..8ac96e95baa0 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/drakeling.html @@ -0,0 +1,8 @@ +/mob/living/simple_animal/hostile/asteroid/elite/drakeling - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Drakeling

A small drake/dragon. +Has four attacks.

+
\ 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 000000000000..829401222f0e --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/herald.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/herald - SPLURT Station 13
SPLURT 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 000000000000..19b82562dce9 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/legionnaire - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Legionnaire

A towering skeleton, embodying the power of Legion. +As it's health gets lower, the head does more damage. +It's attacks are as follows:

+
\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/asteroid/elite/minerpriest.html b/mob/living/simple_animal/hostile/asteroid/elite/minerpriest.html new file mode 100644 index 000000000000..23e4fe9809d3 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/minerpriest.html @@ -0,0 +1,8 @@ +/mob/living/simple_animal/hostile/asteroid/elite/minerpriest - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Necropolis priest

Kind of like BD miner's son trying to impress their dad. +Has four attacks.

+
\ 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 000000000000..89187d85ea4b --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/pandora.html @@ -0,0 +1,10 @@ +/mob/living/simple_animal/hostile/asteroid/elite/pandora - SPLURT Station 13
SPLURT 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/asteroid/ice_demon.html b/mob/living/simple_animal/hostile/asteroid/ice_demon.html new file mode 100644 index 000000000000..0f6ffa6b7437 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/ice_demon.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/asteroid/ice_demon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ice_demon

Vars

teleport_distanceDistance the demon will teleport from the target

Var Details

teleport_distance

Distance the demon will teleport from the target

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/asteroid/ice_whelp.html b/mob/living/simple_animal/hostile/asteroid/ice_whelp.html new file mode 100644 index 000000000000..ae0474f47594 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/ice_whelp.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/asteroid/ice_whelp - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ice_whelp

Vars

fire_rangeHow far the whelps fire can go

Var Details

fire_range

How far the whelps fire can go

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/asteroid/lobstrosity.html b/mob/living/simple_animal/hostile/asteroid/lobstrosity.html new file mode 100644 index 000000000000..2df303957faf --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/lobstrosity.html @@ -0,0 +1,3 @@ +/mob/living/simple_animal/hostile/asteroid/lobstrosity - SPLURT Station 13
SPLURT Station 13 - Modules - Types

lobstrosity

Lobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones.
+
+

Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/asteroid/polarbear.html b/mob/living/simple_animal/hostile/asteroid/polarbear.html new file mode 100644 index 000000000000..52d5af45c393 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/polarbear.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/asteroid/polarbear - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

polarbear

Vars

aggressive_message_saidMessage for when the polar bear starts to attack faster

Var Details

aggressive_message_said

Message for when the polar bear starts to attack faster

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/asteroid/wolf.html b/mob/living/simple_animal/hostile/asteroid/wolf.html new file mode 100644 index 000000000000..6fafaea9a471 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/wolf.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/asteroid/wolf - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

wolf

Vars

retreat_message_saidMessage for when the wolf decides to start running away

Var Details

retreat_message_said

Message for when the wolf decides to start running away

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/carp/cayenne.html b/mob/living/simple_animal/hostile/carp/cayenne.html new file mode 100644 index 000000000000..0d1c622dfb55 --- /dev/null +++ b/mob/living/simple_animal/hostile/carp/cayenne.html @@ -0,0 +1,3 @@ +/mob/living/simple_animal/hostile/carp/cayenne - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cayenne

Vars

colored_disk_mouthLocation of the file storing disk overlays +Colored disk mouth appearance for adding it as a mouth overlay
diskyKeeping track of the nuke disk for the functionality of storing it.

Var Details

colored_disk_mouth

Location of the file storing disk overlays +Colored disk mouth appearance for adding it as a mouth overlay

disky

Keeping track of the nuke disk for the functionality of storing it.

\ 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 000000000000..3955713822ca --- /dev/null +++ b/mob/living/simple_animal/hostile/construct.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/construct - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

construct

Vars

themeTheme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue

Procs

update_health_hudui stuff

Var Details

theme

Theme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue

Proc Details

update_health_hud

ui stuff

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/eldritch.html b/mob/living/simple_animal/hostile/eldritch.html new file mode 100644 index 000000000000..c9a97e3f373f --- /dev/null +++ b/mob/living/simple_animal/hostile/eldritch.html @@ -0,0 +1,2 @@ +/mob/living/simple_animal/hostile/eldritch - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

eldritch

Vars

spells_to_addInnate spells that are supposed to be added when a beast is created

Procs

add_spellsAdd_spells

Var Details

spells_to_add

Innate spells that are supposed to be added when a beast is created

Proc Details

add_spells

Add_spells

+

Goes through spells_to_add and adds each spell to the mind.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/eldritch/armsy.html b/mob/living/simple_animal/hostile/eldritch/armsy.html new file mode 100644 index 000000000000..f069310d308d --- /dev/null +++ b/mob/living/simple_animal/hostile/eldritch/armsy.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/eldritch/armsy - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

armsy

Vars

allow_pullingAllow / disallow pulling
backPrevious segment in the chain
current_stacksCurrently eaten arms
frontNext segment in the chain
oldlocYour old location
stacks_to_growHow many arms do we have to eat to expand?

Procs

contract_next_chain_into_single_tileUpdates chain links to force move onto a single tile
update_chain_linksUpdates the next mob in the chain to move to our last location, fixed the worm if somehow broken.

Var Details

allow_pulling

Allow / disallow pulling

back

Previous segment in the chain

current_stacks

Currently eaten arms

front

Next segment in the chain

oldloc

Your old location

stacks_to_grow

How many arms do we have to eat to expand?

Proc Details

contract_next_chain_into_single_tile

Updates chain links to force move onto a single tile

Updates the next mob in the chain to move to our last location, fixed the worm if somehow broken.

\ 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 000000000000..d4ba279751b7 --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/guardian - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

guardian

Vars

music_datumsigh, fine.

Var Details

music_datum

sigh, fine.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/guardian/gravitokinetic.html b/mob/living/simple_animal/hostile/guardian/gravitokinetic.html new file mode 100644 index 000000000000..3485b8ac014f --- /dev/null +++ b/mob/living/simple_animal/hostile/guardian/gravitokinetic.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/guardian/gravitokinetic - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

gravitokinetic

Procs

deathRemoves gravity from affected mobs upon guardian death to prevent permanent effects

Proc Details

death

Removes gravity from affected mobs upon guardian death to prevent permanent effects

\ 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 000000000000..ef8255987101 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

megafauna

Vars

achievement_typeAchievement given to surrounding players when the megafauna is killed
anger_modifierModifies attacks when at lower health
attack_action_typesAttack actions, sets chosen_attack to the number in the action
chosen_attackThe chosen attack by the megafauna
crusher_achievement_typeCrusher achievement given to players when megafauna is killed
crusher_lootCrusher loot dropped when the megafauna is killed with a crusher
eliminationIf the megafauna was actually killed (not just dying, then transforming into another type)
internalInternal tracking GPS inside fauna
nest_rangeRange the megafauna can move from their nest (if they have one
recovery_timeNext time the megafauna can use a melee attack
score_achievement_typeScore given to players when megafauna is killed
small_sprite_typeIf there is a small sprite icon for players controlling the megafauna to use
true_spawnIf this is a megafauna that is real (has achievements, gps signal)

Procs

SetRecoveryTimeSets the next time the megafauna can use a melee or ranged attack, in deciseconds
grant_achievementGrants medals and achievements to surrounding players

Var Details

achievement_type

Achievement given to surrounding players when the megafauna is killed

anger_modifier

Modifies attacks when at lower health

attack_action_types

Attack actions, sets chosen_attack to the number in the action

chosen_attack

The chosen attack by the megafauna

crusher_achievement_type

Crusher achievement given to players when megafauna is killed

crusher_loot

Crusher loot dropped when the megafauna is killed with a crusher

elimination

If the megafauna was actually killed (not just dying, then transforming into another type)

internal

Internal tracking GPS inside fauna

nest_range

Range the megafauna can move from their nest (if they have one

recovery_time

Next time the megafauna can use a melee attack

score_achievement_type

Score given to players when megafauna is killed

small_sprite_type

If there is a small sprite icon for players controlling the megafauna to use

true_spawn

If this is a megafauna that is real (has achievements, gps signal)

Proc Details

SetRecoveryTime

Sets the next time the megafauna can use a melee or ranged attack, in deciseconds

grant_achievement

Grants medals and achievements to surrounding players

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html b/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html new file mode 100644 index 000000000000..0a7910566022 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

demonic_frost_miner

Vars

enragedIf the demonic frost miner is in its enraged state
enragingIf the demonic frost miner is currently transforming to its enraged state
projectile_speed_multiplierModifies the speed of the projectiles the demonic frost miner shoots out

Procs

check_enragedChecks if the demonic frost miner is ready to be enraged
frost_orbsShoots out homing frost orbs that explode into ice blast projectiles after a couple seconds
ice_shotgunShoots out ice blasts in a shotgun like pattern
snowball_machine_gunShoots out snowballs with a random spread

Var Details

enraged

If the demonic frost miner is in its enraged state

enraging

If the demonic frost miner is currently transforming to its enraged state

projectile_speed_multiplier

Modifies the speed of the projectiles the demonic frost miner shoots out

Proc Details

check_enraged

Checks if the demonic frost miner is ready to be enraged

frost_orbs

Shoots out homing frost orbs that explode into ice blast projectiles after a couple seconds

ice_shotgun

Shoots out ice blasts in a shotgun like pattern

snowball_machine_gun

Shoots out snowballs with a random spread

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna/legion.html b/mob/living/simple_animal/hostile/megafauna/legion.html new file mode 100644 index 000000000000..59566c077b93 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/legion.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/legion - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

legion

Procs

AttackingTargetIn addition to parent functionality, this will also turn the target into a small legion if they are unconcious.
SplitSplits legion into smaller skulls.
adjustHealthThis makes sure that the legion door opens on taking damage, so you can't cheese this boss.
charge_targetAttack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player.
create_legion_skullAttack proc. Spawns a singular legion skull.
create_legion_turretsAttack proc. Creates up to three legion turrets on suitable turfs nearby.
reset_chargeResets the charge buffs.
setVarsAfterSplitSets the variables for new legion skulls. Usually called after splitting.
throw_impactDeals some extra damage on throw impact.
throw_thyselfThis is the proc that actually does the throwing. Charge only adds a timer for this.

Proc Details

AttackingTarget

In addition to parent functionality, this will also turn the target into a small legion if they are unconcious.

Split

Splits legion into smaller skulls.

adjustHealth

This makes sure that the legion door opens on taking damage, so you can't cheese this boss.

charge_target

Attack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player.

create_legion_skull

Attack proc. Spawns a singular legion skull.

create_legion_turrets

Attack proc. Creates up to three legion turrets on suitable turfs nearby.

reset_charge

Resets the charge buffs.

setVarsAfterSplit

Sets the variables for new legion skulls. Usually called after splitting.

throw_impact

Deals some extra damage on throw impact.

throw_thyself

This is the proc that actually does the throwing. Charge only adds a timer for this.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/megafauna/wendigo.html b/mob/living/simple_animal/hostile/megafauna/wendigo.html new file mode 100644 index 000000000000..8b77265ce680 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/wendigo.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/megafauna/wendigo - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

wendigo

Vars

can_moveIf the wendigo is allowed to move
startingSaves the turf the megafauna was created at (spawns exit portal here)
stomp_rangeRange for wendigo stomping when it moves
stored_move_dirsStores directions the mob is moving, then calls that a move has fully ended when these directions are removed in moved

Procs

disorienting_screamShakes all nearby enemies screens and animates the wendigo shaking up and down
ground_slamSlams the ground around the wendigo throwing back enemies caught nearby
heavy_stompLarger but slower ground stomp
teleportTeleports to a location 4 turfs away from the enemy in view

Var Details

can_move

If the wendigo is allowed to move

starting

Saves the turf the megafauna was created at (spawns exit portal here)

stomp_range

Range for wendigo stomping when it moves

stored_move_dirs

Stores directions the mob is moving, then calls that a move has fully ended when these directions are removed in moved

Proc Details

disorienting_scream

Shakes all nearby enemies screens and animates the wendigo shaking up and down

ground_slam

Slams the ground around the wendigo throwing back enemies caught nearby

heavy_stomp

Larger but slower ground stomp

teleport

Teleports to a location 4 turfs away from the enemy in view

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/plaguerat.html b/mob/living/simple_animal/hostile/plaguerat.html new file mode 100644 index 000000000000..0078c67840f1 --- /dev/null +++ b/mob/living/simple_animal/hostile/plaguerat.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/plaguerat - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

plaguerat

Procs

be_fruitfulChecks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.

Proc Details

be_fruitful

Checks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/regalrat.html b/mob/living/simple_animal/hostile/regalrat.html new file mode 100644 index 000000000000..7a6ab6e8d72e --- /dev/null +++ b/mob/living/simple_animal/hostile/regalrat.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/regalrat - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

regalrat

Procs

InitializeNumber assigned to rats and mice, checked when determining infighting.

Proc Details

Initialize

Number assigned to rats and mice, checked when determining infighting.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/space_dragon.html b/mob/living/simple_animal/hostile/space_dragon.html new file mode 100644 index 000000000000..ea33d95a769d --- /dev/null +++ b/mob/living/simple_animal/hostile/space_dragon.html @@ -0,0 +1,76 @@ +/mob/living/simple_animal/hostile/space_dragon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Space Dragon

A space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event.

+

A space-faring monstrosity who has the ability to breathe dangerous fire breath and uses its powerful wings to knock foes away. +Normally spawned as an antagonist during the Space Dragon event, Space Dragon's main goal is to open three rifts from which to pull a great tide of carp onto the station. +Space Dragon can summon only one rift at a time, and can do so anywhere a blob is allowed to spawn. In order to trigger his victory condition, Space Dragon must summon and defend three rifts while they charge. +Space Dragon, when spawned, has five minutes to summon the first rift. Failing to do so will cause Space Dragon to return from whence he came. +When the rift spawns, ghosts can interact with it to spawn in as space carp to help complete the mission. One carp is granted when the rift is first summoned, with an extra one every 30 seconds. +Once the victory condition is met, all current rifts become invulnerable to damage, are allowed to spawn infinite sentient space carp, and Space Dragon gets unlimited rage. +Alternatively, if the shuttle arrives while Space Dragon is still active, their victory condition will automatically be met and all the rifts will immediately become fully charged. +If a charging rift is destroyed, Space Dragon will be incredibly slowed, and the endlag on his gust attack is greatly increased on each use. +Space Dragon has the following abilities to assist him with his objective:

+

Vars

chosen_colorThe color of the space dragon.
gust_distanceThe distance Space Dragon's gust reaches
gust_tirednessThe amount of tiredness to add to Space Dragon per use of gust
maxRiftTimerMaximum amount of time which can pass without a rift before Space Dragon despawns.
objective_completeWhether or not Space Dragon has completed their objective, and thus triggered the ending sequence.
riftThe innate ability to summon rifts
riftTimerCurrent time since the the last rift was activated. If set to -1, does not increment.
rift_listA list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.
rifts_chargedHow many rifts have been successfully charged
tearing_wallDetermines whether or not Space Dragon is currently tearing through a wall.
tirednessHow much endlag using Wing Gust should apply. Each use of wing gust increments this, and it decreases over time.
tiredness_multA multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed.
using_specialDetermines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions.

Procs

add_dragon_overlayAdds the proper overlay to the space dragon.
color_selectionAllows space dragon to choose a color for itself.
destroy_riftsDestroys all of Space Dragon's current rifts.
dragon_fire_lineWhat occurs on each tile to actually create the fire.
dragon_nameAllows space dragon to choose its own name.
eatHandles consuming and storing consumed things inside Space Dragon
empty_contentsDisperses the contents of the mob on the surrounding tiles.
fire_streamSpawns fire at each position in a line from the source to the target.
line_targetDetermines a line of turfs from sources's position to the target with length range.
permanant_empowerGives Space Dragon their the rift speed buff permanantly.
reset_statusResets Space Dragon's status after using wing gust.
rift_depowerRemoves Space Dragon's rift speed buff.
rift_empowerHandles Space Dragon's temporary empowerment after boosting a rift.
useGustHandles wing gust from the windup all the way to the endlag at the end.
victorySets up Space Dragon's victory for completing the objectives.

Var Details

chosen_color

The color of the space dragon.

gust_distance

The distance Space Dragon's gust reaches

gust_tiredness

The amount of tiredness to add to Space Dragon per use of gust

maxRiftTimer

Maximum amount of time which can pass without a rift before Space Dragon despawns.

objective_complete

Whether or not Space Dragon has completed their objective, and thus triggered the ending sequence.

rift

The innate ability to summon rifts

riftTimer

Current time since the the last rift was activated. If set to -1, does not increment.

rift_list

A list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.

rifts_charged

How many rifts have been successfully charged

tearing_wall

Determines whether or not Space Dragon is currently tearing through a wall.

tiredness

How much endlag using Wing Gust should apply. Each use of wing gust increments this, and it decreases over time.

tiredness_mult

A multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed.

using_special

Determines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions.

Proc Details

add_dragon_overlay

Adds the proper overlay to the space dragon.

+

Clears the current overlay on space dragon and adds a proper one for whatever animation he's in.

color_selection

Allows space dragon to choose a color for itself.

+

Prompts the space dragon to choose a color, from which it will then apply to itself. +If an invalid color is given, will re-prompt the dragon until a proper color is chosen.

destroy_rifts

Destroys all of Space Dragon's current rifts.

+

QDeletes all the current rifts after removing their references to other objects. +Currently, the only reference they have is to the Dragon which created them, so we clear that before deleting them. +Currently used when Space Dragon dies or one of his rifts is destroyed.

dragon_fire_line

What occurs on each tile to actually create the fire.

+

Creates a fire on the given turf. +It creates a hotspot on the given turf, damages any living mob with 30 burn damage, and damages mechs by 50. +It can only hit any given target once. +Arguments:

+

dragon_name

Allows space dragon to choose its own name.

+

Prompts the space dragon to choose a name, which it will then apply to itself. +If the name is invalid, will re-prompt the dragon until a proper name is chosen.

eat

Handles consuming and storing consumed things inside Space Dragon

+

Plays a sound and then stores the consumed thing inside Space Dragon. +Used in AttackingTarget(), paired with a heal should it succeed. +Arguments:

+

empty_contents

Disperses the contents of the mob on the surrounding tiles.

+

Randomly places the contents of the mob onto surrounding tiles. +Has a 10% chance to place on the same tile as the mob.

fire_stream

Spawns fire at each position in a line from the source to the target.

+

Spawns fire at each position in a line from the source to the target. +Stops if it comes into contact with a solid wall, a window, or a door. +Delays the spawning of each fire by 1.5 deciseconds. +Arguments:

+

line_target

Determines a line of turfs from sources's position to the target with length range.

+

Determines a line of turfs from the source's position to the target with length range. +The line will extend on past the target if the range is large enough, and not reach the target if range is small enough. +Arguments:

+

permanant_empower

Gives Space Dragon their the rift speed buff permanantly.

+

Gives Space Dragon the enraged speed buff from charging rifts permanantly. +Only happens in circumstances where Space Dragon completes their objective.

reset_status

Resets Space Dragon's status after using wing gust.

+

Resets Space Dragon's status after using wing gust. +If it isn't dead by the time it calls this method, reset the sprite back to the normal living sprite. +Also sets the using_special variable to FALSE, allowing Space Dragon to move and attack freely again.

rift_depower

Removes Space Dragon's rift speed buff.

+

Removes Space Dragon's speed buff from charging a rift. This is only called +in rift_empower, which uses a timer to call this after 30 seconds. Also +removes the red glow from Space Dragon which is synonymous with the speed buff.

rift_empower

Handles Space Dragon's temporary empowerment after boosting a rift.

+

Empowers and depowers Space Dragon after a successful rift charge. +Empowered, Space Dragon regains all his health and becomes temporarily faster for 30 seconds, along with being tinted red.

useGust

Handles wing gust from the windup all the way to the endlag at the end.

+

Handles the wing gust attack from start to finish, based on the timer. +When intially triggered, starts at 0. Until the timer reaches 10, increase Space Dragon's y position by 2 and call back to the function in 1.5 deciseconds. +When the timer is at 10, trigger the attack. Change Space Dragon's sprite. reset his y position, and push all living creatures back in a 3 tile radius and stun them for 5 seconds. +Stay in the ending state for how much our tiredness dictates and add to our tiredness. +Arguments:

+

victory

Sets up Space Dragon's victory for completing the objectives.

+

Triggers when Space Dragon completes his objective. +Calls the shuttle with a coefficient of 3, making it impossible to recall. +Sets all of his rifts to allow for infinite sentient carp spawns +Also plays appropiate sounds and CENTCOM messages.

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/swarmer.html b/mob/living/simple_animal/hostile/swarmer.html new file mode 100644 index 000000000000..50bbf84e3232 --- /dev/null +++ b/mob/living/simple_animal/hostile/swarmer.html @@ -0,0 +1 @@ +/mob/living/simple_animal/hostile/swarmer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

swarmer

The Mob itself

Procs

AttackingTargetCTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S
FabricateEND CTRL CLICK FOR SWARMERS

Proc Details

AttackingTarget

CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S

Fabricate

END CTRL CLICK FOR SWARMERS

\ No newline at end of file diff --git a/mob/living/simple_animal/hostile/venus_human_trap.html b/mob/living/simple_animal/hostile/venus_human_trap.html new file mode 100644 index 000000000000..fb6bbbe7597d --- /dev/null +++ b/mob/living/simple_animal/hostile/venus_human_trap.html @@ -0,0 +1,22 @@ +/mob/living/simple_animal/hostile/venus_human_trap - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

venus_human_trap

Venus Human Trap

+

The result of a kudzu flower bud, these enemies use vines to drag prey close to them for attack.

+

A carnivorious plant which uses vines to catch and ensnare prey. Spawns from kudzu flower buds. +Each one has a maximum of four vines, which can be attached to a variety of things. Carbons are stunned when a vine is attached to them, and movable entities are pulled closer over time. +Attempting to attach a vine to something with a vine already attached to it will pull all movable targets closer on command. +Once the prey is in melee range, melee attacks from the venus human trap heals itself for 10% of its max health, assuming the target is alive. +Akin to certain spiders, venus human traps can also be possessed and controlled by ghosts.

Vars

max_vinesThe maximum amount of vines a plant can have at one time
playable_plantWhether or not this plant is ghost possessable
vine_grab_distanceHow far away a plant can attach a vine to something
vinesA list of all the plant's vines

Procs

humanize_plantSets a ghost to control the plant if the plant is eligible
pull_vinesManages how the vines should affect the things they're attached to.
remove_vineRemoves a vine from the list.

Var Details

max_vines

The maximum amount of vines a plant can have at one time

playable_plant

Whether or not this plant is ghost possessable

vine_grab_distance

How far away a plant can attach a vine to something

vines

A list of all the plant's vines

Proc Details

humanize_plant

Sets a ghost to control the plant if the plant is eligible

+

Asks the interacting ghost if they would like to control the plant. +If they answer yes, and another ghost hasn't taken control, sets the ghost to control the plant. +Arguments:

+

pull_vines

Manages how the vines should affect the things they're attached to.

+

Pulls all movable targets of the vines closer to the plant +If the target is on the same tile as the plant, destroy the vine +Removes any QDELETED vines from the vines list.

remove_vine

Removes a vine from the list.

+

Removes the vine from our list. +Called specifically when the vine is about to be destroyed, so we don't have any null references. +Arguments:

+
\ No newline at end of file diff --git a/mob/living/simple_animal/jacq.html b/mob/living/simple_animal/jacq.html new file mode 100644 index 000000000000..a4e82b9f66da --- /dev/null +++ b/mob/living/simple_animal/jacq.html @@ -0,0 +1 @@ +/mob/living/simple_animal/jacq - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

jacq

MOBS

Vars

busyI'm busy, don't move.

Var Details

busy

I'm busy, don't move.

\ No newline at end of file diff --git a/mob/living/simple_animal/mouse.html b/mob/living/simple_animal/mouse.html new file mode 100644 index 000000000000..779c06c84955 --- /dev/null +++ b/mob/living/simple_animal/mouse.html @@ -0,0 +1 @@ +/mob/living/simple_animal/mouse - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mouse

Procs

be_fruitfulChecks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.
evolveSpawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind.

Proc Details

be_fruitful

Checks the mouse cap, if it's above the cap, doesn't spawn a mouse. If below, spawns a mouse and adds it to cheeserats.

evolve

Spawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind.

\ 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 000000000000..70e130cbb251 --- /dev/null +++ b/mob/living/simple_animal/parrot.html @@ -0,0 +1 @@ +/mob/living/simple_animal/parrot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

parrot

Vars

spawns_with_headsetspawns with headset

Var Details

spawns_with_headset

spawns with headset

\ 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 000000000000..4f677d4ea6fe --- /dev/null +++ b/mob/living/simple_animal/slime.html @@ -0,0 +1 @@ +/mob/living/simple_animal/slime - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

slime

Vars

colourTIME FOR SUBSPECIES
effectmodCORE-CROSSING CODE

Var Details

colour

TIME FOR SUBSPECIES

effectmod

CORE-CROSSING CODE

\ No newline at end of file diff --git a/modular_citadel.html b/modular_citadel.html new file mode 100644 index 000000000000..ebe8f280249c --- /dev/null +++ b/modular_citadel.html @@ -0,0 +1,3 @@ +modular_citadel/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_citadel/README.md

Hooray modularity!

+

Things that modify core files without directly touching said core files go here. This is similar to how Hippie handles things. +This stops dreammaker from throwing errors and warnings if you try to compile these files while they're inside code/citadel/.

\ No newline at end of file diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.html b/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.html new file mode 100644 index 000000000000..37b4651d3ff6 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/handguns.html @@ -0,0 +1 @@ +modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_citadel/code/modules/projectiles/guns/ballistic/handguns.dm

/obj/item/gun/ballistic/automatic/toy/pistol/stealthfoam stealth pistol
/obj/item/projectile/beam/lasertag/rayRAYGUN MEMES
\ No newline at end of file diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.html b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.html new file mode 100644 index 000000000000..5ee3ed3d4b26 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/rifles.html @@ -0,0 +1,3 @@ +modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_citadel/code/modules/projectiles/guns/ballistic/rifles.dm

/obj/item/gun/ballistic/automatic/x9XCOM X9 AR
/obj/item/ammo_box/magazine/toy/x9toy memes +toy memes
/obj/item/ammo_casing/c46x30mm/rubbersecurity rifles special ammo
/obj/item/projectile/bullet/cflechetteap///Flechette Launcher/// +projectiles
/obj/item/ammo_casing/caseless/flechetteapammo casings (CASELESS AMMO CASINGS WOOOOOOOO)
/obj/item/ammo_box/magazine/flechettemagazine
/obj/item/gun/ballistic/automatic/flechettethe gun itself
/obj/item/projectile/bullet/cflechetteshredderunique variant
\ No newline at end of file diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.html b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.html new file mode 100644 index 000000000000..6986a0597718 --- /dev/null +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.html @@ -0,0 +1 @@ +modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm

/obj/item/projectile/bullet/spinfusorspinfusor stuff
\ No newline at end of file diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.html b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.html new file mode 100644 index 000000000000..230d0315d4ba --- /dev/null +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.html @@ -0,0 +1 @@ +modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm

/datum/reagent/fermi/butt_enlargerAss enhancer
\ No newline at end of file diff --git a/modular_citadel/sound/voice/pain emote credits.html b/modular_citadel/sound/voice/pain emote credits.html new file mode 100644 index 000000000000..503c2c6bb7c8 --- /dev/null +++ b/modular_citadel/sound/voice/pain emote credits.html @@ -0,0 +1,2 @@ +modular_citadel/sound/voice/pain emote credits.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_citadel/sound/voice/pain emote credits.txt

pain emote sound ported from https://gitlab.com/cmdevs/colonial-warfare```
+
\ No newline at end of file diff --git a/modular_sand/code/controllers/configuration/entries/sandstorm_balance.html b/modular_sand/code/controllers/configuration/entries/sandstorm_balance.html new file mode 100644 index 000000000000..a42786974ec1 --- /dev/null +++ b/modular_sand/code/controllers/configuration/entries/sandstorm_balance.html @@ -0,0 +1 @@ +modular_sand/code/controllers/configuration/entries/sandstorm_balance.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/controllers/configuration/entries/sandstorm_balance.dm

/datum/config_entry/flag/crypto_ignore_atmosCRYPTOMINERS
/datum/config_entry/number/autodoc_time_surgery_baseAUTODOC
/datum/config_entry/number/bluespaceminer_mult_outputBLUESPACE MINER
/datum/config_entry/flag/tetris_no_scienceTETRIS ARCADE MACHINE
/datum/config_entry/flag/protolock_during_lowpopR&D Machinery
\ No newline at end of file diff --git a/modular_sand/code/datums/components/container_item/container_item.html b/modular_sand/code/datums/components/container_item/container_item.html new file mode 100644 index 000000000000..664371b6b5b8 --- /dev/null +++ b/modular_sand/code/datums/components/container_item/container_item.html @@ -0,0 +1 @@ +modular_sand/code/datums/components/container_item/container_item.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/datums/components/container_item/container_item.dm

/datum/component/container_itemContainer item, an item which can be stored by specialized containers.
\ No newline at end of file diff --git a/modular_sand/code/datums/components/container_item/tank_holder.html b/modular_sand/code/datums/components/container_item/tank_holder.html new file mode 100644 index 000000000000..68351c995c23 --- /dev/null +++ b/modular_sand/code/datums/components/container_item/tank_holder.html @@ -0,0 +1 @@ +modular_sand/code/datums/components/container_item/tank_holder.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/datums/components/container_item/tank_holder.dm

/datum/component/container_item/tank_holderTank holder item - Added to an object which can be added to a tank holder.
\ No newline at end of file diff --git a/modular_sand/code/datums/components/interaction_menu_granter.html b/modular_sand/code/datums/components/interaction_menu_granter.html new file mode 100644 index 000000000000..a253a8dbec6a --- /dev/null +++ b/modular_sand/code/datums/components/interaction_menu_granter.html @@ -0,0 +1 @@ +modular_sand/code/datums/components/interaction_menu_granter.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/datums/components/interaction_menu_granter.dm

/datum/component/interaction_menu_granterThe menu itself, only var is target which is the mob you are interacting with
\ No newline at end of file diff --git a/modular_sand/code/datums/interactions/_interaction.html b/modular_sand/code/datums/interactions/_interaction.html new file mode 100644 index 000000000000..1f1eb70efce7 --- /dev/null +++ b/modular_sand/code/datums/interactions/_interaction.html @@ -0,0 +1 @@ +modular_sand/code/datums/interactions/_interaction.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/datums/interactions/_interaction.dm

/datum/interactionThe base of all interactions
\ No newline at end of file diff --git a/modular_sand/code/game/mecha/mecha_parts.html b/modular_sand/code/game/mecha/mecha_parts.html new file mode 100644 index 000000000000..5badae5b786c --- /dev/null +++ b/modular_sand/code/game/mecha/mecha_parts.html @@ -0,0 +1 @@ +modular_sand/code/game/mecha/mecha_parts.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/game/mecha/mecha_parts.dm

/obj/item/mecha_parts/chassis/powerarmorCustom Mech Parts //////
\ No newline at end of file diff --git a/modular_sand/code/game/objects/items/fleshlight.html b/modular_sand/code/game/objects/items/fleshlight.html new file mode 100644 index 000000000000..c9c7c726b279 --- /dev/null +++ b/modular_sand/code/game/objects/items/fleshlight.html @@ -0,0 +1,3 @@ +modular_sand/code/game/objects/items/fleshlight.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/game/objects/items/fleshlight.dm

/obj/item/fleshlightHumbley request this doesnt get ported to other code bases, we strive to make things unique on our server and we dont have a lot of coders +but if you absolutely must. please give us some credit~ <3 +made by quotefox and heavily modified by SandPoot
/obj/item/portallightkinky!
/obj/item/clothing/underwear/briefs/panties/portalpantiesWear it, cannot be worn if not pointing to the bits you have.
\ No newline at end of file diff --git a/modular_sand/code/game/objects/items/plushes.html b/modular_sand/code/game/objects/items/plushes.html new file mode 100644 index 000000000000..c8c6af129425 --- /dev/null +++ b/modular_sand/code/game/objects/items/plushes.html @@ -0,0 +1 @@ +modular_sand/code/game/objects/items/plushes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/game/objects/items/plushes.dm

/obj/item/toy/plush/cubecube guy thing. beware, very silly
\ No newline at end of file diff --git a/modular_sand/code/game/objects/structures/ghost_role_spawners.html b/modular_sand/code/game/objects/structures/ghost_role_spawners.html new file mode 100644 index 000000000000..38656c96c229 --- /dev/null +++ b/modular_sand/code/game/objects/structures/ghost_role_spawners.html @@ -0,0 +1 @@ +modular_sand/code/game/objects/structures/ghost_role_spawners.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/game/objects/structures/ghost_role_spawners.dm

/obj/effect/mob_spawn/robotobj/item/kirbyplants/diamond
\ No newline at end of file diff --git a/modular_sand/code/game/objects/structures/tank_holder.html b/modular_sand/code/game/objects/structures/tank_holder.html new file mode 100644 index 000000000000..76dc31400cf3 --- /dev/null +++ b/modular_sand/code/game/objects/structures/tank_holder.html @@ -0,0 +1 @@ +modular_sand/code/game/objects/structures/tank_holder.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/game/objects/structures/tank_holder.dm

/obj/structure/tank_holder?
\ No newline at end of file diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.html b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.html new file mode 100644 index 000000000000..970b20c4a117 --- /dev/null +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.html @@ -0,0 +1,6 @@ +modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/candy.dm

/mob/living/simple_animal/hostile/asteroid/elite/candyKind of like bubblegum's rebellious teenage son/daughter. +Has 4 attacks. +Charge - Charges at it's target. +Bloody Trap - Traps it's target between some walls, and then charges at them. +Meat Shield - Knockbacks all targets in the 3 tiles he faces, and then creates a wall. +Knockdown - Deals damage and knockbacks all targets in a 2 tile radius.
\ No newline at end of file diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.html b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.html new file mode 100644 index 000000000000..499780d09cfd --- /dev/null +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.html @@ -0,0 +1,2 @@ +modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/drakeling.dm

/mob/living/simple_animal/hostile/asteroid/elite/drakelingA small drake/dragon. +Has four attacks.
\ No newline at end of file diff --git a/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.html b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.html new file mode 100644 index 000000000000..a347b96c1970 --- /dev/null +++ b/modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.html @@ -0,0 +1,2 @@ +modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/fanaticminer.dm

/mob/living/simple_animal/hostile/asteroid/elite/minerpriestKind of like BD miner's son trying to impress their dad. +Has four attacks.
\ No newline at end of file diff --git a/modular_sand/code/modules/reagents/chemistry/reagents.html b/modular_sand/code/modules/reagents/chemistry/reagents.html new file mode 100644 index 000000000000..e651a66cebdd --- /dev/null +++ b/modular_sand/code/modules/reagents/chemistry/reagents.html @@ -0,0 +1 @@ +modular_sand/code/modules/reagents/chemistry/reagents.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/reagents/chemistry/reagents.dm

/proc/get_thirstDon't blame me if they have negative thirst, admeme.
\ No newline at end of file diff --git a/modular_sand/code/modules/research/designs/mechfabricator_designs.html b/modular_sand/code/modules/research/designs/mechfabricator_designs.html new file mode 100644 index 000000000000..fc0f81eba33f --- /dev/null +++ b/modular_sand/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1 @@ +modular_sand/code/modules/research/designs/mechfabricator_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/research/designs/mechfabricator_designs.dm

/datum/design/powerarmor_skeletonPower Armor
\ No newline at end of file diff --git a/modular_sand/code/modules/research/designs/medical_designs.html b/modular_sand/code/modules/research/designs/medical_designs.html new file mode 100644 index 000000000000..7e0d831e7d45 --- /dev/null +++ b/modular_sand/code/modules/research/designs/medical_designs.html @@ -0,0 +1 @@ +modular_sand/code/modules/research/designs/medical_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/research/designs/medical_designs.dm

/datum/design/ultimatebeakerEnd of Power Armor
\ No newline at end of file diff --git a/modular_sand/code/modules/research/designs/telecomms_designs.html b/modular_sand/code/modules/research/designs/telecomms_designs.html new file mode 100644 index 000000000000..916ade15d375 --- /dev/null +++ b/modular_sand/code/modules/research/designs/telecomms_designs.html @@ -0,0 +1 @@ +modular_sand/code/modules/research/designs/telecomms_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/research/designs/telecomms_designs.dm

/datum/design/encryptionHeadset Encryption
/datum/design/board/message_serverTelecomm Server
\ No newline at end of file diff --git a/modular_sand/code/modules/telescience/telepad.html b/modular_sand/code/modules/telescience/telepad.html new file mode 100644 index 000000000000..2973d22faa2b --- /dev/null +++ b/modular_sand/code/modules/telescience/telepad.html @@ -0,0 +1 @@ +modular_sand/code/modules/telescience/telepad.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/code/modules/telescience/telepad.dm

/obj/machinery/telepadSCI TELEPAD
\ No newline at end of file diff --git a/modular_sand/icons/mob/cyborg/Drakeborg-licensing.html b/modular_sand/icons/mob/cyborg/Drakeborg-licensing.html new file mode 100644 index 000000000000..393cdb2e0f1e --- /dev/null +++ b/modular_sand/icons/mob/cyborg/Drakeborg-licensing.html @@ -0,0 +1,70 @@ +modular_sand/icons/mob/cyborg/Drakeborg-licensing.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/icons/mob/cyborg/Drakeborg-licensing.txt

Drakeborg & drakeplushies are created by deviantart.com/mizartz
+
+https://creativecommons.org/licenses/by-nc-sa/3.0/
+Attribution-NonCommercial-ShareAlike 3.0 Unported
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+License
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+"Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+"License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike.
+"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+to Distribute and Publicly Perform Adaptations.
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested.
+You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
+You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works.
+If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+For the avoidance of doubt:
+
+Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
+Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c).
+Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+8. Miscellaneous
+
+Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+Creative Commons Notice
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at https://creativecommons.org/.```
+
\ No newline at end of file diff --git a/modular_sand/icons/obj/license.html b/modular_sand/icons/obj/license.html new file mode 100644 index 000000000000..1e42ae1fab68 --- /dev/null +++ b/modular_sand/icons/obj/license.html @@ -0,0 +1,4 @@ +modular_sand/icons/obj/license.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_sand/icons/obj/license.txt

modular_sand/icons/obj/plushies.dmi's icon state of secdrake and meddrake by Mizartz. It has been licensed under the CC BY-NC-SA 3.0 license.
+
+CC BY-NC-SA 3.0 https://creativecommons.org/licenses/by-nc-sa/3.0/```
+
\ No newline at end of file diff --git a/modular_splurt.html b/modular_splurt.html new file mode 100644 index 000000000000..c3969428afa4 --- /dev/null +++ b/modular_splurt.html @@ -0,0 +1,2 @@ +modular_splurt/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

About modularizing defines

Since #define clauses can't be properly modularized and need to be loaded first than the rest of the code for it to catch them, the modular_splurt/code/_DEFINES/ folder has been deleted and all of its contents have been moved to code\__SPLURTCODE\DEFINES

+

Please use this folder the same way you'd use the _DEFINES folder once found inside this directory

\ No newline at end of file diff --git a/modular_splurt/code/__HELPERS/spawns.html b/modular_splurt/code/__HELPERS/spawns.html new file mode 100644 index 000000000000..c783ce39e2a3 --- /dev/null +++ b/modular_splurt/code/__HELPERS/spawns.html @@ -0,0 +1 @@ +modular_splurt/code/__HELPERS/spawns.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/__HELPERS/spawns.dm

/proc/podspawnOne proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)
\ No newline at end of file diff --git a/modular_splurt/code/controllers/subsystem/discord.html b/modular_splurt/code/controllers/subsystem/discord.html new file mode 100644 index 000000000000..b2cd48b8fede --- /dev/null +++ b/modular_splurt/code/controllers/subsystem/discord.html @@ -0,0 +1 @@ +modular_splurt/code/controllers/subsystem/discord.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/controllers/subsystem/discord.dm

/var/SSdiscord
\ No newline at end of file diff --git a/modular_splurt/code/datums/interactions/lewd/lewd_datums.html b/modular_splurt/code/datums/interactions/lewd/lewd_datums.html new file mode 100644 index 000000000000..dd8f30f065d1 --- /dev/null +++ b/modular_splurt/code/datums/interactions/lewd/lewd_datums.html @@ -0,0 +1 @@ +modular_splurt/code/datums/interactions/lewd/lewd_datums.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/datums/interactions/lewd/lewd_datums.dm

/datum/interaction/lewd/unholyU N H O L Y
\ No newline at end of file diff --git a/modular_splurt/code/datums/status_effects/pregnancy.html b/modular_splurt/code/datums/status_effects/pregnancy.html new file mode 100644 index 000000000000..957ec0aa29f9 --- /dev/null +++ b/modular_splurt/code/datums/status_effects/pregnancy.html @@ -0,0 +1 @@ +modular_splurt/code/datums/status_effects/pregnancy.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/datums/status_effects/pregnancy.dm

/atom/movable/screen/alert/status_effect/pregnancyWho is the liar but he who denies that Jesus is the Christ? This is the antichrist, he who denies the Father and the Son.
\ No newline at end of file diff --git a/modular_splurt/code/game/area/areas/shuttles.html b/modular_splurt/code/game/area/areas/shuttles.html new file mode 100644 index 000000000000..0cfaa9b02729 --- /dev/null +++ b/modular_splurt/code/game/area/areas/shuttles.html @@ -0,0 +1 @@ +modular_splurt/code/game/area/areas/shuttles.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/game/area/areas/shuttles.dm

/area/shuttle/slaveshipSlave Trader Shuttle
\ No newline at end of file diff --git a/modular_splurt/code/game/objects/items/lewd_items/leash.html b/modular_splurt/code/game/objects/items/lewd_items/leash.html new file mode 100644 index 000000000000..f6a80b6f247f --- /dev/null +++ b/modular_splurt/code/game/objects/items/lewd_items/leash.html @@ -0,0 +1 @@ +modular_splurt/code/game/objects/items/lewd_items/leash.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/game/objects/items/lewd_items/leash.dm

/datum/status_effect/leash_domSTATUS EFFECTS
/obj/item/leashOBJECT
\ No newline at end of file diff --git a/modular_splurt/code/game/objects/items/robot/robot_items.html b/modular_splurt/code/game/objects/items/robot/robot_items.html new file mode 100644 index 000000000000..58af75a0a641 --- /dev/null +++ b/modular_splurt/code/game/objects/items/robot/robot_items.html @@ -0,0 +1 @@ +modular_splurt/code/game/objects/items/robot/robot_items.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

modular_splurt/code/game/objects/items/robot/robot_items.dm

MAX_PAPER_INTEGRATED_CLIPBOARDCargo Borg Items
/obj/item/gripper/serviceEnd Cargo Borg Items

Define Details

MAX_PAPER_INTEGRATED_CLIPBOARD

Cargo Borg Items

\ No newline at end of file diff --git a/modular_splurt/code/game/objects/structures/bed_chairs/sofa.html b/modular_splurt/code/game/objects/structures/bed_chairs/sofa.html new file mode 100644 index 000000000000..8aa9e6966221 --- /dev/null +++ b/modular_splurt/code/game/objects/structures/bed_chairs/sofa.html @@ -0,0 +1 @@ +modular_splurt/code/game/objects/structures/bed_chairs/sofa.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

modular_splurt/code/game/objects/structures/bed_chairs/sofa.dm

COLORED_SOFACreate colored subtypes for sofas

Define Details

COLORED_SOFA

Create colored subtypes for sofas

\ No newline at end of file diff --git a/modular_splurt/code/game/objects/structures/cannons/cannon.html b/modular_splurt/code/game/objects/structures/cannons/cannon.html new file mode 100644 index 000000000000..10948b4a7cf4 --- /dev/null +++ b/modular_splurt/code/game/objects/structures/cannons/cannon.html @@ -0,0 +1 @@ +modular_splurt/code/game/objects/structures/cannons/cannon.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

modular_splurt/code/game/objects/structures/cannons/cannon.dm

BAD_FUEL_DAMAGE_TAXhow much projectile damage is lost when using a bad fuel
BAD_FUEL_EXPLODE_PROBABILTYextra chance it explodes upon firing

Define Details

BAD_FUEL_DAMAGE_TAX

how much projectile damage is lost when using a bad fuel

BAD_FUEL_EXPLODE_PROBABILTY

extra chance it explodes upon firing

\ No newline at end of file diff --git a/modular_splurt/code/modules/antagonists/_common/antag_spawner.html b/modular_splurt/code/modules/antagonists/_common/antag_spawner.html new file mode 100644 index 000000000000..3beec3267dcf --- /dev/null +++ b/modular_splurt/code/modules/antagonists/_common/antag_spawner.html @@ -0,0 +1 @@ +modular_splurt/code/modules/antagonists/_common/antag_spawner.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/antagonists/_common/antag_spawner.dm

/obj/item/antag_spawner/slaver_borgSLAVER BORG
\ No newline at end of file diff --git a/modular_splurt/code/modules/clothing/lewd_clothing/collar/kink_collars.html b/modular_splurt/code/modules/clothing/lewd_clothing/collar/kink_collars.html new file mode 100644 index 000000000000..5a9eb5a64f71 --- /dev/null +++ b/modular_splurt/code/modules/clothing/lewd_clothing/collar/kink_collars.html @@ -0,0 +1 @@ +modular_splurt/code/modules/clothing/lewd_clothing/collar/kink_collars.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/clothing/lewd_clothing/collar/kink_collars.dm

/obj/item/mind_controllerMIND CONTROL COLLAR
\ No newline at end of file diff --git a/modular_splurt/code/modules/clothing/lewd_clothing/foot/lewd_shoes.html b/modular_splurt/code/modules/clothing/lewd_clothing/foot/lewd_shoes.html new file mode 100644 index 000000000000..da95fcbfd614 --- /dev/null +++ b/modular_splurt/code/modules/clothing/lewd_clothing/foot/lewd_shoes.html @@ -0,0 +1 @@ +modular_splurt/code/modules/clothing/lewd_clothing/foot/lewd_shoes.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/clothing/lewd_clothing/foot/lewd_shoes.dm

/obj/item/clothing/shoes/latex_socksLatex socks
/obj/item/clothing/shoes/dominaheelsDomina heels
\ No newline at end of file diff --git a/modular_splurt/code/modules/clothing/misc/body_camera.html b/modular_splurt/code/modules/clothing/misc/body_camera.html new file mode 100644 index 000000000000..f3579c9befa5 --- /dev/null +++ b/modular_splurt/code/modules/clothing/misc/body_camera.html @@ -0,0 +1 @@ +modular_splurt/code/modules/clothing/misc/body_camera.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/clothing/misc/body_camera.dm

/obj/item/bodycam_upgradeThe bodycamera
/datum/component/bodycamera_holderBodycamera component
\ No newline at end of file diff --git a/modular_splurt/code/modules/clothing/suits/cloaks.html b/modular_splurt/code/modules/clothing/suits/cloaks.html new file mode 100644 index 000000000000..ce10c499035e --- /dev/null +++ b/modular_splurt/code/modules/clothing/suits/cloaks.html @@ -0,0 +1 @@ +modular_splurt/code/modules/clothing/suits/cloaks.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/clothing/suits/cloaks.dm

/obj/item/clothing/suit/hooded/teshari/standard/lightgrey_greyobj/item/clothing/suit/hooded/teshari/standard/rainbow
\ No newline at end of file diff --git a/modular_splurt/code/modules/discord/discord_link_record.html b/modular_splurt/code/modules/discord/discord_link_record.html new file mode 100644 index 000000000000..fb84b965b49f --- /dev/null +++ b/modular_splurt/code/modules/discord/discord_link_record.html @@ -0,0 +1 @@ +modular_splurt/code/modules/discord/discord_link_record.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/discord/discord_link_record.dm

/datum/discord_link_recordRepresents a record from the discord link table in a nicer format
\ No newline at end of file diff --git a/modular_splurt/code/modules/jobs/job_types/blueshield.html b/modular_splurt/code/modules/jobs/job_types/blueshield.html new file mode 100644 index 000000000000..1548c95eb7ed --- /dev/null +++ b/modular_splurt/code/modules/jobs/job_types/blueshield.html @@ -0,0 +1 @@ +modular_splurt/code/modules/jobs/job_types/blueshield.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/jobs/job_types/blueshield.dm

/datum/martial_art/cqc/blueshieldSubtype of CQC. Only used for the Blueshit.
\ No newline at end of file diff --git a/modular_splurt/code/modules/mapping/modular_map_loader.html b/modular_splurt/code/modules/mapping/modular_map_loader.html new file mode 100644 index 000000000000..64fdc002be08 --- /dev/null +++ b/modular_splurt/code/modules/mapping/modular_map_loader.html @@ -0,0 +1,89 @@ +modular_splurt/code/modules/mapping/modular_map_loader/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Modular Map Loader

Concept

+

Modular map loading is a system to allow maps to be generated with random variants by selecting from a set of pre-made modules. The system is designed to be as simple as possible for mappers to use, with a minimum of interaction with the code required.

+

Implementation

/obj/modular_map_root

+

This root object handled picking and loading in map modules. It has two variables, and one proc.

+
    +
  • var/config_file - A string, points to a TOML configuration file, which is used to hold the information necessary to pull the correct map files and place them on the correct roots. This will be the same for all roots on a map.
  • +
  • var/key - A string, used to pull a list of .dmm files from the configuration file.
  • +
  • load_map() - Called asynchronously in the root's Initialize(). This proc creates a new instance of /datum/map_template/map_module, ingests the configuration file config_file points to, and picks a .dmm file path which maps to the root's key, by picking a random filename from among those which key maps to, and appending it to a folder path. This file path is passed into the map templace instance's load(), and the template takes over.
  • +
+

INITIALIZE_IMMEDIATE is used to ensure the ruins are loaded at the right time to avoid runtime errors related to lighting.

+

/datum/map_template/map_module

+

This map templace subtype is responsible for loading in the module, it has two variables and two relevant procs.

+
    +
  • var/x_offset and var/y_offset - Integers, used to store the offsets used to correctly align the module when it is loaded.
  • +
  • load() - Extends the functionality of the general map template's load() to allow a map to be specified at runtime. This means preload_size() must be called again here as the template's map file has been changed. The origin turf for the map to be loaded from is set using the offsets, and the map is loaded as per the parent.
  • +
  • preload_size() - Extends the functionality of the general map template's preload_size() to run the discover_offset proc, calculating the offset of /obj/modular_map_connector and setting the offset variables accordingly.
  • +
+

/obj/modular_map_connector

+

This object is used only to determine the offsets to be used on loading, and has no other functionality.

+

TOML configuration

+

This TOML file is used to map between a list of .dmm files and a string key. The file consists of two parts. The first is a line

+
directory = "_maps/etc/"
+
+

which points at a folder containing the .dmm files of the modules used in the map. The second is a series of tables

+
[rooms.example]
+modules = ["example_1.dmm", "example_2.dmm"]
+
+

which contains the mapping between the key "example" and the list of filenames ["example_1.dmm", "example_2.dmm"].

+

/datum/unit_test/modular_map_loader

+

This is the unit test for modular map loading. It performs two checks on every subtype of /obj/modular_map_root. First it checks if the file config_file points at, and if it does not the test is failed because the file does not exist. If it does exist, it then attempts to read the file, if this is null it means the fild is not valid TOML, and the test is failed because the TOML file is invalid.

+

How-To

+

This section will cover the basics of how to use map modules as a mapper. If you want a concrete example to look at, the space ruin _maps/RandomRuins/SpaceRuins/DJstation.dmm and its associated code, configuration and modules employ all the techniques covered in this tutorial.

+

The Main Map

+

First we need to create a map, as we usually would. Let's say we want to create a new space ruin foobar.dmm, and we put it in the appropriate folder as usual, _maps/RandomRuins/SpaceRuins/foobar.dmm. We now need to create three more things.

+
    +
  • code/modules/ruins/spaceruin_code/foobar.dm - A code file like would be used to store any code specific to this map.
  • +
  • strings/modular_maps/foobar.toml- A configuration file, this will be looked at in more detail later.
  • +
  • _maps/RandomRuins/SpaceRuins/foobar/ - A new subfolder, which is where we will put the .dmm files for the modules.
  • +
+

In code/modules/ruins/spaceruin_code/foobar.dm we need to add a small piece of code to define a new modular map root type for our map, which should look like this

+
/obj/modular_map_root/foobar
+	config_file = "strings/modular_maps/foobar.toml"
+
+

This means when we place root objects /obj/modular_map_root in our new map, we use this subtype that points to the correct configuration file.

+

When creating our main map, we place one of these roots in the location we want to generate a module at. Typically this would be placed at a natural landmark, such as a doorway. We then edit the varaibles of the placed root object, and set the key var to some string, let's use key = vault. Make the rest of the map, ensuring that every root you want to use a unique set of modules has a unique key.

+

Module Maps

+

Now we need to make the modules to be placed on our roots. These will be saved in the folder we created earlier, _maps/RandomRuins/SpaceRuins/foobar/. Modules do not have to be the same size, so long as all modules will fit properly on the root without running into other parts of the map.

+

When making a module, you need to include a connector object /obj/modular_map_connector. When the module is loaded, it will be offset so this connector is placed on top of the root on the main map.

+

We will be making the first variant of our vault module, so we save this as vault_1.dmm, following the format [key]_[number].dmm. Keep doing this until all your modules have been made.

+

If you wish, you can also place another root on a module, if for some reason that module's position is dependent on the current one. IF you do this, make sure you've placed a root with the same key on every variant of the current module (unless you only want it to appear on certain varaints of this one.)

+

Configuration

+

Now we go back to our configuration file strings/modular_maps/foobar.toml. Say we ended up using three different sets of modules in our map, vault, airlock and bathroom, each of which have two variants. We want our .toml file to look like this

+
directory = "_maps/RandomRuins/SpaceRuins/foobar/"
+
+[rooms.vault]
+modules = ["vault_1.dmm", "vault_2.dmm"]
+
+[rooms.airlock]
+modules = ["airlock_1.dmm", "airlock_2.dmm"]
+
+[rooms.bathroom]
+modules = ["bathroom_1.dmm", "bathroom_2.dmm"]
+
+

Let's break down what is happening here.

+

directory = "_maps/RandomRuins/SpaceRuins/foobar/" points to the folder where our modules are stored.

+

[rooms.vault] identifies the following line as being the modules for a root with key = vault.

+

modules = ["vault_1.dmm", "vault_2.dmm"] specifies which map files within the folder are to be associated with this key.

+

Once this configuration is done, the map should be fully functional. Compile and run, place your map somewhere, and continue doing this until you have satisfied yourself that everything looks how you expected it to. Remember to do everything else you need to do when adding any new ruin, or whatever kind of map you made.

+

Common Mistakes

+
+

My map has modules that didn't load!

+
+

Check your configuration is correct. Do the filenames given for the problem root match the names of the map files? Is the key specified in the configuration file the same as the one on the root in the map?

+
+

A module is loading in the wrong location!

+
+

Check the positioning of the connector is correct, and that only one is placed on the module.

+
+

My ruin is spawning too close to or overlapping with something!

+
+

Make sure your main map is large enough to fully contain the most expansive variation that can possibly be chosen.

+
+

Parts of my map are overlapping with each other!

+
+

Make sure modules placed adjacent or close to each other have no combination of variants which can overlap with each other, this may take some trial and error in complicated cases.

+
+

My map still isn't working and I don't know what's wrong!

+
+

Ping @Maintainer in our coding channels if you need any help or find any problems

\ No newline at end of file diff --git a/modular_splurt/code/modules/mob/dead/new_player/sprite_accesories/body_markings.html b/modular_splurt/code/modules/mob/dead/new_player/sprite_accesories/body_markings.html new file mode 100644 index 000000000000..4ca42867dbd4 --- /dev/null +++ b/modular_splurt/code/modules/mob/dead/new_player/sprite_accesories/body_markings.html @@ -0,0 +1 @@ +modular_splurt/code/modules/mob/dead/new_player/sprite_accesories/body_markings.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/mob/dead/new_player/sprite_accesories/body_markings.dm

/datum/sprite_accessory/mam_body_markings/pigeonFurry Markings
/datum/sprite_accessory/insect_fluff/hyenaInsect Markings
\ No newline at end of file diff --git a/modular_splurt/code/modules/mob/living/silicon/robot/robot_modules.html b/modular_splurt/code/modules/mob/living/silicon/robot/robot_modules.html new file mode 100644 index 000000000000..e3b919f0a0cc --- /dev/null +++ b/modular_splurt/code/modules/mob/living/silicon/robot/robot_modules.html @@ -0,0 +1 @@ +modular_splurt/code/modules/mob/living/silicon/robot/robot_modules.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/mob/living/silicon/robot/robot_modules.dm

/obj/item/robot_module/cargoCargo Borgs!
\ No newline at end of file diff --git a/modular_splurt/code/modules/research/designs/mechfabricator_designs.html b/modular_splurt/code/modules/research/designs/mechfabricator_designs.html new file mode 100644 index 000000000000..96b7ff47c15a --- /dev/null +++ b/modular_splurt/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1 @@ +modular_splurt/code/modules/research/designs/mechfabricator_designs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/research/designs/mechfabricator_designs.dm

/datum/design/ipc_heartSynth Organs
\ No newline at end of file diff --git a/modular_splurt/code/modules/vehicles/mecha/combat/savannah_ivanov.html b/modular_splurt/code/modules/vehicles/mecha/combat/savannah_ivanov.html new file mode 100644 index 000000000000..54d6d3dc25c4 --- /dev/null +++ b/modular_splurt/code/modules/vehicles/mecha/combat/savannah_ivanov.html @@ -0,0 +1 @@ +modular_splurt/code/modules/vehicles/mecha/combat/savannah_ivanov.dm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesDefine Details

modular_splurt/code/modules/vehicles/mecha/combat/savannah_ivanov.dm

SKYFALL_SINGLE_CHARGE_TIMEhow much time between charge_level going up by 1
SKYFALL_CHARGELEVEL_LAUNCHenough charge level to take off, basically done charging
TOTAL_SKYFALL_LEAP_TIMEhow much time you're in the air
/obj/vehicle/sealed/mecha/combat/savannah_ivanov
/datum/action/vehicle/sealed/mecha/skyfallSavannah Skyfall
/obj/effect/skyfall_landingzonea simple indicator of where the skyfall is going to land.

Define Details

SKYFALL_CHARGELEVEL_LAUNCH

enough charge level to take off, basically done charging

SKYFALL_SINGLE_CHARGE_TIME

how much time between charge_level going up by 1

TOTAL_SKYFALL_LEAP_TIME

how much time you're in the air

\ No newline at end of file diff --git a/modular_splurt/code/modules/vehicles/mecha/mecha_parts.html b/modular_splurt/code/modules/vehicles/mecha/mecha_parts.html new file mode 100644 index 000000000000..c5f615336922 --- /dev/null +++ b/modular_splurt/code/modules/vehicles/mecha/mecha_parts.html @@ -0,0 +1 @@ +modular_splurt/code/modules/vehicles/mecha/mecha_parts.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/code/modules/vehicles/mecha/mecha_parts.dm

/obj/item/mecha_parts/chassis/savannah_ivanovPhazon
/obj/item/circuitboard/mecha/savannah_ivanov/peripheralsCircuitboards
\ No newline at end of file diff --git a/modular_splurt/sound/voice/catpeople/credits.html b/modular_splurt/sound/voice/catpeople/credits.html new file mode 100644 index 000000000000..f5537d65ab8f --- /dev/null +++ b/modular_splurt/sound/voice/catpeople/credits.html @@ -0,0 +1,2 @@ +modular_splurt/sound/voice/catpeople/credits.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

modular_splurt/sound/voice/catpeople/credits.txt

Sound Files ported from https://github.com/Nyanotrasen/Nyanotrasen/ created by Elijahrane```
+
\ No newline at end of file diff --git a/obj.html b/obj.html new file mode 100644 index 000000000000..9bbcbf9310c0 --- /dev/null +++ b/obj.html @@ -0,0 +1,9 @@ +/obj - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

obj

Vars

always_reskinnableCan always be modified
bare_wound_bonusIf this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh
current_skinThe item reskin
damage_deflectionDamage under this value will be completely ignored
reskin_bindingHow to bring up the reskinning menu
unique_reskinList of options to reskin.
wound_bonusHow good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds.

Procs

CanAStarPassThis proc is used for telling whether something can pass by this object in a given direction, for use by the pathfinding system.
fire_actFIRE
reskin_objDo you want to make overrides, of course you do! Will be called if an object was reskinned successfully
setAnchored@depricated DO NOT USE

Var Details

always_reskinnable

Can always be modified

bare_wound_bonus

If this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh

current_skin

The item reskin

damage_deflection

Damage under this value will be completely ignored

reskin_binding

How to bring up the reskinning menu

unique_reskin

List of options to reskin.

wound_bonus

How good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds.

Proc Details

CanAStarPass

This proc is used for telling whether something can pass by this object in a given direction, for use by the pathfinding system.

+

Trying to generate one long path across the station will call this proc on every single object on every single tile that we're seeing if we can move through, likely +multiple times per tile since we're likely checking if we can access said tile from multiple directions, so keep these as lightweight as possible.

+

Arguments:

+

fire_act

FIRE

reskin_obj

Do you want to make overrides, of course you do! Will be called if an object was reskinned successfully

setAnchored

@depricated DO NOT USE

\ No newline at end of file diff --git a/obj/docking_port.html b/obj/docking_port.html new file mode 100644 index 000000000000..cf03ac7a41bb --- /dev/null +++ b/obj/docking_port.html @@ -0,0 +1,7 @@ +/obj/docking_port - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

docking_port

Vars

delete_afterDelete this port after ship fly off.
dheightposition relative to covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
dirCommon standard is for this to point -away- from the dockingport door, ie towards the ship
dwidthposition relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.
heightsize of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
hiddenare we invisible to shuttle navigation computers?
port_destinationsPossible destinations
registeredare we registered in SSshuttles?
shuttle_idThe identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.
widthsize of covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

Procs

registerregister to SSshuttles
return_coordsreturns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle
return_ordered_turfsreturns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation
return_turfsreturns turfs within our projected rectangle in no particular order
unregisterunregister from SSshuttles

Var Details

delete_after

Delete this port after ship fly off.

dheight

position relative to covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.

dir

Common standard is for this to point -away- from the dockingport door, ie towards the ship

dwidth

position relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

height

size of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.

hidden

are we invisible to shuttle navigation computers?

port_destinations

Possible destinations

registered

are we registered in SSshuttles?

shuttle_id

The identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.

width

size of covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

Proc Details

register

register to SSshuttles

return_coords

returns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle

return_ordered_turfs

returns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation

return_turfs

returns turfs within our projected rectangle in no particular order

unregister

unregister from SSshuttles

\ 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 000000000000..594e61723c67 --- /dev/null +++ b/obj/docking_port/mobile.html @@ -0,0 +1 @@ +/obj/docking_port/mobile - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mobile

Vars

callTimetime spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.
can_move_docking_portsif this shuttle can move docking ports other than the one it is docked at
ignitionTimetime spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.
modecurrent shuttle mode
movement_forceWhether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.
parallax_speedparallax speed in seconds per loop
port_directionrelative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.
prearrivalTimetime spent after transit 'landing' before actually arriving
preferred_directionThe direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in
rechargeTimetime spent after arrival before being able to begin ignition
timerused as a timer (if you want time left to complete move, use timeLeft proc)

Procs

beforeShuttleMoveMisc move procs
get_status_text_tguiGets shuttle location status in a form of string for tgui interfaces
initiate_dockingThis is the main proc. It instantly moves our mobile port to stationary port new_dock.

Var Details

callTime

time spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.

can_move_docking_ports

if this shuttle can move docking ports other than the one it is docked at

ignitionTime

time spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.

mode

current shuttle mode

movement_force

Whether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.

parallax_speed

parallax speed in seconds per loop

port_direction

relative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.

prearrivalTime

time spent after transit 'landing' before actually arriving

preferred_direction

The direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in

rechargeTime

time spent after arrival before being able to begin ignition

timer

used as a timer (if you want time left to complete move, use timeLeft proc)

Proc Details

beforeShuttleMove

Misc move procs

get_status_text_tgui

Gets shuttle location status in a form of string for tgui interfaces

initiate_docking

This is the main proc. It instantly moves our mobile port to stationary port new_dock.

\ No newline at end of file diff --git a/obj/docking_port/stationary/picked.html b/obj/docking_port/stationary/picked.html new file mode 100644 index 000000000000..d646536169af --- /dev/null +++ b/obj/docking_port/stationary/picked.html @@ -0,0 +1 @@ +/obj/docking_port/stationary/picked - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

picked

Vars

shuttlekeysHolds a list of map name strings for the port to pick from

Var Details

shuttlekeys

Holds a list of map name strings for the port to pick from

\ No newline at end of file diff --git a/obj/docking_port/stationary/random.html b/obj/docking_port/stationary/random.html new file mode 100644 index 000000000000..bf2919aeeee0 --- /dev/null +++ b/obj/docking_port/stationary/random.html @@ -0,0 +1 @@ +/obj/docking_port/stationary/random - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

random

Vars

edge_distanceMinimal distance from the map edge, setting this too low can result in shuttle landing on the edge and getting "sliced"
target_areaThe area the pod tries to land at

Var Details

edge_distance

Minimal distance from the map edge, setting this too low can result in shuttle landing on the edge and getting "sliced"

target_area

The area the pod tries to land at

\ No newline at end of file diff --git a/obj/durand_shield.html b/obj/durand_shield.html new file mode 100644 index 000000000000..270cb67364da --- /dev/null +++ b/obj/durand_shield.html @@ -0,0 +1,17 @@ +/obj/durand_shield - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

durand_shield

Shield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.

Vars

chassisOur link back to the durand
switchingTo keep track of things during the animation

Procs

activateHandles activating and deactivating the shield. This proc is called by a signal sent from the mech's action button +and relayed by the mech itself. The "forced" variabe, signal_args[1], will skip the to-pilot text and is meant for when +the shield is disabled by means other than the action button (like running out of power) +Arguments:

Var Details

chassis

Our link back to the durand

switching

To keep track of things during the animation

Proc Details

activate

Handles activating and deactivating the shield. This proc is called by a signal sent from the mech's action button +and relayed by the mech itself. The "forced" variabe, signal_args[1], will skip the to-pilot text and is meant for when +the shield is disabled by means other than the action button (like running out of power) +Arguments:

+
\ No newline at end of file diff --git a/obj/effect/abstract/parry.html b/obj/effect/abstract/parry.html new file mode 100644 index 000000000000..38c28b1b2d1c --- /dev/null +++ b/obj/effect/abstract/parry.html @@ -0,0 +1 @@ +/obj/effect/abstract/parry - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

parry

Effects

Vars

ownerThe person we're on

Var Details

owner

The person we're on

\ No newline at end of file diff --git a/obj/effect/anomaly.html b/obj/effect/anomaly.html new file mode 100644 index 000000000000..58dfd4faf413 --- /dev/null +++ b/obj/effect/anomaly.html @@ -0,0 +1 @@ +/obj/effect/anomaly - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

anomaly

Vars

core_drop_chancechance we drop a core when neutralized

Var Details

core_drop_chance

chance we drop a core when neutralized

\ No newline at end of file diff --git a/obj/effect/broken_illusion.html b/obj/effect/broken_illusion.html new file mode 100644 index 000000000000..6c60f45563fd --- /dev/null +++ b/obj/effect/broken_illusion.html @@ -0,0 +1 @@ +/obj/effect/broken_illusion - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

broken_illusion

Procs

show_presenceMakes this obj appear out of nothing

Proc Details

show_presence

Makes this obj appear out of nothing

\ No newline at end of file diff --git a/obj/effect/decal/chempuff.html b/obj/effect/decal/chempuff.html new file mode 100644 index 000000000000..a15206554dba --- /dev/null +++ b/obj/effect/decal/chempuff.html @@ -0,0 +1 @@ +/obj/effect/decal/chempuff - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

chempuff

Procs

hit_thingproc called to handle us hitting something

Proc Details

hit_thing

proc called to handle us hitting something

\ 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 000000000000..11f1f125625c --- /dev/null +++ b/obj/effect/decal/cleanable.html @@ -0,0 +1,3 @@ +/obj/effect/decal/cleanable - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

cleanable

Vars

persistence_allow_stackingCan we stack multiple in one tile?
persistentIs this kind of cleanable decal persistent
wiped_by_floor_changeAre we deleted by turf changes?

Procs

PersistenceLoadLoads from a data list.
PersistenceSaveA data list is passed into this. +This should return null to skip saving, or the type of data to save. Type must be /cleanable.

Var Details

persistence_allow_stacking

Can we stack multiple in one tile?

persistent

Is this kind of cleanable decal persistent

wiped_by_floor_change

Are we deleted by turf changes?

Proc Details

PersistenceLoad

Loads from a data list.

PersistenceSave

A data list is passed into this. +This should return null to skip saving, or the type of data to save. Type must be /cleanable.

\ No newline at end of file diff --git a/obj/effect/decal/cleanable/conveyor_sorter.html b/obj/effect/decal/cleanable/conveyor_sorter.html new file mode 100644 index 000000000000..94db62c1da65 --- /dev/null +++ b/obj/effect/decal/cleanable/conveyor_sorter.html @@ -0,0 +1 @@ +/obj/effect/decal/cleanable/conveyor_sorter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

conveyor_sorter

Vars

parent_itemthe parent conveyor sorter lister item, used for deletion
sorting_listthe list of items that will be sorted to the sorted direction
use_cooldownTo prevent spam

Var Details

parent_item

the parent conveyor sorter lister item, used for deletion

sorting_list

the list of items that will be sorted to the sorted direction

use_cooldown

To prevent spam

\ No newline at end of file diff --git a/obj/effect/eldritch.html b/obj/effect/eldritch.html new file mode 100644 index 000000000000..187a74045823 --- /dev/null +++ b/obj/effect/eldritch.html @@ -0,0 +1 @@ +/obj/effect/eldritch - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

eldritch

Vars

is_in_useUsed mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

Var Details

is_in_use

Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

\ No newline at end of file diff --git a/obj/effect/landmark/start/hangover.html b/obj/effect/landmark/start/hangover.html new file mode 100644 index 000000000000..641fffb39af3 --- /dev/null +++ b/obj/effect/landmark/start/hangover.html @@ -0,0 +1 @@ +/obj/effect/landmark/start/hangover - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

hangover

Vars

debrisA list of everything this hangover spawn created

Procs

make_hungoverSpawns the mob with some drugginess/drunkeness, and some disgust.

Var Details

debris

A list of everything this hangover spawn created

Proc Details

make_hungover

Spawns the mob with some drugginess/drunkeness, and some disgust.

\ No newline at end of file diff --git a/obj/effect/landmark/stationroom.html b/obj/effect/landmark/stationroom.html new file mode 100644 index 000000000000..b1314932f0b4 --- /dev/null +++ b/obj/effect/landmark/stationroom.html @@ -0,0 +1 @@ +/obj/effect/landmark/stationroom - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

stationroom

Vars

uniqueWhether or not we can choose templates that have already been chosen

Var Details

unique

Whether or not we can choose templates that have already been chosen

\ No newline at end of file diff --git a/obj/effect/mapping_helpers/custom_icon.html b/obj/effect/mapping_helpers/custom_icon.html new file mode 100644 index 000000000000..bdb871d327dd --- /dev/null +++ b/obj/effect/mapping_helpers/custom_icon.html @@ -0,0 +1 @@ +/obj/effect/mapping_helpers/custom_icon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

custom_icon

Fetches an external dmi and applies to the target object

Vars

first_match_onlyWill inject into all fitting the criteria if false, otherwise first found.
icon_urlThis should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"
target_nameWill inject into atoms with this name.
target_typeWill inject into atoms of this type.
target_variableThis is the var tha will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.

Var Details

first_match_only

Will inject into all fitting the criteria if false, otherwise first found.

icon_url

This should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"

target_name

Will inject into atoms with this name.

target_type

Will inject into atoms of this type.

target_variable

This is the var tha will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.

\ No newline at end of file diff --git a/obj/effect/mapping_helpers/network_builder.html b/obj/effect/mapping_helpers/network_builder.html new file mode 100644 index 000000000000..794b6e075aa4 --- /dev/null +++ b/obj/effect/mapping_helpers/network_builder.html @@ -0,0 +1 @@ +/obj/effect/mapping_helpers/network_builder - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

network_builder

Vars

custom_spawnedset var to true to not del on lateload
network_directionswhat directions we know connections are in

Procs

LateInitializeHow this works: On LateInitialize, detect all directions that this should be applicable to, and do what it needs to do, and then inform all network builders in said directions that it's been around since it won't be around afterwards.

Var Details

custom_spawned

set var to true to not del on lateload

network_directions

what directions we know connections are in

Proc Details

LateInitialize

How this works: On LateInitialize, detect all directions that this should be applicable to, and do what it needs to do, and then inform all network builders in said directions that it's been around since it won't be around afterwards.

\ No newline at end of file diff --git a/obj/effect/mapping_helpers/network_builder/atmos_pipe.html b/obj/effect/mapping_helpers/network_builder/atmos_pipe.html new file mode 100644 index 000000000000..c732de2fa2c1 --- /dev/null +++ b/obj/effect/mapping_helpers/network_builder/atmos_pipe.html @@ -0,0 +1 @@ +/obj/effect/mapping_helpers/network_builder/atmos_pipe - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

atmos_pipe

Vars

pipe_colorColor to set our pipes to
pipe_layerLayer to put our pipes on
visible_pipesWhether or not pipes we make are visible

Procs

build_networkDirections should only ever have cardinals.
scan_directionsScans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.

Var Details

pipe_color

Color to set our pipes to

pipe_layer

Layer to put our pipes on

visible_pipes

Whether or not pipes we make are visible

Proc Details

build_network

Directions should only ever have cardinals.

scan_directions

Scans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.

\ No newline at end of file diff --git a/obj/effect/mapping_helpers/network_builder/power_cable.html b/obj/effect/mapping_helpers/network_builder/power_cable.html new file mode 100644 index 000000000000..8732cff45c23 --- /dev/null +++ b/obj/effect/mapping_helpers/network_builder/power_cable.html @@ -0,0 +1 @@ +/obj/effect/mapping_helpers/network_builder/power_cable - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

power_cable

Automatically links on init to power cables and other cable builder helpers. Only supports cardinals.

Vars

cable_colorcable color as from GLOB.cable_colors
knotWhether or not we forcefully make a knot

Procs

build_networkDirections should only ever have cardinals.
scan_directionsScans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.

Var Details

cable_color

cable color as from GLOB.cable_colors

knot

Whether or not we forcefully make a knot

Proc Details

build_network

Directions should only ever have cardinals.

scan_directions

Scans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.

\ No newline at end of file diff --git a/obj/effect/mapping_helpers/trait_injector.html b/obj/effect/mapping_helpers/trait_injector.html new file mode 100644 index 000000000000..0ab662bbc9ec --- /dev/null +++ b/obj/effect/mapping_helpers/trait_injector.html @@ -0,0 +1 @@ +/obj/effect/mapping_helpers/trait_injector - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

trait_injector

Vars

first_match_onlyWill inject into all fitting the criteria if false, otherwise first found.
target_nameWill inject into atoms with this name.
target_typeWill inject into atoms of this type.
trait_nameName of the trait, in the lower-case text (NOT the upper-case define) form.

Var Details

first_match_only

Will inject into all fitting the criteria if false, otherwise first found.

target_name

Will inject into atoms with this name.

target_type

Will inject into atoms of this type.

trait_name

Name of the trait, in the lower-case text (NOT the upper-case define) form.

\ No newline at end of file diff --git a/obj/effect/mine.html b/obj/effect/mine.html new file mode 100644 index 000000000000..a6bfd275177c --- /dev/null +++ b/obj/effect/mine.html @@ -0,0 +1 @@ +/obj/effect/mine - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mine

Vars

triggeredWe manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations

Var Details

triggered

We manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations

\ 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 000000000000..32ce20c3f8e0 --- /dev/null +++ b/obj/effect/mob_spawn.html @@ -0,0 +1 @@ +/obj/effect/mob_spawn - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mob_spawn

Procs

allow_spawnoverride this to add special spawn conditions to a ghost role

Proc Details

allow_spawn

override this to add special spawn conditions to a ghost role

\ 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 000000000000..82a98524e9be --- /dev/null +++ b/obj/effect/overlay/vis.html @@ -0,0 +1 @@ +/obj/effect/overlay/vis - SPLURT Station 13
SPLURT 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/proc_holder/spell.html b/obj/effect/proc_holder/spell.html new file mode 100644 index 000000000000..d46e631496da --- /dev/null +++ b/obj/effect/proc_holder/spell.html @@ -0,0 +1,7 @@ +/obj/effect/proc_holder/spell - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

spell

Procs

can_targetcan_target: Checks if we are allowed to cast the spell on a target.

Proc Details

can_target

can_target: Checks if we are allowed to cast the spell on a target.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/proc_holder/spell/cone.html b/obj/effect/proc_holder/spell/cone.html new file mode 100644 index 000000000000..71363bd775d0 --- /dev/null +++ b/obj/effect/proc_holder/spell/cone.html @@ -0,0 +1 @@ +/obj/effect/proc_holder/spell/cone - SPLURT Station 13
SPLURT 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_shapeThis proc adjusts the cones width depending on the level.
cone_helperThis proc creates a list of turfs that are hit by the cone
do_cone_effectsThis proc does obj, mob and turf cone effects on all targets in a list
do_mob_cone_effectThis proc deterimines how the spell will affect mobs.
do_obj_cone_effectThis proc deterimines how the spell will affect objects.
do_turf_cone_effectThis proc deterimines how the spell will affect turfs.

Var Details

cone_levels

This controls how many levels the cone has, increase this value to make a bigger cone.

respect_density

This value determines if the cone penetrates walls.

Proc Details

calculate_cone_shape

This proc adjusts the cones width depending on the level.

cone_helper

This proc creates a list of turfs that are hit by the cone

do_cone_effects

This proc does obj, mob and turf cone effects on all targets in a list

do_mob_cone_effect

This proc deterimines how the spell will affect mobs.

do_obj_cone_effect

This proc deterimines how the spell will affect objects.

do_turf_cone_effect

This proc deterimines how the spell will affect turfs.

\ No newline at end of file diff --git a/obj/effect/proc_holder/spell/pointed.html b/obj/effect/proc_holder/spell/pointed.html new file mode 100644 index 000000000000..3889365ab574 --- /dev/null +++ b/obj/effect/proc_holder/spell/pointed.html @@ -0,0 +1,15 @@ +/obj/effect/proc_holder/spell/pointed - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

pointed

Vars

active_msgMessage showing to the spell owner upon activating pointed spell.
aim_assistVariable dictating if the spell will use turf based aim assist
deactive_msgMessage showing to the spell owner upon deactivating pointed spell.
self_castableVariable dictating if the user is allowed to cast a spell on himself.

Procs

intercept_checkintercept_check: Specific spell checks for InterceptClickOn() targets.
on_activationon_activation: What happens upon pointed spell activation.
on_deactivationon_activation: What happens upon pointed spell deactivation.

Var Details

active_msg

Message showing to the spell owner upon activating pointed spell.

aim_assist

Variable dictating if the spell will use turf based aim assist

deactive_msg

Message showing to the spell owner upon deactivating pointed spell.

self_castable

Variable dictating if the user is allowed to cast a spell on himself.

Proc Details

intercept_check

intercept_check: Specific spell checks for InterceptClickOn() targets.

+

Arguments:

+

on_activation

on_activation: What happens upon pointed spell activation.

+

Arguments:

+

on_deactivation

on_activation: What happens upon pointed spell deactivation.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/effect/proc_holder/spell/pointed/barnyardcurse.html b/obj/effect/proc_holder/spell/pointed/barnyardcurse.html new file mode 100644 index 000000000000..b3c410c749e5 --- /dev/null +++ b/obj/effect/proc_holder/spell/pointed/barnyardcurse.html @@ -0,0 +1 @@ +/obj/effect/proc_holder/spell/pointed/barnyardcurse - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

barnyardcurse

Vars

compatible_mobs_typecacheList of mobs which are allowed to be a target of the spell

Var Details

compatible_mobs_typecache

List of mobs which are allowed to be a target of the spell

\ No newline at end of file diff --git a/obj/effect/proc_holder/spell/pointed/mind_transfer.html b/obj/effect/proc_holder/spell/pointed/mind_transfer.html new file mode 100644 index 000000000000..f7d8eeed2838 --- /dev/null +++ b/obj/effect/proc_holder/spell/pointed/mind_transfer.html @@ -0,0 +1 @@ +/obj/effect/proc_holder/spell/pointed/mind_transfer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mind_transfer

Vars

unconscious_amount_casterFor how long is the caster stunned for after the spell
unconscious_amount_victimFor how long is the victim stunned for after the spell

Var Details

unconscious_amount_caster

For how long is the caster stunned for after the spell

unconscious_amount_victim

For how long is the victim stunned for after the spell

\ No newline at end of file diff --git a/obj/effect/proc_holder/spell/targeted/fire_sworn.html b/obj/effect/proc_holder/spell/targeted/fire_sworn.html new file mode 100644 index 000000000000..980f17ec4293 --- /dev/null +++ b/obj/effect/proc_holder/spell/targeted/fire_sworn.html @@ -0,0 +1 @@ +/obj/effect/proc_holder/spell/targeted/fire_sworn - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

fire_sworn

Vars

current_userwho casted it right now
durationhow long it lasts
has_fire_ringDetermines if you get the fire ring effect

Var Details

current_user

who casted it right now

duration

how long it lasts

has_fire_ring

Determines if you get the fire ring effect

\ No newline at end of file diff --git a/obj/effect/reality_smash.html b/obj/effect/reality_smash.html new file mode 100644 index 000000000000..6381068ced3c --- /dev/null +++ b/obj/effect/reality_smash.html @@ -0,0 +1 @@ +/obj/effect/reality_smash - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

reality_smash

Vars

image_stateWe cannot use icon_state since this is invisible, functions the same way but with custom behaviour.
imgTracked image
mindsWho can see us?

Procs

AddMindMakes the mind able to see this effect
RemoveMindMakes the mind not able to see this effect
generate_nameGenerates random name

Var Details

image_state

We cannot use icon_state since this is invisible, functions the same way but with custom behaviour.

img

Tracked image

minds

Who can see us?

Proc Details

AddMind

Makes the mind able to see this effect

RemoveMind

Makes the mind not able to see this effect

generate_name

Generates random name

\ No newline at end of file diff --git a/obj/effect/skyfall_landingzone.html b/obj/effect/skyfall_landingzone.html new file mode 100644 index 000000000000..d41d373ac994 --- /dev/null +++ b/obj/effect/skyfall_landingzone.html @@ -0,0 +1 @@ +/obj/effect/skyfall_landingzone - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

skyfall_landingzone

a simple indicator of where the skyfall is going to land.

Vars

mechareference to mecha following

Procs

followcalled when the mecha moves

Var Details

mecha

reference to mecha following

Proc Details

follow

called when the mecha moves

\ No newline at end of file diff --git a/obj/item.html b/obj/item.html new file mode 100644 index 000000000000..b0ccbef385f0 --- /dev/null +++ b/obj/item.html @@ -0,0 +1,92 @@ +/obj/item - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

item

Vars

attack_speedAmount of time to check for from a mob's last attack, checked before an attack happens. Lower = faster attacks
attack_unwieldlynessAmount of time to hard-stagger (no clicking at all) the mob when attacking. Lower = better
block_chanceThe 0% to 100% chance for the default implementation of random block rolls.
block_priorityBlock priority, higher means we check this higher in the "chain".
clickdelay_from_next_actionThis item checks clickdelay from a user's delayed next action variable rather than the last time they attacked.
clickdelay_ignores_next_actionThis item ignores next action delays.
clickdelay_mod_bypassThis item bypasses any click delay mods
drop_soundSound uses when dropping the item, or when its thrown.
dye_colorUsed as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm
dying_keyWhat dye registry should be looked at when dying this item; see washing_machine.dm
equip_soundSound used when equipping the item into a valid slot
force_stringstring form of an item's force. Edit this var only to set a custom force string
hitsoundSound played when you hit something with the item
item_flagsItem flags for the item
item_stateicon state name for inhand overlays
lefthand_fileIcon file for left hand inhand overlays
mob_overlay_iconIcon file for mob worn overlays. +no var for state because it should always be the same as icon_state
mob_throw_hit_soundUsed when yate into a mob
pickup_soundSound uses when picking the item up (into your hands)
righthand_fileIcon file for right inhand overlays
sharpnessAll items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.
stagger_forceHow long, in deciseconds, this staggers for, if null it will autocalculate from w_class and force. Unlike total mass this supports 0 and negatives.
stealthy_audioWhether or not we use stealthy audio levels for this item's attack sounds
throw_verbUsed if we want to have a custom verb text for throwing. "John Spaceman flicks the ciggerate" for example.
thrownbyA weakref to the mob who threw the item
total_massThe amount of stamina it takes to swing an item in a normal melee attack do not lie to me and say it's for realism because it ain't. If null it will autocalculate from w_class.
undyeableWhether the item is unaffected by standard dying.
used_skillsSkills vars
usesoundPlayed when the item is used, for example tools
w_classWeight class for how much storage capacity it uses and how big it physically is meaning storages can't hold it if their maximum weight class isn't as high as it.
w_volumeVolume override for the item, otherwise automatically calculated from w_class.

Procs

ApplyAttackCooldownCalled after a successful attack to set a mob's clickdelay.
CheckAttackCooldownChecks if a user's clickdelay is met for a standard attack, this is called before an attack happens.
GetEstimatedAttackSpeedGet estimated time that a user has to not attack for to use us
UseStaminaBufferStandardUses the amount of stamina required for a standard hit
active_block_calculate_final_damageCalculates FINAL ATTACK DAMAGE after mitigation
active_block_do_stamina_damageApply the stamina damage to our user, notice how damage argument is stamina_amount.
active_block_stamina_costAmount of stamina from damage blocked. Note that the damage argument is damage_blocked.
active_parry_reflex_counterCalled when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.
add_item_contextCreates a "Type-A" contextual screentip interaction. +When a user hovers over something with this item in hand, this proc will be called in order +to provide context for contextual screentips. +You must call register_item_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.
afterattackCalled after attacking something if the melee attack chain isn't interrupted before. +Also called when clicking on something with an item without being in melee range
attackCalled when someone uses us to attack a mob in melee combat.
blockable_directionsGets the block direction bitflags of what we can block.
can_active_blockReturns if we can actively block.
can_active_parryDetermines if we can actively parry.
can_block_directionChecks if we can block from a specific direction from our direction.
can_block_directions_multiplecan_block_direction but for "compound" directions to check all of them and return the number of directions that were blocked.
check_blockReturns block information using list/block_return. Used for check_block() on mobs.
cyborg_unequipParent proc - triggers when an item/module is unequipped from a cyborg.
disableEmbeddingFor when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.
droppedCalled when a mob drops an item.
equippedCalled after an item is placed in an equipment slot.
failedEmbedIn case we want to do something special (like self delete) upon failing to embed in something, return true
get_block_parry_dataGets this item's datum/block_parry_data
get_w_volumeGet an item's volume that it uses when being stored.
getweightHow much stamina this takes to swing this is not for realism purposes hecc off.
isEmbedHarmlessDoes the current embedding var meet the criteria for being harmless? Namely, does it explicitly define the pain multiplier and jostle pain mult to be 0? If so, return true.
melee_attack_chainThis is the proc that handles the order of an item_attack. +The order of procs called is: +tool_act on the target. If it returns TRUE, the chain will be stopped. +pre_attack() on src. If this returns TRUE, the chain will be stopped. +attackby on the target. If it returns TRUE, the chain will be stopped. +and lastly +afterattack. The return value does not matter.
melee_stagger_durationHow long this staggers for. 0 and negatives supported.
on_active_parryCalled when an attack is parried using this, whether or not the parry was successful.
on_offer_takenAn interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.
on_offeredAn interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.
on_outfit_equipSpecial stuff you want to do when an outfit equips this item.
on_thrownCalled by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.
pick_painting_tool_colorCommon proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.
ranged_attack_chainLike melee_attack_chain but for ranged.
register_item_contextCreate a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.
run_blockRuns block and returns flag for do_run_block to process.
set_slowdownSets our slowdown and updates equipment slowdown of any mob we're equipped on.
tryEmbedtryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.
updateEmbeddingFor when you want to add/update the embedding on an item. Uses the vars in [/obj/item/embedding], and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.
update_action_buttonsUpdates all action buttons associated with this item

Var Details

attack_speed

Amount of time to check for from a mob's last attack, checked before an attack happens. Lower = faster attacks

attack_unwieldlyness

Amount of time to hard-stagger (no clicking at all) the mob when attacking. Lower = better

block_chance

The 0% to 100% chance for the default implementation of random block rolls.

block_priority

Block priority, higher means we check this higher in the "chain".

clickdelay_from_next_action

This item checks clickdelay from a user's delayed next action variable rather than the last time they attacked.

clickdelay_ignores_next_action

This item ignores next action delays.

clickdelay_mod_bypass

This item bypasses any click delay mods

drop_sound

Sound uses when dropping the item, or when its thrown.

dye_color

Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm

dying_key

What dye registry should be looked at when dying this item; see washing_machine.dm

equip_sound

Sound used when equipping the item into a valid slot

force_string

string form of an item's force. Edit this var only to set a custom force string

hitsound

Sound played when you hit something with the item

item_flags

Item flags for the item

item_state

icon state name for inhand overlays

lefthand_file

Icon file for left hand inhand overlays

mob_overlay_icon

Icon file for mob worn overlays. +no var for state because it should always be the same as icon_state

mob_throw_hit_sound

Used when yate into a mob

pickup_sound

Sound uses when picking the item up (into your hands)

righthand_file

Icon file for right inhand overlays

sharpness

All items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.

stagger_force

How long, in deciseconds, this staggers for, if null it will autocalculate from w_class and force. Unlike total mass this supports 0 and negatives.

stealthy_audio

Whether or not we use stealthy audio levels for this item's attack sounds

throw_verb

Used if we want to have a custom verb text for throwing. "John Spaceman flicks the ciggerate" for example.

thrownby

A weakref to the mob who threw the item

total_mass

The amount of stamina it takes to swing an item in a normal melee attack do not lie to me and say it's for realism because it ain't. If null it will autocalculate from w_class.

undyeable

Whether the item is unaffected by standard dying.

used_skills

Skills vars

usesound

Played when the item is used, for example tools

w_class

Weight class for how much storage capacity it uses and how big it physically is meaning storages can't hold it if their maximum weight class isn't as high as it.

w_volume

Volume override for the item, otherwise automatically calculated from w_class.

Proc Details

ApplyAttackCooldown

Called after a successful attack to set a mob's clickdelay.

CheckAttackCooldown

Checks if a user's clickdelay is met for a standard attack, this is called before an attack happens.

GetEstimatedAttackSpeed

Get estimated time that a user has to not attack for to use us

UseStaminaBufferStandard

Uses the amount of stamina required for a standard hit

active_block_calculate_final_damage

Calculates FINAL ATTACK DAMAGE after mitigation

active_block_do_stamina_damage

Apply the stamina damage to our user, notice how damage argument is stamina_amount.

active_block_stamina_cost

Amount of stamina from damage blocked. Note that the damage argument is damage_blocked.

active_parry_reflex_counter

Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.

add_item_context

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

afterattack

Called after attacking something if the melee attack chain isn't interrupted before. +Also called when clicking on something with an item without being in melee range

+

WARNING: This does not automatically check clickdelay if not in a melee attack! Be sure to account for this!

+

@params

+

attack

Called when someone uses us to attack a mob in melee combat.

+

This proc respects CheckAttackCooldown() default clickdelay handling.

+

@params

+

blockable_directions

Gets the block direction bitflags of what we can block.

can_active_block

Returns if we can actively block.

can_active_parry

Determines if we can actively parry.

can_block_direction

Checks if we can block from a specific direction from our direction.

+

@params

+

can_block_directions_multiple

can_block_direction but for "compound" directions to check all of them and return the number of directions that were blocked.

+

@params

+

check_block

Returns block information using list/block_return. Used for check_block() on mobs.

cyborg_unequip

Parent proc - triggers when an item/module is unequipped from a cyborg.

disableEmbedding

For when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.

dropped

Called when a mob drops an item.

equipped

Called after an item is placed in an equipment slot.

+

Note that hands count as slots.

+

Arguments:

+

failedEmbed

In case we want to do something special (like self delete) upon failing to embed in something, return true

get_block_parry_data

Gets this item's datum/block_parry_data

get_w_volume

Get an item's volume that it uses when being stored.

getweight

How much stamina this takes to swing this is not for realism purposes hecc off.

isEmbedHarmless

Does the current embedding var meet the criteria for being harmless? Namely, does it explicitly define the pain multiplier and jostle pain mult to be 0? If so, return true.

melee_attack_chain

This is the proc that handles the order of an item_attack. +The order of procs called is: +tool_act on the target. If it returns TRUE, the chain will be stopped. +pre_attack() on src. If this returns TRUE, the chain will be stopped. +attackby on the target. If it returns TRUE, the chain will be stopped. +and lastly +afterattack. The return value does not matter.

melee_stagger_duration

How long this staggers for. 0 and negatives supported.

on_active_parry

Called when an attack is parried using this, whether or not the parry was successful.

on_offer_taken

An interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.

+

Return TRUE if you want to interrupt the taking.

+

Arguments: +offerer - the person offering the item +taker - the person trying to accept the offer

on_offered

An interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.

+

Return TRUE if you want to interrupt the offer.

+

Arguments: +offerer - the person offering the item

on_outfit_equip

Special stuff you want to do when an outfit equips this item.

on_thrown

Called by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.

pick_painting_tool_color

Common proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.

ranged_attack_chain

Like melee_attack_chain but for ranged.

register_item_context

Create a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.

run_block

Runs block and returns flag for do_run_block to process.

set_slowdown

Sets our slowdown and updates equipment slowdown of any mob we're equipped on.

tryEmbed

tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.

+

Really, this is used mostly with projectiles with shrapnel payloads, from /datum/element/embed/proc/checkEmbedProjectile, and called on said shrapnel. Mostly acts as an intermediate between different embed elements.

+

Arguments:

+

updateEmbedding

For when you want to add/update the embedding on an item. Uses the vars in [/obj/item/embedding], and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.

update_action_buttons

Updates all action buttons associated with this item

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/airlock_painter.html b/obj/item/airlock_painter.html new file mode 100644 index 000000000000..7a96c7db4425 --- /dev/null +++ b/obj/item/airlock_painter.html @@ -0,0 +1 @@ +/obj/item/airlock_painter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

airlock_painter

Vars

available_paint_jobsAssociate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock
initial_ink_typeThe type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner
inkThe ink cartridge to pull charges from.

Var Details

available_paint_jobs

Associate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock

initial_ink_type

The type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner

ink

The ink cartridge to pull charges from.

\ No newline at end of file diff --git a/obj/item/airlock_painter/decal.html b/obj/item/airlock_painter/decal.html new file mode 100644 index 000000000000..27b6a20fee76 --- /dev/null +++ b/obj/item/airlock_painter/decal.html @@ -0,0 +1,13 @@ +/obj/item/airlock_painter/decal - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

decal

Vars

color_listList of color options as list(user-friendly label, color value to return)
decal_listList of decal options as list(user-friendly label, icon state base value to return)
dir_listList of direction options as list(user-friendly label, dir value to return)
spritesheet_typeThe type path of the spritesheet being used for the frontend.
stored_colorThe current color of the decal being printed.
stored_custom_colorCurrent custom color
stored_decalThe current base icon state of the decal being printed.
stored_decal_totalThe full icon state of the decal being printed.
stored_dirThe current direction of the decal being printed
supports_custom_colorDoes this printer implementation support custom colors?

Procs

get_decal_pathReturn the final icon_state for the given decal options
paint_floorActually add current decal to the floor.

Var Details

color_list

List of color options as list(user-friendly label, color value to return)

decal_list

List of decal options as list(user-friendly label, icon state base value to return)

dir_list

List of direction options as list(user-friendly label, dir value to return)

spritesheet_type

The type path of the spritesheet being used for the frontend.

stored_color

The current color of the decal being printed.

stored_custom_color

Current custom color

stored_decal

The current base icon state of the decal being printed.

stored_decal_total

The full icon state of the decal being printed.

stored_dir

The current direction of the decal being printed

supports_custom_color

Does this printer implementation support custom colors?

Proc Details

get_decal_path

Return the final icon_state for the given decal options

+

Arguments:

+

paint_floor

Actually add current decal to the floor.

+

Responsible for actually adding the element to the turf for maximum flexibility.area +Can be overriden for different decal behaviors. +Arguments:

+
\ No newline at end of file diff --git a/obj/item/airlock_painter/decal/tile.html b/obj/item/airlock_painter/decal/tile.html new file mode 100644 index 000000000000..d658c45f1d73 --- /dev/null +++ b/obj/item/airlock_painter/decal/tile.html @@ -0,0 +1 @@ +/obj/item/airlock_painter/decal/tile - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

tile

Vars

default_alphaDefault alpha for /obj/effect/turf_decal/tile
rgba_regexRegex to split alpha out.

Var Details

default_alpha

Default alpha for /obj/effect/turf_decal/tile

rgba_regex

Regex to split alpha out.

\ 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 000000000000..4badc2e9313a --- /dev/null +++ b/obj/item/ammo_casing.html @@ -0,0 +1 @@ +/obj/item/ammo_casing - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ammo_casing

Vars

click_cooldown_overrideOverride this to make the gun check for a different cooldown rather than CLICK_CD_RANGE, which is 4 deciseconds.

Var Details

click_cooldown_override

Override this to make the gun check for a different cooldown rather than CLICK_CD_RANGE, which is 4 deciseconds.

\ No newline at end of file diff --git a/obj/item/assembly.html b/obj/item/assembly.html new file mode 100644 index 000000000000..6dd6d9c6f874 --- /dev/null +++ b/obj/item/assembly.html @@ -0,0 +1 @@ +/obj/item/assembly - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

assembly

Procs

holder_movementCalled when the holder is moved
on_detachCall this when detaching it from a device. handles any special functions that need to be updated ex post facto

Proc Details

holder_movement

Called when the holder is moved

on_detach

Call this when detaching it from a device. handles any special functions that need to be updated ex post facto

\ No newline at end of file diff --git a/obj/item/assembly/control.html b/obj/item/assembly/control.html new file mode 100644 index 000000000000..39e5edfca35e --- /dev/null +++ b/obj/item/assembly/control.html @@ -0,0 +1 @@ +/obj/item/assembly/control - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

control

Vars

can_change_idCan the ID be changed if used in hand?
idOur ID. Make the first character ! if you want to obfuscate it as a mapper via randomization.
show_idShow ID?

Var Details

can_change_id

Can the ID be changed if used in hand?

id

Our ID. Make the first character ! if you want to obfuscate it as a mapper via randomization.

show_id

Show ID?

\ No newline at end of file diff --git a/obj/item/assembly/control/electrochromatic.html b/obj/item/assembly/control/electrochromatic.html new file mode 100644 index 000000000000..a99f54b05589 --- /dev/null +++ b/obj/item/assembly/control/electrochromatic.html @@ -0,0 +1 @@ +/obj/item/assembly/control/electrochromatic - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

electrochromatic

Vars

onStores our status to prevent windows from desyncing.

Var Details

on

Stores our status to prevent windows from desyncing.

\ 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 000000000000..f2f361175169 --- /dev/null +++ b/obj/item/assembly/signaler.html @@ -0,0 +1 @@ +/obj/item/assembly/signaler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

signaler

Vars

suicide_mobHolds a reference string to the mob, decides how much of a gamer you are.
suiciderHolds the mind that commited suicide.

Var Details

suicide_mob

Holds a reference string to the mob, decides how much of a gamer you are.

suicider

Holds the mind that commited suicide.

\ No newline at end of file diff --git a/obj/item/barcode.html b/obj/item/barcode.html new file mode 100644 index 000000000000..e0414bfefaab --- /dev/null +++ b/obj/item/barcode.html @@ -0,0 +1 @@ +/obj/item/barcode - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

barcode

Vars

payments_accAll values inheirited from the sales tagger it came from.

Var Details

payments_acc

All values inheirited from the sales tagger it came from.

\ No newline at end of file diff --git a/obj/item/bodycam_upgrade.html b/obj/item/bodycam_upgrade.html new file mode 100644 index 000000000000..72ff03759d28 --- /dev/null +++ b/obj/item/bodycam_upgrade.html @@ -0,0 +1,2 @@ +/obj/item/bodycam_upgrade - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

bodycam_upgrade

The bodycamera

+

This is the item that gets installed into items that have the bodycamera_holder element

Vars

builtin_bodycameraThe camera itself.

Var Details

builtin_bodycamera

The camera itself.

\ No newline at end of file diff --git a/obj/item/bodypart.html b/obj/item/bodypart.html new file mode 100644 index 000000000000..09b00820a824 --- /dev/null +++ b/obj/item/bodypart.html @@ -0,0 +1,48 @@ +/obj/item/bodypart - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

bodypart

Vars

current_gauzeIf we have a gauze wrapping currently applied (not including splints)
disable_thresholdThreshold at which we are disabled. Defaults to max_damage if unset.
disabled_wound_penaltyWhen this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.
forcereplacedoes this limb have replacement capability, despite probably not being robotic?
generic_bleedstacksHow much generic bleedstacks we have on this bodypart
last_maxedSo we know if we need to scream if this limb hits max damage
scarsThe scars currently afflicting this body part
scars_covered_by_clothesA hat won't cover your face, but a shirt covering your chest will cover your... you know, chest
wound_damage_multiplierOur current stored wound damage multiplier
wound_resistanceThis number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound
woundsThe wounds currently afflicting this body part

Procs

apply_gauzeapply_gauze() is used to- well, apply gauze to a bodypart
check_woundingcheck_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria
check_woundings_modscheck_wounding_mods() is where we handle the various modifiers of a wound roll
get_disable_thresholdGets the damage at which point we're disabled.
get_mangled_stateget_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess)
get_organssince organs aren't actually stored in the bodypart themselves while attached to a person, we have to query the owner for what we should have
get_wound_typeGet whatever wound of the given type is currently attached to this limb, if any
painless_wound_rollAllows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds
seep_gauzeseep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity.
try_dismembertry_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it
update_woundsupdate_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status

Var Details

current_gauze

If we have a gauze wrapping currently applied (not including splints)

disable_threshold

Threshold at which we are disabled. Defaults to max_damage if unset.

disabled_wound_penalty

When this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.

forcereplace

does this limb have replacement capability, despite probably not being robotic?

generic_bleedstacks

How much generic bleedstacks we have on this bodypart

last_maxed

So we know if we need to scream if this limb hits max damage

scars

The scars currently afflicting this body part

scars_covered_by_clothes

A hat won't cover your face, but a shirt covering your chest will cover your... you know, chest

wound_damage_multiplier

Our current stored wound damage multiplier

wound_resistance

This number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound

wounds

The wounds currently afflicting this body part

Proc Details

apply_gauze

apply_gauze() is used to- well, apply gauze to a bodypart

+

As of the Wounds 2 PR, all bleeding is now bodypart based rather than the old bleedstacks system, and 90% of standard bleeding comes from flesh wounds (the exception is embedded weapons). +The same way bleeding is totaled up by bodyparts, gauze now applies to all wounds on the same part. Thus, having a slash wound, a pierce wound, and a broken bone wound would have the gauze +applying blood staunching to the first two wounds, while also acting as a sling for the third one. Once enough blood has been absorbed or all wounds with the ACCEPTS_GAUZE flag have been cleared, +the gauze falls off.

+

Arguments:

+

check_wounding

check_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria

+

We generate a "score" for how woundable the attack was based on the damage and other factors discussed in [/obj/item/bodypart/proc/check_wounding_mods], then go down the list from most severe to least severe wounds in that category. +We can promote a wound from a lesser to a higher severity this way, but we give up if we have a wound of the given type and fail to roll a higher severity, so no sidegrades/downgrades

+

Arguments:

+

check_woundings_mods

check_wounding_mods() is where we handle the various modifiers of a wound roll

+

A short list of things we consider: any armor a human target may be wearing, and if they have no wound armor on the limb, if we have a bare_wound_bonus to apply, plus the plain wound_bonus +We also flick through all of the wounds we currently have on this limb and add their threshold penalties, so that having lots of bad wounds makes you more liable to get hurt worse +Lastly, we add the inherent wound_resistance variable the bodypart has (heads and chests are slightly harder to wound), and a small bonus if the limb is already disabled

+

Arguments:

+

get_disable_threshold

Gets the damage at which point we're disabled.

get_mangled_state

get_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess)

+

Dismemberment for flesh and bone requires the victim to have the skin on their bodypart destroyed (either a critical cut or piercing wound), and at least a hairline fracture +(severe bone), at which point we can start rolling for dismembering. The attack must also deal at least 10 damage, and must be a brute attack of some kind (sorry for now, cakehat, maybe later)

+

Returns: BODYPART_MANGLED_NONE if we're fine, BODYPART_MANGLED_FLESH if our skin is broken, BODYPART_MANGLED_BONE if our bone is broken, or BODYPART_MANGLED_BOTH if both are broken and we're up for dismembering

get_organs

since organs aren't actually stored in the bodypart themselves while attached to a person, we have to query the owner for what we should have

get_wound_type

Get whatever wound of the given type is currently attached to this limb, if any

painless_wound_roll

Allows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds

seep_gauze

seep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity.

+

The passed amount of seepage is deducted from the bandage's absorption capacity, and if we reach a negative absorption capacity, the bandages fall off and we're left with nothing.

+

Arguments:

+

try_dismember

try_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it

+

Mangling is described in the above proc, [/obj/item/bodypart/proc/get_mangled_state()]. This simply makes the roll for whether we actually dismember or not +using how damaged the limb already is, and how much damage this blow was for. If we have a critical bone wound instead of just a severe, we add +10% to the roll. +Lastly, we choose which kind of dismember we want based on the wounding type we hit with. Note we don't care about all the normal mods or armor for this

+

Arguments:

+

update_wounds

update_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status

+

Covers tabulating the damage multipliers we have from wounds (burn specifically), as well as deleting our gauze wrapping if we don't have any wounds that can use bandaging

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/book/random.html b/obj/item/book/random.html new file mode 100644 index 000000000000..d38348cf3fa7 --- /dev/null +++ b/obj/item/book/random.html @@ -0,0 +1 @@ +/obj/item/book/random - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

random

Vars

random_categoryThe category of books to pick from when creating this book.
random_loadedIf this book has already been 'generated' yet.

Var Details

random_category

The category of books to pick from when creating this book.

random_loaded

If this book has already been 'generated' yet.

\ No newline at end of file diff --git a/obj/item/borg/upgrade.html b/obj/item/borg/upgrade.html new file mode 100644 index 000000000000..f9c67923b96e --- /dev/null +++ b/obj/item/borg/upgrade.html @@ -0,0 +1 @@ +/obj/item/borg/upgrade - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

upgrade

Vars

abstract_typeMeans this is a basetype and should not be used
module_flagsBitflags listing module compatibility. Used in the exosuit fabricator for creating sub-categories.
show_amountShow the amount of this module that is installed

Var Details

abstract_type

Means this is a basetype and should not be used

module_flags

Bitflags listing module compatibility. Used in the exosuit fabricator for creating sub-categories.

show_amount

Show the amount of this module that is installed

\ No newline at end of file diff --git a/obj/item/borg_shapeshifter.html b/obj/item/borg_shapeshifter.html new file mode 100644 index 000000000000..40c901368794 --- /dev/null +++ b/obj/item/borg_shapeshifter.html @@ -0,0 +1,5 @@ +/obj/item/borg_shapeshifter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

borg_shapeshifter

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

check_menu

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/bounty_cube.html b/obj/item/bounty_cube.html new file mode 100644 index 000000000000..a37ad7b6e7de --- /dev/null +++ b/obj/item/bounty_cube.html @@ -0,0 +1 @@ +/obj/item/bounty_cube - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

bounty_cube

Upon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.

Vars

bounty_handler_accountBank account of the person who receives the handling tip.
bounty_holderWho completed the bounty.
bounty_holder_accountBank account of the person who completed the bounty.
bounty_holder_jobWhat job the bounty holder had.
bounty_nameWhat the bounty was for.
bounty_valueValue of the bounty that this bounty cube sells for.
handler_tipMultiplier for the bounty payout received by the person who claims the handling tip.
holder_cutMultiplier for the bounty payout received by the person who completed the bounty.
nag_cooldownTime between nags.
nag_cooldown_multiplierHow much the time between nags extends each nag.
next_nag_timeNext world tick to nag Supply listeners.
radioOur internal radio.
radio_keyThe key our internal radio uses.
speed_bonusMultiplier for the bounty payout received by the Supply budget if the cube is sent without having to nag.

Var Details

bounty_handler_account

Bank account of the person who receives the handling tip.

bounty_holder

Who completed the bounty.

bounty_holder_account

Bank account of the person who completed the bounty.

bounty_holder_job

What job the bounty holder had.

bounty_name

What the bounty was for.

bounty_value

Value of the bounty that this bounty cube sells for.

handler_tip

Multiplier for the bounty payout received by the person who claims the handling tip.

holder_cut

Multiplier for the bounty payout received by the person who completed the bounty.

nag_cooldown

Time between nags.

nag_cooldown_multiplier

How much the time between nags extends each nag.

next_nag_time

Next world tick to nag Supply listeners.

radio

Our internal radio.

radio_key

The key our internal radio uses.

speed_bonus

Multiplier for the bounty payout received by the Supply budget if the cube is sent without having to nag.

\ No newline at end of file diff --git a/obj/item/broom.html b/obj/item/broom.html new file mode 100644 index 000000000000..5882e109fa5c --- /dev/null +++ b/obj/item/broom.html @@ -0,0 +1 @@ +/obj/item/broom - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

broom

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/canvas.html b/obj/item/canvas.html new file mode 100644 index 000000000000..ca7ddb3d8f3b --- /dev/null +++ b/obj/item/canvas.html @@ -0,0 +1 @@ +/obj/item/canvas - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

canvas

Vars

no_saveboolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.

Var Details

no_save

boolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.

\ No newline at end of file diff --git a/obj/item/cardboard_cutout.html b/obj/item/cardboard_cutout.html new file mode 100644 index 000000000000..f0e35cb51985 --- /dev/null +++ b/obj/item/cardboard_cutout.html @@ -0,0 +1,11 @@ +/obj/item/cardboard_cutout - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

cardboard_cutout

Vars

deceptiveIf the cutout actually appears as what it portray and not a discolored version
possible_appearancesPossible restyles for the cutout, add an entry in change_appearance() if you add to here
pushed_overIf the cutout is pushed over and has to be righted

Procs

change_appearancechange_appearance: Changes a skin of the cardboard cutout based on a user's choice
check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Var Details

deceptive

If the cutout actually appears as what it portray and not a discolored version

possible_appearances

Possible restyles for the cutout, add an entry in change_appearance() if you add to here

pushed_over

If the cutout is pushed over and has to be righted

Proc Details

change_appearance

change_appearance: Changes a skin of the cardboard cutout based on a user's choice

+

Arguments:

+

check_menu

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/cardpack.html b/obj/item/cardpack.html new file mode 100644 index 000000000000..b93c59d82b41 --- /dev/null +++ b/obj/item/cardpack.html @@ -0,0 +1 @@ +/obj/item/cardpack - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cardpack

Vars

card_countThe amount of cards to draw from the rarity table
contains_coinChance of the pack having a coin in it out of 10
guar_rarityThe guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like
guaranteed_countThe amount of cards to draw from the guarenteed rarity table
rarity_tableThe rarity table, the set must contain at least one of each
seriesThe card series to look in

Var Details

card_count

The amount of cards to draw from the rarity table

contains_coin

Chance of the pack having a coin in it out of 10

guar_rarity

The guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like

guaranteed_count

The amount of cards to draw from the guarenteed rarity table

rarity_table

The rarity table, the set must contain at least one of each

series

The card series to look in

\ No newline at end of file diff --git a/obj/item/chainsaw.html b/obj/item/chainsaw.html new file mode 100644 index 000000000000..218d13aebbc3 --- /dev/null +++ b/obj/item/chainsaw.html @@ -0,0 +1 @@ +/obj/item/chainsaw - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

chainsaw

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/chisel.html b/obj/item/chisel.html new file mode 100644 index 000000000000..ae1e1915ea31 --- /dev/null +++ b/obj/item/chisel.html @@ -0,0 +1 @@ +/obj/item/chisel - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

chisel

Elder Atmosian

Vars

prepared_blockBlock we're currently carving in
sculptingCurrently sculpting
tracked_userIf tracked user moves we stop sculpting

Var Details

prepared_block

Block we're currently carving in

sculpting

Currently sculpting

tracked_user

If tracked user moves we stop sculpting

\ No newline at end of file diff --git a/obj/item/circuitboard.html b/obj/item/circuitboard.html new file mode 100644 index 000000000000..f97acdb5be61 --- /dev/null +++ b/obj/item/circuitboard.html @@ -0,0 +1,5 @@ +/obj/item/circuitboard - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

circuitboard

Vars

onstationdetermines if the circuit board originated from a vendor off station or not.

Procs

configure_machineUsed to allow the circuitboard to configure a machine in some way, shape or form.

Var Details

onstation

determines if the circuit board originated from a vendor off station or not.

Proc Details

configure_machine

Used to allow the circuitboard to configure a machine in some way, shape or form.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/clipboard.html b/obj/item/clipboard.html new file mode 100644 index 000000000000..529d7133476d --- /dev/null +++ b/obj/item/clipboard.html @@ -0,0 +1,4 @@ +/obj/item/clipboard - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

clipboard

Clipboard

Vars

integrated_penIs the pen integrated?
penThe stored pen
toppaper_refWeakref of the topmost piece of paper

Procs

on_top_paper_changeThis is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.
remove_paperTake out the topmost paper

Var Details

integrated_pen

Is the pen integrated?

pen

The stored pen

toppaper_ref

Weakref of the topmost piece of paper

+

This is used for the paper displayed on the clipboard's icon +and it is the one attacked, when attacking the clipboard. +(As you can't organise contents directly in BYOND)

Proc Details

on_top_paper_change

This is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.

remove_paper

Take out the topmost paper

\ No newline at end of file diff --git a/obj/item/clipboard/cyborg.html b/obj/item/clipboard/cyborg.html new file mode 100644 index 000000000000..cde18e6e35d1 --- /dev/null +++ b/obj/item/clipboard/cyborg.html @@ -0,0 +1 @@ +/obj/item/clipboard/cyborg - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cyborg

Vars

paper_charge_costHow much charge is required to print a piece of paper?
printer_cooldownWhen was the last time the printer was used?
printer_cooldown_timeHow long is the integrated printer's cooldown?

Var Details

paper_charge_cost

How much charge is required to print a piece of paper?

printer_cooldown

When was the last time the printer was used?

printer_cooldown_time

How long is the integrated printer's cooldown?

\ No newline at end of file diff --git a/obj/item/clothing.html b/obj/item/clothing.html new file mode 100644 index 000000000000..c021472b3238 --- /dev/null +++ b/obj/item/clothing.html @@ -0,0 +1,26 @@ +/obj/item/clothing - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

clothing

Vars

armor_listThese are armor values that protect the wearer, taken from the clothing's armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().
durability_listThese are armor values that protect the clothing, taken from its armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().

Procs

armor_to_protection_classRounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10
bristleIf we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged
disable_zonedisable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone()]
take_damage_zonetake_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods()]

Var Details

armor_list

These are armor values that protect the wearer, taken from the clothing's armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().

durability_list

These are armor values that protect the clothing, taken from its armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().

Proc Details

armor_to_protection_class

Rounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10

+

Rounds armor_value to nearest 10, divides it by 10 +and then expresses it in roman numerals up to 10 +Arguments:

+

bristle

If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged

disable_zone

disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone()]

+

This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) +If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in +order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled.

+

Arguments:

+

take_damage_zone

take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods()]

+
This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers
+
+

more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. +Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/clothing/glasses/hud.html b/obj/item/clothing/glasses/hud.html new file mode 100644 index 000000000000..79d4ae4812f6 --- /dev/null +++ b/obj/item/clothing/glasses/hud.html @@ -0,0 +1 @@ +/obj/item/clothing/glasses/hud - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

hud

Vars

hud_traitUsed for topic calls. Just because you have a HUD display doesn't mean you should be able to interact with stuff.

Var Details

hud_trait

Used for topic calls. Just because you have a HUD display doesn't mean you should be able to interact with stuff.

\ No newline at end of file diff --git a/obj/item/clothing/gloves/fingerless/pugilist.html b/obj/item/clothing/gloves/fingerless/pugilist.html new file mode 100644 index 000000000000..93acabdbc77a --- /dev/null +++ b/obj/item/clothing/gloves/fingerless/pugilist.html @@ -0,0 +1 @@ +/obj/item/clothing/gloves/fingerless/pugilist - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

pugilist

Vars

enhancementExtra damage through the punch.
inherited_traitMain trait added by the gloves to the user on wear.
secondary_traitSecondary trait added by the gloves to the user on wear.
silentdo we give the flavortext for wearing them
wornoncedid you ever get around to wearing these or no
wound_enhancementextra wound bonus through the punch (MAYBE DON'T BE GENEROUS WITH THIS)

Var Details

enhancement

Extra damage through the punch.

inherited_trait

Main trait added by the gloves to the user on wear.

secondary_trait

Secondary trait added by the gloves to the user on wear.

silent

do we give the flavortext for wearing them

wornonce

did you ever get around to wearing these or no

wound_enhancement

extra wound bonus through the punch (MAYBE DON'T BE GENEROUS WITH THIS)

\ No newline at end of file diff --git a/obj/item/clothing/gloves/mod.html b/obj/item/clothing/gloves/mod.html new file mode 100644 index 000000000000..c7a46e5d3717 --- /dev/null +++ b/obj/item/clothing/gloves/mod.html @@ -0,0 +1 @@ +/obj/item/clothing/gloves/mod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mod

Procs

show_overslotReplaces these gloves on the wearer with the overslot ones

Proc Details

show_overslot

Replaces these gloves on the wearer with the overslot ones

\ No newline at end of file diff --git a/obj/item/clothing/gloves/space_ninja.html b/obj/item/clothing/gloves/space_ninja.html new file mode 100644 index 000000000000..e51e23197654 --- /dev/null +++ b/obj/item/clothing/gloves/space_ninja.html @@ -0,0 +1,5 @@ +/obj/item/clothing/gloves/space_ninja - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Ninja Gloves

Space ninja's gloves. Gives access to a number of special interactions.

+

Gloves only found from space ninjas. Allows the wearer to access special interactions with various objects. +These interactions are detailed in ninjaDrainAct.dm in the suit file. +These interactions are toggled by an action tied to the gloves. The interactions will not activate if the user is also not wearing a ninja suit.

Vars

borg_hack_successWhether or not the cyborg hack was used to syndify a cyborg
candrainWhether or not we can currently drain something
communication_console_hack_successWhether or not the communication console hack was used to summon another antagonist
door_hack_counterHow many times the gloves have been used to force open doors.
drainingWhether or not we're currently draining something
maxdrainMaximum amount of power we can drain in a single drain action
mindrainMinimum amount of power we can drain in a single drain action
security_console_hack_successWhether or not the security console hack was used to set everyone to arrest

Procs

toggledrainProc called to toggle the ninja glove's special abilities.

Var Details

borg_hack_success

Whether or not the cyborg hack was used to syndify a cyborg

candrain

Whether or not we can currently drain something

communication_console_hack_success

Whether or not the communication console hack was used to summon another antagonist

door_hack_counter

How many times the gloves have been used to force open doors.

draining

Whether or not we're currently draining something

maxdrain

Maximum amount of power we can drain in a single drain action

mindrain

Minimum amount of power we can drain in a single drain action

security_console_hack_success

Whether or not the security console hack was used to set everyone to arrest

Proc Details

toggledrain

Proc called to toggle the ninja glove's special abilities.

+

Used to toggle whether or not the ninja glove's abilities will activate on touch.

\ No newline at end of file diff --git a/obj/item/clothing/gloves/tackler.html b/obj/item/clothing/gloves/tackler.html new file mode 100644 index 000000000000..41c195d518d9 --- /dev/null +++ b/obj/item/clothing/gloves/tackler.html @@ -0,0 +1 @@ +/obj/item/clothing/gloves/tackler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

tackler

Vars

base_knockdownSee: /datum/component/tackler/var/base_knockdown
min_distanceSee: /datum/component/tackler/var/min_distance
skill_modSee: /datum/component/tackler/var/skill_mod
tackle_rangeSee: /datum/component/tackler/var/range
tackle_speedSee: /datum/component/tackler/var/speed
tackle_stam_costSee: /datum/component/tackler/var/stamina_cost
tacklerFor storing our tackler datum so we can remove it after

Var Details

base_knockdown

See: /datum/component/tackler/var/base_knockdown

min_distance

See: /datum/component/tackler/var/min_distance

skill_mod

See: /datum/component/tackler/var/skill_mod

tackle_range

See: /datum/component/tackler/var/range

tackle_speed

See: /datum/component/tackler/var/speed

tackle_stam_cost

See: /datum/component/tackler/var/stamina_cost

tackler

For storing our tackler datum so we can remove it after

\ No newline at end of file diff --git a/obj/item/clothing/head.html b/obj/item/clothing/head.html new file mode 100644 index 000000000000..d35d40376386 --- /dev/null +++ b/obj/item/clothing/head.html @@ -0,0 +1 @@ +/obj/item/clothing/head - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

head

Procs

throw_impactSpecial throw_impact for hats to frisbee hats at people to place them on their heads.

Proc Details

throw_impact

Special throw_impact for hats to frisbee hats at people to place them on their heads.

\ No newline at end of file diff --git a/obj/item/clothing/head/helmet/space/plasmaman.html b/obj/item/clothing/head/helmet/space/plasmaman.html new file mode 100644 index 000000000000..f430cdc0ba84 --- /dev/null +++ b/obj/item/clothing/head/helmet/space/plasmaman.html @@ -0,0 +1 @@ +/obj/item/clothing/head/helmet/space/plasmaman - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

plasmaman

Procs

wipe_that_smile_off_your_facegets called when receiving the CLEAN_ACT signal from something, i.e soap or a shower. exists to remove any smiley faces drawn on the helmet.

Proc Details

wipe_that_smile_off_your_face

gets called when receiving the CLEAN_ACT signal from something, i.e soap or a shower. exists to remove any smiley faces drawn on the helmet.

\ No newline at end of file diff --git a/obj/item/clothing/head/helmet/space/space_ninja.html b/obj/item/clothing/head/helmet/space/space_ninja.html new file mode 100644 index 000000000000..79fc53361314 --- /dev/null +++ b/obj/item/clothing/head/helmet/space/space_ninja.html @@ -0,0 +1,2 @@ +/obj/item/clothing/head/helmet/space/space_ninja - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Ninja Hood

Space ninja's hood. Provides armor and blocks AI tracking.

+

A hood that only exists as a part of space ninja's starting kit. Provides armor equal of space ninja's suit and disallows an AI to track the wearer.

\ No newline at end of file diff --git a/obj/item/clothing/head/ushanka.html b/obj/item/clothing/head/ushanka.html new file mode 100644 index 000000000000..4835e49c60a7 --- /dev/null +++ b/obj/item/clothing/head/ushanka.html @@ -0,0 +1 @@ +/obj/item/clothing/head/ushanka - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ushanka

Vars

downspriteSprite visible when the ushanka flaps are folded down.
upspriteSprite visible when the ushanka flaps are folded up.

Var Details

downsprite

Sprite visible when the ushanka flaps are folded down.

upsprite

Sprite visible when the ushanka flaps are folded up.

\ No newline at end of file diff --git a/obj/item/clothing/mask.html b/obj/item/clothing/mask.html new file mode 100644 index 000000000000..67a50755d0fe --- /dev/null +++ b/obj/item/clothing/mask.html @@ -0,0 +1,3 @@ +/obj/item/clothing/mask - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mask

Procs

adjustmaskProc that moves gas/breath masks out of the way, disabling them and allowing pill/food consumption +The flavor_details variable is for masks that use this function only to toggle HIDEFACE for identity.

Proc Details

adjustmask

Proc that moves gas/breath masks out of the way, disabling them and allowing pill/food consumption +The flavor_details variable is for masks that use this function only to toggle HIDEFACE for identity.

\ No newline at end of file diff --git a/obj/item/clothing/mask/chameleon.html b/obj/item/clothing/mask/chameleon.html new file mode 100644 index 000000000000..c86d8966bce0 --- /dev/null +++ b/obj/item/clothing/mask/chameleon.html @@ -0,0 +1 @@ +/obj/item/clothing/mask/chameleon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

chameleon

Vars

chameleon_actionThis determines if the voice changer is on or off.

Var Details

chameleon_action

This determines if the voice changer is on or off.

\ No newline at end of file diff --git a/obj/item/clothing/mask/facehugger/toy.html b/obj/item/clothing/mask/facehugger/toy.html new file mode 100644 index 000000000000..a1ba64cd84d4 --- /dev/null +++ b/obj/item/clothing/mask/facehugger/toy.html @@ -0,0 +1,2 @@ +/obj/item/clothing/mask/facehugger/toy - SPLURT Station 13
SPLURT Station 13 - Modules - Types

toy

Mining Equipment Vendor Items

+

Facehugger toy

\ No newline at end of file diff --git a/obj/item/clothing/mask/gas/space_ninja.html b/obj/item/clothing/mask/gas/space_ninja.html new file mode 100644 index 000000000000..999bed7c85bd --- /dev/null +++ b/obj/item/clothing/mask/gas/space_ninja.html @@ -0,0 +1,2 @@ +/obj/item/clothing/mask/gas/space_ninja - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Ninja Mask

Space ninja's mask. Makes you sound like a real anime girl. Barely able to be considered a real upside.

+

A mask which only spawns as a part of space ninja's starting kit. Functions as a gas mask.

\ No newline at end of file diff --git a/obj/item/clothing/mask/void_mask.html b/obj/item/clothing/mask/void_mask.html new file mode 100644 index 000000000000..b59ec5481d42 --- /dev/null +++ b/obj/item/clothing/mask/void_mask.html @@ -0,0 +1 @@ +/obj/item/clothing/mask/void_mask - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

void_mask

Vars

local_userWho is wearing this

Var Details

local_user

Who is wearing this

\ No newline at end of file diff --git a/obj/item/clothing/neck/eldritch_amulet.html b/obj/item/clothing/neck/eldritch_amulet.html new file mode 100644 index 000000000000..03d650388d90 --- /dev/null +++ b/obj/item/clothing/neck/eldritch_amulet.html @@ -0,0 +1 @@ +/obj/item/clothing/neck/eldritch_amulet - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

eldritch_amulet

Vars

traitWhat trait do we want to add upon equipiing

Var Details

trait

What trait do we want to add upon equipiing

\ No newline at end of file diff --git a/obj/item/clothing/neck/necklace/dope/merchant.html b/obj/item/clothing/neck/necklace/dope/merchant.html new file mode 100644 index 000000000000..cb73e5c7efd0 --- /dev/null +++ b/obj/item/clothing/neck/necklace/dope/merchant.html @@ -0,0 +1 @@ +/obj/item/clothing/neck/necklace/dope/merchant - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

merchant

Vars

profit_scalingscales the amount received in case an admin wants to emulate taxes/fees.
sellingtoggles between sell (TRUE) and get price post-fees (FALSE)

Var Details

profit_scaling

scales the amount received in case an admin wants to emulate taxes/fees.

selling

toggles between sell (TRUE) and get price post-fees (FALSE)

\ No newline at end of file diff --git a/obj/item/clothing/shoes.html b/obj/item/clothing/shoes.html new file mode 100644 index 000000000000..47ce4e81379f --- /dev/null +++ b/obj/item/clothing/shoes.html @@ -0,0 +1,12 @@ +/obj/item/clothing/shoes - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

shoes

Vars

can_be_tiedWhether these shoes have laces that can be tied/untied
lace_timeHow long it takes to lace/unlace these shoes
our_alertany alerts we have active
tiedAre we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Procs

adjust_lacesadjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted
check_tripcheck_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble
handle_tyinghandle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces
still_shoedchecking to make sure we're still on the person we're supposed to be, for lacing do_after's

Var Details

can_be_tied

Whether these shoes have laces that can be tied/untied

lace_time

How long it takes to lace/unlace these shoes

our_alert

any alerts we have active

tied

Are we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Proc Details

adjust_laces

adjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted

+

In addition to setting the state, it will deal with getting rid of alerts if they exist, as well as registering and unregistering the stepping signals

+

Arguments:

+

check_trip

check_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble

handle_tying

handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces

+

If you're the wearer, you want them to move towards tied-ness (knotted -> untied -> tied). If you're not, you're pranking them, so you're moving towards knotted-ness (tied -> untied -> knotted)

+

Arguments:

+

still_shoed

checking to make sure we're still on the person we're supposed to be, for lacing do_after's

\ No newline at end of file diff --git a/obj/item/clothing/shoes/mod.html b/obj/item/clothing/shoes/mod.html new file mode 100644 index 000000000000..914c53b583ef --- /dev/null +++ b/obj/item/clothing/shoes/mod.html @@ -0,0 +1 @@ +/obj/item/clothing/shoes/mod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mod

Procs

show_overslotReplaces these shoes on the wearer with the overslot ones

Proc Details

show_overslot

Replaces these shoes on the wearer with the overslot ones

\ No newline at end of file diff --git a/obj/item/clothing/shoes/space_ninja.html b/obj/item/clothing/shoes/space_ninja.html new file mode 100644 index 000000000000..65a15c06ef11 --- /dev/null +++ b/obj/item/clothing/shoes/space_ninja.html @@ -0,0 +1,3 @@ +/obj/item/clothing/shoes/space_ninja - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Ninja Shoes

Space ninja's shoes. Gives him armor on his feet.

+

Space ninja's ninja shoes. How mousey. Gives him slip protection and protection against attacks. +Also are temperature resistant.

\ No newline at end of file diff --git a/obj/item/clothing/suit/hooded.html b/obj/item/clothing/suit/hooded.html new file mode 100644 index 000000000000..65c82397a32f --- /dev/null +++ b/obj/item/clothing/suit/hooded.html @@ -0,0 +1 @@ +/obj/item/clothing/suit/hooded - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

hooded

Vars

alternative_modeAlternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.

Var Details

alternative_mode

Alternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.

\ No newline at end of file diff --git a/obj/item/clothing/suit/space/space_ninja.html b/obj/item/clothing/suit/space/space_ninja.html new file mode 100644 index 000000000000..54bfdf8657e0 --- /dev/null +++ b/obj/item/clothing/suit/space/space_ninja.html @@ -0,0 +1,65 @@ +/obj/item/clothing/suit/space/space_ninja - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Ninja Suit

Space ninja's suit. Provides him with most of his powers.

+

Space ninja's suit. Gives space ninja all his iconic powers, which are mostly kept in +the folder ninja_equipment_actions. Has a lot of unique stuff going on, so make sure to check +the variables. Check suit_attackby to see radium interaction, disk copying, and cell replacement.

Vars

a_boostWhether or not the adrenaline boost ability is available
a_transferUnits of radium required to refill the adrenaline boost
affectingThe person wearing the suit
n_maskThe space ninja's mask.
s_acostAdditional energy cost for cloaking per process
s_busyWhether or not the wearer is in the middle of an action, like hacking.
s_cooldThe suit's current cooldown. If not 0, blocks usage of most abilities, and decrements its value by 1 every process
s_costHow much energy the suit expends in a single process
s_delayHow fast the suit is at certain actions, like draining power from things
s_initializedWhether or not the suit is currently booted up. Starts off.
s_longdelayHow fast the suit is at certain riskier actions, like hacking communications consoles.
stealthWhether or not the suit is currently in stealth mode.

Procs

cancel_stealthProc called to cancel stealth.
deinitializeDeinitializes the ninja suit
lock_suitProc called to lock the important gear pieces onto space ninja's body.
ninitializeInitializes the ninja suit
ninja_sword_recallProc called to recall the ninja's sword.
ninjaboostProc called to activate space ninja's adrenaline.
ninjaboost_afterProc called to inject the ninja with radium.
ninjacostProc called to check if the ninja can afford an ability's cost.
ninjanetProc called to ensnare a person in a energy net.
ninjapulseProc called to allow the ninja to EMP the nearby area.
ninjastarProc called to create a ninja star in the ninja's hands.
terminateProc used to delete all the attachments and itself.
toggle_on_offToggles the ninja suit on/off
toggle_stealthProc called to toggle ninja stealth.
unlock_suitProc called to unlock all the gear off space ninja's body.

Var Details

a_boost

Whether or not the adrenaline boost ability is available

a_transfer

Units of radium required to refill the adrenaline boost

affecting

The person wearing the suit

n_mask

The space ninja's mask.

s_acost

Additional energy cost for cloaking per process

s_busy

Whether or not the wearer is in the middle of an action, like hacking.

s_coold

The suit's current cooldown. If not 0, blocks usage of most abilities, and decrements its value by 1 every process

s_cost

How much energy the suit expends in a single process

s_delay

How fast the suit is at certain actions, like draining power from things

s_initialized

Whether or not the suit is currently booted up. Starts off.

s_longdelay

How fast the suit is at certain riskier actions, like hacking communications consoles.

stealth

Whether or not the suit is currently in stealth mode.

Proc Details

cancel_stealth

Proc called to cancel stealth.

+

Called to cancel the stealth effect if it is ongoing. +Does nothing otherwise. +Arguments:

+

deinitialize

Deinitializes the ninja suit

+

Deinitializes the ninja suit through eight phases, each of which calls this proc with an incremented phase +Arguments:

+

lock_suit

Proc called to lock the important gear pieces onto space ninja's body.

+

Called during the suit startup to lock all gear pieces onto space ninja. +Terminates if a gear piece is not being worn. Also gives the ninja the inability to use firearms. +If the person in the suit isn't a ninja when this is called, this proc just gibs them instead. +Arguments:

+

ninitialize

Initializes the ninja suit

+

Initializes the ninja suit through seven phases, each of which calls this proc with an incremented phase +Arguments:

+

ninja_sword_recall

Proc called to recall the ninja's sword.

+

Called to summon the ninja's katana back to them +If the katana can see the ninja, it will throw itself towards them. +If not, the katana will teleport itself to the ninja.

ninjaboost

Proc called to activate space ninja's adrenaline.

+

Proc called to use space ninja's adrenaline. Gets the ninja out of almost any stun. +Also makes them shout MGS references when used. After a bit, it injects the user with +radium by calling a different proc.

ninjaboost_after

Proc called to inject the ninja with radium.

+

Used after 7 seconds of using the ninja's adrenaline. +Injects the user with how much radium the suit needs to refill an adrenaline boost.

ninjacost

Proc called to check if the ninja can afford an ability's cost.

+

Proc which determine whether or not a space ninja can afford to use a specific ability. +It can also cancel stealth if the ability requested it. +Arguments:

+

ninjanet

Proc called to ensnare a person in a energy net.

+

Used to ensnare a target in an energy net, preventing them from moving until the net is broken. +Costs 40E, which is 40% of the default battery's max charge. Intended as a means of reliably locking down an opponent when ninja stars won't suffice.

ninjapulse

Proc called to allow the ninja to EMP the nearby area.

+

Proc called to allow the ninja to EMP the nearby area. By default, costs 500E, which is half of the default battery's max charge. +Also affects the ninja as well.

ninjastar

Proc called to create a ninja star in the ninja's hands.

+

Called to create a ninja star in the wearer's hand. The ninja +star doesn't do much up-front damage, but deals stamina damage +as the target moves around, forcing a finish or flee scenario.

terminate

Proc used to delete all the attachments and itself.

+

Can be called to entire rid of the suit pieces and the suit itself.

toggle_on_off

Toggles the ninja suit on/off

+

Attempts to initialize or deinitialize the ninja suit

toggle_stealth

Proc called to toggle ninja stealth.

+

Proc called to toggle whether or not the ninja is in stealth mode. +If cancelling, calls a separate proc in case something else needs to quickly cancel stealth.

unlock_suit

Proc called to unlock all the gear off space ninja's body.

+

Proc which is essentially the opposite of lock_suit. Lets you take off all the suit parts. +Also gets rid of the objection to using firearms from the wearer. +Arguments:

+
\ No newline at end of file diff --git a/obj/item/computer_hardware.html b/obj/item/computer_hardware.html new file mode 100644 index 000000000000..ded4c3fe6cf1 --- /dev/null +++ b/obj/item/computer_hardware.html @@ -0,0 +1,8 @@ +/obj/item/computer_hardware - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

computer_hardware

Procs

try_ejectImplement this when your hardware contains an object that the user can eject.

Proc Details

try_eject

Implement this when your hardware contains an object that the user can eject.

+

Examples include ejecting cells from battery modules, ejecting an ID card from a card reader +or ejecting an Intellicard from an AI card slot. +Arguments:

+
\ No newline at end of file diff --git a/obj/item/computer_hardware/ai_slot.html b/obj/item/computer_hardware/ai_slot.html new file mode 100644 index 000000000000..5954dd38c827 --- /dev/null +++ b/obj/item/computer_hardware/ai_slot.html @@ -0,0 +1 @@ +/obj/item/computer_hardware/ai_slot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

ai_slot

Procs

ExitedWhat happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.

Proc Details

Exited

What happens when the intellicard is removed (or deleted) from the module, through try_eject() or not.

\ No newline at end of file diff --git a/obj/item/computer_hardware/battery.html b/obj/item/computer_hardware/battery.html new file mode 100644 index 000000000000..20a7482e5453 --- /dev/null +++ b/obj/item/computer_hardware/battery.html @@ -0,0 +1 @@ +/obj/item/computer_hardware/battery - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

battery

Procs

ExitedWhat happens when the battery is removed (or deleted) from the module, through try_eject() or not.

Proc Details

Exited

What happens when the battery is removed (or deleted) from the module, through try_eject() or not.

\ No newline at end of file diff --git a/obj/item/computer_hardware/card_slot.html b/obj/item/computer_hardware/card_slot.html new file mode 100644 index 000000000000..129dabe6bcb7 --- /dev/null +++ b/obj/item/computer_hardware/card_slot.html @@ -0,0 +1 @@ +/obj/item/computer_hardware/card_slot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

card_slot

Procs

ExitedWhat happens when the ID card is removed (or deleted) from the module, through try_eject() or not.
swap_slotSwaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.

Proc Details

Exited

What happens when the ID card is removed (or deleted) from the module, through try_eject() or not.

swap_slot

Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.

\ No newline at end of file diff --git a/obj/item/construction/plumbing.html b/obj/item/construction/plumbing.html new file mode 100644 index 000000000000..9cd21fe82d48 --- /dev/null +++ b/obj/item/construction/plumbing.html @@ -0,0 +1 @@ +/obj/item/construction/plumbing - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

plumbing

Vars

blueprinttype of the plumbing machine
choicesindex, used in the attack self to get the type. stored here since it doesnt change
name_to_typeindex, used in the attack self to get the type. stored here since it doesnt change

Procs

create_machinepretty much rcd_create, but named differently to make myself feel less bad for copypasting from a sibling-type

Var Details

blueprint

type of the plumbing machine

choices

index, used in the attack self to get the type. stored here since it doesnt change

name_to_type

index, used in the attack self to get the type. stored here since it doesnt change

Proc Details

create_machine

pretty much rcd_create, but named differently to make myself feel less bad for copypasting from a sibling-type

\ No newline at end of file diff --git a/obj/item/conveyor_sorter.html b/obj/item/conveyor_sorter.html new file mode 100644 index 000000000000..ca86621f9a63 --- /dev/null +++ b/obj/item/conveyor_sorter.html @@ -0,0 +1 @@ +/obj/item/conveyor_sorter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

conveyor_sorter

Vars

current_sortthe list of things that are currently within the sorting list
spawned_sortersthe list of conveyor sorters spawned by

Var Details

current_sort

the list of things that are currently within the sorting list

spawned_sorters

the list of conveyor sorters spawned by

\ No newline at end of file diff --git a/obj/item/coupon.html b/obj/item/coupon.html new file mode 100644 index 000000000000..85d38f5c216b --- /dev/null +++ b/obj/item/coupon.html @@ -0,0 +1 @@ +/obj/item/coupon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

coupon

Procs

generateChoose what our prize is :D

Proc Details

generate

Choose what our prize is :D

\ No newline at end of file diff --git a/obj/item/cult_spear.html b/obj/item/cult_spear.html new file mode 100644 index 000000000000..09d2b427c3af --- /dev/null +++ b/obj/item/cult_spear.html @@ -0,0 +1 @@ +/obj/item/cult_spear - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

cult_spear

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/defibrillator.html b/obj/item/defibrillator.html new file mode 100644 index 000000000000..513b91cdb31e --- /dev/null +++ b/obj/item/defibrillator.html @@ -0,0 +1 @@ +/obj/item/defibrillator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

defibrillator

Vars

cell_removableIf the cell can be removed via screwdriver
charge_stateThe icon state for the charge bar overlay, not applied if null
emagged_stateThe icon state for the emagged overlay, not applied if null
nocell_stateThe icon state for the missing cell overlay, not applied if null
paddle_stateThe icon state for the paddle overlay, not applied if null
powered_stateThe icon state for the powered on overlay, not applied if null

Var Details

cell_removable

If the cell can be removed via screwdriver

charge_state

The icon state for the charge bar overlay, not applied if null

emagged_state

The icon state for the emagged overlay, not applied if null

nocell_state

The icon state for the missing cell overlay, not applied if null

paddle_state

The icon state for the paddle overlay, not applied if null

powered_state

The icon state for the powered on overlay, not applied if null

\ No newline at end of file diff --git a/obj/item/dualsaber.html b/obj/item/dualsaber.html new file mode 100644 index 000000000000..eef335236ff5 --- /dev/null +++ b/obj/item/dualsaber.html @@ -0,0 +1,5 @@ +/obj/item/dualsaber - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

dualsaber

Vars

can_reflectCan this reflect all energy projectiles?

Procs

on_unwieldTriggered on unwield of two handed item +switch hitsounds
on_wieldTriggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.

Var Details

can_reflect

Can this reflect all energy projectiles?

Proc Details

on_unwield

Triggered on unwield of two handed item +switch hitsounds

on_wield

Triggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.

\ No newline at end of file diff --git a/obj/item/dyespray.html b/obj/item/dyespray.html new file mode 100644 index 000000000000..bdb7a68f94f4 --- /dev/null +++ b/obj/item/dyespray.html @@ -0,0 +1,5 @@ +/obj/item/dyespray - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

dyespray

Procs

dyeApplies a gradient and a gradient color to a mob.

Proc Details

dye

Applies a gradient and a gradient color to a mob.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/eldritch_potion.html b/obj/item/eldritch_potion.html new file mode 100644 index 000000000000..3aec4536fd94 --- /dev/null +++ b/obj/item/eldritch_potion.html @@ -0,0 +1 @@ +/obj/item/eldritch_potion - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

eldritch_potion

Vars

status_effectTypepath to the status effect this is supposed to hold

Procs

effectThe effect of the potion if it has any special one, in general try not to override this and utilize the status_effect var to make custom effects.

Var Details

status_effect

Typepath to the status effect this is supposed to hold

Proc Details

effect

The effect of the potion if it has any special one, in general try not to override this and utilize the status_effect var to make custom effects.

\ No newline at end of file diff --git a/obj/item/electronics/airlock.html b/obj/item/electronics/airlock.html new file mode 100644 index 000000000000..389c71430ccb --- /dev/null +++ b/obj/item/electronics/airlock.html @@ -0,0 +1 @@ +/obj/item/electronics/airlock - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

airlock

Vars

accessesA list of all granted accesses
holderA holder of the electronics, in case of them working as an integrated part
one_accessIf the airlock should require ALL or only ONE of the listed accesses
unres_sidesUnrestricted sides, or sides of the airlock that will open regardless of access

Var Details

accesses

A list of all granted accesses

holder

A holder of the electronics, in case of them working as an integrated part

one_access

If the airlock should require ALL or only ONE of the listed accesses

unres_sides

Unrestricted sides, or sides of the airlock that will open regardless of access

\ No newline at end of file diff --git a/obj/item/electronics/electrochromatic_kit.html b/obj/item/electronics/electrochromatic_kit.html new file mode 100644 index 000000000000..cdc98b283f42 --- /dev/null +++ b/obj/item/electronics/electrochromatic_kit.html @@ -0,0 +1 @@ +/obj/item/electronics/electrochromatic_kit - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

electrochromatic_kit

Vars

idElectrochromatic ID

Var Details

id

Electrochromatic ID

\ No newline at end of file diff --git a/obj/item/energy_katana.html b/obj/item/energy_katana.html new file mode 100644 index 000000000000..73924b0ccaa9 --- /dev/null +++ b/obj/item/energy_katana.html @@ -0,0 +1,12 @@ +/obj/item/energy_katana - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

Energy Katana

The space ninja's katana.

+

The katana that only space ninja spawns with. Comes with 30 force and throwforce, along with a signature special jaunting system. +Upon clicking on a tile with the dash on, the user will teleport to that tile, assuming their target was not dense. +The katana has 3 dashes stored at maximum, and upon using the dash, it will return 20 seconds after it was used. +It also has a special feature where if it is tossed at a space ninja who owns it (determined by the ninja suit), the ninja will catch the katana instead of being hit by it.

Procs

returnToOwnerProc called when the katana is recalled to its space ninja.

Proc Details

returnToOwner

Proc called when the katana is recalled to its space ninja.

+

Proc called when space ninja is hit with its suit's katana or the recall ability is used. +Arguments:

+
\ No newline at end of file diff --git a/obj/item/extinguisher.html b/obj/item/extinguisher.html new file mode 100644 index 000000000000..2e61879da925 --- /dev/null +++ b/obj/item/extinguisher.html @@ -0,0 +1 @@ +/obj/item/extinguisher - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

extinguisher

Vars

tank_holder_icon_stateIcon state when inside a tank holder

Var Details

tank_holder_icon_state

Icon state when inside a tank holder

\ No newline at end of file diff --git a/obj/item/fireaxe.html b/obj/item/fireaxe.html new file mode 100644 index 000000000000..239088b4b2a9 --- /dev/null +++ b/obj/item/fireaxe.html @@ -0,0 +1 @@ +/obj/item/fireaxe - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

fireaxe

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/flashlight/pen/paramedic.html b/obj/item/flashlight/pen/paramedic.html new file mode 100644 index 000000000000..e6b5de22fe83 --- /dev/null +++ b/obj/item/flashlight/pen/paramedic.html @@ -0,0 +1 @@ +/obj/item/flashlight/pen/paramedic - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

paramedic

Vars

uv_cooldownOur current UV cooldown
uv_cooldown_lengthHow long between UV fryings
uv_powerHow much sanitization to apply to the burn wound

Var Details

uv_cooldown

Our current UV cooldown

uv_cooldown_length

How long between UV fryings

uv_power

How much sanitization to apply to the burn wound

\ No newline at end of file diff --git a/obj/item/forbidden_book.html b/obj/item/forbidden_book.html new file mode 100644 index 000000000000..164b36cee337 --- /dev/null +++ b/obj/item/forbidden_book.html @@ -0,0 +1 @@ +/obj/item/forbidden_book - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

forbidden_book

Vars

blacklisted_turfsWhere we cannot create the rune?
chargehow many charges do we have?
last_userLast person that touched this

Procs

draw_runeDraws a rune on a selected turf
get_power_from_influenceGives you a charge and destroys a corresponding influence
remove_runeRemoves runes from the selected turf

Var Details

blacklisted_turfs

Where we cannot create the rune?

charge

how many charges do we have?

last_user

Last person that touched this

Proc Details

draw_rune

Draws a rune on a selected turf

get_power_from_influence

Gives you a charge and destroys a corresponding influence

remove_rune

Removes runes from the selected turf

\ No newline at end of file diff --git a/obj/item/gang_induction_package.html b/obj/item/gang_induction_package.html new file mode 100644 index 000000000000..27c0ebcf8ff6 --- /dev/null +++ b/obj/item/gang_induction_package.html @@ -0,0 +1 @@ +/obj/item/gang_induction_package - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

gang_induction_package

Vars

gang_to_useThe typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
handlerReferences the active families gamemode handler (if one exists), for adding new family members to.
team_to_useThe team datum that the person who uses this package should be added to.

Procs

add_to_gangAdds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
attempt_join_gangChecks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

Var Details

gang_to_use

The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.

handler

References the active families gamemode handler (if one exists), for adding new family members to.

team_to_use

The team datum that the person who uses this package should be added to.

Proc Details

add_to_gang

Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.

attempt_join_gang

Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

\ No newline at end of file diff --git a/obj/item/genital_equipment.html b/obj/item/genital_equipment.html new file mode 100644 index 000000000000..cb38a9d5835d --- /dev/null +++ b/obj/item/genital_equipment.html @@ -0,0 +1 @@ +/obj/item/genital_equipment - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

genital_equipment

Procs

item_insertedRuns after the item has been inserted in a genital
item_insertingItem-specific checks to run before inserting in a genital
item_removedRuns after the item has been removed from a genital
item_removingItem-specific checks to run before removing from a genital

Proc Details

item_inserted

Runs after the item has been inserted in a genital

item_inserting

Item-specific checks to run before inserting in a genital

item_removed

Runs after the item has been removed from a genital

item_removing

Item-specific checks to run before removing from a genital

\ No newline at end of file diff --git a/obj/item/grenade.html b/obj/item/grenade.html new file mode 100644 index 000000000000..5dc37c0e9eda --- /dev/null +++ b/obj/item/grenade.html @@ -0,0 +1 @@ +/obj/item/grenade - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

grenade

Vars

ex_devhow big of a devastation explosion radius on prime
ex_flamehow big of a flame explosion radius on prime
ex_heavyhow big of a heavy explosion radius on prime
ex_lighthow big of a light explosion radius on prime
shrapnel_radiusthe higher this number, the more projectiles are created as shrapnel
shrapnel_typeif set, will spew out projectiles of this type

Var Details

ex_dev

how big of a devastation explosion radius on prime

ex_flame

how big of a flame explosion radius on prime

ex_heavy

how big of a heavy explosion radius on prime

ex_light

how big of a light explosion radius on prime

shrapnel_radius

the higher this number, the more projectiles are created as shrapnel

shrapnel_type

if set, will spew out projectiles of this type

\ No newline at end of file diff --git a/obj/item/grenade/primer.html b/obj/item/grenade/primer.html new file mode 100644 index 000000000000..b84742a119f1 --- /dev/null +++ b/obj/item/grenade/primer.html @@ -0,0 +1 @@ +/obj/item/grenade/primer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

primer

Vars

shrapnel_typehow many times we need to "rotate" the charge in hand per extra tile of magnitude

Procs

attack_selfhow many times we've "rotated" the charge

Var Details

shrapnel_type

how many times we need to "rotate" the charge in hand per extra tile of magnitude

Proc Details

attack_self

how many times we've "rotated" the charge

\ No newline at end of file diff --git a/obj/item/gun.html b/obj/item/gun.html new file mode 100644 index 000000000000..d547cc111040 --- /dev/null +++ b/obj/item/gun.html @@ -0,0 +1,6 @@ +/obj/item/gun - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

gun

Vars

burst_shot_delayThe time between shots in burst.
burst_sizeWeapon is burst fire if this is above 1
busy_actionUsed in gun-in-mouth execution/suicide and similar, while TRUE nothing should work on this like firing or modification and so on and so forth.
can_circuitcan we be put in a circuit
can_emittercan we be put in an emitter
can_turretcan we be put into a turret
dir_recoil_ampdirectional recoil multiplier
fire_delayThe time between firing actions, this means between bursts if this is burst weapon. The reason this is 0 is because you are still, by default, limited by clickdelay.
fire_selectCurrent fire selection, can choose between burst, single, and full auto.
fire_select_modesWhat modes does this weapon have? Put SELECT_FULLY_AUTOMATIC in here to enable fully automatic behaviours.
firingCurrently firing, whether or not it's a burst or not.
last_fireLast world.time this was fired
projectile_damage_multiplierJust 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.
selector_switch_iconif i`1t has an icon for a selector switch indicating current firemode.

Procs

set_gun_lightSwaps the gun's seclight, dropping the old seclight if it has not been qdel'd.

Var Details

burst_shot_delay

The time between shots in burst.

burst_size

Weapon is burst fire if this is above 1

busy_action

Used in gun-in-mouth execution/suicide and similar, while TRUE nothing should work on this like firing or modification and so on and so forth.

can_circuit

can we be put in a circuit

can_emitter

can we be put in an emitter

can_turret

can we be put into a turret

dir_recoil_amp

directional recoil multiplier

fire_delay

The time between firing actions, this means between bursts if this is burst weapon. The reason this is 0 is because you are still, by default, limited by clickdelay.

fire_select

Current fire selection, can choose between burst, single, and full auto.

fire_select_modes

What modes does this weapon have? Put SELECT_FULLY_AUTOMATIC in here to enable fully automatic behaviours.

firing

Currently firing, whether or not it's a burst or not.

last_fire

Last world.time this was fired

projectile_damage_multiplier

Just 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.

selector_switch_icon

if i`1t has an icon for a selector switch indicating current firemode.

Proc Details

set_gun_light

Swaps the gun's seclight, dropping the old seclight if it has not been qdel'd.

+

Returns the former gun_light that has now been replaced by this proc. +Arguments:

+
\ No newline at end of file diff --git a/obj/item/gun/ballistic.html b/obj/item/gun/ballistic.html new file mode 100644 index 000000000000..2939188e1283 --- /dev/null +++ b/obj/item/gun/ballistic.html @@ -0,0 +1 @@ +/obj/item/gun/ballistic - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

ballistic

Procs

on_sawoffis something supposed to happen here?

Proc Details

on_sawoff

is something supposed to happen here?

\ No newline at end of file diff --git a/obj/item/gun/energy.html b/obj/item/gun/energy.html new file mode 100644 index 000000000000..97a4ec385a75 --- /dev/null +++ b/obj/item/gun/energy.html @@ -0,0 +1 @@ +/obj/item/gun/energy - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

energy

Vars

ammo_type= TRUE/FALSE decides if the user can switch to it of their own accord
current_firemode_indexThe index of the ammo_types/firemodes which we're using right now
right_click_overriddenSET THIS TO TRUE IF YOU OVERRIDE altafterattack() or ANY right click action! If this is FALSE, the gun will show in examine its default right click behavior, which is to switch modes.
shot_type_overlayIf TRUE, when modifystate is TRUE this energy gun gets an overlay based on its selected shot type, like "[icon_state]_disable".

Procs

get_charge_ratioUsed by update_icon_state() and update_overlays()
select_fireThis is the proc used in general for when a user switches firemodes. Just goes to next firemode by default.

Var Details

ammo_type

= TRUE/FALSE decides if the user can switch to it of their own accord

current_firemode_index

The index of the ammo_types/firemodes which we're using right now

right_click_overridden

SET THIS TO TRUE IF YOU OVERRIDE altafterattack() or ANY right click action! If this is FALSE, the gun will show in examine its default right click behavior, which is to switch modes.

shot_type_overlay

If TRUE, when modifystate is TRUE this energy gun gets an overlay based on its selected shot type, like "[icon_state]_disable".

Proc Details

get_charge_ratio

Used by update_icon_state() and update_overlays()

select_fire

This is the proc used in general for when a user switches firemodes. Just goes to next firemode by default.

\ No newline at end of file diff --git a/obj/item/gun/energy/beam_rifle.html b/obj/item/gun/energy/beam_rifle.html new file mode 100644 index 000000000000..0ff3befff3ac --- /dev/null +++ b/obj/item/gun/energy/beam_rifle.html @@ -0,0 +1 @@ +/obj/item/gun/energy/beam_rifle - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

beam_rifle

Vars

zoom_target_view_increaseThe radius you want to zoom by

Var Details

zoom_target_view_increase

The radius you want to zoom by

\ No newline at end of file diff --git a/obj/item/hand_item/circlegame.html b/obj/item/hand_item/circlegame.html new file mode 100644 index 000000000000..84228846a7e2 --- /dev/null +++ b/obj/item/hand_item/circlegame.html @@ -0,0 +1 @@ +/obj/item/hand_item/circlegame - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

circlegame

Procs

GOTTEMStage 3B: We face our reckoning (unless we moved away or they're incapacitated)
ownerExaminedStage 1: The mistake is made
selfGottemStage 3A: We face our own failures
waitASecondStage 2: Fear sets in

Proc Details

GOTTEM

Stage 3B: We face our reckoning (unless we moved away or they're incapacitated)

ownerExamined

Stage 1: The mistake is made

selfGottem

Stage 3A: We face our own failures

waitASecond

Stage 2: Fear sets in

\ No newline at end of file diff --git a/obj/item/hand_item/kisser.html b/obj/item/hand_item/kisser.html new file mode 100644 index 000000000000..a8854f4c2239 --- /dev/null +++ b/obj/item/hand_item/kisser.html @@ -0,0 +1 @@ +/obj/item/hand_item/kisser - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

kisser

Vars

cheek_kissTRUE if the user was aiming anywhere but the mouth when they offer the kiss, if it's offered
kiss_typeThe kind of projectile this version of the kiss blower fires

Var Details

cheek_kiss

TRUE if the user was aiming anywhere but the mouth when they offer the kiss, if it's offered

kiss_type

The kind of projectile this version of the kiss blower fires

\ No newline at end of file diff --git a/obj/item/hand_item/slapper.html b/obj/item/hand_item/slapper.html new file mode 100644 index 000000000000..5cf3eb121bb8 --- /dev/null +++ b/obj/item/hand_item/slapper.html @@ -0,0 +1 @@ +/obj/item/hand_item/slapper - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

slapper

Procs

on_offer_takenYeah broh! This is where we do the high-fiving (or high-tenning :o)

Proc Details

on_offer_taken

Yeah broh! This is where we do the high-fiving (or high-tenning :o)

\ No newline at end of file diff --git a/obj/item/hand_item/slapper/secret_handshake.html b/obj/item/hand_item/slapper/secret_handshake.html new file mode 100644 index 000000000000..6e57ec3987fb --- /dev/null +++ b/obj/item/hand_item/slapper/secret_handshake.html @@ -0,0 +1 @@ +/obj/item/hand_item/slapper/secret_handshake - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

secret_handshake

Gangster secret handshakes.

Vars

gang_to_useThe typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.
handlerReferences the active families gamemode handler (if one exists), for adding new family members to.
team_to_useThe team datum that the person who uses this package should be added to.

Procs

add_to_gangAdds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.
attempt_join_gangChecks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

Var Details

gang_to_use

The typepath of the gang antagonist datum that the person who uses the package should have added to them -- remember that the distinction between e.g. Ballas and Grove Street is on the antag datum level, not the team datum level.

handler

References the active families gamemode handler (if one exists), for adding new family members to.

team_to_use

The team datum that the person who uses this package should be added to.

Proc Details

add_to_gang

Adds the user to the family that this package corresponds to, dispenses the free_clothes of that family, and adds them to the handler if it exists.

attempt_join_gang

Checks if the user is trying to use the package of the family they are in, and if not, adds them to the family, with some differing processing depending on whether the user is already a family member.

\ No newline at end of file diff --git a/obj/item/hardened_spike.html b/obj/item/hardened_spike.html new file mode 100644 index 000000000000..6628e82f6c04 --- /dev/null +++ b/obj/item/hardened_spike.html @@ -0,0 +1 @@ +/obj/item/hardened_spike - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

hardened_spike

Vars

missedif we missed our target

Var Details

missed

if we missed our target

\ No newline at end of file diff --git a/obj/item/kinetic_crusher.html b/obj/item/kinetic_crusher.html new file mode 100644 index 000000000000..7a5e148364c4 --- /dev/null +++ b/obj/item/kinetic_crusher.html @@ -0,0 +1 @@ +/obj/item/kinetic_crusher - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

kinetic_crusher

Mining Hammer

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/kinetic_crusher/glaive.html b/obj/item/kinetic_crusher/glaive.html new file mode 100644 index 000000000000..91ee1dbf8c35 --- /dev/null +++ b/obj/item/kinetic_crusher/glaive.html @@ -0,0 +1 @@ +/obj/item/kinetic_crusher/glaive - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

glaive

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/kitchen/knife/bloodletter.html b/obj/item/kitchen/knife/bloodletter.html new file mode 100644 index 000000000000..538ce8ee1871 --- /dev/null +++ b/obj/item/kitchen/knife/bloodletter.html @@ -0,0 +1 @@ +/obj/item/kitchen/knife/bloodletter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

bloodletter

Vars

bleed_stacks_per_hitBleed stacks applied when an organic mob target is hit

Var Details

bleed_stacks_per_hit

Bleed stacks applied when an organic mob target is hit

\ No newline at end of file diff --git a/obj/item/lipstick.html b/obj/item/lipstick.html new file mode 100644 index 000000000000..b96ad462000b --- /dev/null +++ b/obj/item/lipstick.html @@ -0,0 +1 @@ +/obj/item/lipstick - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

lipstick

Vars

lipstick_traitA trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed

Var Details

lipstick_trait

A trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed

\ No newline at end of file diff --git a/obj/item/living_heart.html b/obj/item/living_heart.html new file mode 100644 index 000000000000..1c9833c7e849 --- /dev/null +++ b/obj/item/living_heart.html @@ -0,0 +1 @@ +/obj/item/living_heart - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

living_heart

Vars

targetTarget

Var Details

target

Target

\ No newline at end of file diff --git a/obj/item/mail.html b/obj/item/mail.html new file mode 100644 index 000000000000..d1e15d20539e --- /dev/null +++ b/obj/item/mail.html @@ -0,0 +1 @@ +/obj/item/mail - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mail

Mail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient.

Vars

department_colorsmail will have the color of the department the recipient is in.
generic_goodiesGoodies which can be given to anyone. The base weight for cash is 56. For there to be a 50/50 chance of getting a department item, they need 56 weight as well.
goodie_countHow many goodies this mail contains.
postmarkedDoes the letter have the postmark overlay?
recipient_refWeak reference to who this mail is for and who can open it.
sort_tagDestination tagging for the mail sorter.
stamp_maxMaximum number of stamps on the letter.
stamp_offset_xPhysical offset of stamps on the object. X direction.
stamp_offset_yPhysical offset of stamps on the object. Y direction.
stampedDoes the letter have a stamp overlay?
stampsList of all stamp overlays on the letter.

Procs

initialize_for_recipientAccepts a mind to initialize goodies for a piece of mail.
junk_mailAlternate setup, just complete garbage inside and anyone can open
unwrapproc for unwrapping a mail. Goes just for an unwrapping procces, returns FALSE if it fails.

Var Details

department_colors

mail will have the color of the department the recipient is in.

generic_goodies

Goodies which can be given to anyone. The base weight for cash is 56. For there to be a 50/50 chance of getting a department item, they need 56 weight as well.

goodie_count

How many goodies this mail contains.

postmarked

Does the letter have the postmark overlay?

recipient_ref

Weak reference to who this mail is for and who can open it.

sort_tag

Destination tagging for the mail sorter.

stamp_max

Maximum number of stamps on the letter.

stamp_offset_x

Physical offset of stamps on the object. X direction.

stamp_offset_y

Physical offset of stamps on the object. Y direction.

stamped

Does the letter have a stamp overlay?

stamps

List of all stamp overlays on the letter.

Proc Details

initialize_for_recipient

Accepts a mind to initialize goodies for a piece of mail.

junk_mail

Alternate setup, just complete garbage inside and anyone can open

unwrap

proc for unwrapping a mail. Goes just for an unwrapping procces, returns FALSE if it fails.

\ No newline at end of file diff --git a/obj/item/mail/junkmail.html b/obj/item/mail/junkmail.html new file mode 100644 index 000000000000..8f5802ca2c55 --- /dev/null +++ b/obj/item/mail/junkmail.html @@ -0,0 +1 @@ +/obj/item/mail/junkmail - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

junkmail

Procs

InitializeSubtype that's always junkmail

Proc Details

Initialize

Subtype that's always junkmail

\ No newline at end of file diff --git a/obj/item/mecha_parts/chassis/powerarmor.html b/obj/item/mecha_parts/chassis/powerarmor.html new file mode 100644 index 000000000000..e209f0c0ccf6 --- /dev/null +++ b/obj/item/mecha_parts/chassis/powerarmor.html @@ -0,0 +1,2 @@ +/obj/item/mecha_parts/chassis/powerarmor - SPLURT Station 13
SPLURT Station 13 - Modules - Types

powerarmor

Custom Mech Parts //////

+

/// Power Armor (Not actually a mech but meh)

\ No newline at end of file diff --git a/obj/item/mecha_parts/mecha_equipment.html b/obj/item/mecha_parts/mecha_equipment.html new file mode 100644 index 000000000000..39ddb68b7404 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment.html @@ -0,0 +1 @@ +/obj/item/mecha_parts/mecha_equipment - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mecha_equipment

Vars

mech_flagsBitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.
rangeBitflag. Determines the range of the equipment.

Procs

do_after_checksdo after checks for the mecha equipment do afters

Var Details

mech_flags

Bitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.

range

Bitflag. Determines the range of the equipment.

Proc Details

do_after_checks

do after checks for the mecha equipment do afters

\ No newline at end of file diff --git a/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html new file mode 100644 index 000000000000..fecba5f07a08 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html @@ -0,0 +1 @@ +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

punching_glove

Vars

can_toggle_lethalTRUE - Can toggle between lethal and non-lethal || FALSE - Cannot toggle
punch_damageDamage done by the glove on contact. Also used to determine throw distance (damage / 5)

Var Details

can_toggle_lethal

TRUE - Can toggle between lethal and non-lethal || FALSE - Cannot toggle

punch_damage

Damage done by the glove on contact. Also used to determine throw distance (damage / 5)

\ No newline at end of file diff --git a/obj/item/mecha_parts/mecha_tracking.html b/obj/item/mecha_parts/mecha_tracking.html new file mode 100644 index 000000000000..a0a3b375c4d2 --- /dev/null +++ b/obj/item/mecha_parts/mecha_tracking.html @@ -0,0 +1 @@ +/obj/item/mecha_parts/mecha_tracking - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mecha_tracking

Vars

ai_beaconIf this beacon allows for AI control. Exists to avoid using istype() on checking
chassisThe Mecha that this tracking beacon is attached to
rechargingCooldown variable for EMP pulsing

Procs

get_mecha_infoReturns a html formatted string describing attached mech status
rechargeResets recharge variable, allowing tracker to be EMP pulsed again
shockAttempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown

Var Details

ai_beacon

If this beacon allows for AI control. Exists to avoid using istype() on checking

chassis

The Mecha that this tracking beacon is attached to

recharging

Cooldown variable for EMP pulsing

Proc Details

get_mecha_info

Returns a html formatted string describing attached mech status

recharge

Resets recharge variable, allowing tracker to be EMP pulsed again

shock

Attempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown

\ No newline at end of file diff --git a/obj/item/melee/baton.html b/obj/item/melee/baton.html new file mode 100644 index 000000000000..ef7db4083760 --- /dev/null +++ b/obj/item/melee/baton.html @@ -0,0 +1 @@ +/obj/item/melee/baton - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

baton

Vars

block_percent_to_counterblock percent needed to prevent knockdown/disarm

Var Details

block_percent_to_counter

block percent needed to prevent knockdown/disarm

\ No newline at end of file diff --git a/obj/item/melee/classic_baton.html b/obj/item/melee/classic_baton.html new file mode 100644 index 000000000000..985d7c6262eb --- /dev/null +++ b/obj/item/melee/classic_baton.html @@ -0,0 +1 @@ +/obj/item/melee/classic_baton - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

classic_baton

Vars

block_percent_to_counterblock mitigation needed to prevent knockdown/disarms

Var Details

block_percent_to_counter

block mitigation needed to prevent knockdown/disarms

\ No newline at end of file diff --git a/obj/item/melee/rune_knife.html b/obj/item/melee/rune_knife.html new file mode 100644 index 000000000000..c63fbdf7c1dd --- /dev/null +++ b/obj/item/melee/rune_knife.html @@ -0,0 +1 @@ +/obj/item/melee/rune_knife - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

rune_knife

Vars

blacklisted_turfsturfs that you cannot draw carvings on
current_runesA list of current runes
drawingA check to see if you are in process of drawing a rune
linked_actionLinked action
max_rune_amtMax amount of runes

Procs

carve_runeAction of carving runes, gives you the ability to click on floor and choose a rune of your need.

Var Details

blacklisted_turfs

turfs that you cannot draw carvings on

current_runes

A list of current runes

drawing

A check to see if you are in process of drawing a rune

linked_action

Linked action

max_rune_amt

Max amount of runes

Proc Details

carve_rune

Action of carving runes, gives you the ability to click on floor and choose a rune of your need.

\ No newline at end of file diff --git a/obj/item/melee/skateboard.html b/obj/item/melee/skateboard.html new file mode 100644 index 000000000000..42ce6be52f8b --- /dev/null +++ b/obj/item/melee/skateboard.html @@ -0,0 +1 @@ +/obj/item/melee/skateboard - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

skateboard

Vars

board_item_typeThe vehicle counterpart for the board

Var Details

board_item_type

The vehicle counterpart for the board

\ No newline at end of file diff --git a/obj/item/melee/transforming/cleaving_saw.html b/obj/item/melee/transforming/cleaving_saw.html new file mode 100644 index 000000000000..2ac01b2f23de --- /dev/null +++ b/obj/item/melee/transforming/cleaving_saw.html @@ -0,0 +1 @@ +/obj/item/melee/transforming/cleaving_saw - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cleaving_saw

Bosses

Vars

roll_orientationdo you spin when dodgerolling
roll_rangehow far are we rolling?
roll_stamcosthow much stamina does it cost to roll?

Var Details

roll_orientation

do you spin when dodgerolling

roll_range

how far are we rolling?

roll_stamcost

how much stamina does it cost to roll?

\ No newline at end of file diff --git a/obj/item/mining_voucher.html b/obj/item/mining_voucher.html new file mode 100644 index 000000000000..282e46576ce1 --- /dev/null +++ b/obj/item/mining_voucher.html @@ -0,0 +1,2 @@ +/obj/item/mining_voucher - SPLURT Station 13
SPLURT Station 13 - Modules - Types

mining_voucher

Mining Equipment Vendor Items

+

Mining Equipment Voucher

\ No newline at end of file diff --git a/obj/item/mjollnir.html b/obj/item/mjollnir.html new file mode 100644 index 000000000000..9af0afcbd7bf --- /dev/null +++ b/obj/item/mjollnir.html @@ -0,0 +1 @@ +/obj/item/mjollnir - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mjollnir

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/mod/control.html b/obj/item/mod/control.html new file mode 100644 index 000000000000..1292e3c7e37d --- /dev/null +++ b/obj/item/mod/control.html @@ -0,0 +1,12 @@ +/obj/item/mod/control - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

control

Vars

activatingIf the suit is currently activating/deactivating.
activation_step_timeHow long this MOD takes each part to seal.
activeIf the suit is deployed and turned on.
aiAI/pAI mob inhabiting the MOD.
bootsMOD boots.
cellMOD cell.
cell_drainPower usage of the MOD.
chestplateMOD chestplate.
complexityHow much module complexity this MOD is carrying.
complexity_maxHow much module complexity can this MOD carry.
cooldown_mod_moveCooldown for AI moves.
extended_descExtended description of the theme.
gauntletsMOD gauntlets.
helmetMOD helmet.
initial_modulesModules the MOD should spawn with.
interface_breakIf the suit interface is broken.
malfunctioningIf the suit is malfunctioning.
mod_partsList of parts (helmet, chestplate, gauntlets, boots).
modulesModules the MOD currently possesses.
movedelayDelay between moves as AI.
openIf the suit wire/module hatch is open.
seconds_electrifiedHow long the MOD is electrified for.
selected_moduleCurrently used module.
skinLooks of the MOD.
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
themeThe MOD's theme, decides on some stuff like armor and statistics.
ui_themeTheme of the MOD TGUI
wearerPerson wearing the MODsuit.

Procs

choose_deployCreates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.
concealRetract a part of the suit from the user
deployDeploys a part of the suit onto the user.
extract_paiSimple proc to extract the pAI from the MODsuit. It's the proc to call if you want to take it out, +remove_pai() is there so atom_destruction() doesn't have any risk of sleeping.
finish_activationFinishes the suit's activation, starts processing
insert_paiSimple proc to insert the pAI into the MODsuit.
quick_activationQuickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.
remove_paiSimple proc that handles the safe removal of the pAI from a MOD control unit.
seal_partSeals or unseals the given part
toggle_activateStarts the activation sequence, where parts of the suit activate one by one until the whole suit is on

Var Details

activating

If the suit is currently activating/deactivating.

activation_step_time

How long this MOD takes each part to seal.

active

If the suit is deployed and turned on.

ai

AI/pAI mob inhabiting the MOD.

boots

MOD boots.

cell

MOD cell.

cell_drain

Power usage of the MOD.

chestplate

MOD chestplate.

complexity

How much module complexity this MOD is carrying.

complexity_max

How much module complexity can this MOD carry.

cooldown_mod_move

Cooldown for AI moves.

extended_desc

Extended description of the theme.

gauntlets

MOD gauntlets.

helmet

MOD helmet.

initial_modules

Modules the MOD should spawn with.

interface_break

If the suit interface is broken.

malfunctioning

If the suit is malfunctioning.

mod_parts

List of parts (helmet, chestplate, gauntlets, boots).

modules

Modules the MOD currently possesses.

movedelay

Delay between moves as AI.

open

If the suit wire/module hatch is open.

seconds_electrified

How long the MOD is electrified for.

selected_module

Currently used module.

skin

Looks of the MOD.

slowdown_active

Slowdown of the MOD when active.

slowdown_inactive

Slowdown of the MOD when not active.

theme

The MOD's theme, decides on some stuff like armor and statistics.

ui_theme

Theme of the MOD TGUI

wearer

Person wearing the MODsuit.

Proc Details

choose_deploy

Creates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.

conceal

Retract a part of the suit from the user

deploy

Deploys a part of the suit onto the user.

extract_pai

Simple proc to extract the pAI from the MODsuit. It's the proc to call if you want to take it out, +remove_pai() is there so atom_destruction() doesn't have any risk of sleeping.

+

user - The person trying to take out the pAI from the MODsuit. +forced - Whether or not we skip the checks and just eject the pAI. Defaults to FALSE. +feedback - Whether to give feedback via balloon alerts or not. Defaults to TRUE.

finish_activation

Finishes the suit's activation, starts processing

insert_pai

Simple proc to insert the pAI into the MODsuit.

+

user - The person trying to put the pAI into the MODsuit. +card - The pAI card we're slotting in the MODsuit.

quick_activation

Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.

remove_pai

Simple proc that handles the safe removal of the pAI from a MOD control unit.

+

Arguments:

+

seal_part

Seals or unseals the given part

toggle_activate

Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on

\ No newline at end of file diff --git a/obj/item/mod/module.html b/obj/item/mod/module.html new file mode 100644 index 000000000000..51f7d904a73b --- /dev/null +++ b/obj/item/mod/module.html @@ -0,0 +1 @@ +/obj/item/mod/module - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

module

Vars

activeIs the module active
active_power_costPower use when active
allowed_in_phaseoutIf we're allowed to use this module while phased out.
allowed_inactiveIf we're allowed to use this module while the suit is disabled.
complexityHow much space it takes up in the MOD
cooldown_timeCooldown after use
cooldown_timerTimer for the cooldown
deviceIf we're an active module, what item are we?
idle_power_costPower use when idle
incompatible_modulesWhat modules are we incompatible with?
modLinked MODsuit
module_typeIf it's passive, togglable, usable or active
overlay_icon_fileIcon file for the overlay.
overlay_state_activeOverlay given to the user when the module is active
overlay_state_inactiveOverlay given to the user when the module is inactive
overlay_state_useOverlay given to the user when the module is used, lasts until cooldown finishes
removableIf it can be removed
tgui_idID used by their TGUI
use_mod_colorsDoes the overlay use the control unit's colors?
use_power_costPower use when used, we call it manually
used_signalThe mouse button needed to use this module

Procs

add_ui_configurationGenerates an element of the get_configuration list with a display name, type and value
add_ui_dataAdds additional things to the MODsuit ui_data()
configure_editReceives configure edits from the TGUI and edits the vars
drain_powerDrains power from the suit cell
generate_worn_overlayGenerates an icon to be used for the suit's worn overlays
get_configurationCreates a list of configuring options for this module
on_activationCalled when the module is activated
on_active_processCalled on the MODsuit's process if it is an active module
on_deactivationCalled when the module is deactivated
on_device_deletionCalled when the device gets deleted on active modules
on_equipCalled when the MODsuit is equipped
on_exitCalled when the device moves to a different place on active modules
on_installCalled from MODsuit's install() proc, so when the module is installed.
on_processCalled on the MODsuit's process
on_selectCalled when the module is selected from the TGUI
on_select_useCalled when an activated module without a device is used
on_special_clickCalled when an activated module without a device is active and the user alt/middle-clicks
on_suit_activationCalled when the MODsuit is activated
on_suit_deactivationCalled when the MODsuit is deactivated
on_unequipCalled when the MODsuit is unequipped
on_uninstallCalled from MODsuit's uninstall() proc, so when the module is uninstalled.
on_useCalled when the module is used
update_signalUpdates the signal used by active modules to be activated

Var Details

active

Is the module active

active_power_cost

Power use when active

allowed_in_phaseout

If we're allowed to use this module while phased out.

allowed_inactive

If we're allowed to use this module while the suit is disabled.

complexity

How much space it takes up in the MOD

cooldown_time

Cooldown after use

cooldown_timer

Timer for the cooldown

device

If we're an active module, what item are we?

idle_power_cost

Power use when idle

incompatible_modules

What modules are we incompatible with?

mod

Linked MODsuit

module_type

If it's passive, togglable, usable or active

overlay_icon_file

Icon file for the overlay.

overlay_state_active

Overlay given to the user when the module is active

overlay_state_inactive

Overlay given to the user when the module is inactive

overlay_state_use

Overlay given to the user when the module is used, lasts until cooldown finishes

removable

If it can be removed

tgui_id

ID used by their TGUI

use_mod_colors

Does the overlay use the control unit's colors?

use_power_cost

Power use when used, we call it manually

used_signal

The mouse button needed to use this module

Proc Details

add_ui_configuration

Generates an element of the get_configuration list with a display name, type and value

add_ui_data

Adds additional things to the MODsuit ui_data()

configure_edit

Receives configure edits from the TGUI and edits the vars

drain_power

Drains power from the suit cell

generate_worn_overlay

Generates an icon to be used for the suit's worn overlays

get_configuration

Creates a list of configuring options for this module

on_activation

Called when the module is activated

on_active_process

Called on the MODsuit's process if it is an active module

on_deactivation

Called when the module is deactivated

on_device_deletion

Called when the device gets deleted on active modules

on_equip

Called when the MODsuit is equipped

on_exit

Called when the device moves to a different place on active modules

on_install

Called from MODsuit's install() proc, so when the module is installed.

on_process

Called on the MODsuit's process

on_select

Called when the module is selected from the TGUI

on_select_use

Called when an activated module without a device is used

on_special_click

Called when an activated module without a device is active and the user alt/middle-clicks

on_suit_activation

Called when the MODsuit is activated

on_suit_deactivation

Called when the MODsuit is deactivated

on_unequip

Called when the MODsuit is unequipped

on_uninstall

Called from MODsuit's uninstall() proc, so when the module is uninstalled.

on_use

Called when the module is used

update_signal

Updates the signal used by active modules to be activated

\ No newline at end of file diff --git a/obj/item/mod/module/anomaly_locked.html b/obj/item/mod/module/anomaly_locked.html new file mode 100644 index 000000000000..52f1e51ebfdf --- /dev/null +++ b/obj/item/mod/module/anomaly_locked.html @@ -0,0 +1 @@ +/obj/item/mod/module/anomaly_locked - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

anomaly_locked

Vars

accepted_anomaliesAccepted types of anomaly cores.
coreThe core item the module runs off.
prebuiltIf this one starts with a core in.

Var Details

accepted_anomalies

Accepted types of anomaly cores.

core

The core item the module runs off.

prebuilt

If this one starts with a core in.

\ No newline at end of file diff --git a/obj/item/mod/module/anomaly_locked/teleporter.html b/obj/item/mod/module/anomaly_locked/teleporter.html new file mode 100644 index 000000000000..e6520a975fb8 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/teleporter.html @@ -0,0 +1 @@ +/obj/item/mod/module/anomaly_locked/teleporter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

teleporter

Teleporter - Lets the user teleport to a nearby location.

Vars

teleport_timeTime it takes to teleport

Var Details

teleport_time

Time it takes to teleport

\ No newline at end of file diff --git a/obj/item/mod/module/clamp.html b/obj/item/mod/module/clamp.html new file mode 100644 index 000000000000..3ce0444ba715 --- /dev/null +++ b/obj/item/mod/module/clamp.html @@ -0,0 +1 @@ +/obj/item/mod/module/clamp - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

clamp

Hydraulic Clamp - Lets you pick up and drop crates.

Vars

load_timeTime it takes to load a crate.
max_cratesThe max amount of crates you can carry.
stored_cratesThe crates stored in the module.

Var Details

load_time

Time it takes to load a crate.

max_crates

The max amount of crates you can carry.

stored_crates

The crates stored in the module.

\ No newline at end of file diff --git a/obj/item/mod/module/dispenser.html b/obj/item/mod/module/dispenser.html new file mode 100644 index 000000000000..cdd16255acf8 --- /dev/null +++ b/obj/item/mod/module/dispenser.html @@ -0,0 +1 @@ +/obj/item/mod/module/dispenser - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

dispenser

Dispenser - Dispenses an item after a time passes.

Vars

dispense_timeTime it takes for us to dispense.
dispense_typePath we dispense.

Var Details

dispense_time

Time it takes for us to dispense.

dispense_type

Path we dispense.

\ No newline at end of file diff --git a/obj/item/mod/module/dna_lock.html b/obj/item/mod/module/dna_lock.html new file mode 100644 index 000000000000..b4ab2112cc93 --- /dev/null +++ b/obj/item/mod/module/dna_lock.html @@ -0,0 +1,3 @@ +/obj/item/mod/module/dna_lock - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

dna_lock

Longfall +Thermal Regulator - Naw. +DNA Lock - Prevents people without the set DNA from activating the suit.

Vars

dnaThe DNA we lock with.

Var Details

dna

The DNA we lock with.

\ No newline at end of file diff --git a/obj/item/mod/module/drill.html b/obj/item/mod/module/drill.html new file mode 100644 index 000000000000..d64a63761b6a --- /dev/null +++ b/obj/item/mod/module/drill.html @@ -0,0 +1 @@ +/obj/item/mod/module/drill - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

drill

Drill - Lets you dig through rock and basalt.

Vars

storedPickaxe we have stored.

Var Details

stored

Pickaxe we have stored.

\ No newline at end of file diff --git a/obj/item/mod/module/flashlight.html b/obj/item/mod/module/flashlight.html new file mode 100644 index 000000000000..31dfed75d1b5 --- /dev/null +++ b/obj/item/mod/module/flashlight.html @@ -0,0 +1 @@ +/obj/item/mod/module/flashlight - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

flashlight

Flashlight - Gives the suit a customizable flashlight.

Vars

base_powerCharge drain per range amount.
max_rangeMaximum range we can set.
min_rangeMinimum range we can set.

Var Details

base_power

Charge drain per range amount.

max_range

Maximum range we can set.

min_range

Minimum range we can set.

\ No newline at end of file diff --git a/obj/item/mod/module/health_analyzer.html b/obj/item/mod/module/health_analyzer.html new file mode 100644 index 000000000000..f26784559dcb --- /dev/null +++ b/obj/item/mod/module/health_analyzer.html @@ -0,0 +1 @@ +/obj/item/mod/module/health_analyzer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

health_analyzer

Health Analyzer - Gives the user a ranged health analyzer and their health status in the panel.

Vars

modeScanning mode, changes how we scan something.
modesList of all scanning modes.

Var Details

mode

Scanning mode, changes how we scan something.

modes

List of all scanning modes.

\ No newline at end of file diff --git a/obj/item/mod/module/holster.html b/obj/item/mod/module/holster.html new file mode 100644 index 000000000000..87a24a10cd23 --- /dev/null +++ b/obj/item/mod/module/holster.html @@ -0,0 +1,2 @@ +/obj/item/mod/module/holster - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

holster

Pepper Shoulders +Holster - Instantly holsters any not huge gun.

Vars

holsteredGun we have holstered.

Var Details

holstered

Gun we have holstered.

\ No newline at end of file diff --git a/obj/item/mod/module/jetpack.html b/obj/item/mod/module/jetpack.html new file mode 100644 index 000000000000..f940ab734bd9 --- /dev/null +++ b/obj/item/mod/module/jetpack.html @@ -0,0 +1 @@ +/obj/item/mod/module/jetpack - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

jetpack

Ion Jetpack - Lets the user fly freely through space using battery charge.

Vars

full_speedDo we give the wearer a speed buff.
stabilizersDo we stop the wearer from gliding in space.

Var Details

full_speed

Do we give the wearer a speed buff.

stabilizers

Do we stop the wearer from gliding in space.

\ No newline at end of file diff --git a/obj/item/mod/module/magboot.html b/obj/item/mod/module/magboot.html new file mode 100644 index 000000000000..a4155cb47974 --- /dev/null +++ b/obj/item/mod/module/magboot.html @@ -0,0 +1 @@ +/obj/item/mod/module/magboot - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

magboot

Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.

Vars

slowdown_activeSlowdown added onto the suit.

Var Details

slowdown_active

Slowdown added onto the suit.

\ No newline at end of file diff --git a/obj/item/mod/module/magnetic_harness.html b/obj/item/mod/module/magnetic_harness.html new file mode 100644 index 000000000000..bd3a37e0ce89 --- /dev/null +++ b/obj/item/mod/module/magnetic_harness.html @@ -0,0 +1 @@ +/obj/item/mod/module/magnetic_harness - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

magnetic_harness

Magnetic Harness - Automatically puts guns in your suit storage when you drop them.

Vars

already_allowed_gunsThe guns already allowed by the modsuit chestplate.
guns_typecacheThe typecache of all guns we allow.
magnet_delayTime before we activate the magnet.

Var Details

already_allowed_guns

The guns already allowed by the modsuit chestplate.

guns_typecache

The typecache of all guns we allow.

magnet_delay

Time before we activate the magnet.

\ No newline at end of file diff --git a/obj/item/mod/module/megaphone.html b/obj/item/mod/module/megaphone.html new file mode 100644 index 000000000000..890cd874ff00 --- /dev/null +++ b/obj/item/mod/module/megaphone.html @@ -0,0 +1 @@ +/obj/item/mod/module/megaphone - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

megaphone

Megaphone - Lets you speak loud.

Vars

voicespanList of spans we add to the speaker.

Var Details

voicespan

List of spans we add to the speaker.

\ No newline at end of file diff --git a/obj/item/mod/module/mister.html b/obj/item/mod/module/mister.html new file mode 100644 index 000000000000..14f53f33f075 --- /dev/null +++ b/obj/item/mod/module/mister.html @@ -0,0 +1 @@ +/obj/item/mod/module/mister - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mister

Mister - Sprays water over an area.

Vars

volumeVolume of our reagent holder.

Var Details

volume

Volume of our reagent holder.

\ No newline at end of file diff --git a/obj/item/mod/module/mouthhole.html b/obj/item/mod/module/mouthhole.html new file mode 100644 index 000000000000..dd147375b201 --- /dev/null +++ b/obj/item/mod/module/mouthhole.html @@ -0,0 +1 @@ +/obj/item/mod/module/mouthhole - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mouthhole

Eating Apparatus - Lets the user eat/drink with the suit on.

Vars

former_flagsFormer flags of the helmet.
former_visor_flagsFormer visor flags of the helmet.

Var Details

former_flags

Former flags of the helmet.

former_visor_flags

Former visor flags of the helmet.

\ No newline at end of file diff --git a/obj/item/mod/module/orebag.html b/obj/item/mod/module/orebag.html new file mode 100644 index 000000000000..7b74bf1f32d5 --- /dev/null +++ b/obj/item/mod/module/orebag.html @@ -0,0 +1 @@ +/obj/item/mod/module/orebag - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

orebag

Vars

storedPickaxe we have stored.

Var Details

stored

Pickaxe we have stored.

\ No newline at end of file diff --git a/obj/item/mod/module/paper_dispenser.html b/obj/item/mod/module/paper_dispenser.html new file mode 100644 index 000000000000..772fa15c21c2 --- /dev/null +++ b/obj/item/mod/module/paper_dispenser.html @@ -0,0 +1 @@ +/obj/item/mod/module/paper_dispenser - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

paper_dispenser

Paper Dispenser - Dispenses (sometimes burning) paper sheets.

Vars

num_sheets_dispensedThe total number of sheets created by this MOD. The more sheets, them more likely they set on fire.

Var Details

num_sheets_dispensed

The total number of sheets created by this MOD. The more sheets, them more likely they set on fire.

\ No newline at end of file diff --git a/obj/item/mod/module/springlock.html b/obj/item/mod/module/springlock.html new file mode 100644 index 000000000000..fdc179d82a18 --- /dev/null +++ b/obj/item/mod/module/springlock.html @@ -0,0 +1,2 @@ +/obj/item/mod/module/springlock - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

springlock

Sign Language Translator - I want, but no +Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.

Procs

on_activate_spring_blockSignal fired when wearer attempts to activate/deactivate suits
on_wearer_exposedSignal fired when wearer is exposed to reagents
snap_shutDelayed death proc of the suit after the wearer is exposed to reagents

Proc Details

on_activate_spring_block

Signal fired when wearer attempts to activate/deactivate suits

on_wearer_exposed

Signal fired when wearer is exposed to reagents

snap_shut

Delayed death proc of the suit after the wearer is exposed to reagents

\ No newline at end of file diff --git a/obj/item/mod/module/stealth.html b/obj/item/mod/module/stealth.html new file mode 100644 index 000000000000..9328d51c5d8d --- /dev/null +++ b/obj/item/mod/module/stealth.html @@ -0,0 +1 @@ +/obj/item/mod/module/stealth - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

stealth

Cloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.

Vars

bumpoffWhether or not the cloak turns off on bumping.
stealth_alphaThe alpha applied when the cloak is on.

Var Details

bumpoff

Whether or not the cloak turns off on bumping.

stealth_alpha

The alpha applied when the cloak is on.

\ No newline at end of file diff --git a/obj/item/mod/module/storage.html b/obj/item/mod/module/storage.html new file mode 100644 index 000000000000..6c61bd457c5a --- /dev/null +++ b/obj/item/mod/module/storage.html @@ -0,0 +1 @@ +/obj/item/mod/module/storage - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

storage

Storage - Adds a storage component to the suit.

Vars

storedBag we have stored.

Var Details

stored

Bag we have stored.

\ No newline at end of file diff --git a/obj/item/mod/module/t_ray.html b/obj/item/mod/module/t_ray.html new file mode 100644 index 000000000000..1570d994ed01 --- /dev/null +++ b/obj/item/mod/module/t_ray.html @@ -0,0 +1 @@ +/obj/item/mod/module/t_ray - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

t_ray

T-Ray Scan - Scans the terrain for undertile objects.

Vars

rangeT-ray scan range.

Var Details

range

T-ray scan range.

\ No newline at end of file diff --git a/obj/item/mod/module/visor.html b/obj/item/mod/module/visor.html new file mode 100644 index 000000000000..887526a4fd62 --- /dev/null +++ b/obj/item/mod/module/visor.html @@ -0,0 +1 @@ +/obj/item/mod/module/visor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

visor

Base Visor - Adds a specific HUD and traits to you.

Vars

hud_typeThe HUD type given by the visor.
visor_traitsThe traits given by the visor.

Var Details

hud_type

The HUD type given by the visor.

visor_traits

The traits given by the visor.

\ No newline at end of file diff --git a/obj/item/modular_computer.html b/obj/item/modular_computer.html new file mode 100644 index 000000000000..00a1a5c953d6 --- /dev/null +++ b/obj/item/modular_computer.html @@ -0,0 +1,17 @@ +/obj/item/modular_computer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

modular_computer

Vars

all_componentsList of "connection ports" in this computer and the components with which they are plugged
expansion_baysLazy List of extra hardware slots that can be used modularly.
looping_soundWhether or not this modular computer uses the looping sound
max_baysNumber of total expansion bays this computer has available.
soundloopLooping sound for when the computer is on

Procs

alert_callDisplays notification text alongside a soundbeep when requested to by a program.
play_pingPlays a ping sound.
set_flashlight_colorSets the computer's light color, if it has a light.
toggle_flashlightToggles the computer's flashlight, if it has one.

Var Details

all_components

List of "connection ports" in this computer and the components with which they are plugged

expansion_bays

Lazy List of extra hardware slots that can be used modularly.

looping_sound

Whether or not this modular computer uses the looping sound

max_bays

Number of total expansion bays this computer has available.

soundloop

Looping sound for when the computer is on

Proc Details

alert_call

Displays notification text alongside a soundbeep when requested to by a program.

+

After checking tha the requesting program is allowed to send an alert, creates +a visible message of the requested text alongside a soundbeep. This proc adds +text to indicate that the message is coming from this device and the program +on it, so the supplied text should be the exact message and ending punctuation.

+

Arguments: +The program calling this proc. +The message that the program wishes to display.

play_ping

Plays a ping sound.

+

Timers runtime if you try to make them call playsound. Yep.

set_flashlight_color

Sets the computer's light color, if it has a light.

+

Called from ui_act(), this proc takes a color string and applies it. +It is seperated from ui_act() to be overwritten as needed. +Arguments:

+

toggle_flashlight

Toggles the computer's flashlight, if it has one.

+

Called from ui_act(), does as the name implies. +It is seperated from ui_act() to be overwritten as needed.

\ No newline at end of file diff --git a/obj/item/modular_computer/tablet/integrated.html b/obj/item/modular_computer/tablet/integrated.html new file mode 100644 index 000000000000..5e8c553d9381 --- /dev/null +++ b/obj/item/modular_computer/tablet/integrated.html @@ -0,0 +1,7 @@ +/obj/item/modular_computer/tablet/integrated - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

integrated

Borg Built-in tablet interface

Vars

borglogIC log that borgs can view in their personal management app
borgoRef to the borg we're installed in. Set by the borg during our creation.
robotactRef to the RoboTact app. Important enough to borgs to deserve a ref.

Procs

get_robotactReturns a ref to the RoboTact app, creating the app if need be.

Var Details

borglog

IC log that borgs can view in their personal management app

borgo

Ref to the borg we're installed in. Set by the borg during our creation.

robotact

Ref to the RoboTact app. Important enough to borgs to deserve a ref.

Proc Details

get_robotact

Returns a ref to the RoboTact app, creating the app if need be.

+

The RoboTact app is important for borgs, and so should always be available. +This proc will look for it in the tablet's robotact var, then check the +hard drive if the robotact var is unset, and finally attempt to create a new +copy if the hard drive does not contain the app. If the hard drive rejects +the new copy (such as due to lack of space), the proc will crash with an error. +RoboTact is supposed to be undeletable, so these will create runtime messages.

\ No newline at end of file diff --git a/obj/item/modular_computer/tablet/nukeops.html b/obj/item/modular_computer/tablet/nukeops.html new file mode 100644 index 000000000000..f34a8b961adb --- /dev/null +++ b/obj/item/modular_computer/tablet/nukeops.html @@ -0,0 +1 @@ +/obj/item/modular_computer/tablet/nukeops - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

nukeops

Given to Nuke Ops members.

Procs

InitializeGiven to Nuke Ops members.

Proc Details

Initialize

Given to Nuke Ops members.

\ No newline at end of file diff --git a/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink.html b/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink.html new file mode 100644 index 000000000000..3fd969caf90b --- /dev/null +++ b/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink.html @@ -0,0 +1 @@ +/obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

uplink

Procs

InitializeGiven by the syndicate as part of the contract uplink bundle - loads in the Contractor Uplink.

Proc Details

Initialize

Given by the syndicate as part of the contract uplink bundle - loads in the Contractor Uplink.

\ No newline at end of file diff --git a/obj/item/nullrod.html b/obj/item/nullrod.html new file mode 100644 index 000000000000..19b000c0bc0e --- /dev/null +++ b/obj/item/nullrod.html @@ -0,0 +1,9 @@ +/obj/item/nullrod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

nullrod

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
reskin_holy_weaponreskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version

Proc Details

check_menu

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+

reskin_holy_weapon

reskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/organ.html b/obj/item/organ.html new file mode 100644 index 000000000000..89d4b674d89a --- /dev/null +++ b/obj/item/organ.html @@ -0,0 +1,13 @@ +/obj/item/organ - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

organ

Vars

healing_factorHealing factor and decay factor function on % of maxhealth, and do not work by applying a static number per tick
prev_damageOrgan variables for determining what we alert the owner with when they pass/clear the damage thresholds
useableWhen you take a bite you cant jam it in for surgery anymore.

Procs

applyOrganDamageAdjusts an organ's damage by the amount "d", up to a maximum amount, which is by default max damage
check_damage_thresholds
setOrganDamageSETS an organ's damage to the amount "d", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken

Var Details

healing_factor

Healing factor and decay factor function on % of maxhealth, and do not work by applying a static number per tick

prev_damage

Organ variables for determining what we alert the owner with when they pass/clear the damage thresholds

useable

When you take a bite you cant jam it in for surgery anymore.

Proc Details

applyOrganDamage

Adjusts an organ's damage by the amount "d", up to a maximum amount, which is by default max damage

check_damage_thresholds

setOrganDamage

SETS an organ's damage to the amount "d", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken

\ No newline at end of file diff --git a/obj/item/organ/brain.html b/obj/item/organ/brain.html new file mode 100644 index 000000000000..114225b4f0cb --- /dev/null +++ b/obj/item/organ/brain.html @@ -0,0 +1 @@ +/obj/item/organ/brain - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

brain

Vars

decay_factorThe brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth

Procs

has_trauma_typeTRAUMAS

Var Details

decay_factor

The brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth

Proc Details

has_trauma_type

TRAUMAS

\ No newline at end of file diff --git a/obj/item/organ/eyes.html b/obj/item/organ/eyes.html new file mode 100644 index 000000000000..ca067446468f --- /dev/null +++ b/obj/item/organ/eyes.html @@ -0,0 +1 @@ +/obj/item/organ/eyes - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

eyes

Procs

apply_damaged_eye_effectsApplies effects to our owner based on how damaged our eyes are

Proc Details

apply_damaged_eye_effects

Applies effects to our owner based on how damaged our eyes are

\ No newline at end of file diff --git a/obj/item/organ/genital.html b/obj/item/organ/genital.html new file mode 100644 index 000000000000..417ecfe24af9 --- /dev/null +++ b/obj/item/organ/genital.html @@ -0,0 +1 @@ +/obj/item/organ/genital - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

genital

Vars

always_accessibleControls whenever a genital is always accessible

Procs

toggle_accessibilityToggles whether such genital can always be accessed

Var Details

always_accessible

Controls whenever a genital is always accessible

Proc Details

toggle_accessibility

Toggles whether such genital can always be accessed

\ No newline at end of file diff --git a/obj/item/paper.html b/obj/item/paper.html new file mode 100644 index 000000000000..61e8e1d1580a --- /dev/null +++ b/obj/item/paper.html @@ -0,0 +1,11 @@ +/obj/item/paper - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

paper

Paper is now using markdown (like in github pull notes) for ALL rendering +so we do loose a bit of functionality but we gain in easy of use of +paper and getting rid of that crashing bug

Vars

contact_poisonOverlay info
form_fieldsWhen the sheet can be "filled out" +This is an associated list
infoWhat's actually written on the paper.
stampedPositioning for the stamp in tgui
stampsThe (text for the) stamps on the paper.

Procs

copyThis proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.
setTextThis proc sets the text of the paper and updates the +icons. You can modify the pen_color after if need +be.

Var Details

contact_poison

Overlay info

form_fields

When the sheet can be "filled out" +This is an associated list

info

What's actually written on the paper.

stamped

Positioning for the stamp in tgui

stamps

The (text for the) stamps on the paper.

Proc Details

copy

This proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.

setText

This proc sets the text of the paper and updates the +icons. You can modify the pen_color after if need +be.

\ No newline at end of file diff --git a/obj/item/paper/natural.html b/obj/item/paper/natural.html new file mode 100644 index 000000000000..524476ba99d4 --- /dev/null +++ b/obj/item/paper/natural.html @@ -0,0 +1 @@ +/obj/item/paper/natural - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

natural

Procs

InitializeNatural paper

Proc Details

Initialize

Natural paper

\ No newline at end of file diff --git a/obj/item/pet_carrier/bluespace.html b/obj/item/pet_carrier/bluespace.html new file mode 100644 index 000000000000..5ab4d2d92bfc --- /dev/null +++ b/obj/item/pet_carrier/bluespace.html @@ -0,0 +1 @@ +/obj/item/pet_carrier/bluespace - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

bluespace

Vars

occupant_gas_supplygas supply for simplemobs so they don't die
sipping_levellevel until the reagent gets INGEST ed instead of TOUCH
sipping_probablyprob50 level of sipping
transfer_ratechem transfer rate / second

Var Details

occupant_gas_supply

gas supply for simplemobs so they don't die

sipping_level

level until the reagent gets INGEST ed instead of TOUCH

sipping_probably

prob50 level of sipping

transfer_rate

chem transfer rate / second

\ No newline at end of file diff --git a/obj/item/pinpointer.html b/obj/item/pinpointer.html new file mode 100644 index 000000000000..c81ec211299f --- /dev/null +++ b/obj/item/pinpointer.html @@ -0,0 +1 @@ +/obj/item/pinpointer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

pinpointer

Vars

resets_targetresets target on toggle

Var Details

resets_target

resets target on toggle

\ No newline at end of file diff --git a/obj/item/pitchfork.html b/obj/item/pitchfork.html new file mode 100644 index 000000000000..775131df99cc --- /dev/null +++ b/obj/item/pitchfork.html @@ -0,0 +1 @@ +/obj/item/pitchfork - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

pitchfork

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/price_tagger.html b/obj/item/price_tagger.html new file mode 100644 index 000000000000..927c32668359 --- /dev/null +++ b/obj/item/price_tagger.html @@ -0,0 +1 @@ +/obj/item/price_tagger - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

price_tagger

Vars

pricethe price of the item

Var Details

price

the price of the item

\ No newline at end of file diff --git a/obj/item/projectile.html b/obj/item/projectile.html new file mode 100644 index 000000000000..6ae318d0086e --- /dev/null +++ b/obj/item/projectile.html @@ -0,0 +1,97 @@ +/obj/item/projectile - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

projectile

Vars

embed_falloff_tileHow much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes
force_hitIf the object being hit can pass ths damage on to something else, it should not do it for this bullet
hit_stunned_targetsIf TRUE, hit mobs even if they're on the floor and not our target
hit_threshholdIf objects are below this layer, we pass through them
hitscan_effect_generationUsed in generate_hitscan_tracers to determine which "cycle" we're on.
hitscan_movement_decisecond_equivalencyHow many deciseconds are each hitscan movement considered. Used for homing and other things that use seconds for timing rather than ticks.
homing_turn_speedHow fast the projectile turns towards its homing targets, in angle per second.
ignore_source_checkIf TRUE, we can hit our firer.
impactedWe already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.
pass_flags
phasing_ignore_direct_targetIf FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it
piercesnumber of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!
pixel_increment_amountThe number of pixels we increment by. THIS IS NOT SPEED, DO NOT TOUCH THIS UNLESS YOU KNOW WHAT YOU ARE DOING. In general, lower values means more linetrace accuracy up to a point at cost of performance.
pixel_move_interruptedUsed to detect jumps in the middle of a pixel_move. Yes, this is ugly as sin code-wise but it works.
pixels_per_secondPixels moved per second.
pixels_range_leftover"leftover" pixels for Range() calculation as pixel_move() was moved to simulated semi-pixel movement and Range() is in tiles.
pixels_tick_leftover"leftover" tick pixels and stuff yeah, so we don't round off things and introducing tracing inaccuracy.
projectile_phasingBitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.
projectile_piercingBitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.
rangeRange of the projectile, de-incrementing every step. The projectile deletes itself at 0. This is in tiles.
ricochet_auto_aim_angleOn ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim
ricochet_auto_aim_rangeOn ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle
ricochet_chance0-100, the base chance of ricocheting, before being modified by the atom we shoot and our chance decay
ricochet_decay_chance0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet
ricochet_decay_damage0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet
ricochet_incidence_leewaythe angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle
ricochetshow many times we've ricochet'd so far (instance variable, not a stat)
ricochets_maxhow many times we can ricochet max
sharpnessFor telling whether we want to roll for bone breaking or lacerations if we're bothering with wounds
shrapnel_typeIf defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets
temporary_unstoppable_movementWe are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.
wound_falloff_tileHow much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes
zone_accuracy_factorfactor to multiply by for zone accuracy percent.

Procs

CanPassThroughProjectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.
CrossedProjectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.
ImpactCalled when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.
MovedProjectile moved:
RangeArtificially modified to be called at around every world.icon_size pixels of movement. +WARNING: Range() can only be called once per pixel_increment_amount pixels.
pixel_moveThe proc to make the projectile go, using a simulated pixel movement line trace. +Note: deciseconds_equivalent is currently only used for homing, times is the number of times to move pixel_increment_amount. +Trajectory multiplier directly modifies the factor of pixel_increment_amount to go per time. +It's complicated, so probably just don't mess with this unless you know what you're doing.
prehit_pierceChecks if we should pierce something.
process_hitThe primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.
return_predicted_turf_after_movesone move is a tile.
scan_crossed_hitScan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.
scan_moved_turfScans if we should hit something on the turf we just moved to if we haven't already
select_targetSelects a target to hit from a turf

Var Details

embed_falloff_tile

How much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes

force_hit

If the object being hit can pass ths damage on to something else, it should not do it for this bullet

hit_stunned_targets

If TRUE, hit mobs even if they're on the floor and not our target

hit_threshhold

If objects are below this layer, we pass through them

hitscan_effect_generation

Used in generate_hitscan_tracers to determine which "cycle" we're on.

hitscan_movement_decisecond_equivalency

How many deciseconds are each hitscan movement considered. Used for homing and other things that use seconds for timing rather than ticks.

homing_turn_speed

How fast the projectile turns towards its homing targets, in angle per second.

ignore_source_check

If TRUE, we can hit our firer.

impacted

We already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.

pass_flags

+

The "usual" flags of pass_flags is used in that can_hit_target ignores these unless they're specifically targeted/clicked on. This behavior entirely bypasses process_hit if triggered, rather than phasing which uses prehit_pierce() to check.

phasing_ignore_direct_target

If FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it

pierces

number of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!

pixel_increment_amount

The number of pixels we increment by. THIS IS NOT SPEED, DO NOT TOUCH THIS UNLESS YOU KNOW WHAT YOU ARE DOING. In general, lower values means more linetrace accuracy up to a point at cost of performance.

pixel_move_interrupted

Used to detect jumps in the middle of a pixel_move. Yes, this is ugly as sin code-wise but it works.

pixels_per_second

Pixels moved per second.

pixels_range_leftover

"leftover" pixels for Range() calculation as pixel_move() was moved to simulated semi-pixel movement and Range() is in tiles.

pixels_tick_leftover

"leftover" tick pixels and stuff yeah, so we don't round off things and introducing tracing inaccuracy.

projectile_phasing

Bitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.

projectile_piercing

Bitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.

range

Range of the projectile, de-incrementing every step. The projectile deletes itself at 0. This is in tiles.

ricochet_auto_aim_angle

On ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim

ricochet_auto_aim_range

On ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle

ricochet_chance

0-100, the base chance of ricocheting, before being modified by the atom we shoot and our chance decay

ricochet_decay_chance

0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet

ricochet_decay_damage

0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet

ricochet_incidence_leeway

the angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle

ricochets

how many times we've ricochet'd so far (instance variable, not a stat)

ricochets_max

how many times we can ricochet max

sharpness

For telling whether we want to roll for bone breaking or lacerations if we're bothering with wounds

shrapnel_type

If defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets

temporary_unstoppable_movement

We are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.

wound_falloff_tile

How much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes

zone_accuracy_factor

factor to multiply by for zone accuracy percent.

Proc Details

CanPassThrough

Projectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.

Crossed

Projectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.

Impact

Called when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.

+

Furthermore, this proc shouldn't check can_hit_target - this should only be called if can hit target is already checked. +Also, we select_target to find what to process_hit first.

Moved

Projectile moved:

+

If not fired yet, do not do anything. Else,

+

If temporary unstoppable movement used for piercing through things we already hit (impacted list) is set, unset it. +Scan turf we're now in for anything we can/should hit. This is useful for hitting non dense objects the user +directly clicks on, as well as for PHASING projectiles to be able to hit things at all as they don't ever Bump().

Range

Artificially modified to be called at around every world.icon_size pixels of movement. +WARNING: Range() can only be called once per pixel_increment_amount pixels.

pixel_move

The proc to make the projectile go, using a simulated pixel movement line trace. +Note: deciseconds_equivalent is currently only used for homing, times is the number of times to move pixel_increment_amount. +Trajectory multiplier directly modifies the factor of pixel_increment_amount to go per time. +It's complicated, so probably just don't mess with this unless you know what you're doing.

prehit_pierce

Checks if we should pierce something.

+

NOT meant to be a pure proc, since this replaces prehit() which was used to do things. +Return PROJECTILE_DELETE_WITHOUT_HITTING to delete projectile without hitting at all!

process_hit

The primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.

+

Order of operations:

+
    +
  1. Checks if we are deleted, or if we're somehow trying to hit a null, in which case, bail out
  2. +
  3. Adds the thing we're hitting to impacted so we can make sure we don't doublehit
  4. +
  5. Checks piercing - stores this. +Afterwards: +Hit and delete, hit without deleting and pass through, pass through without hitting, or delete without hitting depending on result +If we're going through without hitting, find something else to hit if possible and recurse, set unstoppable movement to true +If we're deleting without hitting, delete and return +Otherwise, send signal of COMSIG_PROJECTILE_PREHIT to target +Then, hit, deleting ourselves if necessary. +@params +T - Turf we're on/supposedly hitting +target - target we're hitting +bumped - target we originally bumped. it's here to ensure that if something blocks our projectile by means of Cross() failure, we hit it +even if it is not dense. +hit_something - only should be set by recursive calling by this proc - tracks if we hit something already
  6. +
+

Returns if we hit something.

+

return_predicted_turf_after_moves

one move is a tile.

scan_crossed_hit

Scan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.

scan_moved_turf

Scans if we should hit something on the turf we just moved to if we haven't already

+

This proc is a little high in overhead but allows us to not snowflake CanPass in living and other things.

select_target

Selects a target to hit from a turf

+

@params +T - The turf +target - The "preferred" atom to hit, usually what we Bumped() first. +bumped - used to track if something is the reason we impacted in the first place. +If set, this atom is always treated as dense by can_hit_target.

+

Priority: +0. Anything that is already in impacted is ignored no matter what. Furthermore, in any bracket, if the target atom parameter is in it, that's hit first. +Furthermore, can_hit_target is always checked. This (entire proc) is PERFORMANCE OVERHEAD!! But, it shouldn't be ""too"" bad and I frankly don't have a better generic non snowflakey way that I can think of right now at 3 AM. +FURTHERMORE, mobs/objs have a density check from can_hit_target - to hit non dense objects over a turf, you must click on them, same for mobs that usually wouldn't get hit.

+
    +
  1. The thing originally aimed at/clicked on
  2. +
  3. Mobs - picks lowest buckled mob to prevent scarp piggybacking memes
  4. +
  5. Objs
  6. +
  7. Turf
  8. +
  9. Nothing
  10. +
\ No newline at end of file diff --git a/obj/item/projectile/frost_orb.html b/obj/item/projectile/frost_orb.html new file mode 100644 index 000000000000..785d1c86f1a0 --- /dev/null +++ b/obj/item/projectile/frost_orb.html @@ -0,0 +1 @@ +/obj/item/projectile/frost_orb - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

frost_orb

Procs

orb_explosionCalled when the orb is exploding, shoots out projectiles

Proc Details

orb_explosion

Called when the orb is exploding, shoots out projectiles

\ No newline at end of file diff --git a/obj/item/projectile/kiss.html b/obj/item/projectile/kiss.html new file mode 100644 index 000000000000..ae1d9c76052d --- /dev/null +++ b/obj/item/projectile/kiss.html @@ -0,0 +1,5 @@ +/obj/item/projectile/kiss - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

kiss

Procs

harmless_on_hitTo get around shielded modsuits & such being set off by kisses when they shouldn't, we take a page from hallucination projectiles +and simply fake our on hit effects. This lets kisses remain incorporeal without having to make some new trait for this one niche situation. +This fake hit only happens if we can deal damage and if we hit a living thing. Otherwise, we just do normal on hit effects.

Proc Details

harmless_on_hit

To get around shielded modsuits & such being set off by kisses when they shouldn't, we take a page from hallucination projectiles +and simply fake our on hit effects. This lets kisses remain incorporeal without having to make some new trait for this one niche situation. +This fake hit only happens if we can deal damage and if we hit a living thing. Otherwise, we just do normal on hit effects.

\ No newline at end of file diff --git a/obj/item/projectile/tether.html b/obj/item/projectile/tether.html new file mode 100644 index 000000000000..6c928a439f2e --- /dev/null +++ b/obj/item/projectile/tether.html @@ -0,0 +1 @@ +/obj/item/projectile/tether - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

tether

Vars

lineReference to the beam following the projectile.

Var Details

line

Reference to the beam following the projectile.

\ No newline at end of file diff --git a/obj/item/raw_anomaly_core.html b/obj/item/raw_anomaly_core.html new file mode 100644 index 000000000000..ad8cf5a8fb04 --- /dev/null +++ b/obj/item/raw_anomaly_core.html @@ -0,0 +1,9 @@ +/obj/item/raw_anomaly_core - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Raw Anomaly Cores

The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.

+

The current amounts created is stored in SSresearch.created_anomaly_types[ANOMALY_CORE_TYPE_DEFINE] = amount +The hard limits are in code/__DEFINES/anomalies.dm

Vars

anomaly_typeAnomaly type

Procs

create_coreCreated the resulting core after being "made" into it.

Var Details

anomaly_type

Anomaly type

Proc Details

create_core

Created the resulting core after being "made" into it.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/rcl.html b/obj/item/rcl.html new file mode 100644 index 000000000000..ee29f11dc4ca --- /dev/null +++ b/obj/item/rcl.html @@ -0,0 +1 @@ +/obj/item/rcl - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

rcl

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/reagent_containers/food.html b/obj/item/reagent_containers/food.html new file mode 100644 index 000000000000..994d6810c524 --- /dev/null +++ b/obj/item/reagent_containers/food.html @@ -0,0 +1,4 @@ +/obj/item/reagent_containers/food - SPLURT Station 13
SPLURT Station 13 - Modules - Types

food

Food.

+

Note: When adding food items with dummy parents, make sure to add +the parent to the exclusion list in code/__HELPERS/unsorted.dm's +get_random_food proc.

\ No newline at end of file diff --git a/obj/item/reagent_containers/food/snacks.html b/obj/item/reagent_containers/food/snacks.html new file mode 100644 index 000000000000..2ae039e3fdde --- /dev/null +++ b/obj/item/reagent_containers/food/snacks.html @@ -0,0 +1,39 @@ +/obj/item/reagent_containers/food/snacks - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

snacks

+

Items in the "Snacks" subcategory are food items that people actually eat. The key points are that they are created +already filled with reagents and are destroyed when empty. Additionally, they make a "munching" noise when eaten.

+

Notes by Darem: Food in the "snacks" subtype can hold a maximum of 50 units. Generally speaking, you don't want to go over 40 +total for the item because you want to leave space for extra condiments. If you want effect besides healing, add a reagent for +it. Try to stick to existing reagents when possible (so if you want a stronger healing effect, just use omnizine). On use +effect (such as the old officer eating a donut code) requires a unique reagent (unless you can figure out a better way).

+

The nutriment reagent and bitesize variable replace the old heal_amt and amount variables. Each unit of nutriment is equal to +2 of the old heal_amt variable. Bitesize is the rate at which the reagents are consumed. So if you have 6 nutriment and a +bitesize of 2, then it'll take 3 bites to eat. Unlike the old system, the contained reagents are evenly spread among all +the bites. No more contained reagents = no more bites.

+

Food formatting and crafting examples.

+
/obj/item/reagent_containers/food/snacks/saltedcornchips						//Identification path for the object.
+	name = "salted corn chips"													//Name that displays when hovered over.
+	desc = "Manufactured in a far away factory."								//Description on examine.
+	icon_state = "saltychip"													//Refers to an icon, usually in food.dmi
+	bitesize = 3																//How many reagents are consumed in each bite.
+	list_reagents = list(/datum/reagent/consumable/nutriment = 6,				//What's inside the snack, but only if spawned. For example, from a chemical reaction, vendor, or slime core spawn.
+						/datum/reagent/consumable/nutriment/vitamin = 2)
+	bonus_reagents = list(/datum/reagent/consumable/nutriment = 1,				//What's -added- to the food, in addition to the reagents contained inside the foods used to craft it. Basically, a reward for cooking.
+						/datum/reagent/consumable/nutriment/vitamin = 1)		^^For example. Egg+Egg = 2Egg + Bonus Reagents.
+	filling_color = "#F4A460"													//What color it will use if put in a custom food.
+	tastes = list("salt" = 1, "oil" = 1)										//Descriptive flavoring displayed when eaten. IE: "You taste a bit of salt and a bit of oil."
+	foodtype = GRAIN | JUNKFOOD													//Tag for racial or custom food preferences. IE: Most Lizards cannot have GRAIN.
+
+Crafting Recipe (See files in code/modules/food_and_drinks/recipes/tablecraft/)
+
+/datum/crafting_recipe/food/nachos
+	name ="Salted Corn Chips"													//Name that displays in the Crafting UI
+	reqs = list(																//The list of ingredients to make the food.
+		/obj/item/reagent_containers/food/snacks/tortilla = 1,
+		/datum/reagent/consumable/sodiumchloride = 1							//As a note, reagents and non-food items don't get added to the food. If you
+	)																			^^want the reagents, make sure the food item has it listed under bonus_reagents.
+	result = /obj/item/reagent_containers/food/snacks/saltedcornchips			//Resulting object.
+	subcategory = CAT_MISCFOOD													//Subcategory the food falls under in the Food Tab of the crafting menu.
+
+

All foods are distributed among various categories. Use common sense.

Procs

afterattackDunking

Proc Details

afterattack

Dunking

\ No newline at end of file diff --git a/obj/item/reagent_containers/food/snacks/donut.html b/obj/item/reagent_containers/food/snacks/donut.html new file mode 100644 index 000000000000..7fac9edef409 --- /dev/null +++ b/obj/item/reagent_containers/food/snacks/donut.html @@ -0,0 +1 @@ +/obj/item/reagent_containers/food/snacks/donut - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

donut

DONUTS

Procs

in_box_spriteReturns the sprite of the donut while in a donut box

Proc Details

in_box_sprite

Returns the sprite of the donut while in a donut box

\ No newline at end of file diff --git a/obj/item/reagent_containers/spray.html b/obj/item/reagent_containers/spray.html new file mode 100644 index 000000000000..8cc61fe57780 --- /dev/null +++ b/obj/item/reagent_containers/spray.html @@ -0,0 +1 @@ +/obj/item/reagent_containers/spray - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

spray

Vars

last_sprayLast world.time of spray
spray_cooldownSpray cooldown
spray_delayAmount of time it takes for a spray to completely travel.

Var Details

last_spray

Last world.time of spray

spray_cooldown

Spray cooldown

spray_delay

Amount of time it takes for a spray to completely travel.

\ No newline at end of file diff --git a/obj/item/reagent_containers/syringe.html b/obj/item/reagent_containers/syringe.html new file mode 100644 index 000000000000..9111259b2225 --- /dev/null +++ b/obj/item/reagent_containers/syringe.html @@ -0,0 +1 @@ +/obj/item/reagent_containers/syringe - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

syringe

Procs

get_rounded_volUsed by update_icon() and update_overlays()

Proc Details

get_rounded_vol

Used by update_icon() and update_overlays()

\ No newline at end of file diff --git a/obj/item/relic.html b/obj/item/relic.html new file mode 100644 index 000000000000..8691894686a4 --- /dev/null +++ b/obj/item/relic.html @@ -0,0 +1 @@ +/obj/item/relic - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

relic

SPECIAL ITEMS

Procs

throwSmokeRELIC PROCS

Proc Details

throwSmoke

RELIC PROCS

\ No newline at end of file diff --git a/obj/item/restraints.html b/obj/item/restraints.html new file mode 100644 index 000000000000..3ad256d80263 --- /dev/null +++ b/obj/item/restraints.html @@ -0,0 +1 @@ +/obj/item/restraints - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

restraints

Vars

allow_breakout_movementallow movement at all during breakout

Var Details

allow_breakout_movement

allow movement at all during breakout

\ No newline at end of file diff --git a/obj/item/restraints/legcuffs/bola.html b/obj/item/restraints/legcuffs/bola.html new file mode 100644 index 000000000000..0e7fd4543d6f --- /dev/null +++ b/obj/item/restraints/legcuffs/bola.html @@ -0,0 +1,5 @@ +/obj/item/restraints/legcuffs/bola - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

bola

Procs

ensnareAttempts to legcuff someone with the bola

Proc Details

ensnare

Attempts to legcuff someone with the bola

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/resurrection_crystal.html b/obj/item/resurrection_crystal.html new file mode 100644 index 000000000000..a32a1d7f0031 --- /dev/null +++ b/obj/item/resurrection_crystal.html @@ -0,0 +1 @@ +/obj/item/resurrection_crystal - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

resurrection_crystal

Procs

resurrectResurrects the target when they die by cloning them into a new duplicate body and transferring their mind to the clone on a safe station turf

Proc Details

resurrect

Resurrects the target when they die by cloning them into a new duplicate body and transferring their mind to the clone on a safe station turf

\ No newline at end of file diff --git a/obj/item/reverse_bear_trap.html b/obj/item/reverse_bear_trap.html new file mode 100644 index 000000000000..ded5ec49f468 --- /dev/null +++ b/obj/item/reverse_bear_trap.html @@ -0,0 +1 @@ +/obj/item/reverse_bear_trap - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

reverse_bear_trap

Procs

armnote: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.

Proc Details

arm

note: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.

\ No newline at end of file diff --git a/obj/item/robot_module.html b/obj/item/robot_module.html new file mode 100644 index 000000000000..2148d6809a83 --- /dev/null +++ b/obj/item/robot_module.html @@ -0,0 +1,5 @@ +/obj/item/robot_module - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

robot_module

Procs

InitializeEnd Cargo Borg
check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

Initialize

End Cargo Borg

check_menu

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/robot_suit.html b/obj/item/robot_suit.html new file mode 100644 index 000000000000..647ebe0e39c1 --- /dev/null +++ b/obj/item/robot_suit.html @@ -0,0 +1,3 @@ +/obj/item/robot_suit - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

robot_suit

Procs

drop_all_partsDrops all included parts to the passed location +This will also dissassemble the parts being dropped into components as well

Proc Details

drop_all_parts

Drops all included parts to the passed location +This will also dissassemble the parts being dropped into components as well

\ No newline at end of file diff --git a/obj/item/rtl.html b/obj/item/rtl.html new file mode 100644 index 000000000000..8dd237093849 --- /dev/null +++ b/obj/item/rtl.html @@ -0,0 +1 @@ +/obj/item/rtl - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

rtl

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/sales_tagger.html b/obj/item/sales_tagger.html new file mode 100644 index 000000000000..14cb2262f2c5 --- /dev/null +++ b/obj/item/sales_tagger.html @@ -0,0 +1,3 @@ +/obj/item/sales_tagger - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

sales_tagger

Vars

cut_maxMaximum value for cut_multiplier.
cut_minMinimum value for cut_multiplier.
cut_multiplierDetails the percentage the scanned account recieves off the final sale. +The person who tagged this will receive the sale value multiplied by this number.
payments_accThe account which is recieving the split profits.

Var Details

cut_max

Maximum value for cut_multiplier.

cut_min

Minimum value for cut_multiplier.

cut_multiplier

Details the percentage the scanned account recieves off the final sale. +The person who tagged this will receive the sale value multiplied by this number.

payments_acc

The account which is recieving the split profits.

\ No newline at end of file diff --git a/obj/item/seeds.html b/obj/item/seeds.html new file mode 100644 index 000000000000..6bd6adc05ed2 --- /dev/null +++ b/obj/item/seeds.html @@ -0,0 +1 @@ +/obj/item/seeds - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

seeds

Procs

adjust_yieldSetters procs
set_mutabilityThis proc adds a mutability_flag to a gene
unset_mutabilityThis proc removes a mutability_flag from a gene

Proc Details

adjust_yield

Setters procs

set_mutability

This proc adds a mutability_flag to a gene

unset_mutability

This proc removes a mutability_flag from a gene

\ No newline at end of file diff --git a/obj/item/shield.html b/obj/item/shield.html new file mode 100644 index 000000000000..1540b45328ca --- /dev/null +++ b/obj/item/shield.html @@ -0,0 +1 @@ +/obj/item/shield - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

shield

Vars

last_shieldbashLast shieldbash world.time
shield_flagsShield flags
shieldbash_brutedamageShield bashing brute damage
shieldbash_cooldownShieldbashing cooldown
shieldbash_knockbackShieldbashing knockback
shieldbash_push_distanceShield bashing push distance
shieldbash_stagger_durationShield bashing stagger duration
shieldbash_stamcostShieldbashing stamina cost
shieldbash_stamdmgShield bashing stamina damage

Var Details

last_shieldbash

Last shieldbash world.time

shield_flags

Shield flags

shieldbash_brutedamage

Shield bashing brute damage

shieldbash_cooldown

Shieldbashing cooldown

shieldbash_knockback

Shieldbashing knockback

shieldbash_push_distance

Shield bashing push distance

shieldbash_stagger_duration

Shield bashing stagger duration

shieldbash_stamcost

Shieldbashing stamina cost

shieldbash_stamdmg

Shield bashing stamina damage

\ No newline at end of file diff --git a/obj/item/shield/riot/implant.html b/obj/item/shield/riot/implant.html new file mode 100644 index 000000000000..88af97dd1ba7 --- /dev/null +++ b/obj/item/shield/riot/implant.html @@ -0,0 +1 @@ +/obj/item/shield/riot/implant - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

implant

Procs

take_damageEntirely overriden take_damage. This shouldn't exist outside of an implant (other than maybe christmas).

Proc Details

take_damage

Entirely overriden take_damage. This shouldn't exist outside of an implant (other than maybe christmas).

\ No newline at end of file diff --git a/obj/item/shockpaddles.html b/obj/item/shockpaddles.html new file mode 100644 index 000000000000..a8ff94062bf9 --- /dev/null +++ b/obj/item/shockpaddles.html @@ -0,0 +1 @@ +/obj/item/shockpaddles - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

shockpaddles

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/singularityhammer.html b/obj/item/singularityhammer.html new file mode 100644 index 000000000000..9e710010916f --- /dev/null +++ b/obj/item/singularityhammer.html @@ -0,0 +1 @@ +/obj/item/singularityhammer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

singularityhammer

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/soulstone.html b/obj/item/soulstone.html new file mode 100644 index 000000000000..16b5360042e9 --- /dev/null +++ b/obj/item/soulstone.html @@ -0,0 +1 @@ +/obj/item/soulstone - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

soulstone

Procs

attackCapturing
attack_selfOptions for using captured souls
transfer_soulProc for moving soul in and out off stone

Proc Details

attack

Capturing

attack_self

Options for using captured souls

transfer_soul

Proc for moving soul in and out off stone

\ No newline at end of file diff --git a/obj/item/spear.html b/obj/item/spear.html new file mode 100644 index 000000000000..394ce5b9b7c1 --- /dev/null +++ b/obj/item/spear.html @@ -0,0 +1 @@ +/obj/item/spear - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

spear

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/stack.html b/obj/item/stack.html new file mode 100644 index 000000000000..6f8f179ea410 --- /dev/null +++ b/obj/item/stack.html @@ -0,0 +1,72 @@ +/obj/item/stack - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

stack

Vars

absorption_capacityHow much blood flow this stack can absorb if used as a bandage on a cut wound, note that absorption is how much we lower the flow rate, not the raw amount of blood we suck up
absorption_rateHow quickly we lower the blood flow on a cut wound we're bandaging. Expected lifetime of this bandage in ticks is thus absorption_capacity/absorption_rate, or until the cut heals, whichever comes first
material_typeDatum material type that this stack is made of
matter_amountAmount of matter for RCD
splint_factorIf set and this used as a splint for a broken bone wound, this is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)

Procs

add
build_recipeReturns a list of properties of a given recipe
can_merge
is_valid_recipeChecks if the recipe is valid to be used
recursively_build_recipesBuilds all recipes in a given recipe list and returns an association list containing them
set_custom_materialsOverride to make things like metalgen accurately set custom materials
set_mats_per_unit
split_stack
update_custom_materialsUpdates the custom materials list of this stack.

Var Details

absorption_capacity

How much blood flow this stack can absorb if used as a bandage on a cut wound, note that absorption is how much we lower the flow rate, not the raw amount of blood we suck up

absorption_rate

How quickly we lower the blood flow on a cut wound we're bandaging. Expected lifetime of this bandage in ticks is thus absorption_capacity/absorption_rate, or until the cut heals, whichever comes first

material_type

Datum material type that this stack is made of

matter_amount

Amount of matter for RCD

splint_factor

If set and this used as a splint for a broken bone wound, this is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)

Proc Details

add

build_recipe

Returns a list of properties of a given recipe

+

Arguments:

+

can_merge

is_valid_recipe

Checks if the recipe is valid to be used

+

Arguments:

+

recursively_build_recipes

Builds all recipes in a given recipe list and returns an association list containing them

+

Arguments:

+

set_custom_materials

Override to make things like metalgen accurately set custom materials

set_mats_per_unit

split_stack

update_custom_materials

Updates the custom materials list of this stack.

\ No newline at end of file diff --git a/obj/item/stack/cannonball.html b/obj/item/stack/cannonball.html new file mode 100644 index 000000000000..e0bcd349de4e --- /dev/null +++ b/obj/item/stack/cannonball.html @@ -0,0 +1 @@ +/obj/item/stack/cannonball - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cannonball

Vars

projectile_typethe type of projectile this type of cannonball item turns into.

Var Details

projectile_type

the type of projectile this type of cannonball item turns into.

\ No newline at end of file diff --git a/obj/item/stack/conveyor.html b/obj/item/stack/conveyor.html new file mode 100644 index 000000000000..5cbd20721833 --- /dev/null +++ b/obj/item/stack/conveyor.html @@ -0,0 +1 @@ +/obj/item/stack/conveyor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

conveyor

Vars

idid for linking

Var Details

id

id for linking

\ No newline at end of file diff --git a/obj/item/stack/ducts.html b/obj/item/stack/ducts.html new file mode 100644 index 000000000000..cedd005392ac --- /dev/null +++ b/obj/item/stack/ducts.html @@ -0,0 +1 @@ +/obj/item/stack/ducts - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ducts

Vars

duct_colorColor of our duct
duct_layerDefault layer of our duct
layersAssoc index with all the available layers. yes five might be a bit much. Colors uses a global by the way

Var Details

duct_color

Color of our duct

duct_layer

Default layer of our duct

layers

Assoc index with all the available layers. yes five might be a bit much. Colors uses a global by the way

\ No newline at end of file diff --git a/obj/item/stack/license_plates/filled.html b/obj/item/stack/license_plates/filled.html new file mode 100644 index 000000000000..a5b495dd0345 --- /dev/null +++ b/obj/item/stack/license_plates/filled.html @@ -0,0 +1 @@ +/obj/item/stack/license_plates/filled - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

filled

Procs

update_icon_stateOverride to allow for variations

Proc Details

update_icon_state

Override to allow for variations

\ No newline at end of file diff --git a/obj/item/stack/medical.html b/obj/item/stack/medical.html new file mode 100644 index 000000000000..744574ea0d77 --- /dev/null +++ b/obj/item/stack/medical.html @@ -0,0 +1 @@ +/obj/item/stack/medical - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

medical

Vars

flesh_regenerationHow much we add to flesh_healing for burn wounds on application
heal_bruteHow much brute we heal per application
heal_burnHow much burn we heal per application
sanitizationHow much sanitization to apply to burns on application
stop_bleedingHow much we reduce bleeding per application on cut wounds

Var Details

flesh_regeneration

How much we add to flesh_healing for burn wounds on application

heal_brute

How much brute we heal per application

heal_burn

How much burn we heal per application

sanitization

How much sanitization to apply to burns on application

stop_bleeding

How much we reduce bleeding per application on cut wounds

\ No newline at end of file diff --git a/obj/item/stack/medical/mesh.html b/obj/item/stack/medical/mesh.html new file mode 100644 index 000000000000..9056d785ca8c --- /dev/null +++ b/obj/item/stack/medical/mesh.html @@ -0,0 +1 @@ +/obj/item/stack/medical/mesh - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mesh

Vars

grind_resultsThis var determines if the sterile packaging of the mesh has been opened.

Var Details

grind_results

This var determines if the sterile packaging of the mesh has been opened.

\ No newline at end of file diff --git a/obj/item/stack/sheet.html b/obj/item/stack/sheet.html new file mode 100644 index 000000000000..184f7f81829e --- /dev/null +++ b/obj/item/stack/sheet.html @@ -0,0 +1,9 @@ +/obj/item/stack/sheet - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

sheet

Vars

point_valueturn-in value for the gulag stacker - loosely relative to its rarity
shard_typethe shard debris typepath left over by solar panels and windows etc.
sheettypethis is used for girders in the creation of walls/false walls
walltypeWhat type of wall does this sheet spawn

Procs

on_solar_constructionCalled on the glass sheet upon solar construction (duh): +Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency +and possibly extra effects if you wish to code them. +Keep in mind the solars' max_integrity is set equal to the obj_integrity later, +so you won't have to do so here.

Var Details

point_value

turn-in value for the gulag stacker - loosely relative to its rarity

shard_type

the shard debris typepath left over by solar panels and windows etc.

sheettype

this is used for girders in the creation of walls/false walls

walltype

What type of wall does this sheet spawn

Proc Details

on_solar_construction

Called on the glass sheet upon solar construction (duh): +Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency +and possibly extra effects if you wish to code them. +Keep in mind the solars' max_integrity is set equal to the obj_integrity later, +so you won't have to do so here.

\ No newline at end of file diff --git a/obj/item/stack/tile.html b/obj/item/stack/tile.html new file mode 100644 index 000000000000..65ae60e1b512 --- /dev/null +++ b/obj/item/stack/tile.html @@ -0,0 +1 @@ +/obj/item/stack/tile - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tile

Vars

mineralTypeDetermines certain welder interactions. //included - tile floofing
tile_reskin_typesCached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image
turf_typeWhat type of turf does this tile produce. //included - tile floofing

Procs

tile_reskin_listCaches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).

Var Details

mineralType

Determines certain welder interactions. //included - tile floofing

tile_reskin_types

Cached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image

turf_type

What type of turf does this tile produce. //included - tile floofing

Proc Details

tile_reskin_list

Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).

\ No newline at end of file diff --git a/obj/item/staff/bostaff.html b/obj/item/staff/bostaff.html new file mode 100644 index 000000000000..3661e28da773 --- /dev/null +++ b/obj/item/staff/bostaff.html @@ -0,0 +1 @@ +/obj/item/staff/bostaff - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

bostaff

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/item/stock_parts/cell.html b/obj/item/stock_parts/cell.html new file mode 100644 index 000000000000..368ef10ab0aa --- /dev/null +++ b/obj/item/stock_parts/cell.html @@ -0,0 +1 @@ +/obj/item/stock_parts/cell - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cell

Vars

grown_batteryIf it's a grown that acts as a battery, add a wire overlay to it.
has_charge_overlayIf true, add the o1 and o2 overlays based on charge level.

Var Details

grown_battery

If it's a grown that acts as a battery, add a wire overlay to it.

has_charge_overlay

If true, add the o1 and o2 overlays based on charge level.

\ No newline at end of file diff --git a/obj/item/storage/book/bible.html b/obj/item/storage/book/bible.html new file mode 100644 index 000000000000..86d8f85e5b69 --- /dev/null +++ b/obj/item/storage/book/bible.html @@ -0,0 +1,2 @@ +/obj/item/storage/book/bible - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

bible

Procs

check_menuChecks if we are allowed to interact with the radial

Proc Details

check_menu

Checks if we are allowed to interact with the radial

+

Arguements: user The mob interacting with the menu

\ No newline at end of file diff --git a/obj/item/storage/box/papersack.html b/obj/item/storage/box/papersack.html new file mode 100644 index 000000000000..18590f9b9666 --- /dev/null +++ b/obj/item/storage/box/papersack.html @@ -0,0 +1,6 @@ +/obj/item/storage/box/papersack - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

papersack

Vars

papersack_designsA list of all available papersack reskins

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Var Details

papersack_designs

A list of all available papersack reskins

Proc Details

check_menu

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
\ No newline at end of file diff --git a/obj/item/storage/fancy/rollingpapers.html b/obj/item/storage/fancy/rollingpapers.html new file mode 100644 index 000000000000..adbf5b3a58e2 --- /dev/null +++ b/obj/item/storage/fancy/rollingpapers.html @@ -0,0 +1 @@ +/obj/item/storage/fancy/rollingpapers - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

rollingpapers

Vars

icon_typeThe value in here has NOTHING to do with icons. It needs to be this for the proper examine.

Procs

update_icon_stateOverrides to do nothing because fancy boxes are fucking insane.

Var Details

icon_type

The value in here has NOTHING to do with icons. It needs to be this for the proper examine.

Proc Details

update_icon_state

Overrides to do nothing because fancy boxes are fucking insane.

\ No newline at end of file diff --git a/obj/item/storage/pod.html b/obj/item/storage/pod.html new file mode 100644 index 000000000000..8d0d4c8730ed --- /dev/null +++ b/obj/item/storage/pod.html @@ -0,0 +1 @@ +/obj/item/storage/pod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

pod

Procs

afterShuttleMoveItem move procs

Proc Details

afterShuttleMove

Item move procs

\ No newline at end of file diff --git a/obj/item/storage/portable_chem_mixer.html b/obj/item/storage/portable_chem_mixer.html new file mode 100644 index 000000000000..dedd86cc3970 --- /dev/null +++ b/obj/item/storage/portable_chem_mixer.html @@ -0,0 +1,11 @@ +/obj/item/storage/portable_chem_mixer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

portable_chem_mixer

Vars

amountCreating an empty slot for a beaker that can be added to dispense into
dispensable_reagentsThe amount of reagent that is to be dispensed currently

Procs

ComponentInitializeList in which all currently dispensable reagents go
replace_beakerReplaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently
update_contentsUpdates the contents of the portable chemical mixer

Var Details

amount

Creating an empty slot for a beaker that can be added to dispense into

dispensable_reagents

The amount of reagent that is to be dispensed currently

Proc Details

ComponentInitialize

List in which all currently dispensable reagents go

replace_beaker

Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently

+

Checks if a valid user and a valid new beaker exist and attempts to replace the current beaker in the portable chemical mixer with the one in hand. Simply places the new beaker in if no beaker is currently loaded +Arguments:

+

update_contents

Updates the contents of the portable chemical mixer

+

A list of dispensable reagents is created by iterating through each source beaker in the portable chemical beaker and reading its contents

\ No newline at end of file diff --git a/obj/item/storage/toolbox/mechanical.html b/obj/item/storage/toolbox/mechanical.html new file mode 100644 index 000000000000..75cd74f57b48 --- /dev/null +++ b/obj/item/storage/toolbox/mechanical.html @@ -0,0 +1 @@ +/obj/item/storage/toolbox/mechanical - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

mechanical

Vars

has_soulIf FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.

Var Details

has_soul

If FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.

\ No newline at end of file diff --git a/obj/item/summon.html b/obj/item/summon.html new file mode 100644 index 000000000000..ede205f6cec8 --- /dev/null +++ b/obj/item/summon.html @@ -0,0 +1,3 @@ +/obj/item/summon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

summon

Simple summon weapon code in this file

+

tl;dr latch onto target, repeatedly proc attacks, animate using transforms, +no real hitboxes/collisions, think of /datum/component/orbit-adjacent

Vars

hostour summon weapon host
host_typedatum type
melee_onlyare we a ranged weapon?
rangerange summons will chase to
stack_durationhow long it takes for a "stack" to fall off by itself
summon_countnumber of summons

Var Details

host

our summon weapon host

host_type

datum type

melee_only

are we a ranged weapon?

range

range summons will chase to

stack_duration

how long it takes for a "stack" to fall off by itself

summon_count

number of summons

\ No newline at end of file diff --git a/obj/item/tank.html b/obj/item/tank.html new file mode 100644 index 000000000000..f245f7867950 --- /dev/null +++ b/obj/item/tank.html @@ -0,0 +1 @@ +/obj/item/tank - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

tank

Vars

tank_holder_icon_stateIcon state when in a tank holder. Null makes it incompatible with tank holder.

Var Details

tank_holder_icon_state

Icon state when in a tank holder. Null makes it incompatible with tank holder.

\ No newline at end of file diff --git a/obj/item/throwing_star/stamina/ninja.html b/obj/item/throwing_star/stamina/ninja.html new file mode 100644 index 000000000000..abc44f6ad2cd --- /dev/null +++ b/obj/item/throwing_star/stamina/ninja.html @@ -0,0 +1,10 @@ +/obj/item/throwing_star/stamina/ninja - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Ninja Throwing Star

a throwing star which specifically makes sure you know it came from a real ninja.

+

The most important item in the entire codebase, as without it we would all cease to exist. +Inherits everything that makes it interesting the stamina throwing star, but the most +important change made is that its name specifically has the prefix, 'ninja' in it. +This provides the detective role with information to play off of by ensuring that his +assumption that a space ninja is aboard the ship to be true when he find 20 of these in +the captain's back. Along with this, its throwforce is 10 instead of the 5 of the stamina +throwing star, meaning it'll do a little more damage than the stamina throwing star does as well. +Changes to this item need to be approved by all maintainers, so if you do change it, make sure +you go through the proper channels, lest you get permabanned. Do I make myself clear?

\ No newline at end of file diff --git a/obj/item/toy/cards/cardhand.html b/obj/item/toy/cards/cardhand.html new file mode 100644 index 000000000000..839ad3c534c7 --- /dev/null +++ b/obj/item/toy/cards/cardhand.html @@ -0,0 +1,5 @@ +/obj/item/toy/cards/cardhand - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

cardhand

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
update_spriteThis proc updates the sprite for when you create a hand of cards

Proc Details

check_menu

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+

update_sprite

This proc updates the sprite for when you create a hand of cards

\ No newline at end of file diff --git a/obj/item/toy/crayon.html b/obj/item/toy/crayon.html new file mode 100644 index 000000000000..ab44926e4de8 --- /dev/null +++ b/obj/item/toy/crayon.html @@ -0,0 +1 @@ +/obj/item/toy/crayon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

crayon

Procs

can_claim_for_gangGang mode stuff

Proc Details

can_claim_for_gang

Gang mode stuff

\ No newline at end of file diff --git a/obj/item/toy/mecha.html b/obj/item/toy/mecha.html new file mode 100644 index 000000000000..8839c4487965 --- /dev/null +++ b/obj/item/toy/mecha.html @@ -0,0 +1,48 @@ +/obj/item/toy/mecha - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mecha

Vars

combat_healthThe mech's health in battle
cooldownCooldown between play sessions
cooldown_multiplierCooldown multiplier after a battle (by default: battle cooldowns are 30 seconds)
in_combatTRUE = in combat currently || FALSE = Not in combat
losses...And their loss count in combat
max_combat_healthThe mech's max combat health
quietIf it makes noise when played with
special_attack_chargedTRUE = the special attack is charged || FALSE = not charged
special_attack_cooldownCurrent cooldown of their special attack
special_attack_cryThe battlecry when using the special attack
special_attack_typeWhat type of special attack they use - SPECIAL_ATTACK_DAMAGE, SPECIAL_ATTACK_HEAL, SPECIAL_ATTACK_UTILITY, SPECIAL_ATTACK_OTHER
special_attack_type_messageWhat message their special move gets on examining
timerTimer when it'll be off cooldown
wants_to_battleTRUE = Offering battle to someone || FALSE = Not offering battle
winsThis mech's win count in combat

Procs

attackAttack is called from the user's toy, aimed at target(another human), checking for target's toy.
attack_tkOverrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship
attackbyIf you attack a mech with a mech, initiate combat between them
check_battle_startThis proc checks if a battle can be initiated between src and attacker.
combat_sleepthis proc combines "sleep" while also checking for if the battle should continue
mecha_brawlThe 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly.
special_attack_moveProcesses any special attack moves that happen in the battle (called in the mechaBattle proc).
suicide_actStarts a battle, toy mech vs player. Player... doesn't win.
super_special_attackBase proc for 'other' special attack moves.
withdraw_offerResets the request for battle.

Var Details

combat_health

The mech's health in battle

cooldown

Cooldown between play sessions

cooldown_multiplier

Cooldown multiplier after a battle (by default: battle cooldowns are 30 seconds)

in_combat

TRUE = in combat currently || FALSE = Not in combat

losses

...And their loss count in combat

max_combat_health

The mech's max combat health

quiet

If it makes noise when played with

special_attack_charged

TRUE = the special attack is charged || FALSE = not charged

special_attack_cooldown

Current cooldown of their special attack

special_attack_cry

The battlecry when using the special attack

special_attack_type

What type of special attack they use - SPECIAL_ATTACK_DAMAGE, SPECIAL_ATTACK_HEAL, SPECIAL_ATTACK_UTILITY, SPECIAL_ATTACK_OTHER

special_attack_type_message

What message their special move gets on examining

timer

Timer when it'll be off cooldown

wants_to_battle

TRUE = Offering battle to someone || FALSE = Not offering battle

wins

This mech's win count in combat

Proc Details

attack

Attack is called from the user's toy, aimed at target(another human), checking for target's toy.

attack_tk

Overrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship

attackby

If you attack a mech with a mech, initiate combat between them

check_battle_start

This proc checks if a battle can be initiated between src and attacker.

+

Both SRC and attacker (if attacker is included) timers are checked if they're on cooldown, and +both SRC and attacker (if attacker is included) are checked if they are in combat already. +If any of the above are true, the proc returns FALSE and sends a message to user (and target, if included) otherwise, it returns TRUE +Arguments:

+

combat_sleep

this proc combines "sleep" while also checking for if the battle should continue

+

this goes through some of the checks - the toys need to be next to each other to fight! +if it's player vs themself: They need to be able to "control" both mechs (either must be adjacent or using TK) +if it's player vs player: Both players need to be able to "control" their mechs (either must be adjacent or using TK) +if it's player vs mech (suicide): the mech needs to be in range of the player +if all the checks are TRUE, it does the sleeps, and returns TRUE. Otherwise, it returns FALSE. +Arguments:

+

mecha_brawl

The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly.

+

src is the defending toy, and the battle proc is called on it to begin the battle. +After going through a few checks at the beginning to ensure the battle can start properly, the battle begins a loop that lasts +until either toy has no more health. During this loop, it also ensures the mechs stay in combat range of each other. +It will then randomly decide attacks for each toy, occasionally making one or the other use their special attack. +When either mech has no more health, the loop ends, and it displays the victor and the loser while updating their stats and resetting them. +Arguments:

+

special_attack_move

Processes any special attack moves that happen in the battle (called in the mechaBattle proc).

+

Makes the toy shout their special attack cry and updates its cooldown. Then, does the special attack. +Arguments:

+

suicide_act

Starts a battle, toy mech vs player. Player... doesn't win.

super_special_attack

Base proc for 'other' special attack moves.

+

This one is only for inheritance, each mech with an 'other' type move has their procs below. +Arguments:

+

withdraw_offer

Resets the request for battle.

+

For use in a timer, this proc resets the wants_to_battle variable after a short period. +Arguments:

+
\ No newline at end of file diff --git a/obj/item/toy/plush.html b/obj/item/toy/plush.html new file mode 100644 index 000000000000..4b1d2a85cb32 --- /dev/null +++ b/obj/item/toy/plush.html @@ -0,0 +1 @@ +/obj/item/toy/plush - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

plush

Vars

__ADMIN_SET_TO_IDwrapper, do not use, read only

Var Details

__ADMIN_SET_TO_ID

wrapper, do not use, read only

\ No newline at end of file diff --git a/obj/item/transfer_valve.html b/obj/item/transfer_valve.html new file mode 100644 index 000000000000..30fb130e2317 --- /dev/null +++ b/obj/item/transfer_valve.html @@ -0,0 +1 @@ +/obj/item/transfer_valve - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

transfer_valve

Procs

readyReturns if this is ready to be detonated. Checks if both tanks are in place.

Proc Details

ready

Returns if this is ready to be detonated. Checks if both tanks are in place.

\ No newline at end of file diff --git a/obj/item/uplink.html b/obj/item/uplink.html new file mode 100644 index 000000000000..fa558bc33b76 --- /dev/null +++ b/obj/item/uplink.html @@ -0,0 +1,3 @@ +/obj/item/uplink - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

uplink

Vars

uplink_flagThe uplink flag for this type. +See [code/__DEFINES/uplink.dm]

Var Details

The uplink flag for this type. +See [code/__DEFINES/uplink.dm]

\ No newline at end of file diff --git a/obj/item/vibro_weapon.html b/obj/item/vibro_weapon.html new file mode 100644 index 000000000000..9f5f65562fb0 --- /dev/null +++ b/obj/item/vibro_weapon.html @@ -0,0 +1 @@ +/obj/item/vibro_weapon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

vibro_weapon

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield

triggered on unwield of two handed item

on_wield

triggered on wield of two handed item

\ No newline at end of file diff --git a/obj/machinery.html b/obj/machinery.html new file mode 100644 index 000000000000..5db722d102e2 --- /dev/null +++ b/obj/machinery.html @@ -0,0 +1,3 @@ +/obj/machinery - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

machinery

Vars

atmos_processingBoolean on whether this machines interact with atmos

Procs

AI_notify_hackAlerts the AI that a hack is in progress.
set_machine_statCalled when we want to change the value of the stat variable. Holds bitflags.

Var Details

atmos_processing

Boolean on whether this machines interact with atmos

Proc Details

AI_notify_hack

Alerts the AI that a hack is in progress.

+

Sends all AIs a message that a hack is occurring. Specifically used for space ninja tampering as this proc was originally in the ninja files. +However, the proc may also be used elsewhere.

set_machine_stat

Called when we want to change the value of the stat variable. Holds bitflags.

\ No newline at end of file diff --git a/obj/machinery/abductor/console.html b/obj/machinery/abductor/console.html new file mode 100644 index 000000000000..b854e3e23057 --- /dev/null +++ b/obj/machinery/abductor/console.html @@ -0,0 +1 @@ +/obj/machinery/abductor/console - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

console

Vars

compact_modeDictates if the compact mode of the interface is on or off
possible_gearPossible gear to be dispensed
selected_catCurrently selected gear category

Procs

get_abductor_gearget_abductor_gear: Returns a list of a filtered abductor gear sorted by categories

Var Details

compact_mode

Dictates if the compact mode of the interface is on or off

possible_gear

Possible gear to be dispensed

selected_cat

Currently selected gear category

Proc Details

get_abductor_gear

get_abductor_gear: Returns a list of a filtered abductor gear sorted by categories

\ No newline at end of file diff --git a/obj/machinery/abductor/experiment.html b/obj/machinery/abductor/experiment.html new file mode 100644 index 000000000000..748815623b39 --- /dev/null +++ b/obj/machinery/abductor/experiment.html @@ -0,0 +1,11 @@ +/obj/machinery/abductor/experiment - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

experiment

Procs

experimentexperiment: Performs selected experiment on occupant mob, resulting in a point reward on success
send_backsend_back: Sends a mob back to a selected teleport location if safe

Proc Details

experiment

experiment: Performs selected experiment on occupant mob, resulting in a point reward on success

+

Arguments:

+

send_back

send_back: Sends a mob back to a selected teleport location if safe

+

Arguments:

+
\ No newline at end of file diff --git a/obj/machinery/airalarm.html b/obj/machinery/airalarm.html new file mode 100644 index 000000000000..21995c233e78 --- /dev/null +++ b/obj/machinery/airalarm.html @@ -0,0 +1 @@ +/obj/machinery/airalarm - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

airalarm

Vars

alarm_managerRepresents a signel source of atmos alarms, complains to all the listeners if one of our thresholds is violated

Var Details

alarm_manager

Represents a signel source of atmos alarms, complains to all the listeners if one of our thresholds is violated

\ No newline at end of file diff --git a/obj/machinery/atmospherics.html b/obj/machinery/atmospherics.html new file mode 100644 index 000000000000..96bbc9c1346a --- /dev/null +++ b/obj/machinery/atmospherics.html @@ -0,0 +1 @@ +/obj/machinery/atmospherics - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

atmospherics

Procs

shuttleRotateMachine rotate procs

Proc Details

shuttleRotate

Machine rotate procs

\ No newline at end of file diff --git a/obj/machinery/atmospherics/components/unary/cryo_cell.html b/obj/machinery/atmospherics/components/unary/cryo_cell.html new file mode 100644 index 000000000000..ba9a29ea46dc --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/cryo_cell.html @@ -0,0 +1 @@ +/obj/machinery/atmospherics/components/unary/cryo_cell - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cryo_cell

Vars

treating_woundsCryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead

Var Details

treating_wounds

Cryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead

\ No newline at end of file diff --git a/obj/machinery/atmospherics/components/unary/tank.html b/obj/machinery/atmospherics/components/unary/tank.html new file mode 100644 index 000000000000..bd8503916dcc --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/tank.html @@ -0,0 +1 @@ +/obj/machinery/atmospherics/components/unary/tank - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

tank

Vars

gas_typeThe typepath of the gas this tank should be filled with.

Var Details

gas_type

The typepath of the gas this tank should be filled with.

\ No newline at end of file diff --git a/obj/machinery/atmospherics/pipe/simple/multiz.html b/obj/machinery/atmospherics/pipe/simple/multiz.html new file mode 100644 index 000000000000..a7d3bf7f7130 --- /dev/null +++ b/obj/machinery/atmospherics/pipe/simple/multiz.html @@ -0,0 +1 @@ +/obj/machinery/atmospherics/pipe/simple/multiz - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

multiz

This is an atmospherics pipe which can relay air up/down a deck.

Procs

pipeline_expansionAttempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet

Proc Details

pipeline_expansion

Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet

\ No newline at end of file diff --git a/obj/machinery/autolathe.html b/obj/machinery/autolathe.html new file mode 100644 index 000000000000..dbf6941514f5 --- /dev/null +++ b/obj/machinery/autolathe.html @@ -0,0 +1 @@ +/obj/machinery/autolathe - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

autolathe

Vars

creation_efficiencythe multiplier for how much materials the created object takes from this machines stored materials

Var Details

creation_efficiency

the multiplier for how much materials the created object takes from this machines stored materials

\ No newline at end of file diff --git a/obj/machinery/biogenerator.html b/obj/machinery/biogenerator.html new file mode 100644 index 000000000000..d2ddad8e47e5 --- /dev/null +++ b/obj/machinery/biogenerator.html @@ -0,0 +1,5 @@ +/obj/machinery/biogenerator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

biogenerator

Vars

selected_catCurrently selected category in the UI

Procs

activateactivate: Activates biomass processing and converts all inserted grown products into biomass

Var Details

selected_cat

Currently selected category in the UI

Proc Details

activate

activate: Activates biomass processing and converts all inserted grown products into biomass

+

Arguments:

+
\ No newline at end of file diff --git a/obj/machinery/camera.html b/obj/machinery/camera.html new file mode 100644 index 000000000000..3bcafc2cf3e0 --- /dev/null +++ b/obj/machinery/camera.html @@ -0,0 +1 @@ +/obj/machinery/camera - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

camera

Vars

alarm_managerRepresents a signel source of camera alarms about movement or camera tampering

Var Details

alarm_manager

Represents a signel source of camera alarms about movement or camera tampering

\ No newline at end of file diff --git a/obj/machinery/computer/arcade/battle.html b/obj/machinery/computer/arcade/battle.html new file mode 100644 index 000000000000..33c8a07a501a --- /dev/null +++ b/obj/machinery/computer/arcade/battle.html @@ -0,0 +1 @@ +/obj/machinery/computer/arcade/battle - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

battle

Vars

blockedthe player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.
bomb_cooldownunique to the emag mode, acts as a time limit where the player dies when it reaches 0.
chosen_weaponweapon wielded by the enemy, the shotgun doesn't count.
enemy_hpEnemy health/attack points
enemy_passivethe list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc
finishing_moveif all the enemy's weakpoints have been triggered becomes TRUE
gameoverif the enemy or player died. restart the game when TRUE
last_three_moveused to remember the last three move of the player before this turn.
max_passivethe number of passives the enemy will start with
pissed_offlinked to passives, when it's equal or above the max_passive finishing move will become TRUE
player_hpPlayer health
player_mpplayer magic points
tempTemporary message, for attack messages, etc
timer_idused to clear the enemy_action proc timer when the game is restarted
weaponsweapon used by the enemy, pure fluff.for certain actions

Procs

arcade_actionhappens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.
enemy_actionthe enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness
enemy_setupcreates the enemy base stats for a new round along with the enemy passives
screen_setupsets up the main screen for the user
weakpoint_checkused to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet

Var Details

blocked

the player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.

bomb_cooldown

unique to the emag mode, acts as a time limit where the player dies when it reaches 0.

chosen_weapon

weapon wielded by the enemy, the shotgun doesn't count.

enemy_hp

Enemy health/attack points

enemy_passive

the list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc

finishing_move

if all the enemy's weakpoints have been triggered becomes TRUE

gameover

if the enemy or player died. restart the game when TRUE

last_three_move

used to remember the last three move of the player before this turn.

max_passive

the number of passives the enemy will start with

pissed_off

linked to passives, when it's equal or above the max_passive finishing move will become TRUE

player_hp

Player health

player_mp

player magic points

temp

Temporary message, for attack messages, etc

timer_id

used to clear the enemy_action proc timer when the game is restarted

weapons

weapon used by the enemy, pure fluff.for certain actions

Proc Details

arcade_action

happens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.

enemy_action

the enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness

enemy_setup

creates the enemy base stats for a new round along with the enemy passives

screen_setup

sets up the main screen for the user

weakpoint_check

used to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet

\ No newline at end of file diff --git a/obj/machinery/computer/camera_advanced.html b/obj/machinery/computer/camera_advanced.html new file mode 100644 index 000000000000..5174152702c5 --- /dev/null +++ b/obj/machinery/computer/camera_advanced.html @@ -0,0 +1,3 @@ +/obj/machinery/computer/camera_advanced - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

camera_advanced

Vars

actionsList of all actions to give to a user when they're well, granted actions
jump_actionTypepath for jumping
off_actionTypepath of the action button we use as "off" +It's a typepath so subtypes can give it fun new names
should_supress_view_changesShould we supress any view changes?

Var Details

actions

List of all actions to give to a user when they're well, granted actions

jump_action

Typepath for jumping

off_action

Typepath of the action button we use as "off" +It's a typepath so subtypes can give it fun new names

should_supress_view_changes

Should we supress any view changes?

\ No newline at end of file diff --git a/obj/machinery/computer/camera_advanced/base_construction.html b/obj/machinery/computer/camera_advanced/base_construction.html new file mode 100644 index 000000000000..805bae4522fe --- /dev/null +++ b/obj/machinery/computer/camera_advanced/base_construction.html @@ -0,0 +1,3 @@ +/obj/machinery/computer/camera_advanced/base_construction - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

base_construction

Procs

populate_actions_listFill the construction_actios list with actions

Proc Details

populate_actions_list

Fill the construction_actios list with actions

+

Instantiate each action object that we'll be giving to users of +this console, and put it in the actions list

\ No newline at end of file diff --git a/obj/machinery/computer/camera_advanced/shuttle_docker.html b/obj/machinery/computer/camera_advanced/shuttle_docker.html new file mode 100644 index 000000000000..ed45c0bb78fe --- /dev/null +++ b/obj/machinery/computer/camera_advanced/shuttle_docker.html @@ -0,0 +1 @@ +/obj/machinery/computer/camera_advanced/shuttle_docker - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

shuttle_docker

Vars

jump_to_portsHashset of ports to jump to and ignore for collision purposes
my_portThe custom docking port placed by this console
shuttle_portThe mobile docking port of the connected shuttle

Procs

set_init_ports"Initializes" any default port ids we have, done so add_jumpable_port can be a proper setter

Var Details

jump_to_ports

Hashset of ports to jump to and ignore for collision purposes

my_port

The custom docking port placed by this console

shuttle_port

The mobile docking port of the connected shuttle

Proc Details

set_init_ports

"Initializes" any default port ids we have, done so add_jumpable_port can be a proper setter

\ No newline at end of file diff --git a/obj/machinery/computer/cargo.html b/obj/machinery/computer/cargo.html new file mode 100644 index 000000000000..62d3cd9b1015 --- /dev/null +++ b/obj/machinery/computer/cargo.html @@ -0,0 +1 @@ +/obj/machinery/computer/cargo - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cargo

Vars

can_approve_requestsCan you approve requests placed for cargo? Works differently between the app and the computer.
can_sendCan the supply console send the shuttle back and forth? Used in the UI backend.
is_expressvar that makes express console use rockets
message_cooldownvar that tracks message cooldown
radioradio used by the console to send messages on supply channel
requestonlyCan this console only send requests?

Var Details

can_approve_requests

Can you approve requests placed for cargo? Works differently between the app and the computer.

can_send

Can the supply console send the shuttle back and forth? Used in the UI backend.

is_express

var that makes express console use rockets

message_cooldown

var that tracks message cooldown

radio

radio used by the console to send messages on supply channel

requestonly

Can this console only send requests?

\ No newline at end of file diff --git a/obj/machinery/computer/communications.html b/obj/machinery/computer/communications.html new file mode 100644 index 000000000000..84bffa0369d4 --- /dev/null +++ b/obj/machinery/computer/communications.html @@ -0,0 +1,15 @@ +/obj/machinery/computer/communications - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

communications

Vars

alert_level_tickHow many times the alert level has been changed +Used to clear the modal to change alert level
authorize_accessThe access that the card had on login
authorize_nameThe name of the user who logged in
cyborg_stateThe current state of the UI for AIs
important_action_cooldownCooldown for important actions, such as messaging CentCom or other sectors
last_status_displayThe last lines used for changing the status display
messagesThe messages this console has been sent
report_print_cooldownCooldown between printing announcement papers
stateThe current state of the UI

Procs

authenticatedAre we a silicon, OR logged in?
authenticated_as_non_silicon_captainAre we NOT a silicon, AND we're logged in as the captain?
authenticated_as_silicon_or_captainAre we a silicon, OR we're logged in as the captain?
can_buy_shuttlesReturns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.
emergency_meetingCall an emergency meeting
has_communicationReturns whether or not the communications console can communicate with the station
override_cooldownOverride the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away

Var Details

alert_level_tick

How many times the alert level has been changed +Used to clear the modal to change alert level

authorize_access

The access that the card had on login

authorize_name

The name of the user who logged in

cyborg_state

The current state of the UI for AIs

important_action_cooldown

Cooldown for important actions, such as messaging CentCom or other sectors

last_status_display

The last lines used for changing the status display

messages

The messages this console has been sent

report_print_cooldown

Cooldown between printing announcement papers

state

The current state of the UI

Proc Details

authenticated

Are we a silicon, OR logged in?

authenticated_as_non_silicon_captain

Are we NOT a silicon, AND we're logged in as the captain?

authenticated_as_silicon_or_captain

Are we a silicon, OR we're logged in as the captain?

can_buy_shuttles

Returns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.

emergency_meeting

Call an emergency meeting

+

Comm Console wrapper for the Communications subsystem wrapper for the call_emergency_meeting world proc. +Checks to make sure the proc can be called, and handles relevant feedback, logging and timing. +See the SScommunications proc definition for more detail, in short, teleports the entire crew to +the bridge for a meetup. Should only really happen during april fools. +Arguments:

+

has_communication

Returns whether or not the communications console can communicate with the station

override_cooldown

Override the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away

\ No newline at end of file diff --git a/obj/machinery/computer/cryopod.html b/obj/machinery/computer/cryopod.html new file mode 100644 index 000000000000..6c8c09b0cb3c --- /dev/null +++ b/obj/machinery/computer/cryopod.html @@ -0,0 +1 @@ +/obj/machinery/computer/cryopod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cryopod

Vars

allow_itemsDoes this console store items? if NOT, will dump all items when the user cryo's instead

Var Details

allow_items

Does this console store items? if NOT, will dump all items when the user cryo's instead

\ No newline at end of file diff --git a/obj/machinery/computer/piratepad_control.html b/obj/machinery/computer/piratepad_control.html new file mode 100644 index 000000000000..ccb2935ef7dc --- /dev/null +++ b/obj/machinery/computer/piratepad_control.html @@ -0,0 +1 @@ +/obj/machinery/computer/piratepad_control - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

piratepad_control

Vars

pad_refReference to the specific pad that the control computer is linked up to.

Var Details

pad_ref

Reference to the specific pad that the control computer is linked up to.

\ No newline at end of file diff --git a/obj/machinery/computer/piratepad_control/civilian.html b/obj/machinery/computer/piratepad_control/civilian.html new file mode 100644 index 000000000000..106966392777 --- /dev/null +++ b/obj/machinery/computer/piratepad_control/civilian.html @@ -0,0 +1 @@ +/obj/machinery/computer/piratepad_control/civilian - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

civilian

Computer for assigning new civilian bounties, and sending bounties for collection.

Procs

add_bountiesHere is where cargo bounties are added to the player's bank accounts, then adjusted and scaled into a civilian bounty.
id_ejectRemoves A stored ID card.
id_insertSelf explanitory, holds the ID card inthe console for bounty payout and manipulation.
sendThis fully rewrites base behavior in order to only check for bounty objects, and nothing else.

Proc Details

add_bounties

Here is where cargo bounties are added to the player's bank accounts, then adjusted and scaled into a civilian bounty.

id_eject

Removes A stored ID card.

id_insert

Self explanitory, holds the ID card inthe console for bounty payout and manipulation.

send

This fully rewrites base behavior in order to only check for bounty objects, and nothing else.

\ No newline at end of file diff --git a/obj/machinery/computer/pod.html b/obj/machinery/computer/pod.html new file mode 100644 index 000000000000..328788aee914 --- /dev/null +++ b/obj/machinery/computer/pod.html @@ -0,0 +1 @@ +/obj/machinery/computer/pod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

pod

Vars

connectedConnected mass driver
idID of the launch control
massdriver_countdownCountdown timer for the mass driver's delayed launch functionality.
rangeRange in which we search for a mass drivers and poddoors nearby
timeTime before auto launch
timingIf the launch timer counts down

Procs

alarmInitiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors

Var Details

connected

Connected mass driver

id

ID of the launch control

massdriver_countdown

Countdown timer for the mass driver's delayed launch functionality.

range

Range in which we search for a mass drivers and poddoors nearby

time

Time before auto launch

timing

If the launch timer counts down

Proc Details

alarm

Initiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors

\ No newline at end of file diff --git a/obj/machinery/computer/scan_consolenew.html b/obj/machinery/computer/scan_consolenew.html new file mode 100644 index 000000000000..ca88b6c62fc0 --- /dev/null +++ b/obj/machinery/computer/scan_consolenew.html @@ -0,0 +1,212 @@ +/obj/machinery/computer/scan_consolenew - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

scan_consolenew

Vars

can_use_scannerUsed for setting tgui data - Whether the connected DNA Scanner is usable
connected_scannerCurrently connected DNA Scanner
crispr_chargesCounter for CRISPR charges
delayed_actionCurrent delayed action, used for delayed enzyme transfer on scanner door close
disketteCurrently stored genetic data diskette
genetic_makeup_bufferMaximum number of enzymes we can store
injector_selectionAssoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.
injectorreadyWorld time when injectors are ready to be printed
is_crispr_readyUsed for setting tgui data - Is CRISPR ready?
is_injector_readyUsed for setting tgui data - Whether injectors are ready to be printed
is_joker_readyUsed for setting tgui data - Whether JOKER algorithm is ready
is_pulsing_radsUsed for setting tgui data - Wheher an enzyme pulse operation is ongoing
is_scramble_readyUsed for setting tgui data - Whether Scramble DNA is ready
is_viable_occupantUsed for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification
jokerreadyWorld time when JOKER algorithm can be used in DNA Consoles
max_chromosomesMaximum number of chromosomes that DNA Consoles are able to store.
max_injector_instabilityMaximum total instability of all combined mutations allowed on an advanced injector
max_injector_mutationsMaximum number of mutation that an advanced injector can store
max_injector_selectionsMaximum number of advanced injectors that DNA Consoles store
max_storageMaximum number of mutations that DNA Consoles are able to store
rad_pulse_indexIndex of the enzyme being modified during delayed enzyme pulse operations
rad_pulse_timerWorld time when the enzyme pulse should complete
raddurationDuration for enzyme radiation pulses
radstrengthStrength for enzyme radiation pulses
scanner_occupantCurrent DNA Scanner occupant
scramblereadyWorld time when Scramble can be used in DNA Consoles
stored_chromosomesList of all chromosomes stored in the DNA Console
stored_mutationsList of all mutations stored on the DNA Console
stored_researchLink to the techweb's stored research. Used to retrieve stored mutations
tgui_advinjector_mutationsUsed for setting tgui data - List of occupant mutations
tgui_console_chromosomesUsed for setting tgui data - List of DNA Console chromosomes
tgui_console_mutationsUsed for setting tgui data - List of DNA Console stored mutations
tgui_diskette_mutationsUsed for setting tgui data - List of diskette stored mutations
tgui_genetic_makeupUsed for setting tgui data - List of occupant mutations
tgui_occupant_mutationsUsed for setting tgui data - List of occupant mutations
tgui_view_stateState of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.
time_to_injectorUsed for setting tgui data - Time until injectors are ready
time_to_jokerUsed for setting tgui data - Time until joker is ready
time_to_pulseUsed for setting tgui data - Time until the enzyme pulse is complete
time_to_scrambleUsed for setting tgui data - Time until scramble is ready

Procs

apply_genetic_makeup
build_chrom_list
build_genetic_makeup_listBuilds the genetic makeup list which will be sent to tgui interface.
build_mutation_list
can_modify_occupant
check_discovery
connect_to_scanner
eject_disk
get_mut_by_ref
on_scanner_close
on_scanner_open
rad_pulse
randomize_radiation_accuracy
scanner_operationalChecks if there is a connected DNA Scanner that is operational
scramble
set_default_stateSets the default state for the tgui interface.

Var Details

can_use_scanner

Used for setting tgui data - Whether the connected DNA Scanner is usable

connected_scanner

Currently connected DNA Scanner

crispr_charges

Counter for CRISPR charges

delayed_action

Current delayed action, used for delayed enzyme transfer on scanner door close

diskette

Currently stored genetic data diskette

genetic_makeup_buffer

Maximum number of enzymes we can store

injector_selection

Assoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.

injectorready

World time when injectors are ready to be printed

is_crispr_ready

Used for setting tgui data - Is CRISPR ready?

is_injector_ready

Used for setting tgui data - Whether injectors are ready to be printed

is_joker_ready

Used for setting tgui data - Whether JOKER algorithm is ready

is_pulsing_rads

Used for setting tgui data - Wheher an enzyme pulse operation is ongoing

is_scramble_ready

Used for setting tgui data - Whether Scramble DNA is ready

is_viable_occupant

Used for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification

jokerready

World time when JOKER algorithm can be used in DNA Consoles

max_chromosomes

Maximum number of chromosomes that DNA Consoles are able to store.

max_injector_instability

Maximum total instability of all combined mutations allowed on an advanced injector

max_injector_mutations

Maximum number of mutation that an advanced injector can store

max_injector_selections

Maximum number of advanced injectors that DNA Consoles store

max_storage

Maximum number of mutations that DNA Consoles are able to store

rad_pulse_index

Index of the enzyme being modified during delayed enzyme pulse operations

rad_pulse_timer

World time when the enzyme pulse should complete

radduration

Duration for enzyme radiation pulses

radstrength

Strength for enzyme radiation pulses

scanner_occupant

Current DNA Scanner occupant

scrambleready

World time when Scramble can be used in DNA Consoles

stored_chromosomes

List of all chromosomes stored in the DNA Console

stored_mutations

List of all mutations stored on the DNA Console

stored_research

Link to the techweb's stored research. Used to retrieve stored mutations

tgui_advinjector_mutations

Used for setting tgui data - List of occupant mutations

tgui_console_chromosomes

Used for setting tgui data - List of DNA Console chromosomes

tgui_console_mutations

Used for setting tgui data - List of DNA Console stored mutations

tgui_diskette_mutations

Used for setting tgui data - List of diskette stored mutations

tgui_genetic_makeup

Used for setting tgui data - List of occupant mutations

tgui_occupant_mutations

Used for setting tgui data - List of occupant mutations

tgui_view_state

State of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.

time_to_injector

Used for setting tgui data - Time until injectors are ready

time_to_joker

Used for setting tgui data - Time until joker is ready

time_to_pulse

Used for setting tgui data - Time until the enzyme pulse is complete

time_to_scramble

Used for setting tgui data - Time until scramble is ready

Proc Details

apply_genetic_makeup

build_chrom_list

build_genetic_makeup_list

Builds the genetic makeup list which will be sent to tgui interface.

build_mutation_list

can_modify_occupant

check_discovery

connect_to_scanner

eject_disk

get_mut_by_ref

on_scanner_close

on_scanner_open

rad_pulse

randomize_radiation_accuracy

scanner_operational

Checks if there is a connected DNA Scanner that is operational

scramble

set_default_state

Sets the default state for the tgui interface.

\ No newline at end of file diff --git a/obj/machinery/computer/security.html b/obj/machinery/computer/security.html new file mode 100644 index 000000000000..208d14b4e856 --- /dev/null +++ b/obj/machinery/computer/security.html @@ -0,0 +1 @@ +/obj/machinery/computer/security - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

security

Vars

cam_plane_mastersAll the plane masters that need to be applied.
last_camera_turfThe turf where the camera was last updated.

Var Details

cam_plane_masters

All the plane masters that need to be applied.

last_camera_turf

The turf where the camera was last updated.

\ No newline at end of file diff --git a/obj/machinery/computer/shuttle.html b/obj/machinery/computer/shuttle.html new file mode 100644 index 000000000000..f874df124f51 --- /dev/null +++ b/obj/machinery/computer/shuttle.html @@ -0,0 +1 @@ +/obj/machinery/computer/shuttle - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

shuttle

Vars

admin_controlledVariable dictating if the attached shuttle requires authorization from the admin staff to move
destinationID of the currently selected destination of the attached shuttle
no_destination_swapVariable dictating if the attached shuttle is forbidden to change destinations mid-flight
possible_destinationsPossible destinations of the attached shuttle
request_cooldownAuthorization request cooldown to prevent request spam to admin staff
shuttleIdID of the attached shuttle

Var Details

admin_controlled

Variable dictating if the attached shuttle requires authorization from the admin staff to move

destination

ID of the currently selected destination of the attached shuttle

no_destination_swap

Variable dictating if the attached shuttle is forbidden to change destinations mid-flight

possible_destinations

Possible destinations of the attached shuttle

request_cooldown

Authorization request cooldown to prevent request spam to admin staff

shuttleId

ID of the attached shuttle

\ No newline at end of file diff --git a/obj/machinery/computer/shuttle/pod.html b/obj/machinery/computer/shuttle/pod.html new file mode 100644 index 000000000000..2b56440a6334 --- /dev/null +++ b/obj/machinery/computer/shuttle/pod.html @@ -0,0 +1,6 @@ +/obj/machinery/computer/shuttle/pod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

pod

Procs

check_lockSignal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

Proc Details

check_lock

Signal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

+

Arguments:

+
\ No newline at end of file diff --git a/obj/machinery/computer/slavery.html b/obj/machinery/computer/slavery.html new file mode 100644 index 000000000000..42f8fb0500cd --- /dev/null +++ b/obj/machinery/computer/slavery.html @@ -0,0 +1 @@ +/obj/machinery/computer/slavery - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

slavery

Vars

compact_modeDictates if the compact mode of the interface is on or off
possible_gearPossible gear to be dispensed

Var Details

compact_mode

Dictates if the compact mode of the interface is on or off

possible_gear

Possible gear to be dispensed

\ No newline at end of file diff --git a/obj/machinery/computer/station_alert.html b/obj/machinery/computer/station_alert.html new file mode 100644 index 000000000000..bafa11f7c375 --- /dev/null +++ b/obj/machinery/computer/station_alert.html @@ -0,0 +1 @@ +/obj/machinery/computer/station_alert - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

station_alert

Vars

alert_controlStation alert datum for showing alerts UI

Var Details

alert_control

Station alert datum for showing alerts UI

\ No newline at end of file diff --git a/obj/machinery/computer/vaultcontroller.html b/obj/machinery/computer/vaultcontroller.html new file mode 100644 index 000000000000..3d06ae886f37 --- /dev/null +++ b/obj/machinery/computer/vaultcontroller.html @@ -0,0 +1 @@ +/obj/machinery/computer/vaultcontroller - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

vaultcontroller

Vault controller for use on the derelict/KS13.

Procs

activate_lockAttempts to lock/unlock vault doors, if machine is charged.
attempt_siphonTries to charge from powernet excess, no upper limit except max charge.
cycle_closeHandles the doors closing
cycle_openHandles the doors opening
find_airlocksInitializes airlock links.
lock_vaultAttempts to lock the vault doors
unlock_vaultAttempts to unlock the vault doors
update_cableLooks for a cable connection beneath the machine.

Proc Details

activate_lock

Attempts to lock/unlock vault doors, if machine is charged.

attempt_siphon

Tries to charge from powernet excess, no upper limit except max charge.

cycle_close

Handles the doors closing

cycle_open

Handles the doors opening

find_airlocks

Initializes airlock links.

lock_vault

Attempts to lock the vault doors

unlock_vault

Attempts to unlock the vault doors

update_cable

Looks for a cable connection beneath the machine.

\ No newline at end of file diff --git a/obj/machinery/cryopod.html b/obj/machinery/cryopod.html new file mode 100644 index 000000000000..eccef94c2969 --- /dev/null +++ b/obj/machinery/cryopod.html @@ -0,0 +1 @@ +/obj/machinery/cryopod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cryopod

Vars

control_computer_weakrefWeakref to our controller
despawn_world_timeCooldown for when it's now safe to try an despawn the player.
time_till_despawnTime until despawn when a mob enters a cryopod. You can cryo other people in pods.

Var Details

control_computer_weakref

Weakref to our controller

despawn_world_time

Cooldown for when it's now safe to try an despawn the player.

time_till_despawn

Time until despawn when a mob enters a cryopod. You can cryo other people in pods.

\ No newline at end of file diff --git a/obj/machinery/door.html b/obj/machinery/door.html new file mode 100644 index 000000000000..ca76f7805e7f --- /dev/null +++ b/obj/machinery/door.html @@ -0,0 +1 @@ +/obj/machinery/door - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

door

Vars

can_open_with_handsWhether or not the door can be opened by hand (used for blast doors and shutters)

Var Details

can_open_with_hands

Whether or not the door can be opened by hand (used for blast doors and shutters)

\ No newline at end of file diff --git a/obj/machinery/door/airlock.html b/obj/machinery/door/airlock.html new file mode 100644 index 000000000000..ab304e31917f --- /dev/null +++ b/obj/machinery/door/airlock.html @@ -0,0 +1,5 @@ +/obj/machinery/door/airlock - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

airlock

Vars

airlock_stateThe current state of the airlock, used to construct the airlock overlays
externalIs this door external? E.g. does it lead to space? Shuttle docking systems bolt doors with this flag.
fill_state_suffixFor those airlocks you might want to have varying "fillings" for, without having to +have an icon file per door with a different filling.
greyscale_accent_colorFor the airlocks that use a greyscale accent door color, set this color to the accent color you want it to be.
greyscale_lights_colorFor the airlocks that use greyscale lights, set this to the color you want your lights to be.
unelectrify_timeridsigh

Procs

beforeShuttleMoveTurf move procs
should_try_removing_electronicsReturns if a crowbar would remove the airlock electronics

Var Details

airlock_state

The current state of the airlock, used to construct the airlock overlays

external

Is this door external? E.g. does it lead to space? Shuttle docking systems bolt doors with this flag.

fill_state_suffix

For those airlocks you might want to have varying "fillings" for, without having to +have an icon file per door with a different filling.

greyscale_accent_color

For the airlocks that use a greyscale accent door color, set this color to the accent color you want it to be.

greyscale_lights_color

For the airlocks that use greyscale lights, set this to the color you want your lights to be.

unelectrify_timerid

sigh

Proc Details

beforeShuttleMove

Turf move procs

+

Area move procs

+

Machinery move procs

should_try_removing_electronics

Returns if a crowbar would remove the airlock electronics

\ No newline at end of file diff --git a/obj/machinery/door/airlock/vault/derelict.html b/obj/machinery/door/airlock/vault/derelict.html new file mode 100644 index 000000000000..ff7dcbf04c75 --- /dev/null +++ b/obj/machinery/door/airlock/vault/derelict.html @@ -0,0 +1 @@ +/obj/machinery/door/airlock/vault/derelict - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

derelict

Airlock that can't be deconstructed, broken or hacked.

Procs

attackbyOverrides screwdriver attack to prevent all deconstruction and hacking.

Proc Details

attackby

Overrides screwdriver attack to prevent all deconstruction and hacking.

\ No newline at end of file diff --git a/obj/machinery/door/keycard.html b/obj/machinery/door/keycard.html new file mode 100644 index 000000000000..72bbee73c3d9 --- /dev/null +++ b/obj/machinery/door/keycard.html @@ -0,0 +1 @@ +/obj/machinery/door/keycard - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

keycard

Vars

open_messageMessage that occurs when the door is opened
puzzle_idMake sure that the key has the same puzzle_id as the keycard door!

Var Details

open_message

Message that occurs when the door is opened

puzzle_id

Make sure that the key has the same puzzle_id as the keycard door!

\ No newline at end of file diff --git a/obj/machinery/duct.html b/obj/machinery/duct.html new file mode 100644 index 000000000000..8de15df84b64 --- /dev/null +++ b/obj/machinery/duct.html @@ -0,0 +1 @@ +/obj/machinery/duct - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

duct

Vars

activewheter to even bother with plumbing code or not
capacityamount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct
color_to_color_supportTRUE to let colors connect when forced with a wrench, false to just not do that at all
connectsbitfield with the directions we're connected in
drop_on_wrenchwheter we just unanchored or drop whatever is in the variable. either is safe
ductour ductnet, wich tracks what we're connected to
duct_colorthe color of our duct
duct_layer1,2,4,8,16
dumbset to TRUE to disable smart duct behaviour
ignore_colorsTRUE to ignore colors, so yeah we also connect with other colors without issue
lock_connectswheter we allow our connects to be changed after initialization or not
lock_layerswhether we allow our layers to be altered
neighbourstrack ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Procs

add_connectsadd a connect direction
add_neighbouradd a duct as neighbour. this means we're connected and will connect again if we ever regenerate
attempt_connectstart looking around us for stuff to connect to
can_anchorcollection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked
connect_ductconnect to a duct
connect_networksee if whatever we found can be connected to
connect_plumberconnect to a plumbing object
create_ductcreate a new duct datum
disconnect_ductwe disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one
generate_connectsSpecial proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds
get_adjacent_ductsget a list of the ducts we can connect to if we are dumb
handle_layerupdate the layer we are on
lose_neighboursremove all our neighbours, and remove us from our neighbours aswell
reconnect''''''''''''''''optimized''''''''''''''''' proc for quickly reconnecting after a duct net was destroyed
remove_connectsremove a connect direction
reset_connectsremove our connects

Var Details

active

wheter to even bother with plumbing code or not

capacity

amount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct

color_to_color_support

TRUE to let colors connect when forced with a wrench, false to just not do that at all

connects

bitfield with the directions we're connected in

drop_on_wrench

wheter we just unanchored or drop whatever is in the variable. either is safe

duct

our ductnet, wich tracks what we're connected to

duct_color

the color of our duct

duct_layer

1,2,4,8,16

dumb

set to TRUE to disable smart duct behaviour

ignore_colors

TRUE to ignore colors, so yeah we also connect with other colors without issue

lock_connects

wheter we allow our connects to be changed after initialization or not

lock_layers

whether we allow our layers to be altered

neighbours

track ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Proc Details

add_connects

add a connect direction

add_neighbour

add a duct as neighbour. this means we're connected and will connect again if we ever regenerate

attempt_connect

start looking around us for stuff to connect to

can_anchor

collection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked

connect_duct

connect to a duct

connect_network

see if whatever we found can be connected to

connect_plumber

connect to a plumbing object

create_duct

create a new duct datum

disconnect_duct

we disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one

generate_connects

Special proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds

get_adjacent_ducts

get a list of the ducts we can connect to if we are dumb

handle_layer

update the layer we are on

lose_neighbours

remove all our neighbours, and remove us from our neighbours aswell

reconnect

''''''''''''''''optimized''''''''''''''''' proc for quickly reconnecting after a duct net was destroyed

remove_connects

remove a connect direction

reset_connects

remove our connects

\ No newline at end of file diff --git a/obj/machinery/duct/multilayered.html b/obj/machinery/duct/multilayered.html new file mode 100644 index 000000000000..11fe4ae90fac --- /dev/null +++ b/obj/machinery/duct/multilayered.html @@ -0,0 +1 @@ +/obj/machinery/duct/multilayered - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

multilayered

has a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect.

Procs

connect_ductdon't connect to other multilayered stuff because honestly it shouldn't be done and I dont wanna deal with it

Proc Details

connect_duct

don't connect to other multilayered stuff because honestly it shouldn't be done and I dont wanna deal with it

\ No newline at end of file diff --git a/obj/machinery/gateway.html b/obj/machinery/gateway.html new file mode 100644 index 000000000000..c4fa78053601 --- /dev/null +++ b/obj/machinery/gateway.html @@ -0,0 +1 @@ +/obj/machinery/gateway - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

gateway

Vars

destinationThis is our own destination, pointing at this gateway
destination_nameName of the generated destination
destination_typeType of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway
light_overlayOverlay of the lights. They light up fully when it charges fully.
portalbumper object, the thing that starts actual teleport
portal_visualsVisual object for handling the viscontents
targetThis is current active destination

Var Details

destination

This is our own destination, pointing at this gateway

destination_name

Name of the generated destination

destination_type

Type of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway

light_overlay

Overlay of the lights. They light up fully when it charges fully.

portal

bumper object, the thing that starts actual teleport

portal_visuals

Visual object for handling the viscontents

target

This is current active destination

\ No newline at end of file diff --git a/obj/machinery/gear_painter.html b/obj/machinery/gear_painter.html new file mode 100644 index 000000000000..42387bb5cfef --- /dev/null +++ b/obj/machinery/gear_painter.html @@ -0,0 +1 @@ +/obj/machinery/gear_painter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

gear_painter

Vars

allow_mobsAllow holder'd mobs
minimum_matrix_lightnessMinimum lightness for matrix mode, tested using 4 test colors of full red, green, blue, white.
minimum_matrix_testsMinimum matrix tests that must pass for something to be considered a valid color (see above)
minimum_normal_lightnessMinimum lightness for normal mode
tempTemporary messages

Procs

build_previewProduces the preview image of the item, used in the UI, the way the color is not stacking is a sin.

Var Details

allow_mobs

Allow holder'd mobs

minimum_matrix_lightness

Minimum lightness for matrix mode, tested using 4 test colors of full red, green, blue, white.

minimum_matrix_tests

Minimum matrix tests that must pass for something to be considered a valid color (see above)

minimum_normal_lightness

Minimum lightness for normal mode

temp

Temporary messages

Proc Details

build_preview

Produces the preview image of the item, used in the UI, the way the color is not stacking is a sin.

\ No newline at end of file diff --git a/obj/machinery/gravity_generator/part.html b/obj/machinery/gravity_generator/part.html new file mode 100644 index 000000000000..5b3db9a6bd2c --- /dev/null +++ b/obj/machinery/gravity_generator/part.html @@ -0,0 +1 @@ +/obj/machinery/gravity_generator/part - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

part

Procs

on_update_iconUsed to eat args

Proc Details

on_update_icon

Used to eat args

\ No newline at end of file diff --git a/obj/machinery/holopad.html b/obj/machinery/holopad.html new file mode 100644 index 000000000000..7f4396a5b97e --- /dev/null +++ b/obj/machinery/holopad.html @@ -0,0 +1 @@ +/obj/machinery/holopad - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

holopad

Vars

callingIf we are currently calling another holopad
diskRecord disk
force_answer_callCalls will be automatically answered after a couple rings, here for debugging
holo_callsArray of /datum/holocalls
holo_rangeChange to change how far the AI can move away from the holopad before deactivating
holoraysHoloray-mob link
last_requestTo prevent request spam. ~Carn
loop_modeCurrently looping a recording
mastersList of living mobs that use the holopad
outgoing_callCurrently outgoing holocall, do not modify the datums only check and call the public procs
record_modeCurrently recording
record_startRecording start time
record_userUser that inititiated the recording
replay_holoReplay hologram
replay_modeCurrently replaying a recording
secureFor pads in secure areas; do not allow forced connecting

Procs

hangup_all_callshangup_all_calls: Disconnects all current holocalls from the holopad

Var Details

calling

If we are currently calling another holopad

disk

Record disk

force_answer_call

Calls will be automatically answered after a couple rings, here for debugging

holo_calls

Array of /datum/holocalls

holo_range

Change to change how far the AI can move away from the holopad before deactivating

holorays

Holoray-mob link

last_request

To prevent request spam. ~Carn

loop_mode

Currently looping a recording

masters

List of living mobs that use the holopad

outgoing_call

Currently outgoing holocall, do not modify the datums only check and call the public procs

record_mode

Currently recording

record_start

Recording start time

record_user

User that inititiated the recording

replay_holo

Replay hologram

replay_mode

Currently replaying a recording

secure

For pads in secure areas; do not allow forced connecting

Proc Details

hangup_all_calls

hangup_all_calls: Disconnects all current holocalls from the holopad

\ No newline at end of file diff --git a/obj/machinery/hydroponics.html b/obj/machinery/hydroponics.html new file mode 100644 index 000000000000..9ea6bdd593f4 --- /dev/null +++ b/obj/machinery/hydroponics.html @@ -0,0 +1,5 @@ +/obj/machinery/hydroponics - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

hydroponics

Procs

adjustWaterTray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.
apply_chemicalsThis is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.
plantdiesPlant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.

Proc Details

adjustWater

Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.

apply_chemicals

This is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.

plantdies

Plant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.

\ No newline at end of file diff --git a/obj/machinery/hypnochair.html b/obj/machinery/hypnochair.html new file mode 100644 index 000000000000..b75b80341f74 --- /dev/null +++ b/obj/machinery/hypnochair.html @@ -0,0 +1 @@ +/obj/machinery/hypnochair - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

hypnochair

Vars

interrogatingKeeps track of the victim to apply effects if it teleports away
message_cooldownTimer ID for interrogations
start_timeIs the device currently interrogating someone?
timeridTrigger phrase to implant
trigger_phraseTime when the interrogation was started, to calculate effect in case of interruption

Procs

InitializeCooldown for breakout message

Var Details

interrogating

Keeps track of the victim to apply effects if it teleports away

message_cooldown

Timer ID for interrogations

start_time

Is the device currently interrogating someone?

timerid

Trigger phrase to implant

trigger_phrase

Time when the interrogation was started, to calculate effect in case of interruption

Proc Details

Initialize

Cooldown for breakout message

\ No newline at end of file diff --git a/obj/machinery/limbgrower.html b/obj/machinery/limbgrower.html new file mode 100644 index 000000000000..d6cde9f23741 --- /dev/null +++ b/obj/machinery/limbgrower.html @@ -0,0 +1,2 @@ +/obj/machinery/limbgrower - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

limbgrower

The limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.

Vars

being_builtThe design we're printing currently.
busyIf we're currently printing something.
categoriesAll the categories of organs we can print.
production_coefficientHow efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.
production_speedHow long it takes for us to print a limb. Affected by production_coefficient.
selected_categoryThe category of limbs we're browing in our UI.
stored_researchOur internal techweb for limbgrower designs.

Procs

emag_actEmagging a limbgrower allows you to build synthetic armblades.

Var Details

being_built

The design we're printing currently.

busy

If we're currently printing something.

categories

All the categories of organs we can print.

production_coefficient

How efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.

production_speed

How long it takes for us to print a limb. Affected by production_coefficient.

selected_category

The category of limbs we're browing in our UI.

stored_research

Our internal techweb for limbgrower designs.

Proc Details

emag_act

Emagging a limbgrower allows you to build synthetic armblades.

\ No newline at end of file diff --git a/obj/machinery/mecha_part_fabricator.html b/obj/machinery/mecha_part_fabricator.html new file mode 100644 index 000000000000..ea31d259aaca --- /dev/null +++ b/obj/machinery/mecha_part_fabricator.html @@ -0,0 +1,64 @@ +/obj/machinery/mecha_part_fabricator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mecha_part_fabricator

Vars

being_builtThe current design datum that the machine is building.
build_finishWorld time when the build will finish.
build_materialsReference to all materials used in the creation of the item being_built.
build_startWorld time when the build started.
component_coeffCoefficient for the efficiency of material usage in item building. Based on the installed parts.
link_on_initWhether the Exofab links to the ore silo on init. Special derelict or maintanance variants should set this to FALSE.
part_setsA list of categories that valid MECHFAB design datums will broadly categorise themselves under.
process_queueWhether or not the machine is building the entire queue automagically.
queueCurrent items in the build queue.
rmatReference to a remote material inventory, such as an ore silo.
stored_partPart currently stored in the Exofab.
stored_researchCopy of the currently synced techweb.
time_coeffCoefficient for the speed of item building. Based on the installed parts.

Procs

add_part_set_to_queueAdds a list of datum designs to the build queue.
add_to_queueAdds a datum design to the build queue.
build_next_in_queueAttempts to build the next item in the build queue.
build_partStarts the build process for a given design datum.
check_resourcesChecks if the Exofab has enough resources to print a given item.
dispense_built_partDispenses a part to the tile infront of the Exosuit Fab.
eject_sheetsEject material sheets.
get_construction_time_w_coeffCalculates the coefficient-modified build time of a design.
get_resource_cost_w_coeffCalculates the coefficient-modified resource cost of a single material component of a design's recipe.
get_resources_w_coeffCalculates resource/material costs for printing an item based on the machine's resource coefficient.
list_queueGenerates a list of parts formatted for tgui based on the current build queue.
on_finish_printingIntended to be called when the exofab has stopped working and is no longer printing items.
on_start_printingIntended to be called when an item starts printing.
output_available_resourcesGenerates a list of resources / materials available to this Exosuit Fab
output_part_infoGenerates an info list for a given part.
remove_from_queueRemoves datum design from the build queue based on index.
syncSyncs machine with R&D servers.

Var Details

being_built

The current design datum that the machine is building.

build_finish

World time when the build will finish.

build_materials

Reference to all materials used in the creation of the item being_built.

build_start

World time when the build started.

component_coeff

Coefficient for the efficiency of material usage in item building. Based on the installed parts.

Whether the Exofab links to the ore silo on init. Special derelict or maintanance variants should set this to FALSE.

part_sets

A list of categories that valid MECHFAB design datums will broadly categorise themselves under.

process_queue

Whether or not the machine is building the entire queue automagically.

queue

Current items in the build queue.

rmat

Reference to a remote material inventory, such as an ore silo.

stored_part

Part currently stored in the Exofab.

stored_research

Copy of the currently synced techweb.

time_coeff

Coefficient for the speed of item building. Based on the installed parts.

Proc Details

add_part_set_to_queue

Adds a list of datum designs to the build queue.

+

Will only add designs that are in this machine's stored techweb. +Does final checks for datum IDs and makes sure this machine can build the designs.

+

add_to_queue

Adds a datum design to the build queue.

+

Returns TRUE if successful and FALSE if the design was not added to the queue.

+

build_next_in_queue

Attempts to build the next item in the build queue.

+

Returns FALSE if either there are no more parts to build or the next part is not buildable. +Returns TRUE if the next part has started building.

+

build_part

Starts the build process for a given design datum.

+

Returns FALSE if the procedure fails. Returns TRUE when being_built is set. +Uses materials.

+

check_resources

Checks if the Exofab has enough resources to print a given item.

+

Returns FALSE if the design has no reagents used in its construction (?) or if there are insufficient resources. +Returns TRUE if there are sufficient resources to print the item.

+

dispense_built_part

Dispenses a part to the tile infront of the Exosuit Fab.

+

Returns FALSE is the machine cannot dispense the part on the appropriate turf. +Return TRUE if the part was successfully dispensed.

+

eject_sheets

Eject material sheets.

+

Returns the number of sheets successfully ejected. +eject_sheet - Byond REF of the material to eject. +eject_amt - Number of sheets to attempt to eject.

get_construction_time_w_coeff

Calculates the coefficient-modified build time of a design.

+

Returns coefficient-modified build time of a given design.

+

get_resource_cost_w_coeff

Calculates the coefficient-modified resource cost of a single material component of a design's recipe.

+

Returns coefficient-modified resource cost for the given material component.

+

get_resources_w_coeff

Calculates resource/material costs for printing an item based on the machine's resource coefficient.

+

Returns a list of k,v resources with their amounts.

+

list_queue

Generates a list of parts formatted for tgui based on the current build queue.

+

Returns a formatted list of lists containing formatted part information for every part in the build queue.

on_finish_printing

Intended to be called when the exofab has stopped working and is no longer printing items.

+

Removes the overlay to show the fab working and sets idle power usage settings. Additionally resets the description and turns off queue processing.

on_start_printing

Intended to be called when an item starts printing.

+

Adds the overlay to show the fab working and sets active power usage settings.

output_available_resources

Generates a list of resources / materials available to this Exosuit Fab

+

Returns null if there is no material container available. +List format is list(material_name = list(amount = ..., ref = ..., etc.))

output_part_info

Generates an info list for a given part.

+

Returns a list of part information.

+

remove_from_queue

Removes datum design from the build queue based on index.

+

Returns TRUE if successful and FALSE if a design was not removed from the queue.

+

sync

Syncs machine with R&D servers.

+

Requires an R&D Console visible within 7 tiles. Copies techweb research. Updates tgui's state data.

\ No newline at end of file diff --git a/obj/machinery/medipen_refiller.html b/obj/machinery/medipen_refiller.html new file mode 100644 index 000000000000..8659c90125ba --- /dev/null +++ b/obj/machinery/medipen_refiller.html @@ -0,0 +1 @@ +/obj/machinery/medipen_refiller - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

medipen_refiller

Vars

allowedlist of medipen subtypes it can refill
busyvar to prevent glitches in the animation

Procs

attackbyhandles the messages and animation, calls refill to end the animation
refillrefills the medipen

Var Details

allowed

list of medipen subtypes it can refill

busy

var to prevent glitches in the animation

Proc Details

attackby

handles the messages and animation, calls refill to end the animation

refill

refills the medipen

\ No newline at end of file diff --git a/obj/machinery/mineral.html b/obj/machinery/mineral.html new file mode 100644 index 000000000000..e1287603f0e0 --- /dev/null +++ b/obj/machinery/mineral.html @@ -0,0 +1,8 @@ +/obj/machinery/mineral - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mineral

Mineral processing unit console

Vars

input_dirThe current direction of input_turf, in relation to the machine.
input_turfThe turf the machines listens to for items to pick up. Calls the pickup_item() proc.
needs_item_inputDetermines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.
output_dirThe current direction, in relation to the machine, that items will be output to.

Procs

pickup_itemBase proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.
register_input_turfGets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.
unload_mineralGeneric unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.
unregister_input_turfUnregisters signals that are registered the machine's input turf, if it has one.

Var Details

input_dir

The current direction of input_turf, in relation to the machine.

input_turf

The turf the machines listens to for items to pick up. Calls the pickup_item() proc.

needs_item_input

Determines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.

output_dir

The current direction, in relation to the machine, that items will be output to.

Proc Details

pickup_item

Base proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.

+

Called when the COMSIG_ATOM_ENTERED and COMSIG_ATOM_CREATED signals are sent.

+

Arguments:

+

register_input_turf

Gets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.

unload_mineral

Generic unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.

unregister_input_turf

Unregisters signals that are registered the machine's input turf, if it has one.

\ No newline at end of file diff --git a/obj/machinery/mineral/labor_claim_console.html b/obj/machinery/mineral/labor_claim_console.html new file mode 100644 index 000000000000..26159dbb631e --- /dev/null +++ b/obj/machinery/mineral/labor_claim_console.html @@ -0,0 +1 @@ +/obj/machinery/mineral/labor_claim_console - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

labor_claim_console

Prisoners' Console

Vars

RadioNeeded to send messages to sec radio
machinedirDirection of the stacking machine
stacking_machineConnected stacking machine

Var Details

Radio

Needed to send messages to sec radio

machinedir

Direction of the stacking machine

stacking_machine

Connected stacking machine

\ No newline at end of file diff --git a/obj/machinery/mineral/stacking_unit_console.html b/obj/machinery/mineral/stacking_unit_console.html new file mode 100644 index 000000000000..c05de73aedc1 --- /dev/null +++ b/obj/machinery/mineral/stacking_unit_console.html @@ -0,0 +1 @@ +/obj/machinery/mineral/stacking_unit_console - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

stacking_unit_console

Mineral stacking unit console

Vars

machineConnected stacking machine
machinedirDirection for which console looks for stacking machine to connect to

Var Details

machine

Connected stacking machine

machinedir

Direction for which console looks for stacking machine to connect to

\ No newline at end of file diff --git a/obj/machinery/modular_computer.html b/obj/machinery/modular_computer.html new file mode 100644 index 000000000000..c240fb4be3ff --- /dev/null +++ b/obj/machinery/modular_computer.html @@ -0,0 +1 @@ +/obj/machinery/modular_computer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

modular_computer

Vars

base_active_power_usagePower usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
base_idle_power_usagePower usage when the computer is idle and screen is off (currently only applies to laptops)
cpuCPU that handles most logic while this type only handles power and other specific things.
hardware_flagA flag that describes this device type
icon_state_poweredIcon state when the computer is turned on.
icon_state_unpoweredIcon state when the computer is turned off.
last_power_usagePower usage during last tick
light_strengthLight luminosity when turned on
max_hardware_sizeMaximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
screen_icon_screensaverIcon state overlay when the computer is powered, but not 'switched on'.
screen_icon_state_menuIcon state overlay when the computer is turned on, but no program is loaded that would override the screen.
steel_sheet_costAmount of steel sheets refunded when disassembling an empty frame of this computer.

Procs

relay_icon_updateEats the "source" arg because update_icon actually expects args now.

Var Details

base_active_power_usage

Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.

base_idle_power_usage

Power usage when the computer is idle and screen is off (currently only applies to laptops)

cpu

CPU that handles most logic while this type only handles power and other specific things.

hardware_flag

A flag that describes this device type

icon_state_powered

Icon state when the computer is turned on.

icon_state_unpowered

Icon state when the computer is turned off.

last_power_usage

Power usage during last tick

light_strength

Light luminosity when turned on

max_hardware_size

Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.

screen_icon_screensaver

Icon state overlay when the computer is powered, but not 'switched on'.

screen_icon_state_menu

Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.

steel_sheet_cost

Amount of steel sheets refunded when disassembling an empty frame of this computer.

Proc Details

relay_icon_update

Eats the "source" arg because update_icon actually expects args now.

\ No newline at end of file diff --git a/obj/machinery/modular_computer/console.html b/obj/machinery/modular_computer/console.html new file mode 100644 index 000000000000..fa65593b21a4 --- /dev/null +++ b/obj/machinery/modular_computer/console.html @@ -0,0 +1 @@ +/obj/machinery/modular_computer/console - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

console

Vars

console_departmentUsed in New() to set network tag according to our area.

Var Details

console_department

Used in New() to set network tag according to our area.

\ No newline at end of file diff --git a/obj/machinery/modular_computer/console/preset/cargochat.html b/obj/machinery/modular_computer/console/preset/cargochat.html new file mode 100644 index 000000000000..69b543e16978 --- /dev/null +++ b/obj/machinery/modular_computer/console/preset/cargochat.html @@ -0,0 +1 @@ +/obj/machinery/modular_computer/console/preset/cargochat - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cargochat

Vars

chatprogramchat client installed on this computer, just helpful for linking all the computers

Var Details

chatprogram

chat client installed on this computer, just helpful for linking all the computers

\ No newline at end of file diff --git a/obj/machinery/navbeacon.html b/obj/machinery/navbeacon.html new file mode 100644 index 000000000000..f858ed9dee42 --- /dev/null +++ b/obj/machinery/navbeacon.html @@ -0,0 +1 @@ +/obj/machinery/navbeacon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

navbeacon

Procs

glob_lists_registerRegisters the navbeacon to the global beacon lists

Proc Details

glob_lists_register

Registers the navbeacon to the global beacon lists

\ No newline at end of file diff --git a/obj/machinery/photocopier.html b/obj/machinery/photocopier.html new file mode 100644 index 000000000000..12678bee7186 --- /dev/null +++ b/obj/machinery/photocopier.html @@ -0,0 +1,32 @@ +/obj/machinery/photocopier - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

photocopier

Vars

assA reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.
busyIndicates whether the printer is currently busy copying or not.
color_modeUsed with photos. Determines if the copied photo will be in greyscale or color.
document_copyA reference to an /obj/item/documents inside the copier, if one is inserted. Otherwise null.
num_copiesHow many copies will be printed with one click of the "copy" button.
paper_copyA reference to an /obj/item/paper inside the copier, if one is inserted. Otherwise null.
photo_copyA reference to an /obj/item/photo inside the copier, if one is inserted. Otherwise null.
toner_cartridgeA reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Procs

check_assChecks the living mob ass exists and its location is the same as the photocopier.
copier_blockedChecks if the copier is deleted, or has something dense at its location. Called in MouseDrop_T()
copier_emptyChecks if there is an item inserted into the copier or a mob sitting on top of it.
do_copy_loopWill invoke the passed in copy_cb callback in 1 second intervals, and charge the user 5 credits for each copy made.
do_insertionInserts the item into the copier. Called in attackby() after a human mob clicked on the copier with a paper, photo, or document.
give_pixel_offsetGives items a random x and y pixel offset, between -10 and 10 for each.
has_enough_tonerDetermines if the photocopier has enough toner to create num_copies amount of copies of the currently inserted item.
make_ass_copyHandles the copying of an ass photo.
make_devil_paper_copyHandles the copying of devil contract paper. Transfers all the text, stamps and so on from the old paper, to the copy.
make_document_copyHandles the copying of documents.
make_paper_copyHandles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.
make_photo_copyHandles the copying of photos, which can be printed in either color or greyscale.
remove_photocopyCalled when someone hits the "remove item" button on the copier UI.
reset_busySets busy to FALSE. Created as a proc so it can be used in callbacks.

Var Details

ass

A reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.

busy

Indicates whether the printer is currently busy copying or not.

color_mode

Used with photos. Determines if the copied photo will be in greyscale or color.

document_copy

A reference to an /obj/item/documents inside the copier, if one is inserted. Otherwise null.

num_copies

How many copies will be printed with one click of the "copy" button.

paper_copy

A reference to an /obj/item/paper inside the copier, if one is inserted. Otherwise null.

photo_copy

A reference to an /obj/item/photo inside the copier, if one is inserted. Otherwise null.

toner_cartridge

A reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Proc Details

check_ass

Checks the living mob ass exists and its location is the same as the photocopier.

+

Returns FALSE if ass doesn't exist or is not at the copier's location. Returns TRUE otherwise.

copier_blocked

Checks if the copier is deleted, or has something dense at its location. Called in MouseDrop_T()

copier_empty

Checks if there is an item inserted into the copier or a mob sitting on top of it.

+

Return FALSE is the copier has something inside of it. Returns TRUE if it doesn't.

do_copy_loop

Will invoke the passed in copy_cb callback in 1 second intervals, and charge the user 5 credits for each copy made.

+

Arguments:

+

do_insertion

Inserts the item into the copier. Called in attackby() after a human mob clicked on the copier with a paper, photo, or document.

+

Arugments:

+

give_pixel_offset

Gives items a random x and y pixel offset, between -10 and 10 for each.

+

This is done that when someone prints multiple papers, we dont have them all appear to be stacked in the same exact location.

+

Arguments:

+

has_enough_toner

Determines if the photocopier has enough toner to create num_copies amount of copies of the currently inserted item.

make_ass_copy

Handles the copying of an ass photo.

+

Calls check_ass() first to make sure that ass exists, among other conditions. Since this proc is called from a timer, it's possible that it was removed. +Additionally checks that the mob has their clothes off.

make_devil_paper_copy

Handles the copying of devil contract paper. Transfers all the text, stamps and so on from the old paper, to the copy.

+

Checks first if paper_copy exists. Since this proc is called from a timer, it's possible that it was removed. +Does not check if it has enough toner because devil contracts cost no toner to print.

make_document_copy

Handles the copying of documents.

+

Checks first if document_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_paper_copy

Handles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.

+

Checks first if paper_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_photo_copy

Handles the copying of photos, which can be printed in either color or greyscale.

+

Checks first if photo_copy exists. Since this proc is called from a timer, it's possible that it was removed.

remove_photocopy

Called when someone hits the "remove item" button on the copier UI.

+

If the user is a silicon, it drops the object at the location of the copier. If the user is not a silicon, it tries to put the object in their hands first. +Sets busy to FALSE because if the inserted item is removed, the copier should halt copying.

+

Arguments:

+

reset_busy

Sets busy to FALSE. Created as a proc so it can be used in callbacks.

\ No newline at end of file diff --git a/obj/machinery/plate_press.html b/obj/machinery/plate_press.html new file mode 100644 index 000000000000..ff2dc04a466e --- /dev/null +++ b/obj/machinery/plate_press.html @@ -0,0 +1 @@ +/obj/machinery/plate_press - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

plate_press

Procs

work_pressThis proc attempts to create a plate. User cannot move during this process.

Proc Details

work_press

This proc attempts to create a plate. User cannot move during this process.

\ No newline at end of file diff --git a/obj/machinery/plumbing.html b/obj/machinery/plumbing.html new file mode 100644 index 000000000000..ef8004bd6334 --- /dev/null +++ b/obj/machinery/plumbing.html @@ -0,0 +1,4 @@ +/obj/machinery/plumbing - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

plumbing

Basic plumbing object. +It doesn't really hold anything special, YET. +Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank +Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it

Vars

bufferPlumbing machinery is always gonna need reagents, so we might aswell put it here
rcd_constructablewheter we partake in rcd construction or not
rcd_costcost of the plumbing rcd construction
rcd_delaydelay of constructing it throught the plumbing rcd
reagent_flagsFlags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm

Var Details

buffer

Plumbing machinery is always gonna need reagents, so we might aswell put it here

rcd_constructable

wheter we partake in rcd construction or not

rcd_cost

cost of the plumbing rcd construction

rcd_delay

delay of constructing it throught the plumbing rcd

reagent_flags

Flags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm

\ No newline at end of file diff --git a/obj/machinery/plumbing/acclimator.html b/obj/machinery/plumbing/acclimator.html new file mode 100644 index 000000000000..e51f74a77445 --- /dev/null +++ b/obj/machinery/plumbing/acclimator.html @@ -0,0 +1,3 @@ +/obj/machinery/plumbing/acclimator - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

acclimator

this the plumbing version of a heater/freezer.

Vars

acclimate_stateCOOLING, HEATING or NEUTRAL. We track this for change, so we dont needlessly update our icon
allowed_temperature_differenceI cant find a good name for this. Basically if target is 300, and this is 10, it will still target 300 but will start emptying itself at 290 and 310.
emptying*We can't take anything in, at least till we're emptied. Down side of the round robin chem transfer, otherwise while emptying 5u of an unreacted chem gets added, +and you get nasty leftovers
enabledAre we turned on or off? this is from the on and off button
heater_coefficientcool/heat power
target_temperaturetowards wich temperature do we build?

Var Details

acclimate_state

COOLING, HEATING or NEUTRAL. We track this for change, so we dont needlessly update our icon

allowed_temperature_difference

I cant find a good name for this. Basically if target is 300, and this is 10, it will still target 300 but will start emptying itself at 290 and 310.

emptying

*We can't take anything in, at least till we're emptied. Down side of the round robin chem transfer, otherwise while emptying 5u of an unreacted chem gets added, +and you get nasty leftovers

enabled

Are we turned on or off? this is from the on and off button

heater_coefficient

cool/heat power

target_temperature

towards wich temperature do we build?

\ No newline at end of file diff --git a/obj/machinery/plumbing/bottler.html b/obj/machinery/plumbing/bottler.html new file mode 100644 index 000000000000..939fb71acbd0 --- /dev/null +++ b/obj/machinery/plumbing/bottler.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/bottler - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

bottler

Vars

badspotwhere beakers that are already full will be sent
goodspotwhere things are sent
inputspotwhere things are taken
wanted_amounthow much do we fill

Procs

interactchanging input ammount with a window
setDirchanges the tile array

Var Details

badspot

where beakers that are already full will be sent

goodspot

where things are sent

inputspot

where things are taken

wanted_amount

how much do we fill

Proc Details

interact

changing input ammount with a window

setDir

changes the tile array

\ No newline at end of file diff --git a/obj/machinery/plumbing/disposer.html b/obj/machinery/plumbing/disposer.html new file mode 100644 index 000000000000..e16580071bc3 --- /dev/null +++ b/obj/machinery/plumbing/disposer.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/disposer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

disposer

Vars

disposal_ratewe remove 10 reagents per second

Var Details

disposal_rate

we remove 10 reagents per second

\ No newline at end of file diff --git a/obj/machinery/plumbing/fermenter.html b/obj/machinery/plumbing/fermenter.html new file mode 100644 index 000000000000..df44284316af --- /dev/null +++ b/obj/machinery/plumbing/fermenter.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/fermenter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

fermenter

Vars

eat_dirinput dir

Var Details

eat_dir

input dir

\ No newline at end of file diff --git a/obj/machinery/plumbing/filter.html b/obj/machinery/plumbing/filter.html new file mode 100644 index 000000000000..5d69106f4b06 --- /dev/null +++ b/obj/machinery/plumbing/filter.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/filter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

filter

chemical plumbing filter. If it's not filtered by left and right, it goes straight.

Vars

english_leftwhitelist of chems but their name instead of path
english_rightwhitelist of chems but their name instead of path
leftwhitelist of chems id's that go to the left side. Empty to disable port
rightwhitelist of chem id's that go to the right side. Empty to disable port

Var Details

english_left

whitelist of chems but their name instead of path

english_right

whitelist of chems but their name instead of path

left

whitelist of chems id's that go to the left side. Empty to disable port

right

whitelist of chem id's that go to the right side. Empty to disable port

\ No newline at end of file diff --git a/obj/machinery/plumbing/liquid_pump.html b/obj/machinery/plumbing/liquid_pump.html new file mode 100644 index 000000000000..ab7f680287d4 --- /dev/null +++ b/obj/machinery/plumbing/liquid_pump.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/liquid_pump - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

liquid_pump

We pump liquids from activated(plungerated) geysers to a plumbing outlet. We don't need to be wired.

Vars

geyserThe geyser object
geyserlessset to true if the loop couldnt find a geyser in process, so it remembers and stops checking every loop until moved. more accurate name would be absolutely_no_geyser_under_me_so_dont_try
pump_powerunits we pump per process (2 seconds)
volumevolume of our internal buffer

Procs

default_unfasten_wrenchplease note that the component has a hook in the parent call, wich handles activating and deactivating
pumppump up that sweet geyser nectar

Var Details

geyser

The geyser object

geyserless

set to true if the loop couldnt find a geyser in process, so it remembers and stops checking every loop until moved. more accurate name would be absolutely_no_geyser_under_me_so_dont_try

pump_power

units we pump per process (2 seconds)

volume

volume of our internal buffer

Proc Details

default_unfasten_wrench

please note that the component has a hook in the parent call, wich handles activating and deactivating

pump

pump up that sweet geyser nectar

\ No newline at end of file diff --git a/obj/machinery/plumbing/pill_press.html b/obj/machinery/plumbing/pill_press.html new file mode 100644 index 000000000000..51f53d524df6 --- /dev/null +++ b/obj/machinery/plumbing/pill_press.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/pill_press - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

pill_press

We take a constant input of reagents, and produce a pill once a set volume is reached

Vars

current_volumeselected size of the product
max_bottle_volumemaximum size of a bottle
max_floor_productsmax amount of pills allowed on our tile before we start storing them instead
max_patch_volumemaximum size of a patch
max_pill_volumemaximum size of a pill
max_volumethe maximum size a pill or patch can be
min_volumethe minimum size a pill or patch can be
pill_numberthe icon_state number for the pill.
pill_styleslist of id's and icons for the pill selection of the ui
productcurrent operating product (pills or patches)
product_nameprefix for the product name
stored_productslist of products stored in the machine, so we dont have 610 pills on one tile

Var Details

current_volume

selected size of the product

max_bottle_volume

maximum size of a bottle

max_floor_products

max amount of pills allowed on our tile before we start storing them instead

max_patch_volume

maximum size of a patch

max_pill_volume

maximum size of a pill

max_volume

the maximum size a pill or patch can be

min_volume

the minimum size a pill or patch can be

pill_number

the icon_state number for the pill.

pill_styles

list of id's and icons for the pill selection of the ui

product

current operating product (pills or patches)

product_name

prefix for the product name

stored_products

list of products stored in the machine, so we dont have 610 pills on one tile

\ No newline at end of file diff --git a/obj/machinery/plumbing/reaction_chamber.html b/obj/machinery/plumbing/reaction_chamber.html new file mode 100644 index 000000000000..acef76efb143 --- /dev/null +++ b/obj/machinery/plumbing/reaction_chamber.html @@ -0,0 +1,3 @@ +/obj/machinery/plumbing/reaction_chamber - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

reaction_chamber

a reaction chamber for plumbing. pretty much everything can react, but this one keeps the reagents seperated and only reacts under your given terms

Vars

emptyingour reagent goal has been reached, so now we lock our inputs and start emptying
required_reagents*list of set reagents that the reaction_chamber allows in, and must all be present before mixing is enabled. +* example: list(/datum/reagent/water = 20, /datum/reagent/fuel/oil = 50)

Var Details

emptying

our reagent goal has been reached, so now we lock our inputs and start emptying

required_reagents

*list of set reagents that the reaction_chamber allows in, and must all be present before mixing is enabled. +* example: list(/datum/reagent/water = 20, /datum/reagent/fuel/oil = 50)

\ No newline at end of file diff --git a/obj/machinery/plumbing/splitter.html b/obj/machinery/plumbing/splitter.html new file mode 100644 index 000000000000..c07a09dc51b8 --- /dev/null +++ b/obj/machinery/plumbing/splitter.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/splitter - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

splitter

it splits the reagents however you want. So you can "every 60 units, 45 goes left and 15 goes straight". The side direction is EAST, you can change this in the component

Vars

transfer_sidehow much we must transfer to the side
transfer_straighthow much we must transfer straight. note input can be as high as 10 reagents per process, usually
turn_straightconstantly switches between TRUE and FALSE. TRUE means the batch tick goes straight, FALSE means the next batch goes in the side duct.

Var Details

transfer_side

how much we must transfer to the side

transfer_straight

how much we must transfer straight. note input can be as high as 10 reagents per process, usually

turn_straight

constantly switches between TRUE and FALSE. TRUE means the batch tick goes straight, FALSE means the next batch goes in the side duct.

\ No newline at end of file diff --git a/obj/machinery/plumbing/synthesizer.html b/obj/machinery/plumbing/synthesizer.html new file mode 100644 index 000000000000..adb14fd285a4 --- /dev/null +++ b/obj/machinery/plumbing/synthesizer.html @@ -0,0 +1 @@ +/obj/machinery/plumbing/synthesizer - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

synthesizer

A single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories

Vars

amountAmount we produce for every process. Ideally keep under 5 since thats currently the standard duct capacity
bufferThe maximum we can produce for every process
dispensable_reagentsstraight up copied from chem dispenser. Being a subtype would be extremely tedious and making it global would restrict potential subtypes using different dispensable_reagents
possible_amountsI track them here because I have no idea how I'd make tgui loop like that
reagent_idThe reagent we are producing. We are a typepath, but are also typecast because there's several occations where we need to use initial.

Var Details

amount

Amount we produce for every process. Ideally keep under 5 since thats currently the standard duct capacity

buffer

The maximum we can produce for every process

dispensable_reagents

straight up copied from chem dispenser. Being a subtype would be extremely tedious and making it global would restrict potential subtypes using different dispensable_reagents

possible_amounts

I track them here because I have no idea how I'd make tgui loop like that

reagent_id

The reagent we are producing. We are a typepath, but are also typecast because there's several occations where we need to use initial.

\ No newline at end of file diff --git a/obj/machinery/pool/controller.html b/obj/machinery/pool/controller.html new file mode 100644 index 000000000000..d0bde610f07c --- /dev/null +++ b/obj/machinery/pool/controller.html @@ -0,0 +1 @@ +/obj/machinery/pool/controller - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

controller

Vars

bloodyIs the pool bloody?
drainableWhether or not the pool can be drained
drainingJust to prevent spam
interact_delayNext world.time you can interact with settings
last_reagent_processLast time we process_reagents()'d
linked_drainPool drain
linked_filterPool filter
linked_mistLinked mist effects
linked_turfsPool turfs
max_beaker_transferMaximum amount we will take from a beaker
min_reagent_amountMinimum amount of a reagent for it to work on us
mist_stateIs pool mist currently on?
mobs_in_poolAll mobs in pool
noreact_reagentsADMINBUS ONLY - WHETHER OR NOT WE HAVE NOREACT ;)
old_rcolorOld reagent color, used to determine if update_color needs to reset colors.
reagent_tick_intervalhow fast in deciseconds between reagent processes
respect_reagent_blacklistReagent blacklisting
scan_rangeHow far it scans for pool objects
shockedAirlock style shocks
temperatureSee __DEFINES/pool.dm, temperature defines
temperature_unlockedCan we use unsafe temperatures

Var Details

bloody

Is the pool bloody?

drainable

Whether or not the pool can be drained

draining

Just to prevent spam

interact_delay

Next world.time you can interact with settings

last_reagent_process

Last time we process_reagents()'d

linked_drain

Pool drain

linked_filter

Pool filter

linked_mist

Linked mist effects

linked_turfs

Pool turfs

max_beaker_transfer

Maximum amount we will take from a beaker

min_reagent_amount

Minimum amount of a reagent for it to work on us

mist_state

Is pool mist currently on?

mobs_in_pool

All mobs in pool

noreact_reagents

ADMINBUS ONLY - WHETHER OR NOT WE HAVE NOREACT ;)

old_rcolor

Old reagent color, used to determine if update_color needs to reset colors.

reagent_tick_interval

how fast in deciseconds between reagent processes

respect_reagent_blacklist

Reagent blacklisting

scan_range

How far it scans for pool objects

shocked

Airlock style shocks

temperature

See __DEFINES/pool.dm, temperature defines

temperature_unlocked

Can we use unsafe temperatures

\ No newline at end of file diff --git a/obj/machinery/pool/drain.html b/obj/machinery/pool/drain.html new file mode 100644 index 000000000000..e104f25c7869 --- /dev/null +++ b/obj/machinery/pool/drain.html @@ -0,0 +1 @@ +/obj/machinery/pool/drain - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

drain

Vars

activeActive/on?
controllerParent controller
cycles_leftCycles left for fill/drain while active
drain_suck_rangeDrain mode suction range
fill_push_rangeFill mode knock away range
fillingFilling or draining
item_suction_rangeDrain item suction range
suck_in_once_perSuck in once per x ticks
whirling_mobsMobs we are swirling around

Procs

whirl_mobdangerous proc don't fuck with, admins

Var Details

active

Active/on?

controller

Parent controller

cycles_left

Cycles left for fill/drain while active

drain_suck_range

Drain mode suction range

fill_push_range

Fill mode knock away range

filling

Filling or draining

item_suction_range

Drain item suction range

suck_in_once_per

Suck in once per x ticks

whirling_mobs

Mobs we are swirling around

Proc Details

whirl_mob

dangerous proc don't fuck with, admins

\ No newline at end of file diff --git a/obj/machinery/porta_turret.html b/obj/machinery/porta_turret.html new file mode 100644 index 000000000000..cd65494a7e2f --- /dev/null +++ b/obj/machinery/porta_turret.html @@ -0,0 +1 @@ +/obj/machinery/porta_turret - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

porta_turret

Vars

always_upWill stay active
baseFor turrets inside other objects
base_icon_stateBase turret icon state
controllockIf the turret responds to control panels
coverThe cover that is covering this turret
cpLinked turret control panel of the turret
factionSame faction mobs will never be shot at, no matter the other settings
gun_chargeThe charge of the gun when retrieved from wreckage
has_coverHides the cover
installationThe type of weapon installed by default
last_firedWorld.time the turret last fired
lethal_projectileLethal mode projectile type
lethal_projectile_soundSound of lethal projectile
lockedIf the turret's behaviour control access is locked
manual_controlIf the turret is manually controlled
modeIn which mode is turret in, stun or lethal
nonlethal_projectileProjectile to use in stun mode when the target is resting, if any
nonlethal_projectile_soundSound of stun projectile wen the target is resting, optional
onDetermines if the turret is on
power_channelOnly people with Security access
quit_actionAction button holder for quitting manual control
raisedIf the turret cover is "open" and the turret is raised
raisingIf the turret is currently opening or closing its cover
remote_controllerMob that is remotely controlling the turret
reqpowerPower needed per shot
scan_rangeScan range of the turret for locating targets
shot_delayTicks until next shot (1.5 ?)
shot_staggerMISSING:
spark_systemThe spark system, used for generating... sparks?
stored_gunWhat stored gun is in the turret
stun_projectileStun mode projectile type
stun_projectile_soundSound of stun projectile
toggle_actionAction button holder for switching between turret modes when manually controlling
turret_flagsTurret flags about who is turret allowed to shoot
wall_turret_directionThe turret will try to shoot from a turf in that direction when in a wall

Var Details

always_up

Will stay active

base

For turrets inside other objects

base_icon_state

Base turret icon state

controllock

If the turret responds to control panels

cover

The cover that is covering this turret

cp

Linked turret control panel of the turret

faction

Same faction mobs will never be shot at, no matter the other settings

gun_charge

The charge of the gun when retrieved from wreckage

has_cover

Hides the cover

installation

The type of weapon installed by default

last_fired

World.time the turret last fired

lethal_projectile

Lethal mode projectile type

lethal_projectile_sound

Sound of lethal projectile

locked

If the turret's behaviour control access is locked

manual_control

If the turret is manually controlled

mode

In which mode is turret in, stun or lethal

nonlethal_projectile

Projectile to use in stun mode when the target is resting, if any

nonlethal_projectile_sound

Sound of stun projectile wen the target is resting, optional

on

Determines if the turret is on

power_channel

Only people with Security access

quit_action

Action button holder for quitting manual control

raised

If the turret cover is "open" and the turret is raised

raising

If the turret is currently opening or closing its cover

remote_controller

Mob that is remotely controlling the turret

reqpower

Power needed per shot

scan_range

Scan range of the turret for locating targets

shot_delay

Ticks until next shot (1.5 ?)

shot_stagger

MISSING:

spark_system

The spark system, used for generating... sparks?

stored_gun

What stored gun is in the turret

stun_projectile

Stun mode projectile type

stun_projectile_sound

Sound of stun projectile

toggle_action

Action button holder for switching between turret modes when manually controlling

turret_flags

Turret flags about who is turret allowed to shoot

wall_turret_direction

The turret will try to shoot from a turf in that direction when in a wall

\ No newline at end of file diff --git a/obj/machinery/portable_atmospherics/canister.html b/obj/machinery/portable_atmospherics/canister.html new file mode 100644 index 000000000000..8876c8b8e9e1 --- /dev/null +++ b/obj/machinery/portable_atmospherics/canister.html @@ -0,0 +1,3 @@ +/obj/machinery/portable_atmospherics/canister - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

canister

Vars

req_accessSet the tier of the canister and overlay used
temperature_resistanceMax amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits) +Max amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)

Var Details

req_access

Set the tier of the canister and overlay used

temperature_resistance

Max amount of heat allowed inside of the canister before it starts to melt (different tiers have different limits) +Max amount of pressure allowed inside of the canister before it starts to break (different tiers have different limits)

\ No newline at end of file diff --git a/obj/machinery/power/apc.html b/obj/machinery/power/apc.html new file mode 100644 index 000000000000..da70a7e79a25 --- /dev/null +++ b/obj/machinery/power/apc.html @@ -0,0 +1,32 @@ +/obj/machinery/power/apc - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

apc

Vars

alarm_managerRepresents a signel source of power alarms for this apc

Procs

autosetReturns the new status value for an APC channel.
check_updatesChecks for what icon updates we will need to handle
setsubsystemUsed by external forces to set the APCs channel status's.

Var Details

alarm_manager

Represents a signel source of power alarms for this apc

Proc Details

autoset

Returns the new status value for an APC channel.

+

// val 0=off, 1=off(auto) 2=on 3=on(auto) +// on 0=off, 1=on, 2=autooff +TODO: Make this use bitflags instead. It should take at most three lines, but it's out of scope for now.

+

Arguments:

+

check_updates

Checks for what icon updates we will need to handle

setsubsystem

Used by external forces to set the APCs channel status's.

+

Arguments:

+
\ No newline at end of file diff --git a/obj/machinery/power/deck_relay.html b/obj/machinery/power/deck_relay.html new file mode 100644 index 000000000000..50c75b676d73 --- /dev/null +++ b/obj/machinery/power/deck_relay.html @@ -0,0 +1 @@ +/obj/machinery/power/deck_relay - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

deck_relay

Vars

aboveThe relay that's below us (for bridging powernets)
anchoredThe relay that's above us (for bridging powernets)

Procs

find_relaysLocates relays that are above and below this object
multitool_actAllows you to scan the relay with a multitool to see stats.
refreshHandles re-acquiring + merging powernets found by find_relays()

Var Details

above

The relay that's below us (for bridging powernets)

anchored

The relay that's above us (for bridging powernets)

Proc Details

find_relays

Locates relays that are above and below this object

multitool_act

Allows you to scan the relay with a multitool to see stats.

refresh

Handles re-acquiring + merging powernets found by find_relays()

\ No newline at end of file diff --git a/obj/machinery/power/solar.html b/obj/machinery/power/solar.html new file mode 100644 index 000000000000..c3145f22afa1 --- /dev/null +++ b/obj/machinery/power/solar.html @@ -0,0 +1 @@ +/obj/machinery/power/solar - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

solar

Procs

occlusion_setuptrace towards sun to see if we're in shadow
update_solar_exposurecalculates the fraction of the sunlight that the panel receives

Proc Details

occlusion_setup

trace towards sun to see if we're in shadow

update_solar_exposure

calculates the fraction of the sunlight that the panel receives

\ No newline at end of file diff --git a/obj/machinery/power/solar_control.html b/obj/machinery/power/solar_control.html new file mode 100644 index 000000000000..3b7f3709af4e --- /dev/null +++ b/obj/machinery/power/solar_control.html @@ -0,0 +1 @@ +/obj/machinery/power/solar_control - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

solar_control

Vars

connected_trackerSOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO
trackdegree change per minute

Procs

set_panelsRotates the panel to the passed angles
timed_trackRan every time the sun updates.

Var Details

connected_tracker

SOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO

track

degree change per minute

Proc Details

set_panels

Rotates the panel to the passed angles

timed_track

Ran every time the sun updates.

\ No newline at end of file diff --git a/obj/machinery/power/supermatter_crystal.html b/obj/machinery/power/supermatter_crystal.html new file mode 100644 index 000000000000..251fb6550085 --- /dev/null +++ b/obj/machinery/power/supermatter_crystal.html @@ -0,0 +1 @@ +/obj/machinery/power/supermatter_crystal - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

supermatter_crystal

Vars

base_icon_stateUsed for changing icon states for diff base sprites
bullet_energyHow much the bullets damage should be multiplied by when it is added to the internal variables
combined_gasThe last air sample's total molar count, will always be above or equal to 0
common_channelThe common channel
countdownAn effect we show to admins and ghosts the percentage of delam we're at
damageThe amount of damage we have currently
damage_archivedThe damage we had before this cycle. Used to limit the damage we can take each cycle, and for safe_alert
damage_penalty_pointWhen we pass this amount of damage we start shooting bolts
dynamic_heat_resistanceAffects the amount of damage and minimum point at which the sm takes heat damage
emergency_alertThe alert we send when we've reached emergency_point
emergency_pointThe point at which we start sending messages to the common channel
engineering_channelThe engineering channel
explosion_pointThe point at which we delam
final_countdownAre we exploding?
gas_change_rateDetermines the rate of positve change in gas comp values
gasefficencyThe portion of the gasmix we're on that we should remove
gasmix_power_ratioAffects the power gain the sm experiances from heat
gl_uidThe amount of supermatters that have been created this round
hallucination_powerHow much hallucination should we produce per unit of power?
has_been_poweredBoolean used for logging if we've been powered
has_reached_emergencyBoolean used for logging if we've passed the emergency point
is_main_engineUsed along with a global var to track if we can give out the sm sliver stealing objective
last_accent_soundcooldown tracker for accent sounds
lastwarningTime in 1/10th of seconds since the last sent warning
matter_powerTakes the energy throwing things into the sm generates and slowly turns it into actual power
mole_heat_penaltyUsed to increase or lessen the amount of damage the sm takes from heat based on molar counts.
moveableCan it be moved?
powerRefered to as eer on the moniter. This value effects gas output, heat, damage, and radiation.
power_changesDisables power changes
powerloss_dynamic_scalingBased on co2 percentage, slowly moves between 0 and 1. We use it to calc the powerloss_inhibitor
powerloss_inhibitorUses powerloss_dynamic_scaling and combined_gas to lessen the effects of our powerloss functions
processesDisables the sm's proccessing totally.
produces_gasDisables the production of gas, and pretty much any handling of it we do.
radioOur internal radio
radio_keyThe key our internal radio uses
safe_alertOur "Shit is no longer fucked" message. We send it when damage is less then damage_archived
soundloopOur soundloop
takes_damageDisables all methods of taking damage
uidThe id of our supermatter
warning_alertThe alert we send when we've reached warning_point
warning_pointThe point at which we should start sending messeges about the damage to the engi channels.
zap_cutoffThe cutoff for a bolt jumping, grows with heat, lowers with higher mol count,
zap_iconTracks the bolt color we are using

Var Details

base_icon_state

Used for changing icon states for diff base sprites

bullet_energy

How much the bullets damage should be multiplied by when it is added to the internal variables

combined_gas

The last air sample's total molar count, will always be above or equal to 0

common_channel

The common channel

countdown

An effect we show to admins and ghosts the percentage of delam we're at

damage

The amount of damage we have currently

damage_archived

The damage we had before this cycle. Used to limit the damage we can take each cycle, and for safe_alert

damage_penalty_point

When we pass this amount of damage we start shooting bolts

dynamic_heat_resistance

Affects the amount of damage and minimum point at which the sm takes heat damage

emergency_alert

The alert we send when we've reached emergency_point

emergency_point

The point at which we start sending messages to the common channel

engineering_channel

The engineering channel

explosion_point

The point at which we delam

final_countdown

Are we exploding?

gas_change_rate

Determines the rate of positve change in gas comp values

gasefficency

The portion of the gasmix we're on that we should remove

gasmix_power_ratio

Affects the power gain the sm experiances from heat

gl_uid

The amount of supermatters that have been created this round

hallucination_power

How much hallucination should we produce per unit of power?

has_been_powered

Boolean used for logging if we've been powered

has_reached_emergency

Boolean used for logging if we've passed the emergency point

is_main_engine

Used along with a global var to track if we can give out the sm sliver stealing objective

last_accent_sound

cooldown tracker for accent sounds

lastwarning

Time in 1/10th of seconds since the last sent warning

matter_power

Takes the energy throwing things into the sm generates and slowly turns it into actual power

mole_heat_penalty

Used to increase or lessen the amount of damage the sm takes from heat based on molar counts.

moveable

Can it be moved?

power

Refered to as eer on the moniter. This value effects gas output, heat, damage, and radiation.

power_changes

Disables power changes

powerloss_dynamic_scaling

Based on co2 percentage, slowly moves between 0 and 1. We use it to calc the powerloss_inhibitor

powerloss_inhibitor

Uses powerloss_dynamic_scaling and combined_gas to lessen the effects of our powerloss functions

processes

Disables the sm's proccessing totally.

produces_gas

Disables the production of gas, and pretty much any handling of it we do.

radio

Our internal radio

radio_key

The key our internal radio uses

safe_alert

Our "Shit is no longer fucked" message. We send it when damage is less then damage_archived

soundloop

Our soundloop

takes_damage

Disables all methods of taking damage

uid

The id of our supermatter

warning_alert

The alert we send when we've reached warning_point

warning_point

The point at which we should start sending messeges about the damage to the engi channels.

zap_cutoff

The cutoff for a bolt jumping, grows with heat, lowers with higher mol count,

zap_icon

Tracks the bolt color we are using

\ No newline at end of file diff --git a/obj/machinery/power/tracker.html b/obj/machinery/power/tracker.html new file mode 100644 index 000000000000..967ad2fc60d8 --- /dev/null +++ b/obj/machinery/power/tracker.html @@ -0,0 +1 @@ +/obj/machinery/power/tracker - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

tracker

Procs

sun_updateTell the controller to turn the solar panels

Proc Details

sun_update

Tell the controller to turn the solar panels

\ No newline at end of file diff --git a/obj/machinery/recharger.html b/obj/machinery/recharger.html new file mode 100644 index 000000000000..e63203e2f796 --- /dev/null +++ b/obj/machinery/recharger.html @@ -0,0 +1 @@ +/obj/machinery/recharger - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

recharger

Vars

finished_rechargingDid we finish recharging the currently inserted item?

Var Details

finished_recharging

Did we finish recharging the currently inserted item?

\ No newline at end of file diff --git a/obj/machinery/research/explosive_compressor.html b/obj/machinery/research/explosive_compressor.html new file mode 100644 index 000000000000..e320dd856e5d --- /dev/null +++ b/obj/machinery/research/explosive_compressor.html @@ -0,0 +1,7 @@ +/obj/machinery/research/explosive_compressor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Explosive compressor machines

The explosive compressor machine used in anomaly core production.

+

Uses the standard toxins/tank explosion scaling to compress raw anomaly cores into completed ones. The required explosion radius increases as more cores of that type are created.

Vars

inserted_bombThe TTV inserted in the machine.
inserted_coreThe raw core inserted in the machine.
last_requirements_sayThe last time we did say_requirements(), because someone will inevitably click spam this.

Procs

do_implosionThe ""explosion"" proc.
get_required_radiusDetermines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.
say_requirementsSays (no, literally) the data of required explosive power for a certain anomaly type.

Var Details

inserted_bomb

The TTV inserted in the machine.

inserted_core

The raw core inserted in the machine.

last_requirements_say

The last time we did say_requirements(), because someone will inevitably click spam this.

Proc Details

do_implosion

The ""explosion"" proc.

get_required_radius

Determines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.

+

Returns null if the max amount has already been reached.

+

Arguments:

+

say_requirements

Says (no, literally) the data of required explosive power for a certain anomaly type.

\ No newline at end of file diff --git a/obj/machinery/seed_extractor.html b/obj/machinery/seed_extractor.html new file mode 100644 index 000000000000..2ee0207b3876 --- /dev/null +++ b/obj/machinery/seed_extractor.html @@ -0,0 +1,16 @@ +/obj/machinery/seed_extractor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

seed_extractor

Vars

pilesAssociated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Procs

add_seed
generate_seed_stringGenerate seed string

Var Details

piles

Associated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Proc Details

add_seed

generate_seed_string

Generate seed string

+

Creates a string based of the traits of a seed. We use this string as a bucket for all +seeds that match as well as the key the ui uses to get the seed. We also use the key +for the data shown in the ui. Javascript parses this string to display

+

Arguments:

+
\ No newline at end of file diff --git a/obj/machinery/self_actualization_device.html b/obj/machinery/self_actualization_device.html new file mode 100644 index 000000000000..23e0f6b810d7 --- /dev/null +++ b/obj/machinery/self_actualization_device.html @@ -0,0 +1 @@ +/obj/machinery/self_actualization_device - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

self_actualization_device

Vars

advertisementsA list containing advertisements that the machine says while working.
breakout_timeHow long does it take to break out of the machine?
next_factThe interval that advertisements are said by the machine's speaker.
processingIs someone being processed inside of the machine?
processing_timeHow long does the machine take to work?

Procs

check_organChecks the damage on the inputed organ and stores it.
eject_new_youEjects the occupant as either their preference character, or as a monke based on emag status.

Var Details

advertisements

A list containing advertisements that the machine says while working.

breakout_time

How long does it take to break out of the machine?

next_fact

The interval that advertisements are said by the machine's speaker.

processing

Is someone being processed inside of the machine?

processing_time

How long does the machine take to work?

Proc Details

check_organ

Checks the damage on the inputed organ and stores it.

eject_new_you

Ejects the occupant as either their preference character, or as a monke based on emag status.

\ No newline at end of file diff --git a/obj/machinery/smartfridge.html b/obj/machinery/smartfridge.html new file mode 100644 index 000000000000..1c505c4a315e --- /dev/null +++ b/obj/machinery/smartfridge.html @@ -0,0 +1 @@ +/obj/machinery/smartfridge - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

smartfridge

Vars

max_n_of_itemsWhat path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.

Procs

attackbyItem Adding
dispenseReally simple proc, just moves the object "O" into the hands of mob "M" if able, done so I could modify the proc a little for the organ fridge

Var Details

max_n_of_items

What path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.

Proc Details

attackby

Item Adding

dispense

Really simple proc, just moves the object "O" into the hands of mob "M" if able, done so I could modify the proc a little for the organ fridge

\ No newline at end of file diff --git a/obj/machinery/status_display.html b/obj/machinery/status_display.html new file mode 100644 index 000000000000..89c425ea2659 --- /dev/null +++ b/obj/machinery/status_display.html @@ -0,0 +1,15 @@ +/obj/machinery/status_display - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

status_display

Status display which can show images and scrolling text.

Procs

remove_messagesRemove both message objs and null the fields. +Don't call this in subclasses.
set_messagesImmediately change the display to the given two lines.
set_pictureImmediately change the display to the given picture.
updateUpdate the display and, if necessary, re-enable processing.
update_messageCreate/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:

Proc Details

remove_messages

Remove both message objs and null the fields. +Don't call this in subclasses.

set_messages

Immediately change the display to the given two lines.

set_picture

Immediately change the display to the given picture.

update

Update the display and, if necessary, re-enable processing.

update_message

Create/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:

+
\ No newline at end of file diff --git a/obj/machinery/status_display/ai.html b/obj/machinery/status_display/ai.html new file mode 100644 index 000000000000..a2ce004b349c --- /dev/null +++ b/obj/machinery/status_display/ai.html @@ -0,0 +1 @@ +/obj/machinery/status_display/ai - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

ai

Pictograph display which the AI can use to emote.

Vars

emotion_mapA mapping between AI_EMOTION_* string constants, which also double as user readable descriptions, and the name of the iconfile.

Var Details

emotion_map

A mapping between AI_EMOTION_* string constants, which also double as user readable descriptions, and the name of the iconfile.

\ No newline at end of file diff --git a/obj/machinery/suit_storage_unit.html b/obj/machinery/suit_storage_unit.html new file mode 100644 index 000000000000..f41a5084d91a --- /dev/null +++ b/obj/machinery/suit_storage_unit.html @@ -0,0 +1,16 @@ +/obj/machinery/suit_storage_unit - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

suit_storage_unit

Vars

breakout_timeHow long it takes to break out of the SSU.
charge_rateHow fast it charges cells in a suit
helmet_typeWhat type of space helmet the unit starts with when spawned.
lockedIf the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.
mask_typeWhat type of breathmask the unit starts with when spawned.
message_cooldownCooldown for occupant breakout messages via relaymove()
mod_typeWhat type of MOD the unit starts with when spawned.
safetiesIf the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().
shoes_typeWhat type of shoes the unit starts with when spawned.
storage_typeWhat type of additional item the unit starts with when spawned.
suit_typeWhat type of spacesuit the unit starts with when spawned.
uvIf UV decontamination sequence is running. See cook()
uv_cyclesHow many cycles remain for the decontamination sequence.
uv_superIf the hack wire is cut/pulsed. +Modifies effects of cook()

Procs

cookUV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.

Var Details

breakout_time

How long it takes to break out of the SSU.

charge_rate

How fast it charges cells in a suit

helmet_type

What type of space helmet the unit starts with when spawned.

locked

If the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.

mask_type

What type of breathmask the unit starts with when spawned.

message_cooldown

Cooldown for occupant breakout messages via relaymove()

mod_type

What type of MOD the unit starts with when spawned.

safeties

If the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().

shoes_type

What type of shoes the unit starts with when spawned.

storage_type

What type of additional item the unit starts with when spawned.

suit_type

What type of spacesuit the unit starts with when spawned.

uv

If UV decontamination sequence is running. See cook()

uv_cycles

How many cycles remain for the decontamination sequence.

uv_super

If the hack wire is cut/pulsed. +Modifies effects of cook()

+

Proc Details

cook

UV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.

+
\ No newline at end of file diff --git a/obj/machinery/turretid.html b/obj/machinery/turretid.html new file mode 100644 index 000000000000..097f735bce86 --- /dev/null +++ b/obj/machinery/turretid.html @@ -0,0 +1 @@ +/obj/machinery/turretid - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

turretid

Vars

ailockAI is unable to use this machine if set to TRUE
control_areaAn area in which linked turrets are located, it can be an area name, path or nothing
enabledVariable dictating if linked turrets are active and will shoot targets
lethalVariable dictating if linked turrets will shoot lethal projectiles
lockedVariable dictating if the panel is locked, preventing changes to turret settings
shoot_cyborgsVariable dictating if linked turrets will shoot cyborgs
turretsList of all linked turrets

Var Details

ailock

AI is unable to use this machine if set to TRUE

control_area

An area in which linked turrets are located, it can be an area name, path or nothing

enabled

Variable dictating if linked turrets are active and will shoot targets

lethal

Variable dictating if linked turrets will shoot lethal projectiles

locked

Variable dictating if the panel is locked, preventing changes to turret settings

shoot_cyborgs

Variable dictating if linked turrets will shoot cyborgs

turrets

List of all linked turrets

\ No newline at end of file diff --git a/obj/machinery/vending.html b/obj/machinery/vending.html new file mode 100644 index 000000000000..4138874a95f3 --- /dev/null +++ b/obj/machinery/vending.html @@ -0,0 +1,57 @@ +/obj/machinery/vending - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

vending machines

Captalism in the year 2525, everything in a vending machine, even love

Vars

Radioused for narcing on underages
activeIs the machine active (No sales pitches if off)!
age_restrictionsWhether our age check is currently functional
billBills we accept?
canload_access_listID's that can load this vending machine wtih refills
coinCoins that we accept?
contrabandList of products this machine sells when you hack it
cost_multiplier_per_deptcost multiplier per department or access
default_priceDefault price of items if not overridden
extended_inventorycan we access the hidden inventory?
extra_priceDefault price of premium items if not overridden
icon_denyIcon to flash when user is denied a vend
icon_vendIcon when vending an item to the user
input_display_headerDisplay header on the input view
last_replyLast world tick we sent a vent reply
last_shopperThe ref of the last mob to shop with us
last_sloganLast world tick we sent a slogan message out
light_maskName of lighting mask for the vending machine
loaded_itemshow many items have been inserted in a vendor
onstationIs this item on station or not
onstation_overrideA variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements
premiumList of premium products this machine sells
product_adsString of small ad messages in the vending screen - random chance
product_slogansString of slogans separated by semicolons, optional
productsList of products this machine sells
purchase_message_cooldownNext world time to send a purchase message
scan_idAre we checking the users ID
seconds_electrifiedWorld ticks the machine is electified for
shoot_inventoryWhen this is TRUE, we fire items at customers! We're broken!
shoot_inventory_chanceHow likely this is to happen (prob 100) per second
slogan_delayHow many ticks until we can send another
small_adsSmall ad messages in the vending screen - random chance of popping up whenever you open it
vend_readyAre we ready to vend?? Is it time??
vend_replyMessage sent post vend (Thank you for shopping!)

Procs

InitializeInitialize the vending machine
build_inventoryBuild the inventory of the vending machine from it's product and record lists
canLoadItemAre we able to load the item passed in
compartmentLoadAccessCheckIs the passed in user allowed to load this vending machines compartments
pre_throwA callback called before an item is tossed out
refill_inventoryRefill our inventory from the passed in product list into the record list
restockRefill a vending machine from a refill canister
shockShock the passed in user
speakSpeak the given message verbally
throw_impactCrush the mob that the vending machine got thrown at
throw_itemThrow an item from our internal inventory out in front of us
tiltTilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.
unbuild_inventoryGiven a record list, go through and and return a list of type -> amount
update_canisterSet up a refill canister that matches this machines products

Var Details

Radio

used for narcing on underages

active

Is the machine active (No sales pitches if off)!

age_restrictions

Whether our age check is currently functional

bill

Bills we accept?

canload_access_list

ID's that can load this vending machine wtih refills

coin

Coins that we accept?

contraband

List of products this machine sells when you hack it

+

form should be list(/type/path = amount, /type/path2 = amount2)

cost_multiplier_per_dept

cost multiplier per department or access

default_price

Default price of items if not overridden

extended_inventory

can we access the hidden inventory?

extra_price

Default price of premium items if not overridden

icon_deny

Icon to flash when user is denied a vend

icon_vend

Icon when vending an item to the user

input_display_header

Display header on the input view

last_reply

Last world tick we sent a vent reply

last_shopper

The ref of the last mob to shop with us

last_slogan

Last world tick we sent a slogan message out

light_mask

Name of lighting mask for the vending machine

loaded_items

how many items have been inserted in a vendor

onstation

Is this item on station or not

+

if it doesn't originate from off-station during mapload, everything is free

onstation_override

A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements

premium

List of premium products this machine sells

+

form should be list(/type/path, /type/path2) as there is only ever one in stock

product_ads

String of small ad messages in the vending screen - random chance

product_slogans

String of slogans separated by semicolons, optional

products

List of products this machine sells

+

form should be list(/type/path = amount, /type/path2 = amount2)

purchase_message_cooldown

Next world time to send a purchase message

scan_id

Are we checking the users ID

seconds_electrified

World ticks the machine is electified for

shoot_inventory

When this is TRUE, we fire items at customers! We're broken!

shoot_inventory_chance

How likely this is to happen (prob 100) per second

slogan_delay

How many ticks until we can send another

small_ads

Small ad messages in the vending screen - random chance of popping up whenever you open it

vend_ready

Are we ready to vend?? Is it time??

vend_reply

Message sent post vend (Thank you for shopping!)

Proc Details

Initialize

Initialize the vending machine

+

Builds the vending machine inventory, sets up slogans and other such misc work

+

This also sets the onstation var to:

+

build_inventory

Build the inventory of the vending machine from it's product and record lists

+

This builds up a full set of /datum/data/vending_products from the product list of the vending machine type +Arguments:

+

canLoadItem

Are we able to load the item passed in

+

Arguments:

+

compartmentLoadAccessCheck

Is the passed in user allowed to load this vending machines compartments

+

Arguments:

+

pre_throw

A callback called before an item is tossed out

+

Override this if you need to do any special case handling

+

Arguments:

+

refill_inventory

Refill our inventory from the passed in product list into the record list

+

Arguments:

+

restock

Refill a vending machine from a refill canister

+

This takes the products from the refill canister and then fills the products,contraband and premium product categories

+

Arguments:

+

shock

Shock the passed in user

+

This checks we have power and that the passed in prob is passed, then generates some sparks +and calls electrocute_mob on the user

+

Arguments:

+

speak

Speak the given message verbally

+

Checks if the machine is powered and the message exists

+

Arguments:

+

throw_impact

Crush the mob that the vending machine got thrown at

throw_item

Throw an item from our internal inventory out in front of us

+

This is called when we are hacked, it selects a random product from the records that has an amount > 0 +This item is then created and tossed out in front of us with a visible message

tilt

Tilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.

unbuild_inventory

Given a record list, go through and and return a list of type -> amount

update_canister

Set up a refill canister that matches this machines products

+

This is used when the machine is deconstructed, so the items aren't "lost"

\ No newline at end of file diff --git a/obj/machinery/vending/custom.html b/obj/machinery/vending/custom.html new file mode 100644 index 000000000000..6db827bfc7ca --- /dev/null +++ b/obj/machinery/vending/custom.html @@ -0,0 +1 @@ +/obj/machinery/vending/custom - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

custom

Vars

base64_cacheBase64 cache of custom icons.
max_loaded_itemsmax number of items that the custom vendor can hold
private_awhere the money is sent

Var Details

base64_cache

Base64 cache of custom icons.

max_loaded_items

max number of items that the custom vendor can hold

private_a

where the money is sent

\ No newline at end of file diff --git a/obj/modular_map_root.html b/obj/modular_map_root.html new file mode 100644 index 000000000000..78e0006f0207 --- /dev/null +++ b/obj/modular_map_root.html @@ -0,0 +1 @@ +/obj/modular_map_root - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

modular_map_root

Vars

config_filePoints to a .toml file storing configuration data about the modules associated with this root
keyKey used to look up the appropriate map paths in the associated .toml file

Procs

load_mapRandonly selects a map file from the TOML config specified in config_file, loads it, then deletes itself.

Var Details

config_file

Points to a .toml file storing configuration data about the modules associated with this root

key

Key used to look up the appropriate map paths in the associated .toml file

Proc Details

load_map

Randonly selects a map file from the TOML config specified in config_file, loads it, then deletes itself.

\ No newline at end of file diff --git a/obj/structure/alien/resin/flower_bud_enemy.html b/obj/structure/alien/resin/flower_bud_enemy.html new file mode 100644 index 000000000000..85b6ea6faa56 --- /dev/null +++ b/obj/structure/alien/resin/flower_bud_enemy.html @@ -0,0 +1,6 @@ +/obj/structure/alien/resin/flower_bud_enemy - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

flower_bud_enemy

Kudzu Flower Bud

+

A flower created by flowering kudzu which spawns a venus human trap after a certain amount of time has passed.

+

A flower created by kudzu with the flowering mutation. Spawns a venus human trap after 2 minutes under normal circumstances. +Also spawns 4 vines going out in diagonal directions from the bud. Any living creature not aligned with plants is damaged by these vines. +Once it grows a venus human trap, the bud itself will destroy itself.

Vars

growth_timeThe amount of time it takes to create a venus human trap, in deciseconds

Procs

bear_fruitSpawns a venus human trap, then qdels itself.

Var Details

growth_time

The amount of time it takes to create a venus human trap, in deciseconds

Proc Details

bear_fruit

Spawns a venus human trap, then qdels itself.

+

Displays a message, spawns a human venus trap, then qdels itself.

\ No newline at end of file diff --git a/obj/structure/bed/double.html b/obj/structure/bed/double.html new file mode 100644 index 000000000000..ed70ffb6351b --- /dev/null +++ b/obj/structure/bed/double.html @@ -0,0 +1 @@ +/obj/structure/bed/double - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

double

Vars

goldilocksThe mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.

Var Details

goldilocks

The mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.

\ No newline at end of file diff --git a/obj/structure/bloodsucker/candelabrum.html b/obj/structure/bloodsucker/candelabrum.html new file mode 100644 index 000000000000..ced132d80cf5 --- /dev/null +++ b/obj/structure/bloodsucker/candelabrum.html @@ -0,0 +1 @@ +/obj/structure/bloodsucker/candelabrum - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

candelabrum

Procs

Destroyobj/structure/bloodsucker/candelabrum/is_hot() // candle.dm

Proc Details

Destroy

obj/structure/bloodsucker/candelabrum/is_hot() // candle.dm

\ No newline at end of file diff --git a/obj/structure/bookcase.html b/obj/structure/bookcase.html new file mode 100644 index 000000000000..ec668cf66137 --- /dev/null +++ b/obj/structure/bookcase.html @@ -0,0 +1 @@ +/obj/structure/bookcase - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

bookcase

Vars

books_to_loadHow many random books to generate.
load_random_booksWhen enabled, books_to_load number of random books will be generated for this bookcase when first interacted with.
random_categoryThe category of books to pick from when populating random books.

Var Details

books_to_load

How many random books to generate.

load_random_books

When enabled, books_to_load number of random books will be generated for this bookcase when first interacted with.

random_category

The category of books to pick from when populating random books.

\ No newline at end of file diff --git a/obj/structure/cable.html b/obj/structure/cable.html new file mode 100644 index 000000000000..eb61083cfa8a --- /dev/null +++ b/obj/structure/cable.html @@ -0,0 +1 @@ +/obj/structure/cable - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

cable

Procs

shuttleRotateStructure rotate procs

Proc Details

shuttleRotate

Structure rotate procs

\ No newline at end of file diff --git a/obj/structure/cannon.html b/obj/structure/cannon.html new file mode 100644 index 000000000000..afaf4eefb0ad --- /dev/null +++ b/obj/structure/cannon.html @@ -0,0 +1 @@ +/obj/structure/cannon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

cannon

Vars

anchorable_cannonwhether the cannon can be unwrenched from the ground.

Var Details

anchorable_cannon

whether the cannon can be unwrenched from the ground.

\ No newline at end of file diff --git a/obj/structure/carp_rift.html b/obj/structure/carp_rift.html new file mode 100644 index 000000000000..6654cfee24e1 --- /dev/null +++ b/obj/structure/carp_rift.html @@ -0,0 +1,15 @@ +/obj/structure/carp_rift - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

Carp Rift

The portals Space Dragon summons to bring carp onto the station.

+

The portals Space Dragon summons to bring carp onto the station. His main objective is to summon 3 of them and protect them from being destroyed. +The portals can summon sentient space carp in limited amounts. The portal also changes color based on whether or not a carp spawn is available. +Once it is fully charged, it becomes indestructible, and intermitently spawns non-sentient carp. It is still destroyed if Space Dragon dies.

Vars

carp_intervalThe interval for adding additional space carp spawns to the rift.
carp_storedHow many carp spawns it has available.
charge_stateCurrent charge state of the rift.
dragonA reference to the Space Dragon that created it.
last_carp_incThe time since an extra carp was added to the ghost role spawning pool.
max_chargeThe maximum charge the rift can have.
time_chargedThe amount of time the rift has charged for.

Procs

summon_carpUsed to create carp controlled by ghosts when the option is available.
update_checkDoes a series of checks based on the portal's status.

Var Details

carp_interval

The interval for adding additional space carp spawns to the rift.

carp_stored

How many carp spawns it has available.

charge_state

Current charge state of the rift.

dragon

A reference to the Space Dragon that created it.

last_carp_inc

The time since an extra carp was added to the ghost role spawning pool.

max_charge

The maximum charge the rift can have.

time_charged

The amount of time the rift has charged for.

Proc Details

summon_carp

Used to create carp controlled by ghosts when the option is available.

+

Creates a carp for the ghost to control if we have a carp spawn available. +Gives them prompt to control a carp, and if our circumstances still allow if when they hit yes, spawn them in as a carp. +Also add them to the list of carps in Space Dragon's antgonist datum, so they'll be displayed as having assisted him on round end. +Arguments:

+

update_check

Does a series of checks based on the portal's status.

+

Performs a number of checks based on the current charge of the portal, and triggers various effects accordingly. +If the current charge is a multiple of carp_interval, add an extra carp spawn. +If we're halfway charged, announce to the crew our location in a CENTCOM announcement. +If we're fully charged, tell the crew we are, change our color to yellow, become invulnerable, and give Space Dragon the ability to make another rift, if he hasn't summoned 3 total.

\ No newline at end of file diff --git a/obj/structure/carving_block.html b/obj/structure/carving_block.html new file mode 100644 index 000000000000..5980b2997065 --- /dev/null +++ b/obj/structure/carving_block.html @@ -0,0 +1 @@ +/obj/structure/carving_block - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

carving_block

Vars

completionstatue completion from 0 to 1.0
current_preset_typeCurrently chosen preset statue type
current_targetThe thing it will look like - Unmodified resulting statue appearance
greyscale_with_value_bumpHSV color filters parameters
target_appearance_with_filtersGreyscaled target with cutout filter

Procs

get_possible_statuesReturns a list of preset statues carvable from this block depending on the custom materials

Var Details

completion

statue completion from 0 to 1.0

current_preset_type

Currently chosen preset statue type

current_target

The thing it will look like - Unmodified resulting statue appearance

greyscale_with_value_bump

HSV color filters parameters

target_appearance_with_filters

Greyscaled target with cutout filter

Proc Details

get_possible_statues

Returns a list of preset statues carvable from this block depending on the custom materials

\ No newline at end of file diff --git a/obj/structure/closet.html b/obj/structure/closet.html new file mode 100644 index 000000000000..dd53a76e70f5 --- /dev/null +++ b/obj/structure/closet.html @@ -0,0 +1 @@ +/obj/structure/closet - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

closet

Vars

door_anim_angleThe maximum angle the door will be drawn at
door_anim_squishVertical squish of the door
door_anim_timeAmount of time it takes for the door animation to play
door_hinge_xX position of the closet door hinge
door_objThe overlay for the closet's door
is_animating_doorWhether or not this door is being animated
x_shake_pixel_shiftHow many pixels the closet can shift on the x axis when shaking
y_shake_pixel_shiftHow many pixels the closet can shift on the y axes when shaking

Procs

after_closeProc to override for effects after closing a door
after_openProc to override for effects after opening a door
animate_doorAnimates the closet door opening and closing
check_if_shakeCheck if someone is still resisting inside, and choose to either keep shaking or stop shaking the closet
end_door_animationEnds the door animation and removes the animated overlay
get_door_transformCalculates the matrix to be applied to the animated door overlay
handle_lock_additioncit specific

Var Details

door_anim_angle

The maximum angle the door will be drawn at

door_anim_squish

Vertical squish of the door

door_anim_time

Amount of time it takes for the door animation to play

door_hinge_x

X position of the closet door hinge

door_obj

The overlay for the closet's door

is_animating_door

Whether or not this door is being animated

x_shake_pixel_shift

How many pixels the closet can shift on the x axis when shaking

y_shake_pixel_shift

How many pixels the closet can shift on the y axes when shaking

Proc Details

after_close

Proc to override for effects after closing a door

after_open

Proc to override for effects after opening a door

animate_door

Animates the closet door opening and closing

check_if_shake

Check if someone is still resisting inside, and choose to either keep shaking or stop shaking the closet

end_door_animation

Ends the door animation and removes the animated overlay

get_door_transform

Calculates the matrix to be applied to the animated door overlay

handle_lock_addition

cit specific

\ No newline at end of file diff --git a/obj/structure/closet/crate/mail.html b/obj/structure/closet/crate/mail.html new file mode 100644 index 000000000000..57735701b970 --- /dev/null +++ b/obj/structure/closet/crate/mail.html @@ -0,0 +1 @@ +/obj/structure/closet/crate/mail - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mail

Crate for mail from CentCom.

Vars

postmarkedif it'll show the nt mark on the crate

Procs

populateFills this mail crate with N pieces of mail, where N is the lower of the amount var passed, and the maximum capacity of this crate. If N is larger than the number of alive human players, the excess will be junkmail.

Var Details

postmarked

if it'll show the nt mark on the crate

Proc Details

populate

Fills this mail crate with N pieces of mail, where N is the lower of the amount var passed, and the maximum capacity of this crate. If N is larger than the number of alive human players, the excess will be junkmail.

\ No newline at end of file diff --git a/obj/structure/closet/crate/mail/economy.html b/obj/structure/closet/crate/mail/economy.html new file mode 100644 index 000000000000..950d40a283bd --- /dev/null +++ b/obj/structure/closet/crate/mail/economy.html @@ -0,0 +1 @@ +/obj/structure/closet/crate/mail/economy - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

economy

Procs

InitializeCrate for mail that automatically depletes the economy subsystem's pending mail counter.

Proc Details

Initialize

Crate for mail that automatically depletes the economy subsystem's pending mail counter.

\ No newline at end of file diff --git a/obj/structure/closet/crate/secure/owned.html b/obj/structure/closet/crate/secure/owned.html new file mode 100644 index 000000000000..92252d9cb935 --- /dev/null +++ b/obj/structure/closet/crate/secure/owned.html @@ -0,0 +1 @@ +/obj/structure/closet/crate/secure/owned - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

owned

Vars

buyer_accountAccount of the person buying the crate if private purchasing.
department_accountDepartment of the person buying the crate if buying via the NIRN app.
department_purchaseIs the crate being bought by a person, or a budget card?
privacy_lockIs the secure crate opened or closed?

Var Details

buyer_account

Account of the person buying the crate if private purchasing.

department_account

Department of the person buying the crate if buying via the NIRN app.

department_purchase

Is the crate being bought by a person, or a budget card?

privacy_lock

Is the secure crate opened or closed?

\ No newline at end of file diff --git a/obj/structure/closet/secure_closet/cargo/owned.html b/obj/structure/closet/secure_closet/cargo/owned.html new file mode 100644 index 000000000000..fc2ff54a5d0d --- /dev/null +++ b/obj/structure/closet/secure_closet/cargo/owned.html @@ -0,0 +1 @@ +/obj/structure/closet/secure_closet/cargo/owned - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

owned

Vars

buyer_accountAccount of the person buying the crate if private purchasing.
department_accountDepartment of the person buying the crate if buying via the NIRN app.
department_purchaseIs the crate being bought by a person, or a budget card?
privacy_lockIs the secure crate opened or closed?

Var Details

buyer_account

Account of the person buying the crate if private purchasing.

department_account

Department of the person buying the crate if buying via the NIRN app.

department_purchase

Is the crate being bought by a person, or a budget card?

privacy_lock

Is the secure crate opened or closed?

\ No newline at end of file diff --git a/obj/structure/closet/supplypod.html b/obj/structure/closet/supplypod.html new file mode 100644 index 000000000000..941e549e4f67 --- /dev/null +++ b/obj/structure/closet/supplypod.html @@ -0,0 +1 @@ +/obj/structure/closet/supplypod - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

supplypod

Vars

pod_flagsList of bitflags for supply pods, see: code__DEFINES\obj_flags.dm

Var Details

pod_flags

List of bitflags for supply pods, see: code__DEFINES\obj_flags.dm

\ No newline at end of file diff --git a/obj/structure/displaycase.html b/obj/structure/displaycase.html new file mode 100644 index 000000000000..90c5ce3f3a84 --- /dev/null +++ b/obj/structure/displaycase.html @@ -0,0 +1 @@ +/obj/structure/displaycase - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

displaycase

Vars

alarm_managerRepresents a signel source of screaming when broken

Procs

trigger_alarmAnti-theft alarm triggered when broken.

Var Details

alarm_manager

Represents a signel source of screaming when broken

Proc Details

trigger_alarm

Anti-theft alarm triggered when broken.

\ No newline at end of file diff --git a/obj/structure/displaycase/forsale.html b/obj/structure/displaycase/forsale.html new file mode 100644 index 000000000000..93989dd7cb72 --- /dev/null +++ b/obj/structure/displaycase/forsale.html @@ -0,0 +1 @@ +/obj/structure/displaycase/forsale - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

forsale

Vars

payments_accThe Account which will receive payment for purchases. Set by the first ID to swipe the tray.
sale_priceThe price of the item being sold. Altered by grab intent ID use.
viewing_uiWe're using the same trick as paper does in order to cache the image, and only load the UI when messed with.

Var Details

payments_acc

The Account which will receive payment for purchases. Set by the first ID to swipe the tray.

sale_price

The price of the item being sold. Altered by grab intent ID use.

viewing_ui

We're using the same trick as paper does in order to cache the image, and only load the UI when messed with.

\ No newline at end of file diff --git a/obj/structure/eldritch_crucible.html b/obj/structure/eldritch_crucible.html new file mode 100644 index 000000000000..ed1599bbd32a --- /dev/null +++ b/obj/structure/eldritch_crucible.html @@ -0,0 +1 @@ +/obj/structure/eldritch_crucible - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

eldritch_crucible

Vars

current_massHow much mass this currently holds
in_useCheck to see if it is currently being used.
max_massMaximum amount of mass

Procs

devourProc that eats the active limb of the victim

Var Details

current_mass

How much mass this currently holds

in_use

Check to see if it is currently being used.

max_mass

Maximum amount of mass

Proc Details

devour

Proc that eats the active limb of the victim

\ No newline at end of file diff --git a/obj/structure/energy_net.html b/obj/structure/energy_net.html new file mode 100644 index 000000000000..5e899f3f84f3 --- /dev/null +++ b/obj/structure/energy_net.html @@ -0,0 +1,4 @@ +/obj/structure/energy_net - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

Energy Net

Energy net which ensnares prey until it is destroyed. Used by space ninjas.

+

Energy net which keeps its target from moving until it is destroyed. Used to send +players to a holding area in which they could never leave, but such feature has since +been removed.

Vars

affectingThe creature currently caught in the net

Var Details

affecting

The creature currently caught in the net

\ No newline at end of file diff --git a/obj/structure/filingcabinet/employment.html b/obj/structure/filingcabinet/employment.html new file mode 100644 index 000000000000..61e530e4a8f0 --- /dev/null +++ b/obj/structure/filingcabinet/employment.html @@ -0,0 +1 @@ +/obj/structure/filingcabinet/employment - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

employment

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

Var Details

virgin

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

\ No newline at end of file diff --git a/obj/structure/filingcabinet/medical.html b/obj/structure/filingcabinet/medical.html new file mode 100644 index 000000000000..e24e7bed8981 --- /dev/null +++ b/obj/structure/filingcabinet/medical.html @@ -0,0 +1 @@ +/obj/structure/filingcabinet/medical - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

medical

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

Var Details

virgin

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

\ No newline at end of file diff --git a/obj/structure/flora/rock.html b/obj/structure/flora/rock.html new file mode 100644 index 000000000000..5f6c3d9dac73 --- /dev/null +++ b/obj/structure/flora/rock.html @@ -0,0 +1 @@ +/obj/structure/flora/rock - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

rock

Vars

mineAmountAmount of the itemstack to drop
mineResultItemstack that is dropped when a rock is mined with a pickaxe

Var Details

mineAmount

Amount of the itemstack to drop

mineResult

Itemstack that is dropped when a rock is mined with a pickaxe

\ No newline at end of file diff --git a/obj/structure/fluff/iced_abductor.html b/obj/structure/fluff/iced_abductor.html new file mode 100644 index 000000000000..337f1d3e9344 --- /dev/null +++ b/obj/structure/fluff/iced_abductor.html @@ -0,0 +1 @@ +/obj/structure/fluff/iced_abductor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

iced_abductor

Vars

nameUnless more non-machine ayy structures made, it will stay in fluff.

Var Details

name

Unless more non-machine ayy structures made, it will stay in fluff.

\ No newline at end of file diff --git a/obj/structure/glowshroom.html b/obj/structure/glowshroom.html new file mode 100644 index 000000000000..37cc33dce473 --- /dev/null +++ b/obj/structure/glowshroom.html @@ -0,0 +1,13 @@ +/obj/structure/glowshroom - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

glowshroom

Vars

blacklisted_glowshroom_turfsTurfs where the glowshroom cannot spread to
delay_decayTime interval between glowshroom decay checks
delay_spreadTime interval between glowshroom "spreads"
floorBoolean to indicate if the shroom is on the floor/wall
generationMushroom generation number
myseedInternal seed of the glowshroom, stats are stored here
spreadIntoAdjacentChanceChance to spread into adjacent tiles (0-100)

Procs

DecayCauses the glowshroom to decay by decreasing its endurance.
Initialize
SpreadCauses glowshroom spreading across the floor/walls.

Var Details

blacklisted_glowshroom_turfs

Turfs where the glowshroom cannot spread to

delay_decay

Time interval between glowshroom decay checks

delay_spread

Time interval between glowshroom "spreads"

floor

Boolean to indicate if the shroom is on the floor/wall

generation

Mushroom generation number

myseed

Internal seed of the glowshroom, stats are stored here

spreadIntoAdjacentChance

Chance to spread into adjacent tiles (0-100)

Proc Details

Decay

Causes the glowshroom to decay by decreasing its endurance.

+

Arguments:

+

Initialize

Creates a new glowshroom structure.
+
+

Arguments:

+

Spread

Causes glowshroom spreading across the floor/walls.

\ No newline at end of file diff --git a/obj/structure/grille.html b/obj/structure/grille.html new file mode 100644 index 000000000000..ff67a9b8d9f5 --- /dev/null +++ b/obj/structure/grille.html @@ -0,0 +1 @@ +/obj/structure/grille - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

grille

Procs

beforeShuttleMoveStructure move procs

Proc Details

beforeShuttleMove

Structure move procs

\ No newline at end of file diff --git a/obj/structure/janitorialcart.html b/obj/structure/janitorialcart.html new file mode 100644 index 000000000000..10b04a502d12 --- /dev/null +++ b/obj/structure/janitorialcart.html @@ -0,0 +1,5 @@ +/obj/structure/janitorialcart - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

janitorialcart

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

check_menu

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
\ No newline at end of file diff --git a/obj/structure/legionturret.html b/obj/structure/legionturret.html new file mode 100644 index 000000000000..b6df5c8fe9cf --- /dev/null +++ b/obj/structure/legionturret.html @@ -0,0 +1 @@ +/obj/structure/legionturret - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

legionturret

A basic turret that shoots at nearby mobs. Intended to be used for the legion megafauna.

Vars

factionCompared with the targeted mobs. If they have the faction, turret won't shoot.
initial_firing_timeTime until the tracer gets shot
projectile_typeWhat kind of projectile the actual damaging part should be.
shot_delayHow long it takes between shooting the tracer and the projectile.

Procs

fireCalled when attacking a target. Shoots a projectile at the turf underneath the target.
fire_beamCalled shot_delay after the turret shot the tracer. Shoots a projectile into the same direction.
set_up_shotHandles an extremely basic AI

Var Details

faction

Compared with the targeted mobs. If they have the faction, turret won't shoot.

initial_firing_time

Time until the tracer gets shot

projectile_type

What kind of projectile the actual damaging part should be.

shot_delay

How long it takes between shooting the tracer and the projectile.

Proc Details

fire

Called when attacking a target. Shoots a projectile at the turf underneath the target.

fire_beam

Called shot_delay after the turret shot the tracer. Shoots a projectile into the same direction.

set_up_shot

Handles an extremely basic AI

\ No newline at end of file diff --git a/obj/structure/loom.html b/obj/structure/loom.html new file mode 100644 index 000000000000..2a8a77e57402 --- /dev/null +++ b/obj/structure/loom.html @@ -0,0 +1 @@ +/obj/structure/loom - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

loom

This is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.

Procs

weaveHandles the weaving.

Proc Details

weave

Handles the weaving.

\ No newline at end of file diff --git a/obj/structure/noticeboard.html b/obj/structure/noticeboard.html new file mode 100644 index 000000000000..4de348f8df7f --- /dev/null +++ b/obj/structure/noticeboard.html @@ -0,0 +1,6 @@ +/obj/structure/noticeboard - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

noticeboard

Vars

noticesCurrent number of a pinned notices

Procs

remove_itemRemoves an item from the notice board

Var Details

notices

Current number of a pinned notices

Proc Details

remove_item

Removes an item from the notice board

+

Arguments:

+
\ No newline at end of file diff --git a/obj/structure/railing.html b/obj/structure/railing.html new file mode 100644 index 000000000000..7db747b6a5e1 --- /dev/null +++ b/obj/structure/railing.html @@ -0,0 +1 @@ +/obj/structure/railing - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

railing

Vars

ini_dirInitial direction of the railing.

Procs

wrench_actImplements behaviour that makes it possible to unanchor the railing.

Var Details

ini_dir

Initial direction of the railing.

Proc Details

wrench_act

Implements behaviour that makes it possible to unanchor the railing.

\ No newline at end of file diff --git a/obj/structure/safe.html b/obj/structure/safe.html new file mode 100644 index 000000000000..1f23e6bfc748 --- /dev/null +++ b/obj/structure/safe.html @@ -0,0 +1 @@ +/obj/structure/safe - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

safe

Vars

current_tumbler_indexThe index in the tumblers list of the tumbler dial position that needs to be hit
dialThe position the dial is pointing to
explosion_countTough, but breakable if explosion counts reaches set value
lockedWhether the safe is locked or not
maxspaceThe maximum combined w_class of stuff in the safe
number_of_tumblersThe amount of tumblers that will be generated
openWhether the safe is open or not
spaceThe combined w_class of everything in the safe
tumblersThe list of tumbler dial positions that need to be hit

Procs

check_brokenChecks if safe is considered in a broken state for force-opening the safe
check_unlockedCalled every dial turn to determine whether the safe should unlock or not.
notify_userCalled every dial turn to provide feedback if possible.

Var Details

current_tumbler_index

The index in the tumblers list of the tumbler dial position that needs to be hit

dial

The position the dial is pointing to

explosion_count

Tough, but breakable if explosion counts reaches set value

locked

Whether the safe is locked or not

maxspace

The maximum combined w_class of stuff in the safe

number_of_tumblers

The amount of tumblers that will be generated

open

Whether the safe is open or not

space

The combined w_class of everything in the safe

tumblers

The list of tumbler dial positions that need to be hit

Proc Details

check_broken

Checks if safe is considered in a broken state for force-opening the safe

check_unlocked

Called every dial turn to determine whether the safe should unlock or not.

notify_user

Called every dial turn to provide feedback if possible.

\ No newline at end of file diff --git a/obj/structure/sign/painting.html b/obj/structure/sign/painting.html new file mode 100644 index 000000000000..43420b9b4060 --- /dev/null +++ b/obj/structure/sign/painting.html @@ -0,0 +1 @@ +/obj/structure/sign/painting - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

painting

Vars

current_canvasCanvas we're currently displaying.
desc_with_canvasDescription set when canvas is added.

Var Details

current_canvas

Canvas we're currently displaying.

desc_with_canvas

Description set when canvas is added.

\ No newline at end of file diff --git a/obj/structure/spawner/ice_moon.html b/obj/structure/spawner/ice_moon.html new file mode 100644 index 000000000000..478fbdade4b0 --- /dev/null +++ b/obj/structure/spawner/ice_moon.html @@ -0,0 +1 @@ +/obj/structure/spawner/ice_moon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

ice_moon

Procs

clear_rockClears rocks around the spawner when it is created
destroy_effectEffects and messages created when the spawner is destroyed
drop_lootDrops items after the spawner is destroyed

Proc Details

clear_rock

Clears rocks around the spawner when it is created

destroy_effect

Effects and messages created when the spawner is destroyed

drop_loot

Drops items after the spawner is destroyed

\ No newline at end of file diff --git a/obj/structure/statue.html b/obj/structure/statue.html new file mode 100644 index 000000000000..c714e3044617 --- /dev/null +++ b/obj/structure/statue.html @@ -0,0 +1 @@ +/obj/structure/statue - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

statue

Vars

abstract_typeAbstract root type
art_typeArt component subtype added to this statue
impressivenessBeauty component mood modifier

Var Details

abstract_type

Abstract root type

art_type

Art component subtype added to this statue

impressiveness

Beauty component mood modifier

\ No newline at end of file diff --git a/obj/structure/statue/custom.html b/obj/structure/statue/custom.html new file mode 100644 index 000000000000..62172d6d9a52 --- /dev/null +++ b/obj/structure/statue/custom.html @@ -0,0 +1 @@ +/obj/structure/statue/custom - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

custom

Vars

content_maprimary statue overlay

Var Details

content_ma

primary statue overlay

\ No newline at end of file diff --git a/obj/structure/table.html b/obj/structure/table.html new file mode 100644 index 000000000000..ba23bb0af1e5 --- /dev/null +++ b/obj/structure/table.html @@ -0,0 +1,3 @@ +/obj/structure/table - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

table

Procs

connected_floodfillGets all connected tables +Cardinals only

Proc Details

connected_floodfill

Gets all connected tables +Cardinals only

\ No newline at end of file diff --git a/obj/structure/tank_holder.html b/obj/structure/tank_holder.html new file mode 100644 index 000000000000..dfd0367c69ad --- /dev/null +++ b/obj/structure/tank_holder.html @@ -0,0 +1,3 @@ +/obj/structure/tank_holder - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

tank_holder

?

Vars

tankThe stored tank. If this is a path, it gets created into contents at Initialize.

Procs

after_detach_tankCall this after taking the tank from contents in order to update references, icon +and density.

Var Details

tank

The stored tank. If this is a path, it gets created into contents at Initialize.

Proc Details

after_detach_tank

Call this after taking the tank from contents in order to update references, icon +and density.

\ No newline at end of file diff --git a/obj/structure/trap/eldritch.html b/obj/structure/trap/eldritch.html new file mode 100644 index 000000000000..6d1e64e27663 --- /dev/null +++ b/obj/structure/trap/eldritch.html @@ -0,0 +1 @@ +/obj/structure/trap/eldritch - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

eldritch

Vars

ownerOwner of the trap

Procs

set_ownerProc that sets the owner

Var Details

owner

Owner of the trap

Proc Details

set_owner

Proc that sets the owner

\ No newline at end of file diff --git a/obj/structure/window.html b/obj/structure/window.html new file mode 100644 index 000000000000..78f8fd5531fa --- /dev/null +++ b/obj/structure/window.html @@ -0,0 +1 @@ +/obj/structure/window - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

window

Vars

electrochromatic_idElectrochromatic ID. Set the first character to ! to replace with a SSmapping generated pseudorandom obfuscated ID for mapping purposes.
electrochromatic_statusElectrochromatic status

Var Details

electrochromatic_id

Electrochromatic ID. Set the first character to ! to replace with a SSmapping generated pseudorandom obfuscated ID for mapping purposes.

electrochromatic_status

Electrochromatic status

\ No newline at end of file diff --git a/obj/vehicle.html b/obj/vehicle.html new file mode 100644 index 000000000000..63c40518d299 --- /dev/null +++ b/obj/vehicle.html @@ -0,0 +1,5 @@ +/obj/vehicle - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

vehicle

Vars

autogrant_actions_controllerAssoc list "[bitflag]" = list(typepaths)
autogrant_actions_passengerPlain list of typepaths
canmoveWhether the vehicle is currently able to move
default_driver_moveHandle driver movement instead of letting something else do it like riding datums.
emulate_door_bumpsWhen bumping a door try to make occupants bump them to open them.
enclosedIs the rider protected from bullets? assume no
inserted_keyThe inserted key, needed on some vehicles to start the engine
key_typeIf the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on their riding component subtype +[/datum/component/riding/var/keytype] variable because only a few specific checks are handled here with this var, and the majority of it is on the riding component +Eventually the remaining checks should be moved to the component and this var removed.
key_type_exactCan subtypes of this key work
max_driversMaximum amount of drivers
mouse_pointerDo we have a special mouse
occupant_actionsAssoc list mob = list(type = action datum assigned to mob)
occupantsmob = bitflags of their control level.
trailerThis vehicle will follow us when we move (like atrailer duh)

Procs

add_trailerTo add a trailer to the vehicle in a manner that allows safe qdels
generate_integrity_messageReturns a readable string of the vehicle's health for examining. Overridden by subtypes who want to be more verbose with their health messages.
remove_trailerTo remove a trailer from the vehicle in a manner that allows safe qdels

Var Details

autogrant_actions_controller

Assoc list "[bitflag]" = list(typepaths)

autogrant_actions_passenger

Plain list of typepaths

canmove

Whether the vehicle is currently able to move

default_driver_move

Handle driver movement instead of letting something else do it like riding datums.

emulate_door_bumps

When bumping a door try to make occupants bump them to open them.

enclosed

Is the rider protected from bullets? assume no

inserted_key

The inserted key, needed on some vehicles to start the engine

key_type

If the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on their riding component subtype +[/datum/component/riding/var/keytype] variable because only a few specific checks are handled here with this var, and the majority of it is on the riding component +Eventually the remaining checks should be moved to the component and this var removed.

key_type_exact

Can subtypes of this key work

max_drivers

Maximum amount of drivers

mouse_pointer

Do we have a special mouse

occupant_actions

Assoc list mob = list(type = action datum assigned to mob)

occupants

mob = bitflags of their control level.

trailer

This vehicle will follow us when we move (like atrailer duh)

Proc Details

add_trailer

To add a trailer to the vehicle in a manner that allows safe qdels

generate_integrity_message

Returns a readable string of the vehicle's health for examining. Overridden by subtypes who want to be more verbose with their health messages.

remove_trailer

To remove a trailer from the vehicle in a manner that allows safe qdels

\ No newline at end of file diff --git a/obj/vehicle/ridden/scooter/skateboard.html b/obj/vehicle/ridden/scooter/skateboard.html new file mode 100644 index 000000000000..387d875feefa --- /dev/null +++ b/obj/vehicle/ridden/scooter/skateboard.html @@ -0,0 +1 @@ +/obj/vehicle/ridden/scooter/skateboard - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

skateboard

Vars

board_iconStores the default icon state
board_item_typeThe handheld item counterpart for the board
grindingWhether the board is currently grinding
instabilityStamina drain multiplier
next_crashStores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions

Procs

grindMoves the vehicle forward and if it lands on a table, repeats

Var Details

board_icon

Stores the default icon state

board_item_type

The handheld item counterpart for the board

grinding

Whether the board is currently grinding

instability

Stamina drain multiplier

next_crash

Stores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions

Proc Details

grind

Moves the vehicle forward and if it lands on a table, repeats

\ No newline at end of file diff --git a/obj/vehicle/sealed/car/clowncar.html b/obj/vehicle/sealed/car/clowncar.html new file mode 100644 index 000000000000..724da04ed2c7 --- /dev/null +++ b/obj/vehicle/sealed/car/clowncar.html @@ -0,0 +1,13 @@ +/obj/vehicle/sealed/car/clowncar - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

clowncar

Vars

cannonmodeCurrent status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY
dice_cooldown_timeCooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages
headlight_colorslist of headlight colors we use to pick through when we have party mode due to emag
thankscountHow many times kidnappers in the clown car said thanks

Procs

activate_cannonFinalizes canon activation
cover_in_oilDeploys oil when the clowncar moves in oil deploy mode
deactivate_cannonFinalizes canon deactivation
fire_cannon_atFires the cannon where the user clicks
increment_thanks_counterIncrements the thanks counter every time someone thats been kidnapped thanks the driver
reset_iconresets the icon and iconstate of the clowncar after it was set to singulo states
roll_the_dicePlays a random funky effect +Only available while car is emagged +Possible effects:
stop_dropping_oilStops dropping oil after the time has run up
toggle_cannonToggles the on and off state of the clown cannon that shoots random kidnapped people

Var Details

cannonmode

Current status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY

dice_cooldown_time

Cooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages

headlight_colors

list of headlight colors we use to pick through when we have party mode due to emag

thankscount

How many times kidnappers in the clown car said thanks

Proc Details

activate_cannon

Finalizes canon activation

cover_in_oil

Deploys oil when the clowncar moves in oil deploy mode

deactivate_cannon

Finalizes canon deactivation

fire_cannon_at

Fires the cannon where the user clicks

increment_thanks_counter

Increments the thanks counter every time someone thats been kidnapped thanks the driver

reset_icon

resets the icon and iconstate of the clowncar after it was set to singulo states

roll_the_dice

Plays a random funky effect +Only available while car is emagged +Possible effects:

+

stop_dropping_oil

Stops dropping oil after the time has run up

toggle_cannon

Toggles the on and off state of the clown cannon that shoots random kidnapped people

\ No newline at end of file diff --git a/obj/vehicle/sealed/mecha.html b/obj/vehicle/sealed/mecha.html new file mode 100644 index 000000000000..171ac1b41d60 --- /dev/null +++ b/obj/vehicle/sealed/mecha.html @@ -0,0 +1,20 @@ +/obj/vehicle/sealed/mecha - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

mecha

WELCOME TO MECHA.DM, ENJOY YOUR STAY

+

Mechs are now (finally) vehicles, this means you can make them multicrew +They can also grant select ability buttons based on occupant bitflags

+

Movement is handled through vehicle_move() which is called by relaymove +Clicking is done by way of signals registering to the entering mob +NOTE: MMIS are NOT mobs but instead contain a brain that is, so you need special checks +AI also has special checks becaus it gets in and out of the mech differently +Always call remove_occupant(mob) when leaving the mech so the mob is removed properly

+

For multi-crew, you need to set how the occupants recieve ability bitflags corresponding to their status on the vehicle(i.e: driver, gunner etc) +Abilities can then be set to only apply for certain bitflags and are assigned as such automatically

+

Clicks are wither translated into mech_melee_attack (see mech_melee_attack.dm) +Or are used to call action() on equipped gear +Cooldown for gear is on the mech because exploits

Vars

active_thrusters/Action vars +Ref to any active thrusters we might have
allow_diagonal_movementWhether this mech is allowed to move diagonally
bumpsmashWhether or not the mech destroys walls by running into it.
cabin_airInternal air mix datum
capacitorKeeps track of the mech's capacitor
cellKeeps track of the mech's cell
completely_disabledJust stop the mech from doing anything
connected_portThe connected air port, if we have one
construction_stateWhether the mechs maintenance protocols are on or off
defense_modeBool for energy shield on/off
deflect_chancechance to deflect the incoming projectiles, hits, or lesser the effect of ex_act.
destruction_sleep_durationTime you get slept for if you get forcible ejected by the mech exploding
dir_inWhat direction will the mech face when entered/powered on? Defaults to South.
dna_lockStores the DNA enzymes of a carbon so tht only they can access the mech
equipment_disabledif we cant use our equipment(such as due to EMP)
exit_delayTIme taken to leave the mech
facing_modifiersModifiers for directional armor
internal_damageBitflags for internal damage
internal_damage_thresholdhealth percentage below which internal damage is possible
internal_tankThe internal air tank obj of the mech
internal_tank_valveThe setting of the valve on the internal tank
internals_req_accessrequired access to change internal components
is_currently_ejectingCurrently ejecting, and unable to do things
lavaland_onlyBool for whether this mech can only be used on lavaland
leg_overload_coeffEnergy use modifier for leg overload
leg_overload_modeBool for leg overload on/off
lights_powerHow powerful our lights are
max_equipMaximum amount of equipment we can have
mecha_flagsContains flags for the mecha
melee_cooldownCooldown duration between melee punches
melee_energy_drainHow much energy we drain each time we mechpunch someone
normal_step_energy_drainHow much energy the mech will consume each time it moves. This variable is a backup for when leg actuators affect the energy drain.
operation_req_accessrequired access level for mecha operation
overload_step_energy_drain_minThe minimum amount of energy charge consumed by leg overload
phase_stateicon_state for flick() when phazing
phasingBool for if the mech is currently phasing
phasing_energy_drainPower we use every time we phaze through something
radioSpecial version of the radio, which is unsellable
scanmodKeeps track of the mech's scanning module
selectedCurrent active equipment
silicon_icon_stateWhether outside viewers can see the pilot inside +In case theres a different iconstate for AI/MMI pilot(currently only used for ripley)
smashcooldownCooldown length between bumpsmashes
smoke_chargesRemaining smoke charges
smoke_cooldownCooldown between using smoke
spark_systemSpark effects are handled by this datum
step_energy_drainHow much energy the mech will consume each time it moves. this is the current active energy consumed
step_silentWhether our steps are silent, for example in zero-G
stepsoundSound played when the mech moves
strafeWether we are strafing
turnsoundSound played when the mech walks
use_internal_tank////////ATMOS +Whether we are currrently drawing from the internal tank
wreckageTypepath for the wreckage it spawns when destroyed

Procs

TopicTopic
add_airtankHelpers
add_capacitorAdds a capacitor, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
add_cellAdds a cell, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
add_scanmodAdds a scanning module, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.
aimob_enter_mechHandles an actual AI (simple_animal mecha pilot) entering the mech
aimob_exit_mechHandles an actual AI (simple_animal mecha pilot) exiting the mech
ammo_resupplyAmmo stuff
attack_aiAI piloting
check_for_internal_damageInternal damage
generate_action_typeMECHA ACTIONS
get_actionsReturns HTML for mech actions. Ideally, this proc would be empty for the base mecha. Segmented for easy refactoring.
get_commandsHTML for commands.
get_equipment_listHTML for list of equipment.
get_stats_htmlRendering stats window
get_stats_partReturns the status of the mech.
has_chargePower stuff
on_mouseclickAction processing
operation_allowedAccess stuff
play_stepsound///// Movement procs ////////
remove_airAtmospheric stuff
report_internal_damageHTML for internal damage.
stationary_repairRepairs internal damage if the mech hasn't moved.

Var Details

active_thrusters

/Action vars +Ref to any active thrusters we might have

allow_diagonal_movement

Whether this mech is allowed to move diagonally

bumpsmash

Whether or not the mech destroys walls by running into it.

cabin_air

Internal air mix datum

capacitor

Keeps track of the mech's capacitor

cell

Keeps track of the mech's cell

completely_disabled

Just stop the mech from doing anything

connected_port

The connected air port, if we have one

construction_state

Whether the mechs maintenance protocols are on or off

defense_mode

Bool for energy shield on/off

deflect_chance

chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act.

destruction_sleep_duration

Time you get slept for if you get forcible ejected by the mech exploding

dir_in

What direction will the mech face when entered/powered on? Defaults to South.

dna_lock

Stores the DNA enzymes of a carbon so tht only they can access the mech

equipment_disabled

if we cant use our equipment(such as due to EMP)

exit_delay

TIme taken to leave the mech

facing_modifiers

Modifiers for directional armor

internal_damage

Bitflags for internal damage

internal_damage_threshold

health percentage below which internal damage is possible

internal_tank

The internal air tank obj of the mech

internal_tank_valve

The setting of the valve on the internal tank

internals_req_access

required access to change internal components

is_currently_ejecting

Currently ejecting, and unable to do things

lavaland_only

Bool for whether this mech can only be used on lavaland

leg_overload_coeff

Energy use modifier for leg overload

leg_overload_mode

Bool for leg overload on/off

lights_power

How powerful our lights are

max_equip

Maximum amount of equipment we can have

mecha_flags

Contains flags for the mecha

melee_cooldown

Cooldown duration between melee punches

melee_energy_drain

How much energy we drain each time we mechpunch someone

normal_step_energy_drain

How much energy the mech will consume each time it moves. This variable is a backup for when leg actuators affect the energy drain.

operation_req_access

required access level for mecha operation

overload_step_energy_drain_min

The minimum amount of energy charge consumed by leg overload

phase_state

icon_state for flick() when phazing

phasing

Bool for if the mech is currently phasing

phasing_energy_drain

Power we use every time we phaze through something

radio

Special version of the radio, which is unsellable

scanmod

Keeps track of the mech's scanning module

selected

Current active equipment

silicon_icon_state

Whether outside viewers can see the pilot inside +In case theres a different iconstate for AI/MMI pilot(currently only used for ripley)

smashcooldown

Cooldown length between bumpsmashes

smoke_charges

Remaining smoke charges

smoke_cooldown

Cooldown between using smoke

spark_system

Spark effects are handled by this datum

step_energy_drain

How much energy the mech will consume each time it moves. this is the current active energy consumed

step_silent

Whether our steps are silent, for example in zero-G

stepsound

Sound played when the mech moves

strafe

Wether we are strafing

turnsound

Sound played when the mech walks

use_internal_tank

////////ATMOS +Whether we are currrently drawing from the internal tank

wreckage

Typepath for the wreckage it spawns when destroyed

Proc Details

Topic

Topic

add_airtank

Helpers

add_capacitor

Adds a capacitor, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

add_cell

Adds a cell, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

add_scanmod

Adds a scanning module, for use in Map-spawned mechs, Nuke Ops mechs, and admin-spawned mechs. Mechs built by hand will replace this.

aimob_enter_mech

Handles an actual AI (simple_animal mecha pilot) entering the mech

aimob_exit_mech

Handles an actual AI (simple_animal mecha pilot) exiting the mech

ammo_resupply

Ammo stuff

attack_ai

AI piloting

check_for_internal_damage

Internal damage

generate_action_type

MECHA ACTIONS

get_actions

Returns HTML for mech actions. Ideally, this proc would be empty for the base mecha. Segmented for easy refactoring.

get_commands

HTML for commands.

get_equipment_list

HTML for list of equipment.

get_stats_html

Rendering stats window

get_stats_part

Returns the status of the mech.

has_charge

Power stuff

on_mouseclick

Action processing

operation_allowed

Access stuff

play_stepsound

///// Movement procs ////////

+

Plays the mech step sound effect. Split from movement procs so that other mechs (HONK) can override this one specific part.

remove_air

Atmospheric stuff

report_internal_damage

HTML for internal damage.

stationary_repair

Repairs internal damage if the mech hasn't moved.

\ No newline at end of file diff --git a/obj/vehicle/sealed/mecha/combat/durand.html b/obj/vehicle/sealed/mecha/combat/durand.html new file mode 100644 index 000000000000..ae762f931b0d --- /dev/null +++ b/obj/vehicle/sealed/mecha/combat/durand.html @@ -0,0 +1,3 @@ +/obj/vehicle/sealed/mecha/combat/durand - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

durand

Procs

defense_check*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.
relayRelays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

Proc Details

defense_check

*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.

relay

Relays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

\ No newline at end of file diff --git a/obj/vehicle/sealed/mecha/combat/savannah_ivanov.html b/obj/vehicle/sealed/mecha/combat/savannah_ivanov.html new file mode 100644 index 000000000000..71cbe5bbb0f9 --- /dev/null +++ b/obj/vehicle/sealed/mecha/combat/savannah_ivanov.html @@ -0,0 +1,3 @@ +/obj/vehicle/sealed/mecha/combat/savannah_ivanov - SPLURT Station 13
SPLURT Station 13 - Modules - Types

savannah_ivanov

Savannah-Ivanov!

+

A two person mecha that delegates moving to the driver and shooting to the pilot. +...Hilarious, right?

\ No newline at end of file diff --git a/obj/vehicle/sealed/mecha/working.html b/obj/vehicle/sealed/mecha/working.html new file mode 100644 index 000000000000..910f20925c57 --- /dev/null +++ b/obj/vehicle/sealed/mecha/working.html @@ -0,0 +1,2 @@ +/obj/vehicle/sealed/mecha/working - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

working

Procs

collect_oreHandles collecting ore.

Proc Details

collect_ore

Handles collecting ore.

+

Checks for a hydraulic clamp or ore box manager and if it finds an ore box inside them puts ore in the ore box.

\ No newline at end of file diff --git a/obj/vehicle/sealed/mecha/working/ripley.html b/obj/vehicle/sealed/mecha/working/ripley.html new file mode 100644 index 000000000000..06406f7c7600 --- /dev/null +++ b/obj/vehicle/sealed/mecha/working/ripley.html @@ -0,0 +1,2 @@ +/obj/vehicle/sealed/mecha/working/ripley - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

ripley

Vars

cargoList of all things in Ripley's Cargo Compartment
cargo_capacityHow much things Ripley can carry in their Cargo Compartment
fast_pressure_step_inHow fast the mech is in low pressure
hidesAmount of Goliath hides attached to the mech
slow_pressure_step_inHow fast the mech is in normal pressure

Procs

update_pressureMakes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure.

Var Details

cargo

List of all things in Ripley's Cargo Compartment

cargo_capacity

How much things Ripley can carry in their Cargo Compartment

fast_pressure_step_in

How fast the mech is in low pressure

hides

Amount of Goliath hides attached to the mech

slow_pressure_step_in

How fast the mech is in normal pressure

Proc Details

update_pressure

Makes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure.

+

Checks for Lavaland pressure, if that works out the mech's speed is equal to fast_pressure_step_in and the cooldown for the mecha drill is halved. If not it uses slow_pressure_step_in and drill cooldown is normal.

\ No newline at end of file diff --git a/procpath.html b/procpath.html new file mode 100644 index 000000000000..7a1b51af27b6 --- /dev/null +++ b/procpath.html @@ -0,0 +1,10 @@ +/procpath - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

procpath

Represents a proc or verb path.

+

Despite having no DM-defined static type, proc paths have some variables, +listed below. These are not modifiable, but for a given procpath P, +new P(null, "Name", "Desc") can be used to create a new procpath with the +same code but new name and desc values. The other variables cannot be +changed in this way.

+

This type exists only to act as an annotation, providing reasonable static +typing for procpaths. Previously, types like /atom/verb were used, with +the name and desc vars of /atom thus being accessible. Proc and verb +paths will fail istype and ispath checks against /procpath.

Vars

categoryThe category or tab the verb will appear in.
descThe verb's help text or description.
hiddenWhether or not the verb appears in statpanel and commandbar when you press space
invisibilityOnly clients/mobs with see_invisibility higher can use the verb.
nameA text string of the verb's name.

Var Details

category

The category or tab the verb will appear in.

desc

The verb's help text or description.

hidden

Whether or not the verb appears in statpanel and commandbar when you press space

invisibility

Only clients/mobs with see_invisibility higher can use the verb.

name

A text string of the verb's name.

\ No newline at end of file diff --git a/tools/CreditsTool/remappings.html b/tools/CreditsTool/remappings.html new file mode 100644 index 000000000000..c9b66f29e45e --- /dev/null +++ b/tools/CreditsTool/remappings.html @@ -0,0 +1,31 @@ +tools/CreditsTool/remappings.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/CreditsTool/remappings.txt

# To make your name something other than your github name type it in the format "<github name> <credited name>
+# e.g.
+# Cyberboss Jordan Brown
+# To suppress your name from appearing in the credits do "<github name> __REMOVE__
+# e.g.
+# Cyberboss __REMOVE__
+
+tgstation-server Thanks for playing!
+
+optimumtact oranges
+qustinnus Floyd / Qustinnus
+catalystfd __REMOVE__
+TheVekter Vekter
+ChangelingRain Joan
+NewSta1 NewSta
+theOperand Miauw
+PraiseRatvar Frozenguy5
+FuryMcFlurry Fury McFlurry
+vuonojenmustaturska Naksu
+praisenarsie Frozenguy5
+MrDoomBringer Mr. DoomBringer
+Fikou Dr. Fikou
+TiviPlus Tivi Plus
+tralezab Trale Zab
+Iamgoofball goofball
+Tharcoonvagh Tharcoon
+Rectification itseasytosee
+ATHATH ATH1909
+trollbreeder troll breeder
+BuffEngineering Buff Engineering```
+
\ No newline at end of file diff --git a/tools/HitboxExpander.html b/tools/HitboxExpander.html new file mode 100644 index 000000000000..2da3758d62fd --- /dev/null +++ b/tools/HitboxExpander.html @@ -0,0 +1,8 @@ +tools/HitboxExpander/README.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/HitboxExpander/README.txt

Usage: tools/bootstrap/python -m HitboxExpander <path_to_file.dmi or png>
+
+This tool expands the hitbox of the given image by 1 pixel.
+Works by changing some of the fully-transparent pixels to alpha=1 black pixels.
+Naked human eye usually cannot notice the difference.
+
+No space carps or corgis have been used or injured in the production of this tool.
+
\ No newline at end of file diff --git a/tools/LinuxOneShot.html b/tools/LinuxOneShot.html new file mode 100644 index 000000000000..7009e8f6ce78 --- /dev/null +++ b/tools/LinuxOneShot.html @@ -0,0 +1,81 @@ +tools/LinuxOneShot/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/LinuxOneShot/README.md

This is @Cyberboss rage code

+

The goal is a one stop solution for hosting /tg/station on linux via Docker. Will not work with Docker on Windows.

+

This requires Docker with the docker-compose command to be installed on your system. See ubuntu instructions here. If you fail to find the docker-ce package refer to this StackOverflow answer.

+

Some basic configuration options in docker-compose.yml before starting:

+
    +
  • Change TGS_ADMIN_CKEY to your ckey so you may have initial control over the server.
  • +
  • Change TGS_SCHEMA_MAJOR_VERSION to your repo's latest schema major version.
  • +
  • Change TGS_SCHEMA_MINOR_VERSION to your repo's latest schema minor version.
  • +
  • If you want to change the MariaDB password, there are three locations in the file it must be changed from its default value of ChangeThisInBothMariaDBAndTgsConnectionString.
  • +
  • Change TGS_BYOND to set the initial BYOND version.
  • +
  • Ports are mapped in the form <external>:<internal> NEVER change the internal port. If you want to prevent a service from being exposed, delete/comment out the entire line. +
      +
    • The first (3306) is the exposed mariadb port. Do not expose this over the internet without changing the password. In general it's a bad idea.
    • +
    • The second (1337) is the exposed DreamDaemon port
    • +
    • The third (5000) is the exposed TGS API port. Do not expose this over the internet. Setup an HTTPS reverse proxy instead.
    • +
    +
  • +
  • Change TGS_REPO to set the repository used. Note, this must be a /tg/ derivative from at least 2019 that implements the latest TGS DreamMaker API. Repositories that follow tgstation/tgstation will have this automatically. It also must contain a prefixed SQL schema setup file.
  • +
+

To launch, change to this directory and run docker-compose up. The initial setup will take a long time. If that fails, Ctrl+C out, run docker-compose down, remove ./TGS_Instances and ./Database, and try again. Once setup is complete, you can either leave the terminal running, or Ctrl+C out (this will stop DreamDaemon) and run docker-compose -d to run it in the background.

+

What it does:

+
    +
  • Starts mariadb with the data files in ./Database on port 3306
  • +
  • Installs and starts Tgs4 (using latest stable docker tag, no HTTPS) on port 5000. Configuration in ./TGS_Config, logs in ./TGS_Logs.
  • +
  • Configures a TGS instance for tgstation in ./TGS_Instances (SetupProgram) +
      +
    • The instance is configured to autostart
    • +
    • Repo is cloned from the origin specified in the docker-compose.yml
    • +
    • BYOND version is set to the latest one specified in the docker-compose.yml
    • +
    • A script will be run to setup dependencies. This does the following every time the game is built: +
        +
      • Reads dependency information from dependencies.sh in the root of the repository
      • +
      • Installs the following necessary packages into the TGS image +
          +
        • Rust/cargo
        • +
        • git
        • +
        • cmake
        • +
        • grep
        • +
        • g++-6
        • +
        • g++-6-multilib
        • +
        • mysql-client
        • +
        • libmariadb-dev:i386
        • +
        • libssl-dev:i386
        • +
        +
      • +
      • Builds rust-g in ./TGS_Instances/main/Configuration/EventScripts/rust-g and copies the artifact to the game directory.
      • +
      • Builds BSQL in ./TGS_Instances/main/Configuration/EventScripts/BSQL and copies the artifact to the game directory.
      • +
      • Sets up ./TGS_Instances/main/Configuration/GameStaticFiles/config with the initial repository config.
      • +
      • Sets up ./TGS_Instances/main/Configuration/GameStaticFiles/data.
      • +
      • If it doesn't exist, create the ss13_db database on the mariadb server and populate it with the repository's.
      • +
      +
    • +
    • Start DreamDaemon and configure it to autostart and keep it running via TGS.
    • +
    • Updates will be pulled from the default repository branch and deployed every hour
    • +
    +
  • +
+

What it DOESN'T do:

+
    +
  • Configure sane MariaDB security
  • +
  • TGS Test merging
  • +
  • TGS Chat bots
  • +
  • Handle updating BYOND versions
  • +
  • Handle updating the database schema
  • +
  • Manage TGS users, permissions, or change the default admin password
  • +
  • Provide HTTPS for TGS
  • +
  • Expose the DB to the internet UNLESS you have port 3306 forwarded for some ungodly reason
  • +
  • Port forward or setup firewall rules for DreamDaemon or TGS
  • +
  • Notify you of TGS errors past initial setup
  • +
  • Keep MariaDB logs
  • +
  • Backup ANYTHING
  • +
  • Pretend like it's a long term solution
  • +
+

This is enough to host a production level server !!!IN THEORY!!! This script guarantees nothing and comes with no warranty

+

You can change the TGS_BYOND and TGS_REPO variables when setting up the first time. But further configuration must be done with TGS itself.

+

You can connect to TGS with Tgstation.Server.ControlPanel (Binaries provided for windows, must be compiled manually on Linux).

+
    +
  • Connect to http://localhost:5000. Be sure to Use Plain HTTP and Default Credentials
  • +
+

You should learn how to manually setup TGS if you truly want control over what your server does.

+

You have been warned.

\ No newline at end of file diff --git a/tools/Redirector/config.html b/tools/Redirector/config.html new file mode 100644 index 000000000000..4252baa75492 --- /dev/null +++ b/tools/Redirector/config.html @@ -0,0 +1,13 @@ +tools/Redirector/config.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/Redirector/config.txt

[SERVERS]
+## Simply enter a list of servers to poll. Be sure to specify a server name in parentheses.
+
+(Sibyl #1) byond://game.nanotrasen.com:1337
+
+(Sibyl #2) byond://game.nanotrasen.com:2337
+
+
+[ADMINS]
+## Specify some standard Windows filepaths (you may use relative paths) for admin txt lists to poll.
+
+C:\SS13\config\admins.txt
+
\ No newline at end of file diff --git a/tools/Redirector/textprocs.html b/tools/Redirector/textprocs.html new file mode 100644 index 000000000000..f49c1ada9944 --- /dev/null +++ b/tools/Redirector/textprocs.html @@ -0,0 +1 @@ +tools/Redirector/textprocs.dm - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/Redirector/textprocs.dm

/proc/dd_file2listReading files
/proc/dd_replacetextReplacing text
/proc/dd_hasprefixPrefix checking
/proc/dd_hassuffixSuffix checking
/proc/dd_text2listTurning text into lists
\ No newline at end of file diff --git a/tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.html b/tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.html new file mode 100644 index 000000000000..013a50385560 --- /dev/null +++ b/tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.html @@ -0,0 +1,2968 @@ +tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/UnquotedListAssociations/2016-11-27-unquoted_list_associations_log.txt

..code\datums\outfit.dm 
+list(path = count)
+list(otherpath = count)
+Total Unquoted List Associations: 2
+..code\game\gamemodes\blob\theblob.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\blob\blobs\core.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 75)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\blob\blobs\node.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 65)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\blob\blobs\shield.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\changeling\powers\mutations.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 4)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 4)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 32
+..code\game\gamemodes\clock_cult\clock_items\clockwork_armor.dm 
+list(bullet = 70)
+list(energy = 0)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 70)
+list(energy = 0)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 70)
+list(energy = 0)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 21
+..code\game\gamemodes\clock_cult\clock_scriptures\scripture_revenant.dm 
+list(time = 88)
+Total Unquoted List Associations: 1
+..code\game\gamemodes\cult\cult_items.dm 
+list(bullet = 10)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 30)
+list(laser = 50)
+list(energy = 20)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 30)
+list(laser = 50)
+list(energy = 20)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 10)
+list(acid = 10)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 40)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 40)
+list(acid = 75)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 30)
+list(rad = 30)
+list(fire = 50)
+list(acid = 60)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 30)
+list(rad = 30)
+list(fire = 50)
+list(acid = 50)
+list(fire = 0)
+list(acid = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 68
+..code\game\gamemodes\gang\dominator.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 10)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\gang\gang_datum.dm 
+list(bullet = 30)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\gamemodes\miniantags\abduction\abduction_gear.dm 
+list(bullet = 15)
+list(laser = 15)
+list(energy = 15)
+list(bomb = 15)
+list(bio = 15)
+list(rad = 15)
+list(fire = 70)
+list(acid = 70)
+list(bullet = 15)
+list(laser = 15)
+list(energy = 15)
+list(bomb = 15)
+list(bio = 15)
+list(rad = 15)
+list(fire = 70)
+list(acid = 70)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 50)
+list(bio = 50)
+list(rad = 50)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 24
+..code\game\gamemodes\nuclear\nuclearbomb.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\machinery\ai_slipper.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\machinery\buttons.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\deployable.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 10)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\machinery\firealarm.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\machinery\hologram.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\machinery\igniter.dm 
+list(bullet = 30)
+list(laser = 70)
+list(energy = 50)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\machinery.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\navbeacon.dm 
+list(bullet = 70)
+list(laser = 70)
+list(energy = 70)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\game\machinery\newscaster.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\machinery\requests_console.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\machinery\spaceheater.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 10)
+Total Unquoted List Associations: 8
+..code\game\machinery\vending.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 70)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 136
+..code\game\machinery\camera\camera.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\machinery\computer\computer.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 40)
+list(acid = 20)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\door.dm 
+list(bullet = 30)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\firedoor.dm 
+list(bullet = 30)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 95)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\poddoor.dm 
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\machinery\doors\windowdoor.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 70)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\machinery\porta_turret\portable_turret.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 8
+..code\game\mecha\mecha.dm 
+list(bullet = 10)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\combat.dm 
+list(bullet = 30)
+list(laser = 15)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\durand.dm 
+list(bullet = 35)
+list(laser = 15)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\gygax.dm 
+list(bullet = 20)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 35)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 16
+..code\game\mecha\combat\honker.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\marauder.dm 
+list(bullet = 55)
+list(laser = 40)
+list(energy = 30)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\phazon.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\combat\reticence.dm 
+list(bullet = 20)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\mecha\working\ripley.dm 
+list(bullet = 20)
+list(laser = 10)
+list(energy = 20)
+list(bomb = 40)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 16
+..code\game\objects\items.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\objs.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\structures.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\religion.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+list(bullet = 60)
+list(laser = 60)
+list(energy = 50)
+list(bomb = 70)
+list(bio = 50)
+list(rad = 50)
+list(fire = 60)
+list(acid = 60)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 60)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+Total Unquoted List Associations: 32
+..code\game\objects\items\devices\PDA\PDA.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\stacks\sheets\glass.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 100)
+Total Unquoted List Associations: 24
+..code\game\objects\items\stacks\sheets\sheet_types.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 80)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 0)
+Total Unquoted List Associations: 16
+..code\game\objects\items\stacks\tiles\tile_types.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\cards_ids.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\defib.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\handcuffs.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\kitchen.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 24
+..code\game\objects\items\weapons\pneumaticCannon.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\powerfist.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 40)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\RCD.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\RPD.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\RSF.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\shields.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\singularityhammer.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 0)
+list(bomb = 50)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\stunbaton.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 50)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\teleportation.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\tools.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+Total Unquoted List Associations: 40
+..code\game\objects\items\weapons\twohanded.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+Total Unquoted List Associations: 32
+..code\game\objects\items\weapons\vending_items.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\weaponry.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 24
+..code\game\objects\items\weapons\melee\energy.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\storage\backpack.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\tanks\tanks.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\items\weapons\tanks\watertank.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\barsigns.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\displaycase.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\fireaxe.dm 
+list(bullet = 20)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\grille.dm 
+list(bullet = 70)
+list(laser = 70)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\holosign.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 20)
+list(acid = 20)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\lattice.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\mineral_doors.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\plasticflaps.dm 
+list(bullet = 80)
+list(laser = 80)
+list(energy = 100)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\signs.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\tables_racks.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 100)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 70)
+Total Unquoted List Associations: 16
+..code\game\objects\structures\window.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 100)
+list(bullet = 25)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 100)
+Total Unquoted List Associations: 32
+..code\game\objects\structures\crates_lockers\closets.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 60)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\game\objects\structures\crates_lockers\crates\secure.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\airalarm.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\atmosmachinery.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\components\unary_devices\cryo.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 30)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\components\unary_devices\thermomachine.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\other\meter.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 40)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\portable\canister.dm 
+list(bullet = 50)
+list(laser = 50)
+list(energy = 100)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\atmospherics\machinery\portable\portable_atmospherics.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 60)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\awaymissions\mission_ 
+list(bullet = 10)
+list(laser = 0)
+list(energy = 5)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 25)
+list(acid = 25)
+Total Unquoted List Associations: 8
+..code\modules\client\preferences.dm 
+list(widthPerColumn = 295)
+list(height = 620)
+Total Unquoted List Associations: 2
+..code\modules\clothing\chameleon.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 5)
+list(laser = 5)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 5)
+list(laser = 5)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 72
+..code\modules\clothing\clothing.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 50)
+list(fire = 80)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 50)
+list(fire = 80)
+list(acid = 70)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 32
+..code\modules\clothing\glasses\glasses.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\clothing\gloves\color.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\gloves\miscellaneous.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+list(bullet = 35)
+list(laser = 35)
+list(energy = 20)
+list(bomb = 35)
+list(bio = 35)
+list(rad = 35)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 24
+..code\modules\clothing\head\hardhat.dm 
+list(bullet = 5)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 10)
+list(rad = 20)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\head\helmet.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 40)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 40)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 5)
+list(bio = 2)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 90)
+list(rad = 20)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 20)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 5)
+list(bio = 2)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 25)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 5)
+list(rad = 20)
+list(fire = 40)
+list(acid = 20)
+Total Unquoted List Associations: 80
+..code\modules\clothing\head\jobs.dm 
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 5)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 10)
+list(rad = 0)
+list(fire = 50)
+list(acid = 60)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 60)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 20)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 50)
+Total Unquoted List Associations: 56
+..code\modules\clothing\head\misc.dm 
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 15)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 50)
+Total Unquoted List Associations: 16
+..code\modules\clothing\head\misc_special.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 60)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 32
+..code\modules\clothing\head\soft_caps.dm 
+list(bullet = 25)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 20)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\masks\gasmask.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 55)
+list(bullet = 0)
+list(laser = 2)
+list(energy = 2)
+list(bomb = 0)
+list(bio = 75)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 16
+..code\modules\clothing\masks\miscellaneous.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 25)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\clothing\neck\ties.dm 
+list(bullet = 5)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 5)
+list(fire = 0)
+list(acid = 25)
+Total Unquoted List Associations: 8
+..code\modules\clothing\shoes\miscellaneous.dm 
+list(bullet = 25)
+list(laser = 25)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 10)
+list(rad = 0)
+list(fire = 70)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 25)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 30)
+list(rad = 30)
+list(fire = 90)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 40)
+list(acid = 75)
+Total Unquoted List Associations: 24
+..code\modules\clothing\spacesuits\chronosuit.dm 
+list(bullet = 30)
+list(laser = 60)
+list(energy = 60)
+list(bomb = 30)
+list(bio = 90)
+list(rad = 90)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 60)
+list(laser = 60)
+list(energy = 60)
+list(bomb = 30)
+list(bio = 90)
+list(rad = 90)
+list(fire = 100)
+list(acid = 1000)
+Total Unquoted List Associations: 16
+..code\modules\clothing\spacesuits\flightsuit.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 24
+..code\modules\clothing\spacesuits\hardsuit.dm 
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 90)
+list(fire = 100)
+list(acid = 90)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 90)
+list(fire = 100)
+list(acid = 90)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 90)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 90)
+list(bullet = 60)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 55)
+list(bio = 100)
+list(rad = 70)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 60)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 55)
+list(bio = 100)
+list(rad = 70)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 40)
+list(laser = 40)
+list(energy = 20)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 60)
+list(fire = 60)
+list(acid = 80)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 60)
+list(fire = 60)
+list(acid = 80)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 75)
+list(acid = 75)
+list(bullet = 25)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 50)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 25)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 50)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 25)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 30)
+list(bullet = 5)
+list(laser = 10)
+list(energy = 5)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 30)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 10)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 95)
+list(acid = 95)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 35)
+list(bio = 100)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 280
+..code\modules\clothing\spacesuits\miscellaneous.dm 
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 30)
+list(bomb = 50)
+list(bio = 90)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 60)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 60)
+list(acid = 75)
+list(bullet = 50)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 50)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 100)
+list(fire = 0)
+list(acid = 95)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 50)
+list(acid = 65)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 50)
+list(acid = 65)
+list(bullet = 40)
+list(laser = 30)
+list(energy = 25)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 40)
+list(laser = 30)
+list(energy = 25)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 75)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 75)
+list(fire = 60)
+list(acid = 75)
+Total Unquoted List Associations: 120
+..code\modules\clothing\spacesuits\plasmamen.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 0)
+list(fire = 100)
+list(acid = 75)
+Total Unquoted List Associations: 16
+..code\modules\clothing\spacesuits\syndi.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 80)
+list(acid = 85)
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 80)
+list(acid = 85)
+Total Unquoted List Associations: 16
+..code\modules\clothing\suits\armor.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 70)
+list(acid = 90)
+list(bullet = 40)
+list(laser = 50)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 90)
+list(bullet = 10)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 80)
+list(bullet = 25)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 80)
+list(laser = 10)
+list(energy = 10)
+list(bomb = 40)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 10)
+list(laser = 60)
+list(energy = 50)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 90)
+list(bullet = 80)
+list(laser = 50)
+list(energy = 50)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 90)
+Total Unquoted List Associations: 88
+..code\modules\clothing\suits\bio.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+list(bullet = 15)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 100)
+list(rad = 20)
+list(fire = 30)
+list(acid = 100)
+Total Unquoted List Associations: 32
+..code\modules\clothing\suits\cloaks.dm 
+list(bullet = 30)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 70)
+list(bio = 60)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 30)
+list(laser = 50)
+list(energy = 40)
+list(bomb = 70)
+list(bio = 60)
+list(rad = 50)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 16
+..code\modules\clothing\suits\jobs.dm 
+list(bullet = 10)
+list(laser = 25)
+list(energy = 10)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 45)
+Total Unquoted List Associations: 8
+..code\modules\clothing\suits\labcoat.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\clothing\suits\miscellaneous.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 30)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 30)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 50)
+list(bullet = 15)
+list(laser = 30)
+list(energy = 10)
+list(bomb = 25)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 45)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 0)
+list(acid = 45)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 20)
+list(fire = 30)
+list(acid = 45)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 72
+..code\modules\clothing\suits\utility.dm 
+list(bullet = 0)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 100)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 20)
+list(energy = 10)
+list(bomb = 100)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 60)
+list(rad = 100)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 60)
+list(rad = 100)
+list(fire = 30)
+list(acid = 30)
+Total Unquoted List Associations: 32
+..code\modules\clothing\suits\wiz_robe.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 20)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 64
+..code\modules\clothing\under\miscellaneous.dm 
+list(bullet = 100)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 100)
+list(bio = 100)
+list(rad = 100)
+list(fire = 100)
+list(acid = 100)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 0)
+list(fire = 95)
+list(acid = 95)
+Total Unquoted List Associations: 16
+..code\modules\clothing\under\syndicate.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 40)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 40)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 24
+..code\modules\clothing\under\ties.dm 
+list(bullet = 5)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 20)
+list(bio = 20)
+list(rad = 5)
+list(fire = 0)
+list(acid = 25)
+Total Unquoted List Associations: 8
+..code\modules\clothing\under\trek.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\clothing\under\jobs\civilian.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\clothing\under\jobs\engineering.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 10)
+list(fire = 80)
+list(acid = 40)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 10)
+list(fire = 60)
+list(acid = 20)
+Total Unquoted List Associations: 16
+..code\modules\clothing\under\jobs\medsci.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 35)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 10)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 50)
+list(acid = 65)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 10)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 80
+..code\modules\clothing\under\jobs\security.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 30)
+list(acid = 30)
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 50)
+Total Unquoted List Associations: 32
+..code\modules\events\holiday\xmas.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\library\lib_items.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\mining\equipment.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 20)
+list(laser = 20)
+list(energy = 20)
+list(bomb = 50)
+list(bio = 100)
+list(rad = 50)
+list(fire = 50)
+list(acid = 50)
+list(bullet = 5)
+list(laser = 5)
+list(energy = 5)
+list(bomb = 0)
+list(bio = 50)
+list(rad = 0)
+list(fire = 20)
+list(acid = 40)
+Total Unquoted List Associations: 24
+..code\modules\modular_computers\computers\item\computer.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 0)
+list(acid = 0)
+Total Unquoted List Associations: 8
+..code\modules\ninja\suit\head.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 25)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\ninja\suit\shoes.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\ninja\suit\suit.dm 
+list(bullet = 50)
+list(laser = 30)
+list(energy = 15)
+list(bomb = 30)
+list(bio = 30)
+list(rad = 30)
+list(fire = 100)
+list(acid = 100)
+Total Unquoted List Associations: 8
+..code\modules\power\apc.dm 
+list(bullet = 20)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 30)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\power\lighting.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 80)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\power\singularity\field_generator.dm 
+list(bullet = 10)
+list(laser = 100)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 50)
+list(acid = 70)
+Total Unquoted List Associations: 8
+..code\modules\power\singularity\particle_accelerator\particle_accelerator.dm 
+list(bullet = 20)
+list(laser = 20)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 90)
+list(acid = 80)
+Total Unquoted List Associations: 8
+..code\modules\reagents\chem_splash.dm 
+list(extra_heat = 0)
+list(threatscale = 1)
+list(adminlog = 1)
+Total Unquoted List Associations: 3
+..code\modules\reagents\reagent_containers\glass.dm 
+list(bullet = 0)
+list(laser = 0)
+list(energy = 0)
+list(bomb = 0)
+list(bio = 0)
+list(rad = 0)
+list(fire = 75)
+list(acid = 50)
+Total Unquoted List Associations: 8
+..code\modules\recycling\disposal-structures.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\recycling\disposal-unit.dm 
+list(bullet = 10)
+list(laser = 10)
+list(energy = 100)
+list(bomb = 0)
+list(bio = 100)
+list(rad = 100)
+list(fire = 90)
+list(acid = 30)
+Total Unquoted List Associations: 8
+..code\modules\vehicles\vehicle.dm 
+list(bullet = 30)
+list(laser = 30)
+list(energy = 0)
+list(bomb = 30)
+list(bio = 0)
+list(rad = 0)
+list(fire = 60)
+list(acid = 60)
+Total Unquoted List Associations: 8
+146/2012 files have Unquoted List Associations in them
+There are 2673 total Unquoted List Associations```
+
\ No newline at end of file diff --git a/tools/UnstandardnessTestForDM.html b/tools/UnstandardnessTestForDM.html new file mode 100644 index 000000000000..9e9e3698e273 --- /dev/null +++ b/tools/UnstandardnessTestForDM.html @@ -0,0 +1,5 @@ +tools/UnstandardnessTestForDM/readme.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/UnstandardnessTestForDM/readme.txt

the compiled exe file for the Unstandardness text for DM program is in:
+UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe
+
+You have to move it to the root folder (where the dme file is) and run it from there for it to work.
+
\ No newline at end of file diff --git a/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.html b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.html new file mode 100644 index 000000000000..040608288c0b --- /dev/null +++ b/tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.html @@ -0,0 +1,19 @@ +tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt

c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.pdb
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\ResolveAssemblyReference.cache
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Form1.resources
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Properties.Resources.resources
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.read.1.tlog
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.write.1.tlog
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.exe
+c:\users\baloh\documents\visual studio 2010\Projects\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.pdb
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.exe
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\bin\Debug\UnstandardnessTestForDM.pdb
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\ResolveAssemblyReference.cache
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Form1.resources
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.Properties.Resources.resources
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.read.1.tlog
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\GenerateResource.write.1.tlog
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.exe
+C:\Users\Baloh\Desktop\tgs13\tools\UnstandardnessTestForDM\UnstandardnessTestForDM\obj\x86\Debug\UnstandardnessTestForDM.pdb
+
\ No newline at end of file diff --git a/tools/UpdatePaths/apc_pixel_offsets.html b/tools/UpdatePaths/apc_pixel_offsets.html new file mode 100644 index 000000000000..2153cbfbd77f --- /dev/null +++ b/tools/UpdatePaths/apc_pixel_offsets.html @@ -0,0 +1,5 @@ +tools/UpdatePaths/apc_pixel_offsets.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/UpdatePaths/apc_pixel_offsets.txt

/obj/machinery/power/apc/@SUBTYPES{dir = 1} : @OLD{@OLD; pixel_y = 23}
+/obj/machinery/power/apc/@SUBTYPES{dir = 2} : @OLD{@OLD; pixel_y = -23}
+/obj/machinery/power/apc/@SUBTYPES{dir = 4} : @OLD{@OLD; pixel_x = 24}
+/obj/machinery/power/apc/@SUBTYPES{dir = 8} : @OLD{@OLD; pixel_x = -25}
+
\ No newline at end of file diff --git a/tools/UpdatePaths/bridge_to_command.html b/tools/UpdatePaths/bridge_to_command.html new file mode 100644 index 000000000000..49e7d8176b8b --- /dev/null +++ b/tools/UpdatePaths/bridge_to_command.html @@ -0,0 +1,18 @@ +tools/UpdatePaths/bridge_to_command.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/UpdatePaths/bridge_to_command.txt

/area/bridge : /area/command/bridge
+/area/bridge/meeting_room : /area/command/meeting_room
+/area/bridge/meeting_room/council : /area/command/meeting_room/council
+/area/bridge/showroom/corporate : /area/command/corporate_showroom
+/area/service/heads/captain : /area/command/heads_quarters/captain
+/area/service/heads/captain/private : /area/command/heads_quarters/captain/private
+/area/service/heads/chief : /area/command/heads_quarters/ce
+/area/service/heads/chief/private : /area/command/heads_quarters/ce/private
+/area/service/heads/cmo : /area/command/heads_quarters/cmo
+/area/service/heads/cmo/private : /area/command/heads_quarters/cmo/private
+/area/service/heads/hop : /area/command/heads_quarters/hop
+/area/service/heads/hop/private : /area/command/heads_quarters/hop/private
+/area/service/heads/hos : /area/command/heads_quarters/hos
+/area/service/heads/hos/private : /area/command/heads_quarters/hos/private
+/area/service/heads/hor : /area/command/heads_quarters/rd
+/area/crew_quarters/heads/hor/private : /area/command/heads_quarters/rd/private
+
+
\ No newline at end of file diff --git a/tools/UpdatePaths/cornersfix.html b/tools/UpdatePaths/cornersfix.html new file mode 100644 index 000000000000..a5714a70b8cb --- /dev/null +++ b/tools/UpdatePaths/cornersfix.html @@ -0,0 +1,31 @@ +tools/UpdatePaths/cornersfix.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/UpdatePaths/cornersfix.txt

/obj/effect/turf_decal/stripes/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/stripes/corner {dir=2} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/stripes/corner {dir=4} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=1}
+/obj/effect/turf_decal/stripes/corner {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD}
+/obj/effect/turf_decal/stripes/red/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/stripes/red/corner {dir=2} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/stripes/red/corner {dir=4} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=1}
+/obj/effect/turf_decal/stripes/red/corner {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD}
+/obj/effect/turf_decal/stripes/white/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/stripes/white/corner {dir=2} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/stripes/white/corner {dir=4} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=1}
+/obj/effect/turf_decal/stripes/white/corner {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD}
+/obj/effect/turf_decal/box/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/box/corners {dir=2} : /obj/effect/turf_decal/box/corners {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/box/corners {dir=4} : /obj/effect/turf_decal/box/corners {@OLD;dir=1}
+/obj/effect/turf_decal/box/corners {dir=8} : /obj/effect/turf_decal/box/corners {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/corners {@OLD}
+/obj/effect/turf_decal/box/red/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/box/red/corners {dir=2} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/box/red/corners {dir=4} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=1}
+/obj/effect/turf_decal/box/red/corners {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD}
+/obj/effect/turf_decal/box/white/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8}
+/obj/effect/turf_decal/box/white/corners {dir=2} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=@SKIP}
+/obj/effect/turf_decal/box/white/corners {dir=4} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=1}
+/obj/effect/turf_decal/box/white/corners {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=4}
+/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD}```
+
\ No newline at end of file diff --git a/tools/UpdatePaths/turfs2decals.html b/tools/UpdatePaths/turfs2decals.html new file mode 100644 index 000000000000..e01d5e3ecf39 --- /dev/null +++ b/tools/UpdatePaths/turfs2decals.html @@ -0,0 +1,468 @@ +tools/UpdatePaths/turfs2decals.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/UpdatePaths/turfs2decals.txt

/turf/open/floor/circuit/killroom : /turf/open/floor/circuit/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/airless/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/plasteel/airless  {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/airless/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/plasteel/airless {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=1} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/arrival {dir=@UNSET} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=2} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=4} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=5} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=6} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival {dir=8} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/arrival {dir=9} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/arrival {dir=10} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival/corner {dir=1} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/arrival/corner {dir=@UNSET} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/arrival/corner {dir=2} : /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival/corner {dir=4} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/arrival/corner {dir=8} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/plasteel
+/turf/open/floor/plasteel/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/barber : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/blueyellow/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brown/telecomms/mainframe  {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/brownold/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/caution {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=2} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/checker {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=6} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/caution {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/caution {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/checker {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution/corner {dir=1} : /turf/open/floor/plasteel/dark/corner {@OLD}
+/turf/open/floor/plasteel/caution/corner {dir=@UNSET} : /turf/open/floor/plasteel/dark/corner {@OLD}
+/turf/open/floor/plasteel/caution/corner {dir=2} : /turf/open/floor/plasteel/dark/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution/corner {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/caution/corner {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/cmo : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/dark/telecomms/mainframe : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/dark/telecomms/server : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/dark/telecomms/server/walkway : /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/side {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkbrown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkred/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=1} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/escape {dir=@UNSET} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=2} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=4} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=5} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=6} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape {dir=8} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/escape {dir=9} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white/corner {@OLD;dir=1}
+/turf/open/floor/plasteel/escape {dir=10} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/cafeteria {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape/corner {dir=1} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/escape/corner {dir=@UNSET} : /turf/open/floor/plasteel/white/corner {@OLD}
+/turf/open/floor/plasteel/escape/corner {dir=2} : /turf/open/floor/plasteel/white/corner {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape/corner {dir=4} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/escape/corner {dir=8} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/green/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/greenyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/hydrofloor : /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/neutral/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/orange/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/purple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/red/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/redside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redblue/blueside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/redyellow/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/airless : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/airless {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/snowdin : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/snowdin {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/telecomms : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/telecomms/mainframe : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/killroom : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/vault/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/plasteel/dark {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitegreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/plasteel/white/telecomms {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whitered/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/whiteyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel/white {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plasteel/yellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/plasteel {@OLD;dir=@SKIP}
+/turf/open/floor/plating/airless/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating/airless  {@OLD;dir=@SKIP}
+/turf/open/floor/plating/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating  {@OLD;dir=@SKIP}```
+
\ No newline at end of file diff --git a/tools/build.html b/tools/build.html new file mode 100644 index 000000000000..865b6594e8ef --- /dev/null +++ b/tools/build.html @@ -0,0 +1,25 @@ +tools/build/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

/tg/station build script

This build script is the recommended way to compile the game, including not only the DM code but also the JavaScript and any other dependencies.

+
    +
  • VSCode: +a) Press Ctrl+Shift+B to build. +b) Press F5 to build and run with debugger attached.
  • +
  • Windows: +a) Double-click BUILD.bat in the repository root to build (will wait for a key press before it closes). +b) Double-click tools/build/build.bat to build (will exit as soon as it finishes building).
  • +
  • Linux: +a) Run tools/build/build from the repository root.
  • +
+

The script will skip build steps whose inputs have not changed since the last run.

+

Getting list of available targets

+

You can get a list of all targets that you can build by running the following command:

+
tools/build/build --help
+
+

Dependencies

+
    +
  • On Windows, BUILD.bat will automatically install a private (vendored) copy of Node.
  • +
  • On Linux, install Node using your package manager or from https://nodejs.org/en/download/.
  • +
  • On Linux , unless using tgs4 or later you will need to compile rust-g on the server and obtain a .so file, for instructions see https://github.com/tgstation/rust-g
  • +
+

Why?

+

We used to include compiled versions of the tgui JavaScript code in the Git repository so that the project could be compiled using BYOND only. These pre-compiled files tended to have merge conflicts for no good reason. Using a build script lets us avoid this problem, while keeping builds convenient for people who are not modifying tgui.

+

This build script is based on Juke Build - please follow the link and read the documentation for the project to understand how it works and how to contribute to this build script.

\ No newline at end of file diff --git a/tools/changelog/requirements.html b/tools/changelog/requirements.html new file mode 100644 index 000000000000..f297b075ced5 --- /dev/null +++ b/tools/changelog/requirements.html @@ -0,0 +1,5 @@ +tools/changelog/requirements.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/changelog/requirements.txt

PyYAML==6.0
+beautifulsoup4==4.10.0
+ruamel.yaml==0.17.20
+PyGithub==1.55
+
\ No newline at end of file diff --git a/tools/ci/ci_config.html b/tools/ci/ci_config.html new file mode 100644 index 000000000000..9075834ad1eb --- /dev/null +++ b/tools/ci/ci_config.html @@ -0,0 +1,10 @@ +tools/ci/ci_config.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/ci/ci_config.txt

SQL_ENABLED
+ADDRESS 127.0.0.1
+PORT 3306
+FEEDBACK_DATABASE tg_ci
+FEEDBACK_TABLEPREFIX
+FEEDBACK_LOGIN root
+FEEDBACK_PASSWORD
+LAVALAND_BUDGET 0
+SPACE_BUDGET 0
+
\ No newline at end of file diff --git a/tools/hooks.html b/tools/hooks.html new file mode 100644 index 000000000000..cee90dae9aca --- /dev/null +++ b/tools/hooks.html @@ -0,0 +1,22 @@ +tools/hooks/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Git Integration Hooks

This folder contains installable scripts for Git hooks and merge drivers. +Use of these hooks and drivers is optional and they must be installed +explicitly before they take effect.

+

To install the current set of hooks, or update if new hooks are added, run +Install.bat (Windows) or tools/hooks/install.sh (Unix-like) as appropriate.

+

If your Git GUI does not support a given hook, there is usually a .bat file +or other script you can run instead - see the links below for details.

+

Hooks

+ +

Adding New Hooks

+

New Git hooks may be added by creating a file named <hook-name>.hook in +this directory. Git determines what hooks are available and what their names +are.

+

New Git merge drivers may be added by adding a shell script named <ext>.merge +and updating .gitattributes in the root of the repository to include the line +*.<ext> merge=<ext>.

+

Adding or removing hooks or merge drivers requires running the install script +again, but modifying them does not. See existing .hook and .merge files for examples.

\ No newline at end of file diff --git a/tools/mapmerge2.html b/tools/mapmerge2.html new file mode 100644 index 000000000000..7af174aa7228 --- /dev/null +++ b/tools/mapmerge2.html @@ -0,0 +1,47 @@ +tools/mapmerge2/README.md - SPLURT Station 13
SPLURT Station 13 - Modules - Types

Map Merger

The Map Merger is a collection of scripts that keep this repository's maps +in a format which is easier to track in Git and less likely to cause merge +conflicts. When merge conflicts do occur, it can sometimes resolve them.

+

For detailed troubleshooting instructions and other tips, visit the +Map Merger wiki article.

+

Installation

+

To install the Git hooks, open the tools/hooks/ folder and double-click +Install.bat. Linux users run tools/hooks/install.sh.

+

Manual Use

+

If using a Git GUI which is not compatible with the hooks:

+
    +
  • Before committing, double-click Run Before Committing.bat
  • +
  • When a merge has map conflicts, double-click Resolve Map Conflicts.bat
  • +
+

The console will show whether the operation succeeded.

+

For more details, see the Map Merger wiki article.

+

What Map Merging Is

+

The "map merge" operation describes the process of rewriting a map file written +by the DreamMaker map editor to A) use a format more amenable to Git's conflict +resolution and B) differ in the least amount textually from the previous +version of the map while maintaining all the actual changes. It requires an old +version of the map to use as a reference and a new version of the map which +contains the desired changes.

+

Map Merge 2 adds multi-Z support, automatic handling of key overflow, better +merge conflict prevention, and a real merge conflict resolver.

+

Code Structure

+

Frontend scripts are meant to be run directly. They obey the environment +variables TGM to set whether files are saved in TGM (1) or DMM (0) format, +and MAPROOT to determine where maps are kept. By default, TGM is used and +the map root is autodetected. Each script may either prompt for the desired map +or be run with command-line parameters indicating which maps to act on. The +scripts include:

+
    +
  • convert.py for converting maps to and from the TGM format. Used by +tgm2dmm.bat and dmm2tgm.bat.
  • +
  • mapmerge.py for running the map merge on map backups saved by +Prepare Maps.bat. Used by mapmerge.bat
  • +
+

Implementation modules:

+
    +
  • dmm.py includes the map reader and writer.
  • +
  • mapmerge.py includes the implementation of the map merge operation.
  • +
  • frontend.py includes the common code for the frontend scripts.
  • +
+

precommit.py is run by the Git hooks if installed, and merges the new +version of any map saved in the index (git added) with the old version stored +in Git when run.

\ No newline at end of file diff --git a/tools/midi2piano.html b/tools/midi2piano.html new file mode 100644 index 000000000000..03e799e5fbbe --- /dev/null +++ b/tools/midi2piano.html @@ -0,0 +1,34 @@ +tools/midi2piano/README.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/midi2piano/README.txt

This is a remake of 2013 midi2piano tool.
+
+Requirements:
+  Python 3
+
+Simply run midi2piano.py and choose midi file you want to convert.
+The "sheet music" will be copied to the clipboard.
+
+There are some constants defined at the top of midi2piano.py.
+
+TICK_LAG - CHANGE THIS VALUE TO TICK LAG OF YOUR SERVER!
+
+Change their value if needed.
+
+LINE_LENGTH_LIM - max length of line allowed in the sheet music
+LINES_LIMIT - max amount of lines allowed in the sheet music. Extra lines will be cropped.
+
+OVERALL_IMPORT_LIM - max amount of characters allowed in the sheet music.
+
+
+You can also transpose music if you need to
+OCTAVE_TRANSPOSE - amount of octaves you melody will be shifted by
+FLOAT_PRECISION - read comment
+
+Additional notes:
+1. Unlike previous midi2piano, this tool optimizes sheet music to fit more in less lines. 
+2. If two notes are less than 50 ms apart, they are chorded. BYOND works in  1/10th of a second so 50 ms is time quanta.
+4. MIDI event set_tempo is NOT supported. If your MIDI file uses set_tempo to change BPM significantly, consider using some other midi file.
+
+This tool is considered final.
+
+Made by EditorRUS/Delta Epsilon from Animus Station, ss13.ru
+Contact me in Discord if you find any major issues: DeltaEpsilon#7787```
+
\ No newline at end of file diff --git a/tools/minibot/LICENCE-bot_folder.html b/tools/minibot/LICENCE-bot_folder.html new file mode 100644 index 000000000000..ac282fbd99e5 --- /dev/null +++ b/tools/minibot/LICENCE-bot_folder.html @@ -0,0 +1,6 @@ +tools/minibot/LICENCE-bot_folder.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/minibot/LICENCE-bot_folder.txt

The author or authors of this code dedicate any and all copyright interest in
+this code to the public domain. We make this dedication for the benefit of the
+public at large and to the detriment of our heirs and successors. We intend
+this dedication to be an overt act of relinquishment in perpetuity of all
+present and future rights to this code under copyright law. 
+
\ No newline at end of file diff --git a/tools/requirements.html b/tools/requirements.html new file mode 100644 index 000000000000..47d970d5f5bb --- /dev/null +++ b/tools/requirements.html @@ -0,0 +1,14 @@ +tools/requirements.txt - SPLURT Station 13
SPLURT Station 13 - Modules - Types

tools/requirements.txt

pygit2==1.11.1
+bidict==0.22.1
+Pillow==10.3.0
+
+# changelogs
+PyYaml==6.0.1
+beautifulsoup4==4.9.3
+
+# ezdb
+mysql-connector-python==8.0.33
+
+# icon cutter
+numpy==1.26.0
+
\ No newline at end of file diff --git a/turf.html b/turf.html new file mode 100644 index 000000000000..f5d7f171292c --- /dev/null +++ b/turf.html @@ -0,0 +1,14 @@ +/turf - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

turf

Any floor or wall. What makes up the station and the rest of the map.

Procs

InitializeTurf Initialize
LinkBlockedWithAccessFor seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags
consider_pressure_differenceSPACEWIND
fromShuttleMoveBase procs
process_cellSIMULATION
reachableAdjacentTurfsReturns adjacent turfs to this turf that are reachable, in all cardinal directions

Proc Details

Initialize

Turf Initialize

+

Doesn't call parent, see /atom/proc/Initialize

LinkBlockedWithAccess

For seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags

+

Arguments:

+

consider_pressure_difference

SPACEWIND

fromShuttleMove

Base procs

process_cell

SIMULATION

reachableAdjacentTurfs

Returns adjacent turfs to this turf that are reachable, in all cardinal directions

+

Arguments:

+
\ No newline at end of file diff --git a/turf/closed.html b/turf/closed.html new file mode 100644 index 000000000000..115c39df50d4 --- /dev/null +++ b/turf/closed.html @@ -0,0 +1 @@ +/turf/closed - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

closed

Vars

yelling_dampenhow much of inbound yelling to dampen
yelling_resistanceHow much we block yelling

Var Details

yelling_dampen

how much of inbound yelling to dampen

yelling_resistance

How much we block yelling

\ No newline at end of file diff --git a/turf/closed/indestructible/splashscreen.html b/turf/closed/indestructible/splashscreen.html new file mode 100644 index 000000000000..ad385388cc10 --- /dev/null +++ b/turf/closed/indestructible/splashscreen.html @@ -0,0 +1 @@ +/turf/closed/indestructible/splashscreen - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

splashscreen

Procs

handle_generic_titlescreen_sizeshelper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

Proc Details

handle_generic_titlescreen_sizes

helper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

\ No newline at end of file diff --git a/turf/closed/mineral.html b/turf/closed/mineral.html new file mode 100644 index 000000000000..4194ecf3f5fc --- /dev/null +++ b/turf/closed/mineral.html @@ -0,0 +1 @@ +/turf/closed/mineral - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

mineral

Mineral deposits

Procs

shuttleRotateTurf rotate procs

Proc Details

shuttleRotate

Turf rotate procs

\ No newline at end of file diff --git a/turf/closed/wall.html b/turf/closed/wall.html new file mode 100644 index 000000000000..1df18f102909 --- /dev/null +++ b/turf/closed/wall.html @@ -0,0 +1,8 @@ +/turf/closed/wall - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

wall

Vars

explosion_power_minimum_chance_dismantleExplosion power to potentially dismantle the wall
explosion_power_to_dismantleExplosion power to dismantle the wall
explosion_power_to_scrapeExplosion power to disintegrate the wall

Procs

hulk_recoilDeals damage back to the hulk's arm.

Var Details

explosion_power_minimum_chance_dismantle

Explosion power to potentially dismantle the wall

explosion_power_to_dismantle

Explosion power to dismantle the wall

explosion_power_to_scrape

Explosion power to disintegrate the wall

Proc Details

hulk_recoil

Deals damage back to the hulk's arm.

+

When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. +This is in its own proc just to be easily overridden by other wall types. Default allows for three +smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied +by hulk code based on arm damage and checked when we call break_an_arm(). +Arguments: +*arg1 is the arm to deal damage to. +*arg2 is the hulk

\ No newline at end of file diff --git a/turf/open.html b/turf/open.html new file mode 100644 index 000000000000..7737f00f3ef6 --- /dev/null +++ b/turf/open.html @@ -0,0 +1,3 @@ +/turf/open - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

open

Vars

dirt_buildup_allowedDirtyness system, cit specific. +Does dirt buildup happen on us?
dirt_spawn_thresholdDirt level to spawn dirt. Null to use config.
dirtynessDirt level.

Procs

Assimilate_AirAssimilate Air
assume_airGAS MIXTURE PROCS
update_visualsGAS OVERLAYS

Var Details

dirt_buildup_allowed

Dirtyness system, cit specific. +Does dirt buildup happen on us?

dirt_spawn_threshold

Dirt level to spawn dirt. Null to use config.

dirtyness

Dirt level.

Proc Details

Assimilate_Air

Assimilate Air

assume_air

GAS MIXTURE PROCS

update_visuals

GAS OVERLAYS

\ No newline at end of file diff --git a/turf/open/floor.html b/turf/open/floor.html new file mode 100644 index 000000000000..aecfaee2ac20 --- /dev/null +++ b/turf/open/floor.html @@ -0,0 +1 @@ +/turf/open/floor - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

floor

Vars

explosion_power_break_tileMinimum explosion power to break tile
explosion_power_break_turfMinimum explosion power to break turf
explosion_power_break_turf_bonusStarting from here, +20% chance to break turf.
explosion_power_minimum_chance_breakStarting from here, there's a chance for this to break
explosion_power_protect_shieldedShielded turfs are completely protected from anything under this
explosion_power_turf_scrapeMinimum explosion power to scrape away the floor

Var Details

explosion_power_break_tile

Minimum explosion power to break tile

explosion_power_break_turf

Minimum explosion power to break turf

explosion_power_break_turf_bonus

Starting from here, +20% chance to break turf.

explosion_power_minimum_chance_break

Starting from here, there's a chance for this to break

explosion_power_protect_shielded

Shielded turfs are completely protected from anything under this

explosion_power_turf_scrape

Minimum explosion power to scrape away the floor

\ No newline at end of file diff --git a/turf/open/floor/catwalk_floor.html b/turf/open/floor/catwalk_floor.html new file mode 100644 index 000000000000..51984131fca6 --- /dev/null +++ b/turf/open/floor/catwalk_floor.html @@ -0,0 +1,4 @@ +/turf/open/floor/catwalk_floor - SPLURT Station 13
SPLURT Station 13 - Modules - Types

catwalk_floor

catwalk flooring

+

They show what's underneath their catwalk flooring (pipes and the like) +you can crowbar it to interact with the underneath stuff without destroying the tile... +unless you want to!

\ No newline at end of file diff --git a/turf/open/floor/glass.html b/turf/open/floor/glass.html new file mode 100644 index 000000000000..afa473ef205b --- /dev/null +++ b/turf/open/floor/glass.html @@ -0,0 +1 @@ +/turf/open/floor/glass - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

glass

Procs

crowbar_actn(omegalul)

Proc Details

crowbar_act

n(omegalul)

\ No newline at end of file diff --git a/turf/open/floor/plating/asteroid.html b/turf/open/floor/plating/asteroid.html new file mode 100644 index 000000000000..348884bb83a3 --- /dev/null +++ b/turf/open/floor/plating/asteroid.html @@ -0,0 +1 @@ +/turf/open/floor/plating/asteroid - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

asteroid

Asteroid

Vars

digResultItemstack to drop when dug by a shovel
dugWhether the turf has been dug or not
environment_typeEnvironment type for the turf
floor_varianceProbability floor has a different icon state
postdig_icon_changeWhether to change the turf's icon_state to "[base_icon_state]_dug" when its dugged up
turf_typeBase turf type to be created by the tunnel

Procs

can_digIf the user can dig the turf

Var Details

digResult

Itemstack to drop when dug by a shovel

dug

Whether the turf has been dug or not

environment_type

Environment type for the turf

floor_variance

Probability floor has a different icon state

postdig_icon_change

Whether to change the turf's icon_state to "[base_icon_state]_dug" when its dugged up

turf_type

Base turf type to be created by the tunnel

Proc Details

can_dig

If the user can dig the turf

\ No newline at end of file diff --git a/turf/open/lava.html b/turf/open/lava.html new file mode 100644 index 000000000000..31960b571350 --- /dev/null +++ b/turf/open/lava.html @@ -0,0 +1 @@ +/turf/open/lava - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details - Proc Details

lava

LAVA

Vars

immunity_resistance_flagsobjects with these flags won't burn.
immunity_traitmobs with this trait won't burn.
lava_damageHow much fire damage we deal to living mobs stepping on us
lava_firestacksHow many firestacks we add to living mobs stepping on us
temperature_damageHow much temperature we expose objects with

Procs

burn_stuffProc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.

Var Details

immunity_resistance_flags

objects with these flags won't burn.

immunity_trait

mobs with this trait won't burn.

lava_damage

How much fire damage we deal to living mobs stepping on us

lava_firestacks

How many firestacks we add to living mobs stepping on us

temperature_damage

How much temperature we expose objects with

Proc Details

burn_stuff

Proc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.

\ No newline at end of file diff --git a/turf/open/openspace/icemoon.html b/turf/open/openspace/icemoon.html new file mode 100644 index 000000000000..2843295862e6 --- /dev/null +++ b/turf/open/openspace/icemoon.html @@ -0,0 +1 @@ +/turf/open/openspace/icemoon - SPLURT Station 13
SPLURT Station 13 - Modules - TypesVar Details

icemoon

Vars

drill_belowIf true mineral turfs below this openspace turf will be mined automatically
protect_ruinReplaces itself with replacement_turf if the turf below this one is in a no ruins allowed area (usually ruins themselves)

Var Details

drill_below

If true mineral turfs below this openspace turf will be mined automatically

protect_ruin

Replaces itself with replacement_turf if the turf below this one is in a no ruins allowed area (usually ruins themselves)

\ No newline at end of file diff --git a/turf/open/space.html b/turf/open/space.html new file mode 100644 index 000000000000..97a26546289f --- /dev/null +++ b/turf/open/space.html @@ -0,0 +1,2 @@ +/turf/open/space - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

space

Procs

InitializeSpace Initialize

Proc Details

Initialize

Space Initialize

+

Doesn't call parent, see /atom/proc/Initialize

\ No newline at end of file diff --git a/turf/open/space/transparent.html b/turf/open/space/transparent.html new file mode 100644 index 000000000000..647037282052 --- /dev/null +++ b/turf/open/space/transparent.html @@ -0,0 +1 @@ +/turf/open/space/transparent - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

transparent

Procs

show_bottom_levelCalled when there is no real turf below this turf

Proc Details

show_bottom_level

Called when there is no real turf below this turf

\ No newline at end of file diff --git a/turf/open/space/transparent/openspace.html b/turf/open/space/transparent/openspace.html new file mode 100644 index 000000000000..8535cebd4014 --- /dev/null +++ b/turf/open/space/transparent/openspace.html @@ -0,0 +1 @@ +/turf/open/space/transparent/openspace - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

openspace

Procs

show_bottom_levelNo bottom level for openspace.

Proc Details

show_bottom_level

No bottom level for openspace.

\ No newline at end of file diff --git a/turf/open/water/cursed_spring.html b/turf/open/water/cursed_spring.html new file mode 100644 index 000000000000..41682e6bcd2b --- /dev/null +++ b/turf/open/water/cursed_spring.html @@ -0,0 +1,4 @@ +/turf/open/water/cursed_spring - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

cursed_spring

Turns whoever enters into a mob

+

If mob is chosen, turns the person into a random animal type +Once the spring is used, it cannot be used by the same mind ever again +After usage, teleports the user back to a random safe turf (so mobs are not killed by ice moon atmosphere)

Procs

remove_from_cursedDeletes minds from the cursed minds list after their deletion

Proc Details

remove_from_cursed

Deletes minds from the cursed minds list after their deletion

\ No newline at end of file diff --git a/world.html b/world.html new file mode 100644 index 000000000000..b9c921af28b9 --- /dev/null +++ b/world.html @@ -0,0 +1,9 @@ +/world - SPLURT Station 13
SPLURT Station 13 - Modules - TypesProc Details

World

Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke

+

The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity

+

The world /New() is the root of where a round itself begins

Procs

ImmediateInvokeAsyncImmediately Invoke proctocall on thingtocall, with waitfor set to false
refresh_atmos_gridAuxtools atmos
send_cross_commsSends a message to a given cross comms server by name (by name for security).

Proc Details

ImmediateInvokeAsync

Immediately Invoke proctocall on thingtocall, with waitfor set to false

+

Arguments:

+

refresh_atmos_grid

Auxtools atmos

send_cross_comms

Sends a message to a given cross comms server by name (by name for security).

\ No newline at end of file